import { g as Dft, c as m5e, a as wft, b as ige, d as g5e, e as Pft, t as h5e, s as Xme, P as Qme, i as Nft, f as Aft, h as Ift, j as Yme, k as Fft, l as Oft, m as Lft, o as y5e, E as Mft, n as v5e, C as b5e, p as Rft, M as jft, q as Bft, r as Jft } from "./copilot-_lIGjjDp.js";
import { i as zft } from "./icons-CJwGJ_MG.js";
function S5e(pl) {
  throw new Error('Could not dynamically require "' + pl + '". Please configure the dynamicRequireTargets or/and ignoreDynamicRequires option of @rollup/plugin-commonjs appropriately for this require call to work.');
}
var Zme = { exports: {} };
const Wft = {}, Vft = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
  __proto__: null,
  default: Wft
}, Symbol.toStringTag, { value: "Module" })), ZE = /* @__PURE__ */ Dft(Vft);
/*! *****************************************************************************
Copyright (c) Microsoft Corporation. All rights reserved.
Licensed under the Apache License, Version 2.0 (the "License"); you may not use
this file except in compliance with the License. You may obtain a copy of the
License at http://www.apache.org/licenses/LICENSE-2.0

THIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED
WARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,
MERCHANTABLITY OR NON-INFRINGEMENT.

See the Apache Version 2.0 License for specific language governing permissions
and limitations under the License.
***************************************************************************** */
var T5e;
function Uft() {
  return T5e || (T5e = 1, function(pl) {
    var ns = {};
    ((eo) => {
      var ac = Object.defineProperty, Ta = (e, t) => {
        for (var n in t)
          ac(e, n, { get: t[n], enumerable: !0 });
      }, Jm = (e) => e, by = {};
      Ta(by, {
        ANONYMOUS: () => KU,
        AccessFlags: () => VQ,
        AssertionLevel: () => KX,
        AssignmentDeclarationKind: () => ZQ,
        AssignmentKind: () => xK,
        Associativity: () => AK,
        BreakpointResolver: () => Yq,
        BuilderFileEmit: () => wie,
        BuilderProgramKind: () => Mie,
        BuilderState: () => Td,
        CallHierarchy: () => pk,
        CharacterCodes: () => lY,
        CheckFlags: () => BQ,
        CheckMode: () => bW,
        ClassificationType: () => cU,
        ClassificationTypeNames: () => jse,
        CommentDirectiveType: () => kQ,
        Comparison: () => JX,
        CompletionInfoFlags: () => Ase,
        CompletionTriggerKind: () => aU,
        Completions: () => yk,
        ContainerFlags: () => cne,
        ContextFlags: () => AQ,
        Debug: () => E,
        DiagnosticCategory: () => QI,
        Diagnostics: () => p,
        DocumentHighlights: () => G9,
        ElementFlags: () => WQ,
        EmitFlags: () => sj,
        EmitHint: () => pY,
        EmitOnly: () => EQ,
        EndOfLineState: () => Ose,
        ExitStatus: () => DQ,
        ExportKind: () => Nae,
        Extension: () => uY,
        ExternalEmitHelpers: () => fY,
        FileIncludeKind: () => XR,
        FilePreprocessingDiagnosticsKind: () => CQ,
        FileSystemEntryKind: () => TY,
        FileWatcherEventKind: () => vY,
        FindAllReferences: () => Eo,
        FlattenLevel: () => Nne,
        FlowFlags: () => XI,
        ForegroundColorEscapeSequences: () => yie,
        FunctionFlags: () => PK,
        GeneratedIdentifierFlags: () => $R,
        GetLiteralTextFlags: () => JZ,
        GoToDefinition: () => sE,
        HighlightSpanKind: () => Pse,
        IdentifierNameMap: () => O6,
        ImportKind: () => Pae,
        ImportsNotUsedAsValues: () => iY,
        IndentStyle: () => Nse,
        IndexFlags: () => UQ,
        IndexKind: () => GQ,
        InferenceFlags: () => QQ,
        InferencePriority: () => XQ,
        InlayHintKind: () => wse,
        InlayHints: () => WH,
        InternalEmitFlags: () => _Y,
        InternalNodeBuilderFlags: () => FQ,
        InternalSymbolName: () => JQ,
        IntersectionFlags: () => NQ,
        InvalidatedProjectKind: () => sse,
        JSDocParsingMode: () => yY,
        JsDoc: () => Dv,
        JsTyping: () => f1,
        JsxEmit: () => nY,
        JsxFlags: () => bQ,
        JsxReferenceKind: () => qQ,
        LanguageFeatureMinimumTarget: () => kl,
        LanguageServiceMode: () => Ese,
        LanguageVariant: () => oY,
        LexicalEnvironmentFlags: () => mY,
        ListFormat: () => gY,
        LogLevel: () => lQ,
        MapCode: () => VH,
        MemberOverrideStatus: () => wQ,
        ModifierFlags: () => HR,
        ModuleDetectionKind: () => KQ,
        ModuleInstanceState: () => ane,
        ModuleKind: () => TC,
        ModuleResolutionKind: () => SC,
        ModuleSpecifierEnding: () => Dee,
        NavigateTo: () => eoe,
        NavigationBar: () => roe,
        NewLineKind: () => sY,
        NodeBuilderFlags: () => IQ,
        NodeCheckFlags: () => ZR,
        NodeFactoryFlags: () => rte,
        NodeFlags: () => qR,
        NodeResolutionFeatures: () => Qre,
        ObjectFlags: () => ej,
        OperationCanceledException: () => _4,
        OperatorPrecedence: () => IK,
        OrganizeImports: () => wv,
        OrganizeImportsMode: () => sU,
        OuterExpressionKinds: () => dY,
        OutliningElementsCollector: () => qH,
        OutliningSpanKind: () => Ise,
        OutputFileType: () => Fse,
        PackageJsonAutoImportPreference: () => Cse,
        PackageJsonDependencyGroup: () => kse,
        PatternMatchKind: () => yq,
        PollingInterval: () => aj,
        PollingWatchKind: () => rY,
        PragmaKindFlags: () => hY,
        PredicateSemantics: () => SQ,
        PreparePasteEdits: () => aG,
        PrivateIdentifierKind: () => fte,
        ProcessLevel: () => One,
        ProgramUpdateLevel: () => pie,
        QuotePreference: () => aae,
        RegularExpressionFlags: () => TQ,
        RelationComparisonResult: () => GR,
        Rename: () => NL,
        ScriptElementKind: () => Mse,
        ScriptElementKindModifier: () => Rse,
        ScriptKind: () => rj,
        ScriptSnapshot: () => s9,
        ScriptTarget: () => aY,
        SemanticClassificationFormat: () => Dse,
        SemanticMeaning: () => Bse,
        SemicolonPreference: () => oU,
        SignatureCheckMode: () => SW,
        SignatureFlags: () => tj,
        SignatureHelp: () => g8,
        SignatureInfo: () => Die,
        SignatureKind: () => HQ,
        SmartSelectionRange: () => $H,
        SnippetKind: () => ij,
        StatisticType: () => dse,
        StructureIsReused: () => QR,
        SymbolAccessibility: () => MQ,
        SymbolDisplay: () => j0,
        SymbolDisplayPartKind: () => o9,
        SymbolFlags: () => YR,
        SymbolFormatFlags: () => LQ,
        SyntaxKind: () => UR,
        Ternary: () => YQ,
        ThrottledCancellationToken: () => uce,
        TokenClass: () => Lse,
        TokenFlags: () => xQ,
        TransformFlags: () => nj,
        TypeFacts: () => vW,
        TypeFlags: () => KR,
        TypeFormatFlags: () => OQ,
        TypeMapKind: () => $Q,
        TypePredicateKind: () => RQ,
        TypeReferenceSerializationKind: () => jQ,
        UnionReduction: () => PQ,
        UpToDateStatusType: () => Zie,
        VarianceFlags: () => zQ,
        Version: () => ld,
        VersionRange: () => $I,
        WatchDirectoryFlags: () => cY,
        WatchDirectoryKind: () => tY,
        WatchFileKind: () => eY,
        WatchLogLevel: () => mie,
        WatchType: () => Nl,
        accessPrivateIdentifier: () => Pne,
        addEmitFlags: () => im,
        addEmitHelper: () => Ox,
        addEmitHelpers: () => qg,
        addInternalEmitFlags: () => DS,
        addNodeFactoryPatcher: () => $he,
        addObjectAllocatorPatcher: () => Fhe,
        addRange: () => wn,
        addRelatedInfo: () => Ws,
        addSyntheticLeadingComment: () => Wb,
        addSyntheticTrailingComment: () => kD,
        addToSeen: () => Pp,
        advancedAsyncSuperHelper: () => mF,
        affectsDeclarationPathOptionDeclarations: () => vre,
        affectsEmitOptionDeclarations: () => yre,
        allKeysStartWithDot: () => lO,
        altDirectorySeparator: () => e7,
        and: () => qI,
        append: () => Dr,
        appendIfUnique: () => Sh,
        arrayFrom: () => rs,
        arrayIsEqualTo: () => Cf,
        arrayIsHomogeneous: () => Lee,
        arrayOf: () => XX,
        arrayReverseIterator: () => kR,
        arrayToMap: () => hC,
        arrayToMultiMap: () => EP,
        arrayToNumericMap: () => YX,
        assertType: () => lge,
        assign: () => eS,
        asyncSuperHelper: () => dF,
        attachFileToDiagnostics: () => Cx,
        base64decode: () => KK,
        base64encode: () => ZK,
        binarySearch: () => ky,
        binarySearchKey: () => VT,
        bindSourceFile: () => lne,
        breakIntoCharacterSpans: () => Hae,
        breakIntoWordSpans: () => Gae,
        buildLinkParts: () => dae,
        buildOpts: () => VN,
        buildOverload: () => Owe,
        bundlerModuleNameResolver: () => Yre,
        canBeConvertedToAsync: () => kq,
        canHaveDecorators: () => Zb,
        canHaveExportModifier: () => pN,
        canHaveFlowNode: () => HC,
        canHaveIllegalDecorators: () => wz,
        canHaveIllegalModifiers: () => Zte,
        canHaveIllegalType: () => b0e,
        canHaveIllegalTypeParameters: () => Yte,
        canHaveJSDoc: () => L3,
        canHaveLocals: () => qm,
        canHaveModifiers: () => Fp,
        canHaveModuleSpecifier: () => bK,
        canHaveSymbol: () => fd,
        canIncludeBindAndCheckDiagnostics: () => dD,
        canJsonReportNoInputFiles: () => XN,
        canProduceDiagnostics: () => iA,
        canUsePropertyAccess: () => LJ,
        canWatchAffectingLocation: () => Uie,
        canWatchAtTypes: () => Vie,
        canWatchDirectoryOrFile: () => TV,
        canWatchDirectoryOrFilePath: () => vA,
        cartesianProduct: () => oQ,
        cast: () => Us,
        chainBundle: () => Sd,
        chainDiagnosticMessages: () => vs,
        changeAnyExtension: () => FP,
        changeCompilerHostLikeToUseCache: () => aw,
        changeExtension: () => Oh,
        changeFullExtension: () => n7,
        changesAffectModuleResolution: () => N7,
        changesAffectingProgramStructure: () => IZ,
        characterCodeToRegularExpressionFlag: () => hj,
        childIsDecorated: () => B4,
        classElementOrClassElementParameterIsDecorated: () => gB,
        classHasClassThisAssignment: () => MW,
        classHasDeclaredOrExplicitlyAssignedName: () => RW,
        classHasExplicitlyAssignedName: () => xO,
        classOrConstructorParameterIsDecorated: () => b0,
        classicNameResolver: () => ine,
        classifier: () => dce,
        cleanExtendedConfigCache: () => PO,
        clear: () => bp,
        clearMap: () => D_,
        clearSharedExtendedConfigFileWatcher: () => YW,
        climbPastPropertyAccess: () => u9,
        clone: () => ZX,
        cloneCompilerOptions: () => DU,
        closeFileWatcher: () => $p,
        closeFileWatcherOf: () => lp,
        codefix: () => ku,
        collapseTextChangeRangesAcrossMultipleVersions: () => qY,
        collectExternalModuleInfo: () => IW,
        combine: () => WT,
        combinePaths: () => An,
        commandLineOptionOfCustomType: () => Tre,
        commentPragmas: () => YI,
        commonOptionsWithBuild: () => WF,
        compact: () => kP,
        compareBooleans: () => J1,
        compareDataObjects: () => lJ,
        compareDiagnostics: () => oD,
        compareEmitHelpers: () => dte,
        compareNumberOfDirectorySeparators: () => uN,
        comparePaths: () => xh,
        comparePathsCaseInsensitive: () => Fge,
        comparePathsCaseSensitive: () => Ige,
        comparePatternKeys: () => fW,
        compareProperties: () => nQ,
        compareStringsCaseInsensitive: () => wP,
        compareStringsCaseInsensitiveEslintCompatible: () => eQ,
        compareStringsCaseSensitive: () => au,
        compareStringsCaseSensitiveUI: () => PP,
        compareTextSpans: () => VI,
        compareValues: () => go,
        compilerOptionsAffectDeclarationPath: () => See,
        compilerOptionsAffectEmit: () => bee,
        compilerOptionsAffectSemanticDiagnostics: () => vee,
        compilerOptionsDidYouMeanDiagnostics: () => HF,
        compilerOptionsIndicateEsModules: () => FU,
        computeCommonSourceDirectoryOfFilenames: () => gie,
        computeLineAndCharacterOfPosition: () => CC,
        computeLineOfPosition: () => g4,
        computeLineStarts: () => ZT,
        computePositionOfLineAndCharacter: () => o7,
        computeSignatureWithDiagnostics: () => gV,
        computeSuggestionDiagnostics: () => Sq,
        computedOptions: () => cD,
        concatenate: () => Ji,
        concatenateDiagnosticMessageChains: () => fee,
        consumesNodeCoreModules: () => j9,
        contains: () => _s,
        containsIgnoredPath: () => hD,
        containsObjectRestOrSpread: () => BN,
        containsParseError: () => cx,
        containsPath: () => Qf,
        convertCompilerOptionsForTelemetry: () => jre,
        convertCompilerOptionsFromJson: () => wye,
        convertJsonOption: () => zS,
        convertToBase64: () => YK,
        convertToJson: () => HN,
        convertToObject: () => Are,
        convertToOptionsWithAbsolutePaths: () => QF,
        convertToRelativePath: () => d4,
        convertToTSConfig: () => Xz,
        convertTypeAcquisitionFromJson: () => Pye,
        copyComments: () => QS,
        copyEntries: () => A7,
        copyLeadingComments: () => Y6,
        copyProperties: () => NR,
        copyTrailingAsLeadingComments: () => zA,
        copyTrailingComments: () => Tw,
        couldStartTrivia: () => AY,
        countWhere: () => d0,
        createAbstractBuilder: () => Lve,
        createAccessorPropertyBackingField: () => Az,
        createAccessorPropertyGetRedirector: () => are,
        createAccessorPropertySetRedirector: () => ore,
        createBaseNodeFactory: () => Yee,
        createBinaryExpressionTrampoline: () => RF,
        createBuilderProgram: () => hV,
        createBuilderProgramUsingIncrementalBuildInfo: () => Jie,
        createBuilderStatusReporter: () => YO,
        createCacheableExportInfoMap: () => uq,
        createCachedDirectoryStructureHost: () => DO,
        createClassifier: () => f2e,
        createCommentDirectivesMap: () => jZ,
        createCompilerDiagnostic: () => $o,
        createCompilerDiagnosticForInvalidCustomType: () => xre,
        createCompilerDiagnosticFromMessageChain: () => L5,
        createCompilerHost: () => hie,
        createCompilerHostFromProgramHost: () => RV,
        createCompilerHostWorker: () => NO,
        createDetachedDiagnostic: () => kx,
        createDiagnosticCollection: () => Y4,
        createDiagnosticForFileFromMessageChain: () => _B,
        createDiagnosticForNode: () => Kr,
        createDiagnosticForNodeArray: () => jC,
        createDiagnosticForNodeArrayFromMessageChain: () => _3,
        createDiagnosticForNodeFromMessageChain: () => Lg,
        createDiagnosticForNodeInSourceFile: () => Zf,
        createDiagnosticForRange: () => ZZ,
        createDiagnosticMessageChainFromDiagnostic: () => YZ,
        createDiagnosticReporter: () => sk,
        createDocumentPositionMapper: () => kne,
        createDocumentRegistry: () => Lae,
        createDocumentRegistryInternal: () => mq,
        createEmitAndSemanticDiagnosticsBuilderProgram: () => SV,
        createEmitHelperFactory: () => pte,
        createEmptyExports: () => AN,
        createEvaluator: () => qee,
        createExpressionForJsxElement: () => qte,
        createExpressionForJsxFragment: () => Hte,
        createExpressionForObjectLiteralElementLike: () => Gte,
        createExpressionForPropertyName: () => Tz,
        createExpressionFromEntityName: () => IN,
        createExternalHelpersImportDeclarationIfNeeded: () => Cz,
        createFileDiagnostic: () => al,
        createFileDiagnosticFromMessageChain: () => z7,
        createFlowNode: () => eg,
        createForOfBindingStatement: () => Sz,
        createFutureSourceFile: () => U9,
        createGetCanonicalFileName: () => Hl,
        createGetIsolatedDeclarationErrors: () => nie,
        createGetSourceFile: () => rV,
        createGetSymbolAccessibilityDiagnosticForNode: () => gv,
        createGetSymbolAccessibilityDiagnosticForNodeName: () => rie,
        createGetSymbolWalker: () => une,
        createIncrementalCompilerHost: () => QO,
        createIncrementalProgram: () => Yie,
        createJsxFactoryExpression: () => bz,
        createLanguageService: () => _ce,
        createLanguageServiceSourceFile: () => lL,
        createMemberAccessForPropertyName: () => BS,
        createModeAwareCache: () => P6,
        createModeAwareCacheKey: () => HD,
        createModeMismatchDetails: () => Xj,
        createModuleNotFoundChain: () => F7,
        createModuleResolutionCache: () => N6,
        createModuleResolutionLoader: () => cV,
        createModuleResolutionLoaderUsingGlobalCache: () => $ie,
        createModuleSpecifierResolutionHost: () => bv,
        createMultiMap: () => Tp,
        createNameResolver: () => JJ,
        createNodeConverters: () => ete,
        createNodeFactory: () => hN,
        createOptionNameMap: () => UF,
        createOverload: () => cG,
        createPackageJsonImportFilter: () => Z6,
        createPackageJsonInfo: () => rq,
        createParenthesizerRules: () => Zee,
        createPatternMatcher: () => Jae,
        createPrinter: () => u1,
        createPrinterWithDefaults: () => _ie,
        createPrinterWithRemoveComments: () => r2,
        createPrinterWithRemoveCommentsNeverAsciiEscape: () => fie,
        createPrinterWithRemoveCommentsOmitTrailingSemicolon: () => QW,
        createProgram: () => gA,
        createProgramDiagnostics: () => Cie,
        createProgramHost: () => jV,
        createPropertyNameNodeForIdentifierOrLiteral: () => tF,
        createQueue: () => DP,
        createRange: () => tp,
        createRedirectedBuilderProgram: () => bV,
        createResolutionCache: () => kV,
        createRuntimeTypeSerializer: () => Bne,
        createScanner: () => Pg,
        createSemanticDiagnosticsBuilderProgram: () => Ove,
        createSet: () => AR,
        createSolutionBuilder: () => rse,
        createSolutionBuilderHost: () => ese,
        createSolutionBuilderWithWatch: () => nse,
        createSolutionBuilderWithWatchHost: () => tse,
        createSortedArray: () => xR,
        createSourceFile: () => Qx,
        createSourceMapGenerator: () => vne,
        createSourceMapSource: () => Zhe,
        createSuperAccessVariableStatement: () => CO,
        createSymbolTable: () => qs,
        createSymlinkCache: () => vJ,
        createSyntacticTypeNodeBuilder: () => Sse,
        createSystemWatchFunctions: () => xY,
        createTextChange: () => FA,
        createTextChangeFromStartLength: () => x9,
        createTextChangeRange: () => VP,
        createTextRangeFromNode: () => NU,
        createTextRangeFromSpan: () => T9,
        createTextSpan: () => Gl,
        createTextSpanFromBounds: () => wc,
        createTextSpanFromNode: () => t_,
        createTextSpanFromRange: () => L0,
        createTextSpanFromStringLiteralLikeContent: () => PU,
        createTextWriter: () => G3,
        createTokenRange: () => iJ,
        createTypeChecker: () => hne,
        createTypeReferenceDirectiveResolutionCache: () => aO,
        createTypeReferenceResolutionLoader: () => FO,
        createWatchCompilerHost: () => qve,
        createWatchCompilerHostOfConfigFile: () => BV,
        createWatchCompilerHostOfFilesAndCompilerOptions: () => JV,
        createWatchFactory: () => MV,
        createWatchHost: () => LV,
        createWatchProgram: () => zV,
        createWatchStatusReporter: () => CV,
        createWriteFileMeasuringIO: () => nV,
        declarationNameToString: () => _o,
        decodeMappings: () => PW,
        decodedTextSpanIntersectsWith: () => WP,
        deduplicate: () => pb,
        defaultInitCompilerOptions: () => Wz,
        defaultMaximumTruncationLength: () => I4,
        diagnosticCategoryName: () => rS,
        diagnosticToString: () => c2,
        diagnosticsEqualityComparer: () => M5,
        directoryProbablyExists: () => md,
        directorySeparator: () => xo,
        displayPart: () => N_,
        displayPartsToString: () => e8,
        disposeEmitNodes: () => XJ,
        documentSpansEqual: () => JU,
        dumpTracingLegend: () => vQ,
        elementAt: () => xy,
        elideNodes: () => sre,
        emitDetachedComments: () => zK,
        emitFiles: () => $W,
        emitFilesAndReportErrors: () => HO,
        emitFilesAndReportErrorsAndGetExitStatus: () => OV,
        emitModuleKindIsNonNodeESM: () => aN,
        emitNewLineBeforeLeadingCommentOfPosition: () => JK,
        emitResolverSkipsTypeChecking: () => GW,
        emitSkippedWithNoDiagnostics: () => _V,
        emptyArray: () => Ue,
        emptyFileSystemEntries: () => DJ,
        emptyMap: () => mR,
        emptyOptions: () => Op,
        endsWith: () => No,
        ensurePathIsNonModuleName: () => nS,
        ensureScriptKind: () => H5,
        ensureTrailingDirectorySeparator: () => ml,
        entityNameToString: () => q_,
        enumerateInsertsAndDeletes: () => GI,
        equalOwnProperties: () => QX,
        equateStringsCaseInsensitive: () => wy,
        equateStringsCaseSensitive: () => gb,
        equateValues: () => Dy,
        escapeJsxAttributeString: () => JB,
        escapeLeadingUnderscores: () => ec,
        escapeNonAsciiString: () => d5,
        escapeSnippetText: () => zb,
        escapeString: () => Qm,
        escapeTemplateSubstitution: () => jB,
        evaluatorResult: () => hl,
        every: () => Pi,
        exclusivelyPrefixedNodeCoreModules: () => cF,
        executeCommandLine: () => kbe,
        expandPreOrPostfixIncrementOrDecrementExpression: () => IF,
        explainFiles: () => PV,
        explainIfFileIsRedirectAndImpliedFormat: () => NV,
        exportAssignmentIsAlias: () => B3,
        expressionResultIsUnused: () => Ree,
        extend: () => WI,
        extensionFromPath: () => fD,
        extensionIsTS: () => Y5,
        extensionsNotSupportingExtensionlessResolution: () => Q5,
        externalHelpersModuleNameText: () => zy,
        factory: () => N,
        fileExtensionIs: () => Wo,
        fileExtensionIsOneOf: () => Dc,
        fileIncludeReasonToDiagnostics: () => FV,
        fileShouldUseJavaScriptRequire: () => lq,
        filter: () => Tn,
        filterMutate: () => yR,
        filterSemanticDiagnostics: () => RO,
        find: () => Dn,
        findAncestor: () => _r,
        findBestPatternMatch: () => RR,
        findChildOfKind: () => Za,
        findComputedPropertyNameCacheAssignment: () => jF,
        findConfigFile: () => eV,
        findConstructorDeclaration: () => gN,
        findContainingList: () => m9,
        findDiagnosticForNode: () => Eae,
        findFirstNonJsxWhitespaceToken: () => Gse,
        findIndex: () => oc,
        findLast: () => fb,
        findLastIndex: () => BI,
        findListItemInfo: () => Hse,
        findModifier: () => $6,
        findNextToken: () => a2,
        findPackageJson: () => Cae,
        findPackageJsons: () => tq,
        findPrecedingMatchingToken: () => b9,
        findPrecedingToken: () => cl,
        findSuperStatementIndexPath: () => vO,
        findTokenOnLeftOfPosition: () => mw,
        findUseStrictPrologue: () => kz,
        first: () => xa,
        firstDefined: () => Ic,
        firstDefinedIterator: () => xP,
        firstIterator: () => ER,
        firstOrOnly: () => sq,
        firstOrUndefined: () => Xc,
        firstOrUndefinedIterator: () => CP,
        fixupCompilerOptions: () => Cq,
        flatMap: () => oa,
        flatMapIterator: () => vR,
        flatMapToMutable: () => t4,
        flatten: () => Sp,
        flattenCommaList: () => cre,
        flattenDestructuringAssignment: () => qS,
        flattenDestructuringBinding: () => t2,
        flattenDiagnosticMessageText: () => fm,
        forEach: () => ar,
        forEachAncestor: () => FZ,
        forEachAncestorDirectory: () => m4,
        forEachAncestorDirectoryStoppingAtGlobalCache: () => Km,
        forEachChild: () => Ss,
        forEachChildRecursively: () => Xx,
        forEachDynamicImportOrRequireCall: () => lF,
        forEachEmittedFile: () => VW,
        forEachEnclosingBlockScopeContainer: () => $Z,
        forEachEntry: () => gl,
        forEachExternalModuleToImportFrom: () => fq,
        forEachImportClauseDeclaration: () => SK,
        forEachKey: () => Fg,
        forEachLeadingCommentRange: () => MP,
        forEachNameInAccessChainWalkingLeft: () => oee,
        forEachNameOfDefaultExport: () => H9,
        forEachOptionsSyntaxByName: () => HJ,
        forEachProjectReference: () => TD,
        forEachPropertyAssignment: () => zC,
        forEachResolvedProjectReference: () => UJ,
        forEachReturnStatement: () => qy,
        forEachRight: () => zX,
        forEachTrailingCommentRange: () => RP,
        forEachTsConfigPropArray: () => g3,
        forEachUnique: () => WU,
        forEachYieldExpression: () => rK,
        formatColorAndReset: () => n2,
        formatDiagnostic: () => iV,
        formatDiagnostics: () => cve,
        formatDiagnosticsWithColorAndContext: () => Sie,
        formatGeneratedName: () => _v,
        formatGeneratedNamePart: () => C6,
        formatLocation: () => sV,
        formatMessage: () => Ex,
        formatStringFromArgs: () => Jg,
        formatting: () => rl,
        generateDjb2Hash: () => f4,
        generateTSConfig: () => Fre,
        getAdjustedReferenceLocation: () => SU,
        getAdjustedRenameLocation: () => h9,
        getAliasDeclarationFromName: () => wB,
        getAllAccessorDeclarations: () => Mb,
        getAllDecoratorsOfClass: () => OW,
        getAllDecoratorsOfClassElement: () => SO,
        getAllJSDocTags: () => d7,
        getAllJSDocTagsOfKind: () => rhe,
        getAllKeys: () => sge,
        getAllProjectOutputs: () => EO,
        getAllSuperTypeNodes: () => H4,
        getAllowImportingTsExtensions: () => dee,
        getAllowJSCompilerOption: () => Zy,
        getAllowSyntheticDefaultImports: () => Dx,
        getAncestor: () => Y1,
        getAnyExtensionFromPath: () => XT,
        getAreDeclarationMapsEnabled: () => R5,
        getAssignedExpandoInitializer: () => _x,
        getAssignedName: () => _7,
        getAssignmentDeclarationKind: () => Pc,
        getAssignmentDeclarationPropertyAccessKind: () => P3,
        getAssignmentTargetKind: () => Hy,
        getAutomaticTypeDirectiveNames: () => iO,
        getBaseFileName: () => Qc,
        getBinaryOperatorPrecedence: () => U3,
        getBuildInfo: () => XW,
        getBuildInfoFileVersionMap: () => vV,
        getBuildInfoText: () => lie,
        getBuildOrderFromAnyBuildOrder: () => SA,
        getBuilderCreationParameters: () => zO,
        getBuilderFileEmit: () => _1,
        getCanonicalDiagnostic: () => KZ,
        getCheckFlags: () => lc,
        getClassExtendsHeritageElement: () => Ib,
        getClassLikeDeclarationOfSymbol: () => Fh,
        getCombinedLocalAndExportSymbolFlags: () => t6,
        getCombinedModifierFlags: () => W1,
        getCombinedNodeFlags: () => Ch,
        getCombinedNodeFlagsAlwaysIncludeJSDoc: () => xj,
        getCommentRange: () => sm,
        getCommonSourceDirectory: () => sw,
        getCommonSourceDirectoryOfConfig: () => HS,
        getCompilerOptionValue: () => J5,
        getCompilerOptionsDiffValue: () => Ire,
        getConditions: () => o1,
        getConfigFileParsingDiagnostics: () => i2,
        getConstantValue: () => ste,
        getContainerFlags: () => dW,
        getContainerNode: () => XS,
        getContainingClass: () => Jl,
        getContainingClassExcludingClassDecorators: () => X7,
        getContainingClassStaticBlock: () => uK,
        getContainingFunction: () => Df,
        getContainingFunctionDeclaration: () => lK,
        getContainingFunctionOrClassStaticBlock: () => $7,
        getContainingNodeArray: () => jee,
        getContainingObjectLiteralElement: () => t8,
        getContextualTypeFromParent: () => I9,
        getContextualTypeFromParentOrAncestorTypeNode: () => g9,
        getDeclarationDiagnostics: () => iie,
        getDeclarationEmitExtensionForPath: () => h5,
        getDeclarationEmitOutputFilePath: () => MK,
        getDeclarationEmitOutputFilePathWorker: () => g5,
        getDeclarationFileExtension: () => JF,
        getDeclarationFromName: () => q4,
        getDeclarationModifierFlagsFromSymbol: () => np,
        getDeclarationOfKind: () => jo,
        getDeclarationsOfKind: () => AZ,
        getDeclaredExpandoInitializer: () => W4,
        getDecorators: () => Fy,
        getDefaultCompilerOptions: () => cL,
        getDefaultFormatCodeSettings: () => a9,
        getDefaultLibFileName: () => BP,
        getDefaultLibFilePath: () => fce,
        getDefaultLikeExportInfo: () => q9,
        getDefaultLikeExportNameFromDeclaration: () => aq,
        getDefaultResolutionModeForFileWorker: () => MO,
        getDiagnosticText: () => g_,
        getDiagnosticsWithinSpan: () => Dae,
        getDirectoryPath: () => Un,
        getDirectoryToWatchFailedLookupLocation: () => xV,
        getDirectoryToWatchFailedLookupLocationFromTypeRoot: () => Hie,
        getDocumentPositionMapper: () => bq,
        getDocumentSpansEqualityComparer: () => zU,
        getESModuleInterop: () => zg,
        getEditsForFileRename: () => Rae,
        getEffectiveBaseTypeNode: () => Zd,
        getEffectiveConstraintOfTypeParameter: () => PC,
        getEffectiveContainerForJSDocTemplateTag: () => o5,
        getEffectiveImplementsTypeNodes: () => $C,
        getEffectiveInitializer: () => E3,
        getEffectiveJSDocHost: () => Q1,
        getEffectiveModifierFlags: () => Lu,
        getEffectiveModifierFlagsAlwaysIncludeJSDoc: () => qK,
        getEffectiveModifierFlagsNoCache: () => HK,
        getEffectiveReturnTypeNode: () => mf,
        getEffectiveSetAccessorTypeAnnotationNode: () => $B,
        getEffectiveTypeAnnotationNode: () => Yc,
        getEffectiveTypeParameterDeclarations: () => Ly,
        getEffectiveTypeRoots: () => qD,
        getElementOrPropertyAccessArgumentExpressionOrName: () => a5,
        getElementOrPropertyAccessName: () => wh,
        getElementsOfBindingOrAssignmentPattern: () => k6,
        getEmitDeclarations: () => w_,
        getEmitFlags: () => ka,
        getEmitHelpers: () => QJ,
        getEmitModuleDetectionKind: () => mee,
        getEmitModuleFormatOfFileWorker: () => lw,
        getEmitModuleKind: () => Mu,
        getEmitModuleResolutionKind: () => vu,
        getEmitScriptTarget: () => ga,
        getEmitStandardClassFields: () => hJ,
        getEnclosingBlockScopeContainer: () => pd,
        getEnclosingContainer: () => J7,
        getEncodedSemanticClassifications: () => pq,
        getEncodedSyntacticClassifications: () => dq,
        getEndLinePosition: () => a3,
        getEntityNameFromTypeNode: () => v3,
        getEntrypointsFromPackageJsonInfo: () => lW,
        getErrorCountForSummary: () => UO,
        getErrorSpanForNode: () => pS,
        getErrorSummaryText: () => DV,
        getEscapedTextOfIdentifierOrLiteral: () => X4,
        getEscapedTextOfJsxAttributeName: () => bD,
        getEscapedTextOfJsxNamespacedName: () => Ax,
        getExpandoInitializer: () => $1,
        getExportAssignmentExpression: () => PB,
        getExportInfoMap: () => GA,
        getExportNeedsImportStarHelper: () => Cne,
        getExpressionAssociativity: () => MB,
        getExpressionPrecedence: () => Q4,
        getExternalHelpersModuleName: () => ON,
        getExternalModuleImportEqualsDeclarationExpression: () => J4,
        getExternalModuleName: () => px,
        getExternalModuleNameFromDeclaration: () => OK,
        getExternalModuleNameFromPath: () => VB,
        getExternalModuleNameLiteral: () => $x,
        getExternalModuleRequireArgument: () => yB,
        getFallbackOptions: () => pA,
        getFileEmitOutput: () => Eie,
        getFileMatcherPatterns: () => q5,
        getFileNamesFromConfigSpecs: () => VD,
        getFileWatcherEventKind: () => lj,
        getFilesInErrorForSummary: () => qO,
        getFirstConstructorWithBody: () => jg,
        getFirstIdentifier: () => Xu,
        getFirstNonSpaceCharacterPosition: () => hae,
        getFirstProjectOutput: () => HW,
        getFixableErrorSpanExpression: () => nq,
        getFormatCodeSettingsForWriting: () => W9,
        getFullWidth: () => i3,
        getFunctionFlags: () => Fc,
        getHeritageClause: () => J3,
        getHostSignatureFromJSDoc: () => X1,
        getIdentifierAutoGenerate: () => t0e,
        getIdentifierGeneratedImportReference: () => _te,
        getIdentifierTypeArguments: () => wS,
        getImmediatelyInvokedFunctionExpression: () => Db,
        getImpliedNodeFormatForEmitWorker: () => GS,
        getImpliedNodeFormatForFile: () => mA,
        getImpliedNodeFormatForFileWorker: () => LO,
        getImportNeedsImportDefaultHelper: () => AW,
        getImportNeedsImportStarHelper: () => hO,
        getIndentString: () => m5,
        getInferredLibraryNameResolveFrom: () => OO,
        getInitializedVariables: () => iD,
        getInitializerOfBinaryExpression: () => TB,
        getInitializerOfBindingOrAssignmentElement: () => MN,
        getInterfaceBaseTypeNodes: () => G4,
        getInternalEmitFlags: () => Hp,
        getInvokedExpression: () => Z7,
        getIsFileExcluded: () => Iae,
        getIsolatedModules: () => Np,
        getJSDocAugmentsTag: () => tZ,
        getJSDocClassTag: () => Ej,
        getJSDocCommentRanges: () => pB,
        getJSDocCommentsAndTags: () => xB,
        getJSDocDeprecatedTag: () => Dj,
        getJSDocDeprecatedTagNoCache: () => cZ,
        getJSDocEnumTag: () => wj,
        getJSDocHost: () => Nb,
        getJSDocImplementsTags: () => rZ,
        getJSDocOverloadTags: () => CB,
        getJSDocOverrideTagNoCache: () => oZ,
        getJSDocParameterTags: () => wC,
        getJSDocParameterTagsNoCache: () => YY,
        getJSDocPrivateTag: () => Zge,
        getJSDocPrivateTagNoCache: () => iZ,
        getJSDocProtectedTag: () => Kge,
        getJSDocProtectedTagNoCache: () => sZ,
        getJSDocPublicTag: () => Yge,
        getJSDocPublicTagNoCache: () => nZ,
        getJSDocReadonlyTag: () => ehe,
        getJSDocReadonlyTagNoCache: () => aZ,
        getJSDocReturnTag: () => lZ,
        getJSDocReturnType: () => qP,
        getJSDocRoot: () => GC,
        getJSDocSatisfiesExpressionType: () => RJ,
        getJSDocSatisfiesTag: () => Pj,
        getJSDocTags: () => U1,
        getJSDocTemplateTag: () => the,
        getJSDocThisTag: () => f7,
        getJSDocType: () => Oy,
        getJSDocTypeAliasName: () => Dz,
        getJSDocTypeAssertionType: () => T6,
        getJSDocTypeParameterDeclarations: () => T5,
        getJSDocTypeParameterTags: () => ZY,
        getJSDocTypeParameterTagsNoCache: () => KY,
        getJSDocTypeTag: () => V1,
        getJSXImplicitImportBase: () => oN,
        getJSXRuntimeImport: () => W5,
        getJSXTransformEnabled: () => z5,
        getKeyForCompilerOptions: () => iW,
        getLanguageVariant: () => tN,
        getLastChild: () => uJ,
        getLeadingCommentRanges: () => wg,
        getLeadingCommentRangesOfNode: () => fB,
        getLeftmostAccessExpression: () => r6,
        getLeftmostExpression: () => n6,
        getLibFileNameFromLibReference: () => VJ,
        getLibNameFromLibReference: () => WJ,
        getLibraryNameFromLibFileName: () => lV,
        getLineAndCharacterOfPosition: () => Js,
        getLineInfo: () => wW,
        getLineOfLocalPosition: () => Z4,
        getLineStartPositionForPosition: () => Lp,
        getLineStarts: () => Eg,
        getLinesBetweenPositionAndNextNonWhitespaceCharacter: () => iee,
        getLinesBetweenPositionAndPrecedingNonWhitespaceCharacter: () => nee,
        getLinesBetweenPositions: () => h4,
        getLinesBetweenRangeEndAndRangeStart: () => sJ,
        getLinesBetweenRangeEndPositions: () => Ahe,
        getLiteralText: () => zZ,
        getLocalNameForExternalImport: () => x6,
        getLocalSymbolForExportDefault: () => rD,
        getLocaleSpecificMessage: () => hs,
        getLocaleTimeString: () => bA,
        getMappedContextSpan: () => VU,
        getMappedDocumentSpan: () => P9,
        getMappedLocation: () => vw,
        getMatchedFileSpec: () => AV,
        getMatchedIncludeSpec: () => IV,
        getMeaningFromDeclaration: () => c9,
        getMeaningFromLocation: () => $S,
        getMembersOfDeclaration: () => nK,
        getModeForFileReference: () => Tie,
        getModeForResolutionAtIndex: () => dve,
        getModeForUsageLocation: () => oV,
        getModifiedTime: () => $T,
        getModifiers: () => yb,
        getModuleInstanceState: () => jh,
        getModuleNameStringLiteralAt: () => hA,
        getModuleSpecifierEndingPreference: () => wee,
        getModuleSpecifierResolverHost: () => OU,
        getNameForExportedSymbol: () => B9,
        getNameFromImportAttribute: () => sF,
        getNameFromIndexInfo: () => XZ,
        getNameFromPropertyName: () => LA,
        getNameOfAccessExpression: () => fJ,
        getNameOfCompilerOptionValue: () => Qz,
        getNameOfDeclaration: () => ls,
        getNameOfExpando: () => vB,
        getNameOfJSDocTypedef: () => QY,
        getNameOfScriptTarget: () => B5,
        getNameOrArgument: () => w3,
        getNameTable: () => Qq,
        getNamespaceDeclarationNode: () => qC,
        getNewLineCharacter: () => x0,
        getNewLineKind: () => HA,
        getNewLineOrDefaultFromHost: () => Jh,
        getNewTargetContainer: () => fK,
        getNextJSDocCommentLocation: () => kB,
        getNodeChildren: () => yz,
        getNodeForGeneratedName: () => jN,
        getNodeId: () => Oa,
        getNodeKind: () => s2,
        getNodeModifiers: () => gw,
        getNodeModulePathParts: () => rF,
        getNonAssignedNameOfDeclaration: () => u7,
        getNonAssignmentOperatorForCompoundAssignment: () => KD,
        getNonAugmentationDeclaration: () => sB,
        getNonDecoratorTokenPosOfNode: () => Kj,
        getNonIncrementalBuildInfoRoots: () => zie,
        getNonModifierTokenPosOfNode: () => BZ,
        getNormalizedAbsolutePath: () => Xi,
        getNormalizedAbsolutePathWithoutRoot: () => pj,
        getNormalizedPathComponents: () => r7,
        getObjectFlags: () => Cn,
        getOperatorAssociativity: () => RB,
        getOperatorPrecedence: () => V3,
        getOptionFromName: () => Uz,
        getOptionsForLibraryResolution: () => sW,
        getOptionsNameMap: () => D6,
        getOptionsSyntaxByArrayElementValue: () => qJ,
        getOptionsSyntaxByValue: () => Qee,
        getOrCreateEmitNode: () => uu,
        getOrUpdate: () => r4,
        getOriginalNode: () => Vo,
        getOriginalNodeId: () => e_,
        getOutputDeclarationFileName: () => M6,
        getOutputDeclarationFileNameWorker: () => UW,
        getOutputExtension: () => uA,
        getOutputFileNames: () => ave,
        getOutputJSFileNameWorker: () => qW,
        getOutputPathsFor: () => iw,
        getOwnEmitOutputFilePath: () => LK,
        getOwnKeys: () => Ud,
        getOwnValues: () => UT,
        getPackageJsonTypesVersionsPaths: () => nO,
        getPackageNameFromTypesPackageName: () => XD,
        getPackageScopeForPath: () => $D,
        getParameterSymbolFromJSDoc: () => M3,
        getParentNodeInSpan: () => RA,
        getParseTreeNode: () => ds,
        getParsedCommandLineOfConfigFile: () => UN,
        getPathComponents: () => ou,
        getPathFromPathComponents: () => z1,
        getPathUpdater: () => hq,
        getPathsBasePath: () => y5,
        getPatternFromSpec: () => TJ,
        getPendingEmitKindWithSeen: () => JO,
        getPositionOfLineAndCharacter: () => OP,
        getPossibleGenericSignatures: () => xU,
        getPossibleOriginalInputExtensionForExtension: () => UB,
        getPossibleOriginalInputPathWithoutChangingExt: () => qB,
        getPossibleTypeArgumentsInfo: () => kU,
        getPreEmitDiagnostics: () => ove,
        getPrecedingNonSpaceCharacterPosition: () => N9,
        getPrivateIdentifier: () => LW,
        getProperties: () => FW,
        getProperty: () => zI,
        getPropertyAssignmentAliasLikeExpression: () => wK,
        getPropertyNameForPropertyNameNode: () => SS,
        getPropertyNameFromType: () => sp,
        getPropertyNameOfBindingOrAssignmentElement: () => Ez,
        getPropertySymbolFromBindingElement: () => w9,
        getPropertySymbolsFromContextualType: () => uL,
        getQuoteFromPreference: () => MU,
        getQuotePreference: () => K_,
        getRangesWhere: () => TR,
        getRefactorContextSpan: () => lk,
        getReferencedFileLocation: () => cw,
        getRegexFromPattern: () => k0,
        getRegularExpressionForWildcard: () => lD,
        getRegularExpressionsForWildcards: () => V5,
        getRelativePathFromDirectory: () => Ef,
        getRelativePathFromFile: () => kC,
        getRelativePathToDirectoryOrUrl: () => YT,
        getRenameLocation: () => JA,
        getReplacementSpanForContextToken: () => wU,
        getResolutionDiagnostic: () => pV,
        getResolutionModeOverride: () => R6,
        getResolveJsonModule: () => jb,
        getResolvePackageJsonExports: () => nN,
        getResolvePackageJsonImports: () => iN,
        getResolvedExternalModuleName: () => WB,
        getResolvedModuleFromResolution: () => ox,
        getResolvedTypeReferenceDirectiveFromResolution: () => I7,
        getRestIndicatorOfBindingOrAssignmentElement: () => LF,
        getRestParameterElementType: () => dB,
        getRightMostAssignedExpression: () => D3,
        getRootDeclaration: () => em,
        getRootDirectoryOfResolutionCache: () => Gie,
        getRootLength: () => ud,
        getScriptKind: () => GU,
        getScriptKindFromFileName: () => G5,
        getScriptTargetFeatures: () => eB,
        getSelectedEffectiveModifierFlags: () => vx,
        getSelectedSyntacticModifierFlags: () => VK,
        getSemanticClassifications: () => Fae,
        getSemanticJsxChildren: () => QC,
        getSetAccessorTypeAnnotationNode: () => jK,
        getSetAccessorValueParameter: () => K4,
        getSetExternalModuleIndicator: () => rN,
        getShebang: () => c7,
        getSingleVariableOfVariableStatement: () => gx,
        getSnapshotText: () => ck,
        getSnippetElement: () => YJ,
        getSourceFileOfModule: () => s3,
        getSourceFileOfNode: () => Er,
        getSourceFilePathInNewDir: () => b5,
        getSourceFileVersionAsHashFromText: () => GO,
        getSourceFilesToEmit: () => v5,
        getSourceMapRange: () => E0,
        getSourceMapper: () => Xae,
        getSourceTextOfNodeFromSourceFile: () => xb,
        getSpanOfTokenAtPosition: () => Xd,
        getSpellingSuggestion: () => hb,
        getStartPositionOfLine: () => Wy,
        getStartPositionOfRange: () => nD,
        getStartsOnNewLine: () => xD,
        getStaticPropertiesAndClassStaticBlock: () => bO,
        getStrictOptionValue: () => lu,
        getStringComparer: () => vC,
        getSubPatternFromSpec: () => U5,
        getSuperCallFromStatement: () => yO,
        getSuperContainer: () => h3,
        getSupportedCodeFixes: () => $q,
        getSupportedExtensions: () => uD,
        getSupportedExtensionsWithJsonIfResolveJsonModule: () => lN,
        getSwitchedType: () => ZU,
        getSymbolId: () => ea,
        getSymbolNameForPrivateIdentifier: () => z3,
        getSymbolTarget: () => $U,
        getSyntacticClassifications: () => Oae,
        getSyntacticModifierFlags: () => S0,
        getSyntacticModifierFlagsNoCache: () => YB,
        getSynthesizedDeepClone: () => qa,
        getSynthesizedDeepCloneWithReplacements: () => BA,
        getSynthesizedDeepClones: () => o2,
        getSynthesizedDeepClonesWithReplacements: () => XU,
        getSyntheticLeadingComments: () => l6,
        getSyntheticTrailingComments: () => SN,
        getTargetLabel: () => _9,
        getTargetOfBindingOrAssignmentElement: () => s1,
        getTemporaryModuleResolutionState: () => GD,
        getTextOfConstantValue: () => WZ,
        getTextOfIdentifierOrLiteral: () => ep,
        getTextOfJSDocComment: () => HP,
        getTextOfJsxAttributeName: () => mN,
        getTextOfJsxNamespacedName: () => SD,
        getTextOfNode: () => Go,
        getTextOfNodeFromSourceText: () => O4,
        getTextOfPropertyName: () => ux,
        getThisContainer: () => Ou,
        getThisParameter: () => Ob,
        getTokenAtPosition: () => mi,
        getTokenPosOfNode: () => Vy,
        getTokenSourceMapRange: () => Khe,
        getTouchingPropertyName: () => h_,
        getTouchingToken: () => H6,
        getTrailingCommentRanges: () => Iy,
        getTrailingSemicolonDeferringWriter: () => zB,
        getTransformers: () => aie,
        getTsBuildInfoEmitOutputFilePath: () => hv,
        getTsConfigObjectLiteralExpression: () => j4,
        getTsConfigPropArrayElementValue: () => G7,
        getTypeAnnotationNode: () => BK,
        getTypeArgumentOrTypeParameterList: () => eae,
        getTypeKeywordOfTypeOnlyImport: () => BU,
        getTypeNode: () => lte,
        getTypeNodeIfAccessible: () => kw,
        getTypeParameterFromJsDoc: () => TK,
        getTypeParameterOwner: () => Gge,
        getTypesPackageName: () => uO,
        getUILocale: () => tQ,
        getUniqueName: () => YS,
        getUniqueSymbolId: () => gae,
        getUseDefineForClassFields: () => sN,
        getWatchErrorSummaryDiagnosticMessage: () => EV,
        getWatchFactory: () => KW,
        group: () => yC,
        groupBy: () => PR,
        guessIndentation: () => PZ,
        handleNoEmitOptions: () => fV,
        handleWatchOptionsConfigDirTemplateSubstitution: () => YF,
        hasAbstractModifier: () => Rb,
        hasAccessorModifier: () => tm,
        hasAmbientModifier: () => QB,
        hasChangesInResolutions: () => Qj,
        hasContextSensitiveParameters: () => eF,
        hasDecorators: () => Pf,
        hasDocComment: () => Zse,
        hasDynamicName: () => Ph,
        hasEffectiveModifier: () => $_,
        hasEffectiveModifiers: () => XB,
        hasEffectiveReadonlyModifier: () => xS,
        hasExtension: () => xC,
        hasImplementationTSFileExtension: () => Eee,
        hasIndexSignature: () => YU,
        hasInferredType: () => oF,
        hasInitializer: () => y0,
        hasInvalidEscape: () => BB,
        hasJSDocNodes: () => pf,
        hasJSDocParameterTags: () => eZ,
        hasJSFileExtension: () => Wg,
        hasJsonModuleEmitEnabled: () => j5,
        hasOnlyExpressionInitializer: () => _S,
        hasOverrideModifier: () => x5,
        hasPossibleExternalModuleReference: () => GZ,
        hasProperty: () => ao,
        hasPropertyAccessExpressionWithName: () => DA,
        hasQuestionToken: () => dx,
        hasRecordedExternalHelpers: () => Qte,
        hasResolutionModeOverride: () => Vee,
        hasRestParameter: () => qj,
        hasScopeMarker: () => bZ,
        hasStaticModifier: () => sl,
        hasSyntacticModifier: () => qn,
        hasSyntacticModifiers: () => WK,
        hasTSFileExtension: () => CS,
        hasTabstop: () => Jee,
        hasTrailingDirectorySeparator: () => Ny,
        hasType: () => D7,
        hasTypeArguments: () => She,
        hasZeroOrOneAsteriskCharacter: () => yJ,
        hostGetCanonicalFileName: () => Nh,
        hostUsesCaseSensitiveFileNames: () => TS,
        idText: () => Pn,
        identifierIsThisKeyword: () => GB,
        identifierToKeywordKind: () => sS,
        identity: () => mo,
        identitySourceMapConsumer: () => NW,
        ignoreSourceNewlines: () => KJ,
        ignoredPaths: () => KI,
        importFromModuleSpecifier: () => V4,
        importSyntaxAffectsModuleResolution: () => gJ,
        indexOfAnyCharCode: () => VX,
        indexOfNode: () => MC,
        indicesOf: () => JI,
        inferredTypesContainingFile: () => ow,
        injectClassNamedEvaluationHelperBlockIfMissing: () => kO,
        injectClassThisAssignmentIfMissing: () => Fne,
        insertImports: () => jU,
        insertSorted: () => Ty,
        insertStatementAfterCustomPrologue: () => fS,
        insertStatementAfterStandardPrologue: () => dhe,
        insertStatementsAfterCustomPrologue: () => Yj,
        insertStatementsAfterStandardPrologue: () => Og,
        intersperse: () => hR,
        intrinsicTagNameToString: () => jJ,
        introducesArgumentsExoticObject: () => aK,
        inverseJsxOptionMap: () => WN,
        isAbstractConstructorSymbol: () => see,
        isAbstractModifier: () => Ste,
        isAccessExpression: () => ko,
        isAccessibilityModifier: () => EU,
        isAccessor: () => By,
        isAccessorModifier: () => xte,
        isAliasableExpression: () => c5,
        isAmbientModule: () => Fu,
        isAmbientPropertyDeclaration: () => oB,
        isAnyDirectorySeparator: () => uj,
        isAnyImportOrBareOrAccessedRequire: () => qZ,
        isAnyImportOrReExport: () => l3,
        isAnyImportOrRequireStatement: () => HZ,
        isAnyImportSyntax: () => lx,
        isAnySupportedFileExtension: () => qhe,
        isApplicableVersionedTypesKey: () => ZN,
        isArgumentExpressionOfElementAccess: () => mU,
        isArray: () => fs,
        isArrayBindingElement: () => S7,
        isArrayBindingOrAssignmentElement: () => ZP,
        isArrayBindingOrAssignmentPattern: () => Bj,
        isArrayBindingPattern: () => N0,
        isArrayLiteralExpression: () => Ql,
        isArrayLiteralOrObjectLiteralDestructuringPattern: () => O0,
        isArrayTypeNode: () => EN,
        isArrowFunction: () => Co,
        isAsExpression: () => p6,
        isAssertClause: () => Nte,
        isAssertEntry: () => u0e,
        isAssertionExpression: () => Tb,
        isAssertsKeyword: () => vte,
        isAssignmentDeclaration: () => z4,
        isAssignmentExpression: () => wl,
        isAssignmentOperator: () => Ah,
        isAssignmentPattern: () => N4,
        isAssignmentTarget: () => Gy,
        isAsteriskToken: () => xN,
        isAsyncFunction: () => $4,
        isAsyncModifier: () => DD,
        isAutoAccessorPropertyDeclaration: () => u_,
        isAwaitExpression: () => n1,
        isAwaitKeyword: () => iz,
        isBigIntLiteral: () => ED,
        isBinaryExpression: () => _n,
        isBinaryLogicalOperator: () => $3,
        isBinaryOperatorToken: () => ire,
        isBindableObjectDefinePropertyCall: () => hS,
        isBindableStaticAccessExpression: () => Pb,
        isBindableStaticElementAccessExpression: () => s5,
        isBindableStaticNameExpression: () => yS,
        isBindingElement: () => ya,
        isBindingElementOfBareOrAccessedRequire: () => mK,
        isBindingName: () => lS,
        isBindingOrAssignmentElement: () => gZ,
        isBindingOrAssignmentPattern: () => QP,
        isBindingPattern: () => Ps,
        isBlock: () => Cs,
        isBlockLike: () => uk,
        isBlockOrCatchScoped: () => tB,
        isBlockScope: () => cB,
        isBlockScopedContainerTopLevel: () => UZ,
        isBooleanLiteral: () => P4,
        isBreakOrContinueStatement: () => C4,
        isBreakStatement: () => o0e,
        isBuildCommand: () => mse,
        isBuildInfoFile: () => oie,
        isBuilderProgram: () => wV,
        isBundle: () => Ote,
        isCallChain: () => aS,
        isCallExpression: () => Ms,
        isCallExpressionTarget: () => lU,
        isCallLikeExpression: () => Sb,
        isCallLikeOrFunctionLikeExpression: () => Jj,
        isCallOrNewExpression: () => Gd,
        isCallOrNewExpressionTarget: () => uU,
        isCallSignatureDeclaration: () => Bx,
        isCallToHelper: () => CD,
        isCaseBlock: () => OD,
        isCaseClause: () => h6,
        isCaseKeyword: () => kte,
        isCaseOrDefaultClause: () => C7,
        isCatchClause: () => Qb,
        isCatchClauseVariableDeclaration: () => Bee,
        isCatchClauseVariableDeclarationOrBindingElement: () => rB,
        isCheckJsEnabledForFile: () => pD,
        isCircularBuildOrder: () => ak,
        isClassDeclaration: () => el,
        isClassElement: () => Jc,
        isClassExpression: () => Kc,
        isClassInstanceProperty: () => dZ,
        isClassLike: () => Xn,
        isClassMemberModifier: () => Mj,
        isClassNamedEvaluationHelperBlock: () => nk,
        isClassOrTypeElement: () => b7,
        isClassStaticBlockDeclaration: () => hc,
        isClassThisAssignmentBlock: () => tw,
        isColonToken: () => hte,
        isCommaExpression: () => FN,
        isCommaListExpression: () => ID,
        isCommaSequence: () => BD,
        isCommaToken: () => gte,
        isComment: () => S9,
        isCommonJsExportPropertyAssignment: () => q7,
        isCommonJsExportedExpression: () => iK,
        isCompoundAssignment: () => ZD,
        isComputedNonLiteralName: () => u3,
        isComputedPropertyName: () => ia,
        isConciseBody: () => x7,
        isConditionalExpression: () => FS,
        isConditionalTypeNode: () => Ub,
        isConstAssertion: () => BJ,
        isConstTypeReference: () => Up,
        isConstructSignatureDeclaration: () => CN,
        isConstructorDeclaration: () => Xo,
        isConstructorTypeNode: () => u6,
        isContextualKeyword: () => u5,
        isContinueStatement: () => a0e,
        isCustomPrologue: () => m3,
        isDebuggerStatement: () => c0e,
        isDeclaration: () => Dl,
        isDeclarationBindingElement: () => XP,
        isDeclarationFileName: () => Sl,
        isDeclarationName: () => Xm,
        isDeclarationNameOfEnumOrNamespace: () => oJ,
        isDeclarationReadonly: () => f3,
        isDeclarationStatement: () => kZ,
        isDeclarationWithTypeParameterChildren: () => uB,
        isDeclarationWithTypeParameters: () => lB,
        isDecorator: () => yl,
        isDecoratorTarget: () => zse,
        isDefaultClause: () => LD,
        isDefaultImport: () => vS,
        isDefaultModifier: () => vF,
        isDefaultedExpandoInitializer: () => gK,
        isDeleteExpression: () => Ete,
        isDeleteTarget: () => DB,
        isDeprecatedDeclaration: () => J9,
        isDestructuringAssignment: () => T0,
        isDiskPathRoot: () => _j,
        isDoStatement: () => s0e,
        isDocumentRegistryEntry: () => $A,
        isDotDotDotToken: () => hF,
        isDottedName: () => Q3,
        isDynamicName: () => f5,
        isEffectiveExternalModule: () => RC,
        isEffectiveStrictModeSourceFile: () => aB,
        isElementAccessChain: () => Nj,
        isElementAccessExpression: () => fo,
        isEmittedFileOfProgram: () => die,
        isEmptyArrayLiteral: () => QK,
        isEmptyBindingElement: () => GY,
        isEmptyBindingPattern: () => HY,
        isEmptyObjectLiteral: () => rJ,
        isEmptyStatement: () => oz,
        isEmptyStringLiteral: () => hB,
        isEntityName: () => Gu,
        isEntityNameExpression: () => to,
        isEnumConst: () => H1,
        isEnumDeclaration: () => Gb,
        isEnumMember: () => A0,
        isEqualityOperatorKind: () => F9,
        isEqualsGreaterThanToken: () => yte,
        isExclamationToken: () => kN,
        isExcludedFile: () => Lre,
        isExclusivelyTypeOnlyImportOrExport: () => aV,
        isExpandoPropertyDeclaration: () => Ix,
        isExportAssignment: () => Oo,
        isExportDeclaration: () => Oc,
        isExportModifier: () => Rx,
        isExportName: () => FF,
        isExportNamespaceAsDefaultDeclaration: () => R7,
        isExportOrDefaultModifier: () => RN,
        isExportSpecifier: () => bu,
        isExportsIdentifier: () => gS,
        isExportsOrModuleExportsOrAlias: () => Kb,
        isExpression: () => lt,
        isExpressionNode: () => dd,
        isExpressionOfExternalModuleImportEqualsDeclaration: () => Use,
        isExpressionOfOptionalChainRoot: () => g7,
        isExpressionStatement: () => Pl,
        isExpressionWithTypeArguments: () => Lh,
        isExpressionWithTypeArgumentsInClassExtendsClause: () => C5,
        isExternalModule: () => ol,
        isExternalModuleAugmentation: () => Cb,
        isExternalModuleImportEqualsDeclaration: () => G1,
        isExternalModuleIndicator: () => e3,
        isExternalModuleNameRelative: () => Cl,
        isExternalModuleReference: () => Mh,
        isExternalModuleSymbol: () => sx,
        isExternalOrCommonJsModule: () => H_,
        isFileLevelReservedGeneratedIdentifier: () => $P,
        isFileLevelUniqueName: () => L7,
        isFileProbablyExternalModule: () => JN,
        isFirstDeclarationOfSymbolParameter: () => UU,
        isFixablePromiseHandler: () => xq,
        isForInOrOfStatement: () => uS,
        isForInStatement: () => kF,
        isForInitializer: () => Yf,
        isForOfStatement: () => wN,
        isForStatement: () => ov,
        isFullSourceFile: () => Mg,
        isFunctionBlock: () => Eb,
        isFunctionBody: () => Wj,
        isFunctionDeclaration: () => Tc,
        isFunctionExpression: () => ho,
        isFunctionExpressionOrArrowFunction: () => Ky,
        isFunctionLike: () => Ts,
        isFunctionLikeDeclaration: () => uo,
        isFunctionLikeKind: () => tx,
        isFunctionLikeOrClassStaticBlockDeclaration: () => IC,
        isFunctionOrConstructorTypeNode: () => mZ,
        isFunctionOrModuleBlock: () => Rj,
        isFunctionSymbol: () => vK,
        isFunctionTypeNode: () => Ym,
        isGeneratedIdentifier: () => Mo,
        isGeneratedPrivateIdentifier: () => cS,
        isGetAccessor: () => Ag,
        isGetAccessorDeclaration: () => ap,
        isGetOrSetAccessorDeclaration: () => GP,
        isGlobalScopeAugmentation: () => $m,
        isGlobalSourceFile: () => v0,
        isGrammarError: () => RZ,
        isHeritageClause: () => Q_,
        isHoistedFunction: () => V7,
        isHoistedVariableStatement: () => U7,
        isIdentifier: () => Fe,
        isIdentifierANonContextualKeyword: () => IB,
        isIdentifierName: () => DK,
        isIdentifierOrThisTypeNode: () => ere,
        isIdentifierPart: () => kh,
        isIdentifierStart: () => Um,
        isIdentifierText: () => C_,
        isIdentifierTypePredicate: () => oK,
        isIdentifierTypeReference: () => Oee,
        isIfStatement: () => av,
        isIgnoredFileFromWildCardWatching: () => fA,
        isImplicitGlob: () => SJ,
        isImportAttribute: () => Ate,
        isImportAttributeName: () => pZ,
        isImportAttributes: () => LS,
        isImportCall: () => df,
        isImportClause: () => Qp,
        isImportDeclaration: () => Uo,
        isImportEqualsDeclaration: () => bl,
        isImportKeyword: () => PD,
        isImportMeta: () => JC,
        isImportOrExportSpecifier: () => Ry,
        isImportOrExportSpecifierName: () => mae,
        isImportSpecifier: () => Bu,
        isImportTypeAssertionContainer: () => l0e,
        isImportTypeNode: () => am,
        isImportable: () => _q,
        isInComment: () => F0,
        isInCompoundLikeAssignment: () => EB,
        isInExpressionContext: () => K7,
        isInJSDoc: () => T3,
        isInJSFile: () => tn,
        isInJSXText: () => Yse,
        isInJsonFile: () => t5,
        isInNonReferenceComment: () => nae,
        isInReferenceComment: () => rae,
        isInRightSideOfInternalImportEqualsDeclaration: () => l9,
        isInString: () => ok,
        isInTemplateString: () => TU,
        isInTopLevelContext: () => Q7,
        isInTypeQuery: () => yx,
        isIncrementalBuildInfo: () => yA,
        isIncrementalBundleEmitBuildInfo: () => Lie,
        isIncrementalCompilation: () => Bb,
        isIndexSignatureDeclaration: () => r1,
        isIndexedAccessTypeNode: () => qb,
        isInferTypeNode: () => NS,
        isInfinityOrNaNString: () => yD,
        isInitializedProperty: () => rA,
        isInitializedVariable: () => eN,
        isInsideJsxElement: () => v9,
        isInsideJsxElementOrAttribute: () => Qse,
        isInsideNodeModules: () => VA,
        isInsideTemplateLiteral: () => IA,
        isInstanceOfExpression: () => E5,
        isInstantiatedModule: () => xW,
        isInterfaceDeclaration: () => Yl,
        isInternalDeclaration: () => NZ,
        isInternalModuleImportEqualsDeclaration: () => mS,
        isInternalName: () => xz,
        isIntersectionTypeNode: () => Wx,
        isIntrinsicJsxName: () => YC,
        isIterationStatement: () => Jy,
        isJSDoc: () => bd,
        isJSDocAllType: () => Rte,
        isJSDocAugmentsTag: () => Gx,
        isJSDocAuthorTag: () => d0e,
        isJSDocCallbackTag: () => _z,
        isJSDocClassTag: () => Bte,
        isJSDocCommentContainingNode: () => E7,
        isJSDocConstructSignature: () => mx,
        isJSDocDeprecatedTag: () => gz,
        isJSDocEnumTag: () => NN,
        isJSDocFunctionType: () => v6,
        isJSDocImplementsTag: () => NF,
        isJSDocImportTag: () => _m,
        isJSDocIndexSignature: () => n5,
        isJSDocLikeText: () => Iz,
        isJSDocLink: () => Lte,
        isJSDocLinkCode: () => Mte,
        isJSDocLinkLike: () => ix,
        isJSDocLinkPlain: () => f0e,
        isJSDocMemberName: () => uv,
        isJSDocNameReference: () => MD,
        isJSDocNamepathType: () => p0e,
        isJSDocNamespaceBody: () => ohe,
        isJSDocNode: () => FC,
        isJSDocNonNullableType: () => EF,
        isJSDocNullableType: () => y6,
        isJSDocOptionalParameter: () => nF,
        isJSDocOptionalType: () => uz,
        isJSDocOverloadTag: () => b6,
        isJSDocOverrideTag: () => wF,
        isJSDocParameterTag: () => Af,
        isJSDocPrivateTag: () => pz,
        isJSDocPropertyLikeTag: () => E4,
        isJSDocPropertyTag: () => Jte,
        isJSDocProtectedTag: () => dz,
        isJSDocPublicTag: () => fz,
        isJSDocReadonlyTag: () => mz,
        isJSDocReturnTag: () => PF,
        isJSDocSatisfiesExpression: () => MJ,
        isJSDocSatisfiesTag: () => AF,
        isJSDocSeeTag: () => m0e,
        isJSDocSignature: () => I0,
        isJSDocTag: () => OC,
        isJSDocTemplateTag: () => Ip,
        isJSDocThisTag: () => hz,
        isJSDocThrowsTag: () => h0e,
        isJSDocTypeAlias: () => Dp,
        isJSDocTypeAssertion: () => Yb,
        isJSDocTypeExpression: () => lv,
        isJSDocTypeLiteral: () => RS,
        isJSDocTypeTag: () => RD,
        isJSDocTypedefTag: () => jS,
        isJSDocUnknownTag: () => g0e,
        isJSDocUnknownType: () => jte,
        isJSDocVariadicType: () => DF,
        isJSXTagName: () => VC,
        isJsonEqual: () => Z5,
        isJsonSourceFile: () => Kf,
        isJsxAttribute: () => um,
        isJsxAttributeLike: () => k7,
        isJsxAttributeName: () => Wee,
        isJsxAttributes: () => Xb,
        isJsxCallLike: () => wZ,
        isJsxChild: () => n3,
        isJsxClosingElement: () => $b,
        isJsxClosingFragment: () => Fte,
        isJsxElement: () => lm,
        isJsxExpression: () => g6,
        isJsxFragment: () => cv,
        isJsxNamespacedName: () => vd,
        isJsxOpeningElement: () => yd,
        isJsxOpeningFragment: () => Yp,
        isJsxOpeningLikeElement: () => yu,
        isJsxOpeningLikeElementTagName: () => Wse,
        isJsxSelfClosingElement: () => MS,
        isJsxSpreadAttribute: () => Hx,
        isJsxTagNameExpression: () => A4,
        isJsxText: () => Lx,
        isJumpStatementTarget: () => wA,
        isKeyword: () => p_,
        isKeywordOrPunctuation: () => l5,
        isKnownSymbol: () => W3,
        isLabelName: () => pU,
        isLabelOfLabeledStatement: () => fU,
        isLabeledStatement: () => i1,
        isLateVisibilityPaintedStatement: () => B7,
        isLeftHandSideExpression: () => __,
        isLet: () => W7,
        isLineBreak: () => gu,
        isLiteralComputedPropertyDeclarationName: () => j3,
        isLiteralExpression: () => oS,
        isLiteralExpressionOfObject: () => Oj,
        isLiteralImportTypeNode: () => Dh,
        isLiteralKind: () => D4,
        isLiteralNameOfPropertyDeclarationOrIndexAccess: () => f9,
        isLiteralTypeLiteral: () => vZ,
        isLiteralTypeNode: () => P0,
        isLocalName: () => Rh,
        isLogicalOperator: () => GK,
        isLogicalOrCoalescingAssignmentExpression: () => ZB,
        isLogicalOrCoalescingAssignmentOperator: () => eD,
        isLogicalOrCoalescingBinaryExpression: () => X3,
        isLogicalOrCoalescingBinaryOperator: () => k5,
        isMappedTypeNode: () => IS,
        isMemberName: () => Ng,
        isMetaProperty: () => AD,
        isMethodDeclaration: () => uc,
        isMethodOrAccessor: () => rx,
        isMethodSignature: () => Xp,
        isMinusToken: () => nz,
        isMissingDeclaration: () => _0e,
        isMissingPackageJsonInfo: () => Gre,
        isModifier: () => Ks,
        isModifierKind: () => jy,
        isModifierLike: () => Ro,
        isModuleAugmentationExternal: () => iB,
        isModuleBlock: () => om,
        isModuleBody: () => SZ,
        isModuleDeclaration: () => zc,
        isModuleExportName: () => CF,
        isModuleExportsAccessExpression: () => Rg,
        isModuleIdentifier: () => bB,
        isModuleName: () => nre,
        isModuleOrEnumDeclaration: () => t3,
        isModuleReference: () => EZ,
        isModuleSpecifierLike: () => D9,
        isModuleWithStringLiteralName: () => j7,
        isNameOfFunctionDeclaration: () => hU,
        isNameOfModuleDeclaration: () => gU,
        isNamedDeclaration: () => El,
        isNamedEvaluation: () => G_,
        isNamedEvaluationSource: () => FB,
        isNamedExportBindings: () => Ij,
        isNamedExports: () => cp,
        isNamedImportBindings: () => Vj,
        isNamedImports: () => cm,
        isNamedImportsOrExports: () => F5,
        isNamedTupleMember: () => _6,
        isNamespaceBody: () => ahe,
        isNamespaceExport: () => Zm,
        isNamespaceExportDeclaration: () => PN,
        isNamespaceImport: () => Hg,
        isNamespaceReexportDeclaration: () => dK,
        isNewExpression: () => Hb,
        isNewExpressionTarget: () => pw,
        isNewScopeNode: () => Xee,
        isNoSubstitutionTemplateLiteral: () => PS,
        isNodeArray: () => vb,
        isNodeArrayMultiLine: () => ree,
        isNodeDescendantOf: () => Ab,
        isNodeKind: () => y7,
        isNodeLikeSystem: () => JR,
        isNodeModulesDirectory: () => i7,
        isNodeWithPossibleHoistedDeclaration: () => CK,
        isNonContextualKeyword: () => AB,
        isNonGlobalAmbientModule: () => nB,
        isNonNullAccess: () => zee,
        isNonNullChain: () => h7,
        isNonNullExpression: () => Ux,
        isNonStaticMethodOrAccessorWithPrivateName: () => Ene,
        isNotEmittedStatement: () => Ite,
        isNullishCoalesce: () => Aj,
        isNumber: () => Cy,
        isNumericLiteral: () => m_,
        isNumericLiteralName: () => Ug,
        isObjectBindingElementWithoutPropertyName: () => MA,
        isObjectBindingOrAssignmentElement: () => YP,
        isObjectBindingOrAssignmentPattern: () => jj,
        isObjectBindingPattern: () => Nf,
        isObjectLiteralElement: () => Uj,
        isObjectLiteralElementLike: () => Eh,
        isObjectLiteralExpression: () => ua,
        isObjectLiteralMethod: () => Ep,
        isObjectLiteralOrClassExpressionMethodOrAccessor: () => H7,
        isObjectTypeDeclaration: () => xx,
        isOmittedExpression: () => vl,
        isOptionalChain: () => hu,
        isOptionalChainRoot: () => x4,
        isOptionalDeclaration: () => Nx,
        isOptionalJSDocPropertyLikeTag: () => dN,
        isOptionalTypeNode: () => bF,
        isOuterExpression: () => OF,
        isOutermostOptionalChain: () => k4,
        isOverrideModifier: () => Tte,
        isPackageJsonInfo: () => sO,
        isPackedArrayLiteral: () => OJ,
        isParameter: () => Ni,
        isParameterPropertyDeclaration: () => U_,
        isParameterPropertyModifier: () => w4,
        isParenthesizedExpression: () => Zu,
        isParenthesizedTypeNode: () => AS,
        isParseTreeNode: () => T4,
        isPartOfParameterDeclaration: () => Z1,
        isPartOfTypeNode: () => Yd,
        isPartOfTypeOnlyImportOrExportDeclaration: () => fZ,
        isPartOfTypeQuery: () => e5,
        isPartiallyEmittedExpression: () => Dte,
        isPatternMatch: () => UI,
        isPinnedComment: () => M7,
        isPlainJsFile: () => F4,
        isPlusToken: () => rz,
        isPossiblyTypeArgumentPosition: () => AA,
        isPostfixUnaryExpression: () => az,
        isPrefixUnaryExpression: () => sv,
        isPrimitiveLiteralValue: () => aF,
        isPrivateIdentifier: () => Di,
        isPrivateIdentifierClassElementDeclaration: () => Iu,
        isPrivateIdentifierPropertyAccessExpression: () => AC,
        isPrivateIdentifierSymbol: () => NK,
        isProgramUptoDate: () => uV,
        isPrologueDirective: () => Qd,
        isPropertyAccessChain: () => m7,
        isPropertyAccessEntityNameExpression: () => Y3,
        isPropertyAccessExpression: () => kn,
        isPropertyAccessOrQualifiedName: () => KP,
        isPropertyAccessOrQualifiedNameOrImportTypeNode: () => hZ,
        isPropertyAssignment: () => tl,
        isPropertyDeclaration: () => is,
        isPropertyName: () => Bc,
        isPropertyNameLiteral: () => Kd,
        isPropertySignature: () => ju,
        isPrototypeAccess: () => Qy,
        isPrototypePropertyAssignment: () => N3,
        isPunctuation: () => NB,
        isPushOrUnshiftIdentifier: () => OB,
        isQualifiedName: () => Qu,
        isQuestionDotToken: () => yF,
        isQuestionOrExclamationToken: () => Kte,
        isQuestionOrPlusOrMinusToken: () => rre,
        isQuestionToken: () => t1,
        isReadonlyKeyword: () => bte,
        isReadonlyKeywordOrPlusOrMinusToken: () => tre,
        isRecognizedTripleSlashComment: () => Zj,
        isReferenceFileLocation: () => j6,
        isReferencedFile: () => yv,
        isRegularExpressionLiteral: () => ez,
        isRequireCall: () => f_,
        isRequireVariableStatement: () => k3,
        isRestParameter: () => Hm,
        isRestTypeNode: () => SF,
        isReturnStatement: () => gf,
        isReturnStatementWithFixablePromiseHandler: () => $9,
        isRightSideOfAccessExpression: () => tJ,
        isRightSideOfInstanceofExpression: () => XK,
        isRightSideOfPropertyAccess: () => V6,
        isRightSideOfQualifiedName: () => Vse,
        isRightSideOfQualifiedNameOrPropertyAccess: () => tD,
        isRightSideOfQualifiedNameOrPropertyAccessOrJSDocMemberName: () => $K,
        isRootedDiskPath: () => V_,
        isSameEntityName: () => UC,
        isSatisfiesExpression: () => d6,
        isSemicolonClassElement: () => wte,
        isSetAccessor: () => $d,
        isSetAccessorDeclaration: () => P_,
        isShiftOperatorOrHigher: () => Pz,
        isShorthandAmbientModuleSymbol: () => c3,
        isShorthandPropertyAssignment: () => _u,
        isSideEffectImport: () => zJ,
        isSignedNumericLiteral: () => _5,
        isSimpleCopiableExpression: () => e2,
        isSimpleInlineableExpression: () => tg,
        isSimpleParameterList: () => nA,
        isSingleOrDoubleQuote: () => C3,
        isSolutionConfig: () => Kz,
        isSourceElement: () => Uee,
        isSourceFile: () => xi,
        isSourceFileFromLibrary: () => K6,
        isSourceFileJS: () => $u,
        isSourceFileNotJson: () => r5,
        isSourceMapping: () => xne,
        isSpecialPropertyDeclaration: () => yK,
        isSpreadAssignment: () => Gg,
        isSpreadElement: () => op,
        isStatement: () => yi,
        isStatementButNotDeclaration: () => r3,
        isStatementOrBlock: () => CZ,
        isStatementWithLocals: () => MZ,
        isStatic: () => zs,
        isStaticModifier: () => jx,
        isString: () => cs,
        isStringANonContextualKeyword: () => hx,
        isStringAndEmptyAnonymousObjectIntersection: () => tae,
        isStringDoubleQuoted: () => i5,
        isStringLiteral: () => la,
        isStringLiteralLike: () => Ba,
        isStringLiteralOrJsxExpression: () => DZ,
        isStringLiteralOrTemplate: () => Sae,
        isStringOrNumericLiteralLike: () => wf,
        isStringOrRegularExpressionOrTemplateLiteral: () => CU,
        isStringTextContainingNode: () => Lj,
        isSuperCall: () => dS,
        isSuperKeyword: () => wD,
        isSuperProperty: () => E_,
        isSupportedSourceFileName: () => EJ,
        isSwitchStatement: () => FD,
        isSyntaxList: () => S6,
        isSyntheticExpression: () => i0e,
        isSyntheticReference: () => qx,
        isTagName: () => dU,
        isTaggedTemplateExpression: () => iv,
        isTaggedTemplateTag: () => Jse,
        isTemplateExpression: () => xF,
        isTemplateHead: () => Mx,
        isTemplateLiteral: () => nx,
        isTemplateLiteralKind: () => My,
        isTemplateLiteralToken: () => uZ,
        isTemplateLiteralTypeNode: () => Cte,
        isTemplateLiteralTypeSpan: () => sz,
        isTemplateMiddle: () => tz,
        isTemplateMiddleOrTemplateTail: () => v7,
        isTemplateSpan: () => m6,
        isTemplateTail: () => gF,
        isTextWhiteSpaceLike: () => oae,
        isThis: () => U6,
        isThisContainerOrFunctionBlock: () => _K,
        isThisIdentifier: () => Xy,
        isThisInTypeQuery: () => Lb,
        isThisInitializedDeclaration: () => Y7,
        isThisInitializedObjectBindingExpression: () => pK,
        isThisProperty: () => y3,
        isThisTypeNode: () => ND,
        isThisTypeParameter: () => vD,
        isThisTypePredicate: () => cK,
        isThrowStatement: () => lz,
        isToken: () => ex,
        isTokenKind: () => Fj,
        isTraceEnabled: () => a1,
        isTransientSymbol: () => Ig,
        isTrivia: () => XC,
        isTryStatement: () => OS,
        isTupleTypeNode: () => zx,
        isTypeAlias: () => O3,
        isTypeAliasDeclaration: () => Ap,
        isTypeAssertionExpression: () => TF,
        isTypeDeclaration: () => Px,
        isTypeElement: () => bb,
        isTypeKeyword: () => hw,
        isTypeKeywordTokenOrIdentifier: () => k9,
        isTypeLiteralNode: () => Yu,
        isTypeNode: () => si,
        isTypeNodeKind: () => _J,
        isTypeOfExpression: () => f6,
        isTypeOnlyExportDeclaration: () => _Z,
        isTypeOnlyImportDeclaration: () => NC,
        isTypeOnlyImportOrExportDeclaration: () => h0,
        isTypeOperatorNode: () => nv,
        isTypeParameterDeclaration: () => Fo,
        isTypePredicateNode: () => Jx,
        isTypeQueryNode: () => Vb,
        isTypeReferenceNode: () => X_,
        isTypeReferenceType: () => w7,
        isTypeUsableAsPropertyName: () => ip,
        isUMDExportSymbol: () => I5,
        isUnaryExpression: () => zj,
        isUnaryExpressionWithWrite: () => yZ,
        isUnicodeIdentifierStart: () => a7,
        isUnionTypeNode: () => w0,
        isUrl: () => CY,
        isValidBigIntString: () => K5,
        isValidESSymbolDeclaration: () => sK,
        isValidTypeOnlyAliasUseSite: () => ev,
        isValueSignatureDeclaration: () => bS,
        isVarAwaitUsing: () => p3,
        isVarConst: () => BC,
        isVarConstLike: () => tK,
        isVarUsing: () => d3,
        isVariableDeclaration: () => Zn,
        isVariableDeclarationInVariableStatement: () => R4,
        isVariableDeclarationInitializedToBareOrAccessedRequire: () => wb,
        isVariableDeclarationInitializedToRequire: () => x3,
        isVariableDeclarationList: () => zl,
        isVariableLike: () => M4,
        isVariableStatement: () => Sc,
        isVoidExpression: () => Vx,
        isWatchSet: () => cJ,
        isWhileStatement: () => cz,
        isWhiteSpaceLike: () => Dg,
        isWhiteSpaceSingleLine: () => Hd,
        isWithStatement: () => Pte,
        isWriteAccess: () => Tx,
        isWriteOnlyAccess: () => A5,
        isYieldExpression: () => DN,
        jsxModeNeedsExplicitImport: () => cq,
        keywordPart: () => ef,
        last: () => pa,
        lastOrUndefined: () => Po,
        length: () => Ar,
        libMap: () => Rz,
        libs: () => zF,
        lineBreakPart: () => Q6,
        loadModuleFromGlobalCache: () => sne,
        loadWithModeAwareCache: () => dA,
        makeIdentifierFromModuleName: () => VZ,
        makeImport: () => p1,
        makeStringLiteral: () => yw,
        mangleScopedPackageName: () => I6,
        map: () => fr,
        mapAllOrFail: () => bR,
        mapDefined: () => Oi,
        mapDefinedIterator: () => Sy,
        mapEntries: () => HX,
        mapIterator: () => e4,
        mapOneOrMany: () => iq,
        mapToDisplayParts: () => Sv,
        matchFiles: () => xJ,
        matchPatternOrExact: () => wJ,
        matchedText: () => aQ,
        matchesExclude: () => eO,
        matchesExcludeWorker: () => tO,
        maxBy: () => IR,
        maybeBind: () => Ls,
        maybeSetLocalizedDiagnosticMessages: () => _ee,
        memoize: () => Au,
        memoizeOne: () => qd,
        min: () => FR,
        minAndMax: () => Aee,
        missingFileModifiedTime: () => W_,
        modifierToFlag: () => bx,
        modifiersToFlags: () => rm,
        moduleExportNameIsDefault: () => Gm,
        moduleExportNameTextEscaped: () => kb,
        moduleExportNameTextUnescaped: () => Uy,
        moduleOptionDeclaration: () => mre,
        moduleResolutionIsEqualTo: () => OZ,
        moduleResolutionNameAndModeGetter: () => IO,
        moduleResolutionOptionDeclarations: () => Bz,
        moduleResolutionSupportsPackageJsonExportsAndImports: () => i6,
        moduleResolutionUsesNodeModules: () => C9,
        moduleSpecifierToValidIdentifier: () => qA,
        moduleSpecifiers: () => Bh,
        moduleSupportsImportAttributes: () => yee,
        moduleSymbolToValidIdentifier: () => UA,
        moveEmitHelpers: () => ote,
        moveRangeEnd: () => P5,
        moveRangePastDecorators: () => Ih,
        moveRangePastModifiers: () => nm,
        moveRangePos: () => K1,
        moveSyntheticComments: () => ite,
        mutateMap: () => aD,
        mutateMapSkippingNewValues: () => Bg,
        needsParentheses: () => A9,
        needsScopeMarker: () => T7,
        newCaseClauseTracker: () => V9,
        newPrivateEnvironment: () => wne,
        noEmitNotification: () => oA,
        noEmitSubstitution: () => nw,
        noTransformers: () => sie,
        noTruncationMaximumTruncationLength: () => Gj,
        nodeCanBeDecorated: () => b3,
        nodeCoreModules: () => c6,
        nodeHasName: () => UP,
        nodeIsDecorated: () => WC,
        nodeIsMissing: () => cc,
        nodeIsPresent: () => Cp,
        nodeIsSynthesized: () => oo,
        nodeModuleNameResolver: () => Zre,
        nodeModulesPathPart: () => $g,
        nodeNextJsonConfigResolver: () => Kre,
        nodeOrChildIsDecorated: () => S3,
        nodeOverlapsWithStartEnd: () => p9,
        nodePosToString: () => uhe,
        nodeSeenTracker: () => G6,
        nodeStartsNewLexicalEnvironment: () => LB,
        noop: () => Ua,
        noopFileWatcher: () => z6,
        normalizePath: () => Gs,
        normalizeSlashes: () => Bl,
        normalizeSpans: () => Tj,
        not: () => HI,
        notImplemented: () => Hs,
        notImplementedResolver: () => uie,
        nullNodeConverters: () => tte,
        nullParenthesizerRules: () => Kee,
        nullTransformationContext: () => lA,
        objectAllocator: () => Xl,
        operatorPart: () => bw,
        optionDeclarations: () => Zp,
        optionMapToObject: () => $F,
        optionsAffectingProgramStructure: () => bre,
        optionsForBuild: () => zz,
        optionsForWatch: () => Zx,
        optionsHaveChanges: () => ax,
        or: () => z_,
        orderedRemoveItem: () => i4,
        orderedRemoveItemAt: () => Py,
        packageIdToPackageName: () => O7,
        packageIdToString: () => q1,
        parameterIsThisKeyword: () => $y,
        parameterNamePart: () => lae,
        parseBaseNodeFactory: () => lre,
        parseBigInt: () => Fee,
        parseBuildCommand: () => wre,
        parseCommandLine: () => Ere,
        parseCommandLineWorker: () => Vz,
        parseConfigFileTextToJson: () => qz,
        parseConfigFileWithSystem: () => Xie,
        parseConfigHostFromCompilerHostLike: () => jO,
        parseCustomTypeOption: () => qF,
        parseIsolatedEntityName: () => Yx,
        parseIsolatedJSDocComment: () => _re,
        parseJSDocTypeExpressionForTests: () => z0e,
        parseJsonConfigFileContent: () => gye,
        parseJsonSourceFileConfigFileContent: () => GN,
        parseJsonText: () => zN,
        parseListTypeOption: () => kre,
        parseNodeFactory: () => fv,
        parseNodeModuleFromPath: () => YN,
        parsePackageName: () => cO,
        parsePseudoBigInt: () => mD,
        parseValidBigInt: () => IJ,
        pasteEdits: () => oG,
        patchWriteFileEnsuringDirectory: () => kY,
        pathContainsNodeModules: () => c1,
        pathIsAbsolute: () => p4,
        pathIsBareSpecifier: () => fj,
        pathIsRelative: () => ff,
        patternText: () => sQ,
        performIncrementalCompilation: () => Qie,
        performance: () => dQ,
        positionBelongsToNode: () => yU,
        positionIsASICandidate: () => O9,
        positionIsSynthesized: () => gd,
        positionsAreOnSameLine: () => rp,
        preProcessFile: () => E2e,
        probablyUsesSemicolons: () => WA,
        processCommentPragmas: () => Lz,
        processPragmasIntoFields: () => Mz,
        processTaggedTemplateExpression: () => jW,
        programContainsEsModules: () => sae,
        programContainsModules: () => iae,
        projectReferenceIsEqualTo: () => $j,
        propertyNamePart: () => uae,
        pseudoBigIntToString: () => Jb,
        punctuationPart: () => xu,
        pushIfUnique: () => $f,
        quote: () => xw,
        quotePreferenceFromString: () => LU,
        rangeContainsPosition: () => q6,
        rangeContainsPositionExclusive: () => PA,
        rangeContainsRange: () => d_,
        rangeContainsRangeExclusive: () => qse,
        rangeContainsStartEnd: () => NA,
        rangeEndIsOnSameLineAsRangeStart: () => K3,
        rangeEndPositionsAreOnSameLine: () => eee,
        rangeEquals: () => CR,
        rangeIsOnSingleLine: () => kS,
        rangeOfNode: () => NJ,
        rangeOfTypeParameters: () => AJ,
        rangeOverlapsWithStartEnd: () => dw,
        rangeStartIsOnSameLineAsRangeEnd: () => tee,
        rangeStartPositionsAreOnSameLine: () => N5,
        readBuilderProgram: () => XO,
        readConfigFile: () => qN,
        readJson: () => e6,
        readJsonConfigFile: () => Pre,
        readJsonOrUndefined: () => nJ,
        reduceEachLeadingCommentRange: () => FY,
        reduceEachTrailingCommentRange: () => OY,
        reduceLeft: () => Hu,
        reduceLeftIterator: () => WX,
        reducePathComponents: () => QT,
        refactor: () => fk,
        regExpEscape: () => Bhe,
        regularExpressionFlagToCharacterCode: () => jge,
        relativeComplement: () => GX,
        removeAllComments: () => vN,
        removeEmitHelper: () => e0e,
        removeExtension: () => _N,
        removeFileExtension: () => Ru,
        removeIgnoredPath: () => WO,
        removeMinAndVersionNumbers: () => MR,
        removePrefix: () => s4,
        removeSuffix: () => bC,
        removeTrailingDirectorySeparator: () => g0,
        repeatString: () => OA,
        replaceElement: () => wR,
        replaceFirstStar: () => ES,
        resolutionExtensionIsTSOrJson: () => _D,
        resolveConfigFileProjectName: () => WV,
        resolveJSModule: () => Xre,
        resolveLibrary: () => oO,
        resolveModuleName: () => WS,
        resolveModuleNameFromCache: () => Hye,
        resolvePackageNameToPackageJson: () => nW,
        resolvePath: () => Ay,
        resolveProjectReferencePath: () => ik,
        resolveTripleslashReference: () => tV,
        resolveTypeReferenceDirective: () => qre,
        resolvingEmptyArray: () => Hj,
        returnFalse: () => Th,
        returnNoopFileWatcher: () => uw,
        returnTrue: () => db,
        returnUndefined: () => mb,
        returnsPromise: () => Tq,
        rewriteModuleSpecifier: () => tk,
        sameFlatMap: () => UX,
        sameMap: () => $c,
        sameMapping: () => M1e,
        scanTokenAtPosition: () => eK,
        scanner: () => Wl,
        semanticDiagnosticsOptionDeclarations: () => hre,
        serializeCompilerOptions: () => XF,
        server: () => wPe,
        servicesVersion: () => mTe,
        setCommentRange: () => Zc,
        setConfigFileInOptions: () => Yz,
        setConstantValue: () => ate,
        setEmitFlags: () => an,
        setGetSourceFileAsHashVersioned: () => $O,
        setIdentifierAutoGenerate: () => TN,
        setIdentifierGeneratedImportReference: () => ute,
        setIdentifierTypeArguments: () => D0,
        setInternalEmitFlags: () => bN,
        setLocalizedDiagnosticMessages: () => uee,
        setNodeChildren: () => zte,
        setNodeFlags: () => Mee,
        setObjectAllocator: () => lee,
        setOriginalNode: () => xn,
        setParent: () => Wa,
        setParentRecursive: () => tv,
        setPrivateIdentifier: () => US,
        setSnippetElement: () => ZJ,
        setSourceMapRange: () => ha,
        setStackTraceLimit: () => Sge,
        setStartsOnNewLine: () => fF,
        setSyntheticLeadingComments: () => rv,
        setSyntheticTrailingComments: () => Fx,
        setSys: () => Dge,
        setSysLog: () => SY,
        setTextRange: () => ot,
        setTextRangeEnd: () => o6,
        setTextRangePos: () => gD,
        setTextRangePosEnd: () => hd,
        setTextRangePosWidth: () => FJ,
        setTokenSourceMapRange: () => nte,
        setTypeNode: () => cte,
        setUILocale: () => rQ,
        setValueDeclaration: () => A3,
        shouldAllowImportingTsExtension: () => F6,
        shouldPreserveConstEnums: () => Yy,
        shouldRewriteModuleSpecifier: () => F3,
        shouldUseUriStyleNodeCoreModules: () => z9,
        showModuleSpecifier: () => aee,
        signatureHasRestParameter: () => Tu,
        signatureToDisplayParts: () => HU,
        single: () => DR,
        singleElementArray: () => GT,
        singleIterator: () => qX,
        singleOrMany: () => Wm,
        singleOrUndefined: () => zm,
        skipAlias: () => $l,
        skipConstraint: () => IU,
        skipOuterExpressions: () => xc,
        skipParentheses: () => za,
        skipPartiallyEmittedExpressions: () => qp,
        skipTrivia: () => ca,
        skipTypeChecking: () => a6,
        skipTypeCheckingIgnoringNoCheck: () => Iee,
        skipTypeParentheses: () => U4,
        skipWhile: () => cQ,
        sliceAfter: () => PJ,
        some: () => at,
        sortAndDeduplicate: () => n4,
        sortAndDeduplicateDiagnostics: () => DC,
        sourceFileAffectingCompilerOptions: () => Jz,
        sourceFileMayBeEmitted: () => Fb,
        sourceMapCommentRegExp: () => EW,
        sourceMapCommentRegExpDontCareLineStart: () => bne,
        spacePart: () => yc,
        spanMap: () => SR,
        startEndContainsRange: () => aJ,
        startEndOverlapsWithStartEnd: () => d9,
        startOnNewLine: () => Su,
        startTracing: () => yQ,
        startsWith: () => Wi,
        startsWithDirectory: () => mj,
        startsWithUnderscore: () => oq,
        startsWithUseStrict: () => $te,
        stringContainsAt: () => wae,
        stringToToken: () => iS,
        stripQuotes: () => wp,
        supportedDeclarationExtensions: () => X5,
        supportedJSExtensionsFlat: () => s6,
        supportedLocaleDirectories: () => XY,
        supportedTSExtensionsFlat: () => kJ,
        supportedTSImplementationExtensions: () => cN,
        suppressLeadingAndTrailingTrivia: () => tf,
        suppressLeadingTrivia: () => QU,
        suppressTrailingTrivia: () => yae,
        symbolEscapedNameNoDefault: () => E9,
        symbolName: () => bc,
        symbolNameNoDefault: () => RU,
        symbolToDisplayParts: () => Sw,
        sys: () => dl,
        sysLog: () => IP,
        tagNamesAreEquivalent: () => dv,
        takeWhile: () => BR,
        targetOptionDeclaration: () => jz,
        targetToLibMap: () => LY,
        testFormatSettings: () => Gbe,
        textChangeRangeIsUnchanged: () => UY,
        textChangeRangeNewSpan: () => S4,
        textChanges: () => nn,
        textOrKeywordPart: () => qU,
        textPart: () => Lf,
        textRangeContainsPositionInclusive: () => JP,
        textRangeContainsTextSpan: () => jY,
        textRangeIntersectsWithTextSpan: () => WY,
        textSpanContainsPosition: () => bj,
        textSpanContainsTextRange: () => Sj,
        textSpanContainsTextSpan: () => RY,
        textSpanEnd: () => Ko,
        textSpanIntersection: () => VY,
        textSpanIntersectsWith: () => zP,
        textSpanIntersectsWithPosition: () => zY,
        textSpanIntersectsWithTextSpan: () => JY,
        textSpanIsEmpty: () => MY,
        textSpanOverlap: () => BY,
        textSpanOverlapsWith: () => Hge,
        textSpansEqual: () => X6,
        textToKeywordObj: () => s7,
        timestamp: () => co,
        toArray: () => qT,
        toBuilderFileEmit: () => jie,
        toBuilderStateFileInfoForMultiEmit: () => Rie,
        toEditorSettings: () => KA,
        toFileNameLowerCase: () => Ey,
        toPath: () => lo,
        toProgramEmitPending: () => Bie,
        toSorted: () => J_,
        tokenIsIdentifierOrKeyword: () => l_,
        tokenIsIdentifierOrKeywordOrGreaterThan: () => DY,
        tokenToString: () => Qs,
        trace: () => es,
        tracing: () => rn,
        tracingEnabled: () => AP,
        transferSourceFileChildren: () => Wte,
        transform: () => CTe,
        transformClassFields: () => jne,
        transformDeclarations: () => WW,
        transformECMAScriptModule: () => zW,
        transformES2015: () => Zne,
        transformES2016: () => Yne,
        transformES2017: () => Wne,
        transformES2018: () => Vne,
        transformES2019: () => Une,
        transformES2020: () => qne,
        transformES2021: () => Hne,
        transformESDecorators: () => zne,
        transformESNext: () => Gne,
        transformGenerators: () => Kne,
        transformImpliedNodeFormatDependentModule: () => tie,
        transformJsx: () => Qne,
        transformLegacyDecorators: () => Jne,
        transformModule: () => JW,
        transformNamedEvaluation: () => Y_,
        transformNodes: () => cA,
        transformSystemModule: () => eie,
        transformTypeScript: () => Rne,
        transpile: () => L2e,
        transpileDeclaration: () => F2e,
        transpileModule: () => Yae,
        transpileOptionValueCompilerOptions: () => Sre,
        tryAddToSet: () => m0,
        tryAndIgnoreErrors: () => R9,
        tryCast: () => Mn,
        tryDirectoryExists: () => M9,
        tryExtractTSExtension: () => D5,
        tryFileExists: () => Cw,
        tryGetClassExtendingExpressionWithTypeArguments: () => KB,
        tryGetClassImplementingOrExtendingExpressionWithTypeArguments: () => eJ,
        tryGetDirectories: () => L9,
        tryGetExtensionFromPath: () => Vg,
        tryGetImportFromModuleSpecifier: () => I3,
        tryGetJSDocSatisfiesTypeNode: () => iF,
        tryGetModuleNameFromFile: () => LN,
        tryGetModuleSpecifierFromDeclaration: () => fx,
        tryGetNativePerformanceHooks: () => pQ,
        tryGetPropertyAccessOrIdentifierToString: () => Z3,
        tryGetPropertyNameOfBindingOrAssignmentElement: () => MF,
        tryGetSourceMappingURL: () => Sne,
        tryGetTextOfPropertyName: () => L4,
        tryParseJson: () => w5,
        tryParsePattern: () => wx,
        tryParsePatterns: () => fN,
        tryParseRawSourceMap: () => Tne,
        tryReadDirectory: () => eq,
        tryReadFile: () => WD,
        tryRemoveDirectoryPrefix: () => bJ,
        tryRemoveExtension: () => Nee,
        tryRemovePrefix: () => jR,
        tryRemoveSuffix: () => iQ,
        tscBuildOption: () => JS,
        typeAcquisitionDeclarations: () => VF,
        typeAliasNamePart: () => _ae,
        typeDirectiveIsEqualTo: () => LZ,
        typeKeywords: () => AU,
        typeParameterNamePart: () => fae,
        typeToDisplayParts: () => jA,
        unchangedPollThresholds: () => ZI,
        unchangedTextChangeRange: () => l7,
        unescapeLeadingUnderscores: () => Ei,
        unmangleScopedPackageName: () => KN,
        unorderedRemoveItem: () => HT,
        unprefixedNodeCoreModules: () => $ee,
        unreachableCodeIsError: () => gee,
        unsetNodeChildren: () => vz,
        unusedLabelIsError: () => hee,
        unwrapInnermostStatementOfLabel: () => mB,
        unwrapParenthesizedExpression: () => Hee,
        updateErrorForNoInputFiles: () => KF,
        updateLanguageServiceSourceFile: () => Xq,
        updateMissingFilePathsWatch: () => ZW,
        updateResolutionField: () => w6,
        updateSharedExtendedConfigFileWatcher: () => wO,
        updateSourceFile: () => Fz,
        updateWatchingWildcardDirectories: () => _A,
        usingSingleLineStringWriter: () => LC,
        utf16EncodeAsString: () => b4,
        validateLocaleAndSetLanguage: () => kj,
        version: () => Gf,
        versionMajorMinor: () => K2,
        visitArray: () => QD,
        visitCommaListElements: () => gO,
        visitEachChild: () => yr,
        visitFunctionBody: () => Of,
        visitIterationBody: () => Ku,
        visitLexicalEnvironment: () => CW,
        visitNode: () => $e,
        visitNodes: () => Lr,
        visitParameterList: () => _c,
        walkUpBindingElementsAndPatterns: () => KT,
        walkUpOuterExpressions: () => Xte,
        walkUpParenthesizedExpressions: () => Gp,
        walkUpParenthesizedTypes: () => R3,
        walkUpParenthesizedTypesAndGetParentAndChild: () => EK,
        whitespaceOrMapCommentRegExp: () => DW,
        writeCommentRange: () => KC,
        writeFile: () => S5,
        writeFileEnsuringDirectories: () => HB,
        zipWith: () => gR
      }), eo.exports = Jm(by);
      var K2 = "5.8", Gf = "5.8.3", JX = /* @__PURE__ */ ((e) => (e[e.LessThan = -1] = "LessThan", e[e.EqualTo = 0] = "EqualTo", e[e.GreaterThan = 1] = "GreaterThan", e))(JX || {}), Ue = [], mR = /* @__PURE__ */ new Map();
      function Ar(e) {
        return e !== void 0 ? e.length : 0;
      }
      function ar(e, t) {
        if (e !== void 0)
          for (let n = 0; n < e.length; n++) {
            const i = t(e[n], n);
            if (i)
              return i;
          }
      }
      function zX(e, t) {
        if (e !== void 0)
          for (let n = e.length - 1; n >= 0; n--) {
            const i = t(e[n], n);
            if (i)
              return i;
          }
      }
      function Ic(e, t) {
        if (e !== void 0)
          for (let n = 0; n < e.length; n++) {
            const i = t(e[n], n);
            if (i !== void 0)
              return i;
          }
      }
      function xP(e, t) {
        for (const n of e) {
          const i = t(n);
          if (i !== void 0)
            return i;
        }
      }
      function WX(e, t, n) {
        let i = n;
        if (e) {
          let s = 0;
          for (const o of e)
            i = t(i, o, s), s++;
        }
        return i;
      }
      function gR(e, t, n) {
        const i = [];
        E.assertEqual(e.length, t.length);
        for (let s = 0; s < e.length; s++)
          i.push(n(e[s], t[s], s));
        return i;
      }
      function hR(e, t) {
        if (e.length <= 1)
          return e;
        const n = [];
        for (let i = 0, s = e.length; i < s; i++)
          i !== 0 && n.push(t), n.push(e[i]);
        return n;
      }
      function Pi(e, t) {
        if (e !== void 0) {
          for (let n = 0; n < e.length; n++)
            if (!t(e[n], n))
              return !1;
        }
        return !0;
      }
      function Dn(e, t, n) {
        if (e !== void 0)
          for (let i = n ?? 0; i < e.length; i++) {
            const s = e[i];
            if (t(s, i))
              return s;
          }
      }
      function fb(e, t, n) {
        if (e !== void 0)
          for (let i = n ?? e.length - 1; i >= 0; i--) {
            const s = e[i];
            if (t(s, i))
              return s;
          }
      }
      function oc(e, t, n) {
        if (e === void 0) return -1;
        for (let i = n ?? 0; i < e.length; i++)
          if (t(e[i], i))
            return i;
        return -1;
      }
      function BI(e, t, n) {
        if (e === void 0) return -1;
        for (let i = n ?? e.length - 1; i >= 0; i--)
          if (t(e[i], i))
            return i;
        return -1;
      }
      function _s(e, t, n = Dy) {
        if (e !== void 0) {
          for (let i = 0; i < e.length; i++)
            if (n(e[i], t))
              return !0;
        }
        return !1;
      }
      function VX(e, t, n) {
        for (let i = n ?? 0; i < e.length; i++)
          if (_s(t, e.charCodeAt(i)))
            return i;
        return -1;
      }
      function d0(e, t) {
        let n = 0;
        if (e !== void 0)
          for (let i = 0; i < e.length; i++) {
            const s = e[i];
            t(s, i) && n++;
          }
        return n;
      }
      function Tn(e, t) {
        if (e !== void 0) {
          const n = e.length;
          let i = 0;
          for (; i < n && t(e[i]); ) i++;
          if (i < n) {
            const s = e.slice(0, i);
            for (i++; i < n; ) {
              const o = e[i];
              t(o) && s.push(o), i++;
            }
            return s;
          }
        }
        return e;
      }
      function yR(e, t) {
        let n = 0;
        for (let i = 0; i < e.length; i++)
          t(e[i], i, e) && (e[n] = e[i], n++);
        e.length = n;
      }
      function bp(e) {
        e.length = 0;
      }
      function fr(e, t) {
        let n;
        if (e !== void 0) {
          n = [];
          for (let i = 0; i < e.length; i++)
            n.push(t(e[i], i));
        }
        return n;
      }
      function* e4(e, t) {
        for (const n of e)
          yield t(n);
      }
      function $c(e, t) {
        if (e !== void 0)
          for (let n = 0; n < e.length; n++) {
            const i = e[n], s = t(i, n);
            if (i !== s) {
              const o = e.slice(0, n);
              for (o.push(s), n++; n < e.length; n++)
                o.push(t(e[n], n));
              return o;
            }
          }
        return e;
      }
      function Sp(e) {
        const t = [];
        for (let n = 0; n < e.length; n++) {
          const i = e[n];
          i && (fs(i) ? wn(t, i) : t.push(i));
        }
        return t;
      }
      function oa(e, t) {
        let n;
        if (e !== void 0)
          for (let i = 0; i < e.length; i++) {
            const s = t(e[i], i);
            s && (fs(s) ? n = wn(n, s) : n = Dr(n, s));
          }
        return n ?? Ue;
      }
      function t4(e, t) {
        const n = [];
        if (e !== void 0)
          for (let i = 0; i < e.length; i++) {
            const s = t(e[i], i);
            s && (fs(s) ? wn(n, s) : n.push(s));
          }
        return n;
      }
      function* vR(e, t) {
        for (const n of e) {
          const i = t(n);
          i && (yield* i);
        }
      }
      function UX(e, t) {
        let n;
        if (e !== void 0)
          for (let i = 0; i < e.length; i++) {
            const s = e[i], o = t(s, i);
            (n || s !== o || fs(o)) && (n || (n = e.slice(0, i)), fs(o) ? wn(n, o) : n.push(o));
          }
        return n ?? e;
      }
      function bR(e, t) {
        const n = [];
        for (let i = 0; i < e.length; i++) {
          const s = t(e[i], i);
          if (s === void 0)
            return;
          n.push(s);
        }
        return n;
      }
      function Oi(e, t) {
        const n = [];
        if (e !== void 0)
          for (let i = 0; i < e.length; i++) {
            const s = t(e[i], i);
            s !== void 0 && n.push(s);
          }
        return n;
      }
      function* Sy(e, t) {
        for (const n of e) {
          const i = t(n);
          i !== void 0 && (yield i);
        }
      }
      function r4(e, t, n) {
        if (e.has(t))
          return e.get(t);
        const i = n();
        return e.set(t, i), i;
      }
      function m0(e, t) {
        return e.has(t) ? !1 : (e.add(t), !0);
      }
      function* qX(e) {
        yield e;
      }
      function SR(e, t, n) {
        let i;
        if (e !== void 0) {
          i = [];
          const s = e.length;
          let o, c, _ = 0, u = 0;
          for (; _ < s; ) {
            for (; u < s; ) {
              const g = e[u];
              if (c = t(g, u), u === 0)
                o = c;
              else if (c !== o)
                break;
              u++;
            }
            if (_ < u) {
              const g = n(e.slice(_, u), o, _, u);
              g && i.push(g), _ = u;
            }
            o = c, u++;
          }
        }
        return i;
      }
      function HX(e, t) {
        if (e === void 0)
          return;
        const n = /* @__PURE__ */ new Map();
        return e.forEach((i, s) => {
          const [o, c] = t(s, i);
          n.set(o, c);
        }), n;
      }
      function at(e, t) {
        if (e !== void 0)
          if (t !== void 0) {
            for (let n = 0; n < e.length; n++)
              if (t(e[n]))
                return !0;
          } else
            return e.length > 0;
        return !1;
      }
      function TR(e, t, n) {
        let i;
        for (let s = 0; s < e.length; s++)
          t(e[s]) ? i = i === void 0 ? s : i : i !== void 0 && (n(i, s), i = void 0);
        i !== void 0 && n(i, e.length);
      }
      function Ji(e, t) {
        return t === void 0 || t.length === 0 ? e : e === void 0 || e.length === 0 ? t : [...e, ...t];
      }
      function A5e(e, t) {
        return t;
      }
      function JI(e) {
        return e.map(A5e);
      }
      function I5e(e, t, n) {
        const i = JI(e);
        L5e(e, i, n);
        let s = e[i[0]];
        const o = [i[0]];
        for (let c = 1; c < i.length; c++) {
          const _ = i[c], u = e[_];
          t(s, u) || (o.push(_), s = u);
        }
        return o.sort(), o.map((c) => e[c]);
      }
      function F5e(e, t) {
        const n = [];
        for (let i = 0; i < e.length; i++)
          $f(n, e[i], t);
        return n;
      }
      function pb(e, t, n) {
        return e.length === 0 ? [] : e.length === 1 ? e.slice() : n ? I5e(e, t, n) : F5e(e, t);
      }
      function O5e(e, t) {
        if (e.length === 0) return Ue;
        let n = e[0];
        const i = [n];
        for (let s = 1; s < e.length; s++) {
          const o = e[s];
          switch (t(o, n)) {
            // equality comparison
            case !0:
            // relational comparison
            // falls through
            case 0:
              continue;
            case -1:
              return E.fail("Array is unsorted.");
          }
          i.push(n = o);
        }
        return i;
      }
      function xR() {
        return [];
      }
      function Ty(e, t, n, i, s) {
        if (e.length === 0)
          return e.push(t), !0;
        const o = ky(e, t, mo, n);
        if (o < 0) {
          if (i && !s) {
            const c = ~o;
            if (c > 0 && i(t, e[c - 1]))
              return !1;
            if (c < e.length && i(t, e[c]))
              return e.splice(c, 1, t), !0;
          }
          return e.splice(~o, 0, t), !0;
        }
        return s ? (e.splice(o, 0, t), !0) : !1;
      }
      function n4(e, t, n) {
        return O5e(J_(e, t), n ?? t ?? au);
      }
      function Cf(e, t, n = Dy) {
        if (e === void 0 || t === void 0)
          return e === t;
        if (e.length !== t.length)
          return !1;
        for (let i = 0; i < e.length; i++)
          if (!n(e[i], t[i], i))
            return !1;
        return !0;
      }
      function kP(e) {
        let t;
        if (e !== void 0)
          for (let n = 0; n < e.length; n++) {
            const i = e[n];
            (t ?? !i) && (t ?? (t = e.slice(0, n)), i && t.push(i));
          }
        return t ?? e;
      }
      function GX(e, t, n) {
        if (!t || !e || t.length === 0 || e.length === 0) return t;
        const i = [];
        e:
          for (let s = 0, o = 0; o < t.length; o++) {
            o > 0 && E.assertGreaterThanOrEqual(
              n(t[o], t[o - 1]),
              0
              /* EqualTo */
            );
            t:
              for (const c = s; s < e.length; s++)
                switch (s > c && E.assertGreaterThanOrEqual(
                  n(e[s], e[s - 1]),
                  0
                  /* EqualTo */
                ), n(t[o], e[s])) {
                  case -1:
                    i.push(t[o]);
                    continue e;
                  case 0:
                    continue e;
                  case 1:
                    continue t;
                }
          }
        return i;
      }
      function Dr(e, t) {
        return t === void 0 ? e : e === void 0 ? [t] : (e.push(t), e);
      }
      function WT(e, t) {
        return e === void 0 ? t : t === void 0 ? e : fs(e) ? fs(t) ? Ji(e, t) : Dr(e, t) : fs(t) ? Dr(t, e) : [e, t];
      }
      function $X(e, t) {
        return t < 0 ? e.length + t : t;
      }
      function wn(e, t, n, i) {
        if (t === void 0 || t.length === 0) return e;
        if (e === void 0) return t.slice(n, i);
        n = n === void 0 ? 0 : $X(t, n), i = i === void 0 ? t.length : $X(t, i);
        for (let s = n; s < i && s < t.length; s++)
          t[s] !== void 0 && e.push(t[s]);
        return e;
      }
      function $f(e, t, n) {
        return _s(e, t, n) ? !1 : (e.push(t), !0);
      }
      function Sh(e, t, n) {
        return e !== void 0 ? ($f(e, t, n), e) : [t];
      }
      function L5e(e, t, n) {
        t.sort((i, s) => n(e[i], e[s]) || go(i, s));
      }
      function J_(e, t) {
        return e.length === 0 ? Ue : e.slice().sort(t);
      }
      function* kR(e) {
        for (let t = e.length - 1; t >= 0; t--)
          yield e[t];
      }
      function CR(e, t, n, i) {
        for (; n < i; ) {
          if (e[n] !== t[n])
            return !1;
          n++;
        }
        return !0;
      }
      var xy = Array.prototype.at ? (e, t) => e?.at(t) : (e, t) => {
        if (e !== void 0 && (t = $X(e, t), t < e.length))
          return e[t];
      };
      function Xc(e) {
        return e === void 0 || e.length === 0 ? void 0 : e[0];
      }
      function CP(e) {
        if (e !== void 0)
          for (const t of e)
            return t;
      }
      function xa(e) {
        return E.assert(e.length !== 0), e[0];
      }
      function ER(e) {
        for (const t of e)
          return t;
        E.fail("iterator is empty");
      }
      function Po(e) {
        return e === void 0 || e.length === 0 ? void 0 : e[e.length - 1];
      }
      function pa(e) {
        return E.assert(e.length !== 0), e[e.length - 1];
      }
      function zm(e) {
        return e !== void 0 && e.length === 1 ? e[0] : void 0;
      }
      function DR(e) {
        return E.checkDefined(zm(e));
      }
      function Wm(e) {
        return e !== void 0 && e.length === 1 ? e[0] : e;
      }
      function wR(e, t, n) {
        const i = e.slice(0);
        return i[t] = n, i;
      }
      function ky(e, t, n, i, s) {
        return VT(e, n(t), n, i, s);
      }
      function VT(e, t, n, i, s) {
        if (!at(e))
          return -1;
        let o = s ?? 0, c = e.length - 1;
        for (; o <= c; ) {
          const _ = o + (c - o >> 1), u = n(e[_], _);
          switch (i(u, t)) {
            case -1:
              o = _ + 1;
              break;
            case 0:
              return _;
            case 1:
              c = _ - 1;
              break;
          }
        }
        return ~o;
      }
      function Hu(e, t, n, i, s) {
        if (e && e.length > 0) {
          const o = e.length;
          if (o > 0) {
            let c = i === void 0 || i < 0 ? 0 : i;
            const _ = s === void 0 || c + s > o - 1 ? o - 1 : c + s;
            let u;
            for (arguments.length <= 2 ? (u = e[c], c++) : u = n; c <= _; )
              u = t(u, e[c], c), c++;
            return u;
          }
        }
        return n;
      }
      var B1 = Object.prototype.hasOwnProperty;
      function ao(e, t) {
        return B1.call(e, t);
      }
      function zI(e, t) {
        return B1.call(e, t) ? e[t] : void 0;
      }
      function Ud(e) {
        const t = [];
        for (const n in e)
          B1.call(e, n) && t.push(n);
        return t;
      }
      function sge(e) {
        const t = [];
        do {
          const n = Object.getOwnPropertyNames(e);
          for (const i of n)
            $f(t, i);
        } while (e = Object.getPrototypeOf(e));
        return t;
      }
      function UT(e) {
        const t = [];
        for (const n in e)
          B1.call(e, n) && t.push(e[n]);
        return t;
      }
      function XX(e, t) {
        const n = new Array(e);
        for (let i = 0; i < e; i++)
          n[i] = t(i);
        return n;
      }
      function rs(e, t) {
        const n = [];
        for (const i of e)
          n.push(t ? t(i) : i);
        return n;
      }
      function eS(e, ...t) {
        for (const n of t)
          if (n !== void 0)
            for (const i in n)
              ao(n, i) && (e[i] = n[i]);
        return e;
      }
      function QX(e, t, n = Dy) {
        if (e === t) return !0;
        if (!e || !t) return !1;
        for (const i in e)
          if (B1.call(e, i) && (!B1.call(t, i) || !n(e[i], t[i])))
            return !1;
        for (const i in t)
          if (B1.call(t, i) && !B1.call(e, i))
            return !1;
        return !0;
      }
      function hC(e, t, n = mo) {
        const i = /* @__PURE__ */ new Map();
        for (let s = 0; s < e.length; s++) {
          const o = e[s], c = t(o);
          c !== void 0 && i.set(c, n(o));
        }
        return i;
      }
      function YX(e, t, n = mo) {
        const i = [];
        for (let s = 0; s < e.length; s++) {
          const o = e[s];
          i[t(o)] = n(o);
        }
        return i;
      }
      function EP(e, t, n = mo) {
        const i = Tp();
        for (let s = 0; s < e.length; s++) {
          const o = e[s];
          i.add(t(o), n(o));
        }
        return i;
      }
      function yC(e, t, n = mo) {
        return rs(EP(e, t).values(), n);
      }
      function PR(e, t) {
        const n = {};
        if (e !== void 0)
          for (let i = 0; i < e.length; i++) {
            const s = e[i], o = `${t(s)}`;
            (n[o] ?? (n[o] = [])).push(s);
          }
        return n;
      }
      function ZX(e) {
        const t = {};
        for (const n in e)
          B1.call(e, n) && (t[n] = e[n]);
        return t;
      }
      function WI(e, t) {
        const n = {};
        for (const i in t)
          B1.call(t, i) && (n[i] = t[i]);
        for (const i in e)
          B1.call(e, i) && (n[i] = e[i]);
        return n;
      }
      function NR(e, t) {
        for (const n in t)
          B1.call(t, n) && (e[n] = t[n]);
      }
      function Ls(e, t) {
        return t?.bind(e);
      }
      function Tp() {
        const e = /* @__PURE__ */ new Map();
        return e.add = M5e, e.remove = R5e, e;
      }
      function M5e(e, t) {
        let n = this.get(e);
        return n !== void 0 ? n.push(t) : this.set(e, n = [t]), n;
      }
      function R5e(e, t) {
        const n = this.get(e);
        n !== void 0 && (HT(n, t), n.length || this.delete(e));
      }
      function DP(e) {
        const t = e?.slice() ?? [];
        let n = 0;
        function i() {
          return n === t.length;
        }
        function s(...c) {
          t.push(...c);
        }
        function o() {
          if (i())
            throw new Error("Queue is empty");
          const c = t[n];
          if (t[n] = void 0, n++, n > 100 && n > t.length >> 1) {
            const _ = t.length - n;
            t.copyWithin(
              /*target*/
              0,
              /*start*/
              n
            ), t.length = _, n = 0;
          }
          return c;
        }
        return {
          enqueue: s,
          dequeue: o,
          isEmpty: i
        };
      }
      function AR(e, t) {
        const n = /* @__PURE__ */ new Map();
        let i = 0;
        function* s() {
          for (const c of n.values())
            fs(c) ? yield* c : yield c;
        }
        const o = {
          has(c) {
            const _ = e(c);
            if (!n.has(_)) return !1;
            const u = n.get(_);
            return fs(u) ? _s(u, c, t) : t(u, c);
          },
          add(c) {
            const _ = e(c);
            if (n.has(_)) {
              const u = n.get(_);
              if (fs(u))
                _s(u, c, t) || (u.push(c), i++);
              else {
                const g = u;
                t(g, c) || (n.set(_, [g, c]), i++);
              }
            } else
              n.set(_, c), i++;
            return this;
          },
          delete(c) {
            const _ = e(c);
            if (!n.has(_)) return !1;
            const u = n.get(_);
            if (fs(u)) {
              for (let g = 0; g < u.length; g++)
                if (t(u[g], c))
                  return u.length === 1 ? n.delete(_) : u.length === 2 ? n.set(_, u[1 - g]) : cge(u, g), i--, !0;
            } else if (t(u, c))
              return n.delete(_), i--, !0;
            return !1;
          },
          clear() {
            n.clear(), i = 0;
          },
          get size() {
            return i;
          },
          forEach(c) {
            for (const _ of rs(n.values()))
              if (fs(_))
                for (const u of _)
                  c(u, u, o);
              else {
                const u = _;
                c(u, u, o);
              }
          },
          keys() {
            return s();
          },
          values() {
            return s();
          },
          *entries() {
            for (const c of s())
              yield [c, c];
          },
          [Symbol.iterator]: () => s(),
          [Symbol.toStringTag]: n[Symbol.toStringTag]
        };
        return o;
      }
      function fs(e) {
        return Array.isArray(e);
      }
      function qT(e) {
        return fs(e) ? e : [e];
      }
      function cs(e) {
        return typeof e == "string";
      }
      function Cy(e) {
        return typeof e == "number";
      }
      function Mn(e, t) {
        return e !== void 0 && t(e) ? e : void 0;
      }
      function Us(e, t) {
        return e !== void 0 && t(e) ? e : E.fail(`Invalid cast. The supplied value ${e} did not pass the test '${E.getFunctionName(t)}'.`);
      }
      function Ua(e) {
      }
      function Th() {
        return !1;
      }
      function db() {
        return !0;
      }
      function mb() {
      }
      function mo(e) {
        return e;
      }
      function j5e(e) {
        return e.toLowerCase();
      }
      var age = /[^\u0130\u0131\u00DFa-z0-9\\/:\-_. ]+/g;
      function Ey(e) {
        return age.test(e) ? e.replace(age, j5e) : e;
      }
      function Hs() {
        throw new Error("Not implemented");
      }
      function Au(e) {
        let t;
        return () => (e && (t = e(), e = void 0), t);
      }
      function qd(e) {
        const t = /* @__PURE__ */ new Map();
        return (n) => {
          const i = `${typeof n}:${n}`;
          let s = t.get(i);
          return s === void 0 && !t.has(i) && (s = e(n), t.set(i, s)), s;
        };
      }
      var KX = /* @__PURE__ */ ((e) => (e[e.None = 0] = "None", e[e.Normal = 1] = "Normal", e[e.Aggressive = 2] = "Aggressive", e[e.VeryAggressive = 3] = "VeryAggressive", e))(KX || {});
      function Dy(e, t) {
        return e === t;
      }
      function wy(e, t) {
        return e === t || e !== void 0 && t !== void 0 && e.toUpperCase() === t.toUpperCase();
      }
      function gb(e, t) {
        return Dy(e, t);
      }
      function oge(e, t) {
        return e === t ? 0 : e === void 0 ? -1 : t === void 0 ? 1 : e < t ? -1 : 1;
      }
      function go(e, t) {
        return oge(e, t);
      }
      function VI(e, t) {
        return go(e?.start, t?.start) || go(e?.length, t?.length);
      }
      function IR(e, t, n) {
        for (let i = 0; i < e.length; i++)
          t = Math.max(t, n(e[i]));
        return t;
      }
      function FR(e, t) {
        return Hu(e, (n, i) => t(n, i) === -1 ? n : i);
      }
      function wP(e, t) {
        return e === t ? 0 : e === void 0 ? -1 : t === void 0 ? 1 : (e = e.toUpperCase(), t = t.toUpperCase(), e < t ? -1 : e > t ? 1 : 0);
      }
      function eQ(e, t) {
        return e === t ? 0 : e === void 0 ? -1 : t === void 0 ? 1 : (e = e.toLowerCase(), t = t.toLowerCase(), e < t ? -1 : e > t ? 1 : 0);
      }
      function au(e, t) {
        return oge(e, t);
      }
      function vC(e) {
        return e ? wP : au;
      }
      var B5e = /* @__PURE__ */ (() => {
        return t;
        function e(n, i, s) {
          if (n === i) return 0;
          if (n === void 0) return -1;
          if (i === void 0) return 1;
          const o = s(n, i);
          return o < 0 ? -1 : o > 0 ? 1 : 0;
        }
        function t(n) {
          const i = new Intl.Collator(n, { usage: "sort", sensitivity: "variant", numeric: !0 }).compare;
          return (s, o) => e(s, o, i);
        }
      })(), OR, LR;
      function tQ() {
        return LR;
      }
      function rQ(e) {
        LR !== e && (LR = e, OR = void 0);
      }
      function PP(e, t) {
        return OR ?? (OR = B5e(LR)), OR(e, t);
      }
      function nQ(e, t, n, i) {
        return e === t ? 0 : e === void 0 ? -1 : t === void 0 ? 1 : i(e[n], t[n]);
      }
      function J1(e, t) {
        return go(e ? 1 : 0, t ? 1 : 0);
      }
      function hb(e, t, n) {
        const i = Math.max(2, Math.floor(e.length * 0.34));
        let s = Math.floor(e.length * 0.4) + 1, o;
        for (const c of t) {
          const _ = n(c);
          if (_ !== void 0 && Math.abs(_.length - e.length) <= i) {
            if (_ === e || _.length < 3 && _.toLowerCase() !== e.toLowerCase())
              continue;
            const u = J5e(e, _, s - 0.1);
            if (u === void 0)
              continue;
            E.assert(u < s), s = u, o = c;
          }
        }
        return o;
      }
      function J5e(e, t, n) {
        let i = new Array(t.length + 1), s = new Array(t.length + 1);
        const o = n + 0.01;
        for (let _ = 0; _ <= t.length; _++)
          i[_] = _;
        for (let _ = 1; _ <= e.length; _++) {
          const u = e.charCodeAt(_ - 1), g = Math.ceil(_ > n ? _ - n : 1), m = Math.floor(t.length > n + _ ? n + _ : t.length);
          s[0] = _;
          let h = _;
          for (let T = 1; T < g; T++)
            s[T] = o;
          for (let T = g; T <= m; T++) {
            const k = e[_ - 1].toLowerCase() === t[T - 1].toLowerCase() ? i[T - 1] + 0.1 : i[T - 1] + 2, D = u === t.charCodeAt(T - 1) ? i[T - 1] : Math.min(
              /*delete*/
              i[T] + 1,
              /*insert*/
              s[T - 1] + 1,
              /*substitute*/
              k
            );
            s[T] = D, h = Math.min(h, D);
          }
          for (let T = m + 1; T <= t.length; T++)
            s[T] = o;
          if (h > n)
            return;
          const S = i;
          i = s, s = S;
        }
        const c = i[t.length];
        return c > n ? void 0 : c;
      }
      function No(e, t, n) {
        const i = e.length - t.length;
        return i >= 0 && (n ? wy(e.slice(i), t) : e.indexOf(t, i) === i);
      }
      function bC(e, t) {
        return No(e, t) ? e.slice(0, e.length - t.length) : e;
      }
      function iQ(e, t) {
        return No(e, t) ? e.slice(0, e.length - t.length) : void 0;
      }
      function MR(e) {
        let t = e.length;
        for (let n = t - 1; n > 0; n--) {
          let i = e.charCodeAt(n);
          if (i >= 48 && i <= 57)
            do
              --n, i = e.charCodeAt(n);
            while (n > 0 && i >= 48 && i <= 57);
          else if (n > 4 && (i === 110 || i === 78)) {
            if (--n, i = e.charCodeAt(n), i !== 105 && i !== 73 || (--n, i = e.charCodeAt(n), i !== 109 && i !== 77))
              break;
            --n, i = e.charCodeAt(n);
          } else
            break;
          if (i !== 45 && i !== 46)
            break;
          t = n;
        }
        return t === e.length ? e : e.slice(0, t);
      }
      function i4(e, t) {
        for (let n = 0; n < e.length; n++)
          if (e[n] === t)
            return Py(e, n), !0;
        return !1;
      }
      function Py(e, t) {
        for (let n = t; n < e.length - 1; n++)
          e[n] = e[n + 1];
        e.pop();
      }
      function cge(e, t) {
        e[t] = e[e.length - 1], e.pop();
      }
      function HT(e, t) {
        return z5e(e, (n) => n === t);
      }
      function z5e(e, t) {
        for (let n = 0; n < e.length; n++)
          if (t(e[n]))
            return cge(e, n), !0;
        return !1;
      }
      function Hl(e) {
        return e ? mo : Ey;
      }
      function sQ({ prefix: e, suffix: t }) {
        return `${e}*${t}`;
      }
      function aQ(e, t) {
        return E.assert(UI(e, t)), t.substring(e.prefix.length, t.length - e.suffix.length);
      }
      function RR(e, t, n) {
        let i, s = -1;
        for (let o = 0; o < e.length; o++) {
          const c = e[o], _ = t(c);
          _.prefix.length > s && UI(_, n) && (s = _.prefix.length, i = c);
        }
        return i;
      }
      function Wi(e, t, n) {
        return n ? wy(e.slice(0, t.length), t) : e.lastIndexOf(t, 0) === 0;
      }
      function s4(e, t) {
        return Wi(e, t) ? e.substr(t.length) : e;
      }
      function jR(e, t, n = mo) {
        return Wi(n(e), n(t)) ? e.substring(t.length) : void 0;
      }
      function UI({ prefix: e, suffix: t }, n) {
        return n.length >= e.length + t.length && Wi(n, e) && No(n, t);
      }
      function qI(e, t) {
        return (n) => e(n) && t(n);
      }
      function z_(...e) {
        return (...t) => {
          let n;
          for (const i of e)
            if (n = i(...t), n)
              return n;
          return n;
        };
      }
      function HI(e) {
        return (...t) => !e(...t);
      }
      function lge(e) {
      }
      function GT(e) {
        return e === void 0 ? void 0 : [e];
      }
      function GI(e, t, n, i, s, o) {
        o ?? (o = Ua);
        let c = 0, _ = 0;
        const u = e.length, g = t.length;
        let m = !1;
        for (; c < u && _ < g; ) {
          const h = e[c], S = t[_], T = n(h, S);
          T === -1 ? (i(h), c++, m = !0) : T === 1 ? (s(S), _++, m = !0) : (o(S, h), c++, _++);
        }
        for (; c < u; )
          i(e[c++]), m = !0;
        for (; _ < g; )
          s(t[_++]), m = !0;
        return m;
      }
      function oQ(e) {
        const t = [];
        return uge(
          e,
          t,
          /*outer*/
          void 0,
          0
        ), t;
      }
      function uge(e, t, n, i) {
        for (const s of e[i]) {
          let o;
          n ? (o = n.slice(), o.push(s)) : o = [s], i === e.length - 1 ? t.push(o) : uge(e, t, o, i + 1);
        }
      }
      function BR(e, t) {
        if (e !== void 0) {
          const n = e.length;
          let i = 0;
          for (; i < n && t(e[i]); )
            i++;
          return e.slice(0, i);
        }
      }
      function cQ(e, t) {
        if (e !== void 0) {
          const n = e.length;
          let i = 0;
          for (; i < n && t(e[i]); )
            i++;
          return e.slice(i);
        }
      }
      function JR() {
        return typeof process < "u" && !!process.nextTick && !process.browser && typeof S5e < "u";
      }
      var lQ = /* @__PURE__ */ ((e) => (e[e.Off = 0] = "Off", e[e.Error = 1] = "Error", e[e.Warning = 2] = "Warning", e[e.Info = 3] = "Info", e[e.Verbose = 4] = "Verbose", e))(lQ || {}), E;
      ((e) => {
        let t = 0;
        e.currentLogLevel = 2, e.isDebugging = !1;
        function n(je) {
          return e.currentLogLevel <= je;
        }
        e.shouldLog = n;
        function i(je, ut) {
          e.loggingHost && n(je) && e.loggingHost.log(je, ut);
        }
        function s(je) {
          i(3, je);
        }
        e.log = s, ((je) => {
          function ut(Wn) {
            i(1, Wn);
          }
          je.error = ut;
          function er(Wn) {
            i(2, Wn);
          }
          je.warn = er;
          function Vr(Wn) {
            i(3, Wn);
          }
          je.log = Vr;
          function zn(Wn) {
            i(4, Wn);
          }
          je.trace = zn;
        })(s = e.log || (e.log = {}));
        const o = {};
        function c() {
          return t;
        }
        e.getAssertionLevel = c;
        function _(je) {
          const ut = t;
          if (t = je, je > ut)
            for (const er of Ud(o)) {
              const Vr = o[er];
              Vr !== void 0 && e[er] !== Vr.assertion && je >= Vr.level && (e[er] = Vr, o[er] = void 0);
            }
        }
        e.setAssertionLevel = _;
        function u(je) {
          return t >= je;
        }
        e.shouldAssert = u;
        function g(je, ut) {
          return u(je) ? !0 : (o[ut] = { level: je, assertion: e[ut] }, e[ut] = Ua, !1);
        }
        function m(je, ut) {
          debugger;
          const er = new Error(je ? `Debug Failure. ${je}` : "Debug Failure.");
          throw Error.captureStackTrace && Error.captureStackTrace(er, ut || m), er;
        }
        e.fail = m;
        function h(je, ut, er) {
          return m(
            `${ut || "Unexpected node."}\r
Node ${he(je.kind)} was unexpected.`,
            er || h
          );
        }
        e.failBadSyntaxKind = h;
        function S(je, ut, er, Vr) {
          je || (ut = ut ? `False expression: ${ut}` : "False expression.", er && (ut += `\r
Verbose Debug Information: ` + (typeof er == "string" ? er : er())), m(ut, Vr || S));
        }
        e.assert = S;
        function T(je, ut, er, Vr, zn) {
          if (je !== ut) {
            const Wn = er ? Vr ? `${er} ${Vr}` : er : "";
            m(`Expected ${je} === ${ut}. ${Wn}`, zn || T);
          }
        }
        e.assertEqual = T;
        function k(je, ut, er, Vr) {
          je >= ut && m(`Expected ${je} < ${ut}. ${er || ""}`, Vr || k);
        }
        e.assertLessThan = k;
        function D(je, ut, er) {
          je > ut && m(`Expected ${je} <= ${ut}`, er || D);
        }
        e.assertLessThanOrEqual = D;
        function w(je, ut, er) {
          je < ut && m(`Expected ${je} >= ${ut}`, er || w);
        }
        e.assertGreaterThanOrEqual = w;
        function A(je, ut, er) {
          je == null && m(ut, er || A);
        }
        e.assertIsDefined = A;
        function O(je, ut, er) {
          return A(je, ut, er || O), je;
        }
        e.checkDefined = O;
        function F(je, ut, er) {
          for (const Vr of je)
            A(Vr, ut, er || F);
        }
        e.assertEachIsDefined = F;
        function j(je, ut, er) {
          return F(je, ut, er || j), je;
        }
        e.checkEachDefined = j;
        function z(je, ut = "Illegal value:", er) {
          const Vr = typeof je == "object" && ao(je, "kind") && ao(je, "pos") ? "SyntaxKind: " + he(je.kind) : JSON.stringify(je);
          return m(`${ut} ${Vr}`, er || z);
        }
        e.assertNever = z;
        function V(je, ut, er, Vr) {
          g(1, "assertEachNode") && S(
            ut === void 0 || Pi(je, ut),
            er || "Unexpected node.",
            () => `Node array did not pass test '${te(ut)}'.`,
            Vr || V
          );
        }
        e.assertEachNode = V;
        function G(je, ut, er, Vr) {
          g(1, "assertNode") && S(
            je !== void 0 && (ut === void 0 || ut(je)),
            er || "Unexpected node.",
            () => `Node ${he(je?.kind)} did not pass test '${te(ut)}'.`,
            Vr || G
          );
        }
        e.assertNode = G;
        function W(je, ut, er, Vr) {
          g(1, "assertNotNode") && S(
            je === void 0 || ut === void 0 || !ut(je),
            er || "Unexpected node.",
            () => `Node ${he(je.kind)} should not have passed test '${te(ut)}'.`,
            Vr || W
          );
        }
        e.assertNotNode = W;
        function pe(je, ut, er, Vr) {
          g(1, "assertOptionalNode") && S(
            ut === void 0 || je === void 0 || ut(je),
            er || "Unexpected node.",
            () => `Node ${he(je?.kind)} did not pass test '${te(ut)}'.`,
            Vr || pe
          );
        }
        e.assertOptionalNode = pe;
        function K(je, ut, er, Vr) {
          g(1, "assertOptionalToken") && S(
            ut === void 0 || je === void 0 || je.kind === ut,
            er || "Unexpected node.",
            () => `Node ${he(je?.kind)} was not a '${he(ut)}' token.`,
            Vr || K
          );
        }
        e.assertOptionalToken = K;
        function U(je, ut, er) {
          g(1, "assertMissingNode") && S(
            je === void 0,
            ut || "Unexpected node.",
            () => `Node ${he(je.kind)} was unexpected'.`,
            er || U
          );
        }
        e.assertMissingNode = U;
        function ee(je) {
        }
        e.type = ee;
        function te(je) {
          if (typeof je != "function")
            return "";
          if (ao(je, "name"))
            return je.name;
          {
            const ut = Function.prototype.toString.call(je), er = /^function\s+([\w$]+)\s*\(/.exec(ut);
            return er ? er[1] : "";
          }
        }
        e.getFunctionName = te;
        function ie(je) {
          return `{ name: ${Ei(je.escapedName)}; flags: ${oe(je.flags)}; declarations: ${fr(je.declarations, (ut) => he(ut.kind))} }`;
        }
        e.formatSymbol = ie;
        function fe(je = 0, ut, er) {
          const Vr = q(ut);
          if (je === 0)
            return Vr.length > 0 && Vr[0][0] === 0 ? Vr[0][1] : "0";
          if (er) {
            const zn = [];
            let Wn = je;
            for (const [bi, ks] of Vr) {
              if (bi > je)
                break;
              bi !== 0 && bi & je && (zn.push(ks), Wn &= ~bi);
            }
            if (Wn === 0)
              return zn.join("|");
          } else
            for (const [zn, Wn] of Vr)
              if (zn === je)
                return Wn;
          return je.toString();
        }
        e.formatEnum = fe;
        const me = /* @__PURE__ */ new Map();
        function q(je) {
          const ut = me.get(je);
          if (ut)
            return ut;
          const er = [];
          for (const zn in je) {
            const Wn = je[zn];
            typeof Wn == "number" && er.push([Wn, zn]);
          }
          const Vr = J_(er, (zn, Wn) => go(zn[0], Wn[0]));
          return me.set(je, Vr), Vr;
        }
        function he(je) {
          return fe(
            je,
            UR,
            /*isFlags*/
            !1
          );
        }
        e.formatSyntaxKind = he;
        function Me(je) {
          return fe(
            je,
            ij,
            /*isFlags*/
            !1
          );
        }
        e.formatSnippetKind = Me;
        function De(je) {
          return fe(
            je,
            rj,
            /*isFlags*/
            !1
          );
        }
        e.formatScriptKind = De;
        function re(je) {
          return fe(
            je,
            qR,
            /*isFlags*/
            !0
          );
        }
        e.formatNodeFlags = re;
        function xe(je) {
          return fe(
            je,
            ZR,
            /*isFlags*/
            !0
          );
        }
        e.formatNodeCheckFlags = xe;
        function ue(je) {
          return fe(
            je,
            HR,
            /*isFlags*/
            !0
          );
        }
        e.formatModifierFlags = ue;
        function Xe(je) {
          return fe(
            je,
            nj,
            /*isFlags*/
            !0
          );
        }
        e.formatTransformFlags = Xe;
        function nt(je) {
          return fe(
            je,
            sj,
            /*isFlags*/
            !0
          );
        }
        e.formatEmitFlags = nt;
        function oe(je) {
          return fe(
            je,
            YR,
            /*isFlags*/
            !0
          );
        }
        e.formatSymbolFlags = oe;
        function ve(je) {
          return fe(
            je,
            KR,
            /*isFlags*/
            !0
          );
        }
        e.formatTypeFlags = ve;
        function se(je) {
          return fe(
            je,
            tj,
            /*isFlags*/
            !0
          );
        }
        e.formatSignatureFlags = se;
        function Pe(je) {
          return fe(
            je,
            ej,
            /*isFlags*/
            !0
          );
        }
        e.formatObjectFlags = Pe;
        function Ee(je) {
          return fe(
            je,
            XI,
            /*isFlags*/
            !0
          );
        }
        e.formatFlowFlags = Ee;
        function Ce(je) {
          return fe(
            je,
            GR,
            /*isFlags*/
            !0
          );
        }
        e.formatRelationComparisonResult = Ce;
        function ze(je) {
          return fe(
            je,
            bW,
            /*isFlags*/
            !0
          );
        }
        e.formatCheckMode = ze;
        function St(je) {
          return fe(
            je,
            SW,
            /*isFlags*/
            !0
          );
        }
        e.formatSignatureCheckMode = St;
        function Bt(je) {
          return fe(
            je,
            vW,
            /*isFlags*/
            !0
          );
        }
        e.formatTypeFacts = Bt;
        let tr = !1, Fr;
        function it(je) {
          "__debugFlowFlags" in je || Object.defineProperties(je, {
            // for use with vscode-js-debug's new customDescriptionGenerator in launch.json
            __tsDebuggerDisplay: {
              value() {
                const ut = this.flags & 2 ? "FlowStart" : this.flags & 4 ? "FlowBranchLabel" : this.flags & 8 ? "FlowLoopLabel" : this.flags & 16 ? "FlowAssignment" : this.flags & 32 ? "FlowTrueCondition" : this.flags & 64 ? "FlowFalseCondition" : this.flags & 128 ? "FlowSwitchClause" : this.flags & 256 ? "FlowArrayMutation" : this.flags & 512 ? "FlowCall" : this.flags & 1024 ? "FlowReduceLabel" : this.flags & 1 ? "FlowUnreachable" : "UnknownFlow", er = this.flags & -2048;
                return `${ut}${er ? ` (${Ee(er)})` : ""}`;
              }
            },
            __debugFlowFlags: {
              get() {
                return fe(
                  this.flags,
                  XI,
                  /*isFlags*/
                  !0
                );
              }
            },
            __debugToString: {
              value() {
                return ci(this);
              }
            }
          });
        }
        function Wt(je) {
          return tr && (typeof Object.setPrototypeOf == "function" ? (Fr || (Fr = Object.create(Object.prototype), it(Fr)), Object.setPrototypeOf(je, Fr)) : it(je)), je;
        }
        e.attachFlowNodeDebugInfo = Wt;
        let Wr;
        function ai(je) {
          "__tsDebuggerDisplay" in je || Object.defineProperties(je, {
            __tsDebuggerDisplay: {
              value(ut) {
                return ut = String(ut).replace(/(?:,[\s\w]+:[^,]+)+\]$/, "]"), `NodeArray ${ut}`;
              }
            }
          });
        }
        function zi(je) {
          tr && (typeof Object.setPrototypeOf == "function" ? (Wr || (Wr = Object.create(Array.prototype), ai(Wr)), Object.setPrototypeOf(je, Wr)) : ai(je));
        }
        e.attachNodeArrayDebugInfo = zi;
        function Pt() {
          if (tr) return;
          const je = /* @__PURE__ */ new WeakMap(), ut = /* @__PURE__ */ new WeakMap();
          Object.defineProperties(Xl.getSymbolConstructor().prototype, {
            // for use with vscode-js-debug's new customDescriptionGenerator in launch.json
            __tsDebuggerDisplay: {
              value() {
                const Vr = this.flags & 33554432 ? "TransientSymbol" : "Symbol", zn = this.flags & -33554433;
                return `${Vr} '${bc(this)}'${zn ? ` (${oe(zn)})` : ""}`;
              }
            },
            __debugFlags: {
              get() {
                return oe(this.flags);
              }
            }
          }), Object.defineProperties(Xl.getTypeConstructor().prototype, {
            // for use with vscode-js-debug's new customDescriptionGenerator in launch.json
            __tsDebuggerDisplay: {
              value() {
                const Vr = this.flags & 67359327 ? `IntrinsicType ${this.intrinsicName}${this.debugIntrinsicName ? ` (${this.debugIntrinsicName})` : ""}` : this.flags & 98304 ? "NullableType" : this.flags & 384 ? `LiteralType ${JSON.stringify(this.value)}` : this.flags & 2048 ? `LiteralType ${this.value.negative ? "-" : ""}${this.value.base10Value}n` : this.flags & 8192 ? "UniqueESSymbolType" : this.flags & 32 ? "EnumType" : this.flags & 1048576 ? "UnionType" : this.flags & 2097152 ? "IntersectionType" : this.flags & 4194304 ? "IndexType" : this.flags & 8388608 ? "IndexedAccessType" : this.flags & 16777216 ? "ConditionalType" : this.flags & 33554432 ? "SubstitutionType" : this.flags & 262144 ? "TypeParameter" : this.flags & 524288 ? this.objectFlags & 3 ? "InterfaceType" : this.objectFlags & 4 ? "TypeReference" : this.objectFlags & 8 ? "TupleType" : this.objectFlags & 16 ? "AnonymousType" : this.objectFlags & 32 ? "MappedType" : this.objectFlags & 1024 ? "ReverseMappedType" : this.objectFlags & 256 ? "EvolvingArrayType" : "ObjectType" : "Type", zn = this.flags & 524288 ? this.objectFlags & -1344 : 0;
                return `${Vr}${this.symbol ? ` '${bc(this.symbol)}'` : ""}${zn ? ` (${Pe(zn)})` : ""}`;
              }
            },
            __debugFlags: {
              get() {
                return ve(this.flags);
              }
            },
            __debugObjectFlags: {
              get() {
                return this.flags & 524288 ? Pe(this.objectFlags) : "";
              }
            },
            __debugTypeToString: {
              value() {
                let Vr = je.get(this);
                return Vr === void 0 && (Vr = this.checker.typeToString(this), je.set(this, Vr)), Vr;
              }
            }
          }), Object.defineProperties(Xl.getSignatureConstructor().prototype, {
            __debugFlags: {
              get() {
                return se(this.flags);
              }
            },
            __debugSignatureToString: {
              value() {
                var Vr;
                return (Vr = this.checker) == null ? void 0 : Vr.signatureToString(this);
              }
            }
          });
          const er = [
            Xl.getNodeConstructor(),
            Xl.getIdentifierConstructor(),
            Xl.getTokenConstructor(),
            Xl.getSourceFileConstructor()
          ];
          for (const Vr of er)
            ao(Vr.prototype, "__debugKind") || Object.defineProperties(Vr.prototype, {
              // for use with vscode-js-debug's new customDescriptionGenerator in launch.json
              __tsDebuggerDisplay: {
                value() {
                  return `${Mo(this) ? "GeneratedIdentifier" : Fe(this) ? `Identifier '${Pn(this)}'` : Di(this) ? `PrivateIdentifier '${Pn(this)}'` : la(this) ? `StringLiteral ${JSON.stringify(this.text.length < 10 ? this.text : this.text.slice(10) + "...")}` : m_(this) ? `NumericLiteral ${this.text}` : ED(this) ? `BigIntLiteral ${this.text}n` : Fo(this) ? "TypeParameterDeclaration" : Ni(this) ? "ParameterDeclaration" : Xo(this) ? "ConstructorDeclaration" : ap(this) ? "GetAccessorDeclaration" : P_(this) ? "SetAccessorDeclaration" : Bx(this) ? "CallSignatureDeclaration" : CN(this) ? "ConstructSignatureDeclaration" : r1(this) ? "IndexSignatureDeclaration" : Jx(this) ? "TypePredicateNode" : X_(this) ? "TypeReferenceNode" : Ym(this) ? "FunctionTypeNode" : u6(this) ? "ConstructorTypeNode" : Vb(this) ? "TypeQueryNode" : Yu(this) ? "TypeLiteralNode" : EN(this) ? "ArrayTypeNode" : zx(this) ? "TupleTypeNode" : bF(this) ? "OptionalTypeNode" : SF(this) ? "RestTypeNode" : w0(this) ? "UnionTypeNode" : Wx(this) ? "IntersectionTypeNode" : Ub(this) ? "ConditionalTypeNode" : NS(this) ? "InferTypeNode" : AS(this) ? "ParenthesizedTypeNode" : ND(this) ? "ThisTypeNode" : nv(this) ? "TypeOperatorNode" : qb(this) ? "IndexedAccessTypeNode" : IS(this) ? "MappedTypeNode" : P0(this) ? "LiteralTypeNode" : _6(this) ? "NamedTupleMember" : am(this) ? "ImportTypeNode" : he(this.kind)}${this.flags ? ` (${re(this.flags)})` : ""}`;
                }
              },
              __debugKind: {
                get() {
                  return he(this.kind);
                }
              },
              __debugNodeFlags: {
                get() {
                  return re(this.flags);
                }
              },
              __debugModifierFlags: {
                get() {
                  return ue(HK(this));
                }
              },
              __debugTransformFlags: {
                get() {
                  return Xe(this.transformFlags);
                }
              },
              __debugIsParseTreeNode: {
                get() {
                  return T4(this);
                }
              },
              __debugEmitFlags: {
                get() {
                  return nt(ka(this));
                }
              },
              __debugGetText: {
                value(zn) {
                  if (oo(this)) return "";
                  let Wn = ut.get(this);
                  if (Wn === void 0) {
                    const bi = ds(this), ks = bi && Er(bi);
                    Wn = ks ? xb(ks, bi, zn) : "", ut.set(this, Wn);
                  }
                  return Wn;
                }
              }
            });
          tr = !0;
        }
        e.enableDebugInfo = Pt;
        function Fn(je) {
          const ut = je & 7;
          let er = ut === 0 ? "in out" : ut === 3 ? "[bivariant]" : ut === 2 ? "in" : ut === 1 ? "out" : ut === 4 ? "[independent]" : "";
          return je & 8 ? er += " (unmeasurable)" : je & 16 && (er += " (unreliable)"), er;
        }
        e.formatVariance = Fn;
        class ii {
          __debugToString() {
            var ut;
            switch (this.kind) {
              case 3:
                return ((ut = this.debugInfo) == null ? void 0 : ut.call(this)) || "(function mapper)";
              case 0:
                return `${this.source.__debugTypeToString()} -> ${this.target.__debugTypeToString()}`;
              case 1:
                return gR(
                  this.sources,
                  this.targets || fr(this.sources, () => "any"),
                  (er, Vr) => `${er.__debugTypeToString()} -> ${typeof Vr == "string" ? Vr : Vr.__debugTypeToString()}`
                ).join(", ");
              case 2:
                return gR(
                  this.sources,
                  this.targets,
                  (er, Vr) => `${er.__debugTypeToString()} -> ${Vr().__debugTypeToString()}`
                ).join(", ");
              case 5:
              case 4:
                return `m1: ${this.mapper1.__debugToString().split(`
`).join(`
    `)}
m2: ${this.mapper2.__debugToString().split(`
`).join(`
    `)}`;
              default:
                return z(this);
            }
          }
        }
        e.DebugTypeMapper = ii;
        function li(je) {
          return e.isDebugging ? Object.setPrototypeOf(je, ii.prototype) : je;
        }
        e.attachDebugPrototypeIfDebug = li;
        function cn(je) {
          return console.log(ci(je));
        }
        e.printControlFlowGraph = cn;
        function ci(je) {
          let ut = -1;
          function er(ye) {
            return ye.id || (ye.id = ut, ut--), ye.id;
          }
          let Vr;
          ((ye) => {
            ye.lr = "─", ye.ud = "│", ye.dr = "╭", ye.dl = "╮", ye.ul = "╯", ye.ur = "╰", ye.udr = "├", ye.udl = "┤", ye.dlr = "┬", ye.ulr = "┴", ye.udlr = "╫";
          })(Vr || (Vr = {}));
          let zn;
          ((ye) => {
            ye[ye.None = 0] = "None", ye[ye.Up = 1] = "Up", ye[ye.Down = 2] = "Down", ye[ye.Left = 4] = "Left", ye[ye.Right = 8] = "Right", ye[ye.UpDown = 3] = "UpDown", ye[ye.LeftRight = 12] = "LeftRight", ye[ye.UpLeft = 5] = "UpLeft", ye[ye.UpRight = 9] = "UpRight", ye[ye.DownLeft = 6] = "DownLeft", ye[ye.DownRight = 10] = "DownRight", ye[ye.UpDownLeft = 7] = "UpDownLeft", ye[ye.UpDownRight = 11] = "UpDownRight", ye[ye.UpLeftRight = 13] = "UpLeftRight", ye[ye.DownLeftRight = 14] = "DownLeftRight", ye[ye.UpDownLeftRight = 15] = "UpDownLeftRight", ye[ye.NoChildren = 16] = "NoChildren";
          })(zn || (zn = {}));
          const Wn = 2032, bi = 882, ks = /* @__PURE__ */ Object.create(
            /*o*/
            null
          ), ta = [], gr = Ze(je, /* @__PURE__ */ new Set());
          for (const ye of ta)
            ye.text = Zr(ye.flowNode, ye.circular), Ie(ye);
          const ms = ft(gr), He = _t(ms);
          return kt(gr, 0), we();
          function Et(ye) {
            return !!(ye.flags & 128);
          }
          function ne(ye) {
            return !!(ye.flags & 12) && !!ye.antecedent;
          }
          function rt(ye) {
            return !!(ye.flags & Wn);
          }
          function Q(ye) {
            return !!(ye.flags & bi);
          }
          function Ne(ye) {
            const X = [];
            for (const pt of ye.edges)
              pt.source === ye && X.push(pt.target);
            return X;
          }
          function qe(ye) {
            const X = [];
            for (const pt of ye.edges)
              pt.target === ye && X.push(pt.source);
            return X;
          }
          function Ze(ye, X) {
            const pt = er(ye);
            let jt = ks[pt];
            if (jt && X.has(ye))
              return jt.circular = !0, jt = {
                id: -1,
                flowNode: ye,
                edges: [],
                text: "",
                lane: -1,
                endLane: -1,
                level: -1,
                circular: "circularity"
              }, ta.push(jt), jt;
            if (X.add(ye), !jt)
              if (ks[pt] = jt = { id: pt, flowNode: ye, edges: [], text: "", lane: -1, endLane: -1, level: -1, circular: !1 }, ta.push(jt), ne(ye))
                for (const ke of ye.antecedent)
                  bt(jt, ke, X);
              else rt(ye) && bt(jt, ye.antecedent, X);
            return X.delete(ye), jt;
          }
          function bt(ye, X, pt) {
            const jt = Ze(X, pt), ke = { source: ye, target: jt };
            ye.edges.push(ke), jt.edges.push(ke);
          }
          function Ie(ye) {
            if (ye.level !== -1)
              return ye.level;
            let X = 0;
            for (const pt of qe(ye))
              X = Math.max(X, Ie(pt) + 1);
            return ye.level = X;
          }
          function ft(ye) {
            let X = 0;
            for (const pt of Ne(ye))
              X = Math.max(X, ft(pt));
            return X + 1;
          }
          function _t(ye) {
            const X = _e(Array(ye), 0);
            for (const pt of ta)
              X[pt.level] = Math.max(X[pt.level], pt.text.length);
            return X;
          }
          function kt(ye, X) {
            if (ye.lane === -1) {
              ye.lane = X, ye.endLane = X;
              const pt = Ne(ye);
              for (let jt = 0; jt < pt.length; jt++) {
                jt > 0 && X++;
                const ke = pt[jt];
                kt(ke, X), ke.endLane > ye.endLane && (X = ke.endLane);
              }
              ye.endLane = X;
            }
          }
          function Ve(ye) {
            if (ye & 2) return "Start";
            if (ye & 4) return "Branch";
            if (ye & 8) return "Loop";
            if (ye & 16) return "Assignment";
            if (ye & 32) return "True";
            if (ye & 64) return "False";
            if (ye & 128) return "SwitchClause";
            if (ye & 256) return "ArrayMutation";
            if (ye & 512) return "Call";
            if (ye & 1024) return "ReduceLabel";
            if (ye & 1) return "Unreachable";
            throw new Error();
          }
          function Rt(ye) {
            const X = Er(ye);
            return xb(
              X,
              ye,
              /*includeTrivia*/
              !1
            );
          }
          function Zr(ye, X) {
            let pt = Ve(ye.flags);
            if (X && (pt = `${pt}#${er(ye)}`), Et(ye)) {
              const jt = [], { switchStatement: ke, clauseStart: st, clauseEnd: At } = ye.node;
              for (let Yr = st; Yr < At; Yr++) {
                const Mr = ke.caseBlock.clauses[Yr];
                LD(Mr) ? jt.push("default") : jt.push(Rt(Mr.expression));
              }
              pt += ` (${jt.join(", ")})`;
            } else Q(ye) && ye.node && (pt += ` (${Rt(ye.node)})`);
            return X === "circularity" ? `Circular(${pt})` : pt;
          }
          function we() {
            const ye = He.length, X = IR(ta, 0, (At) => At.lane) + 1, pt = _e(Array(X), ""), jt = He.map(() => Array(X)), ke = He.map(() => _e(Array(X), 0));
            for (const At of ta) {
              jt[At.level][At.lane] = At;
              const Yr = Ne(At);
              for (let Rr = 0; Rr < Yr.length; Rr++) {
                const Ye = Yr[Rr];
                let gt = 8;
                Ye.lane === At.lane && (gt |= 4), Rr > 0 && (gt |= 1), Rr < Yr.length - 1 && (gt |= 2), ke[At.level][Ye.lane] |= gt;
              }
              Yr.length === 0 && (ke[At.level][At.lane] |= 16);
              const Mr = qe(At);
              for (let Rr = 0; Rr < Mr.length; Rr++) {
                const Ye = Mr[Rr];
                let gt = 4;
                Rr > 0 && (gt |= 1), Rr < Mr.length - 1 && (gt |= 2), ke[At.level - 1][Ye.lane] |= gt;
              }
            }
            for (let At = 0; At < ye; At++)
              for (let Yr = 0; Yr < X; Yr++) {
                const Mr = At > 0 ? ke[At - 1][Yr] : 0, Rr = Yr > 0 ? ke[At][Yr - 1] : 0;
                let Ye = ke[At][Yr];
                Ye || (Mr & 8 && (Ye |= 12), Rr & 2 && (Ye |= 3), ke[At][Yr] = Ye);
              }
            for (let At = 0; At < ye; At++)
              for (let Yr = 0; Yr < pt.length; Yr++) {
                const Mr = ke[At][Yr], Rr = Mr & 4 ? "─" : " ", Ye = jt[At][Yr];
                Ye ? (st(Yr, Ye.text), At < ye - 1 && (st(Yr, " "), st(Yr, M(Rr, He[At] - Ye.text.length)))) : At < ye - 1 && st(Yr, M(Rr, He[At] + 1)), st(Yr, mt(Mr)), st(Yr, Mr & 8 && At < ye - 1 && !jt[At + 1][Yr] ? "─" : " ");
              }
            return `
${pt.join(`
`)}
`;
            function st(At, Yr) {
              pt[At] += Yr;
            }
          }
          function mt(ye) {
            switch (ye) {
              case 3:
                return "│";
              case 12:
                return "─";
              case 5:
                return "╯";
              case 9:
                return "╰";
              case 6:
                return "╮";
              case 10:
                return "╭";
              case 7:
                return "┤";
              case 11:
                return "├";
              case 13:
                return "┴";
              case 14:
                return "┬";
              case 15:
                return "╫";
            }
            return " ";
          }
          function _e(ye, X) {
            if (ye.fill)
              ye.fill(X);
            else
              for (let pt = 0; pt < ye.length; pt++)
                ye[pt] = X;
            return ye;
          }
          function M(ye, X) {
            if (ye.repeat)
              return X > 0 ? ye.repeat(X) : "";
            let pt = "";
            for (; pt.length < X; )
              pt += ye;
            return pt;
          }
        }
        e.formatControlFlowGraph = ci;
      })(E || (E = {}));
      var W5e = /^(0|[1-9]\d*)(?:\.(0|[1-9]\d*)(?:\.(0|[1-9]\d*)(?:-([a-z0-9-.]+))?(?:\+([a-z0-9-.]+))?)?)?$/i, V5e = /^(?:0|[1-9]\d*|[a-z-][a-z0-9-]*)(?:\.(?:0|[1-9]\d*|[a-z-][a-z0-9-]*))*$/i, U5e = /^(?:0|[1-9]\d*|[a-z-][a-z0-9-]*)$/i, q5e = /^[a-z0-9-]+(?:\.[a-z0-9-]+)*$/i, H5e = /^[a-z0-9-]+$/i, _ge = /^(?:0|[1-9]\d*)$/, uQ = class jI {
        constructor(t, n = 0, i = 0, s = "", o = "") {
          typeof t == "string" && ({ major: t, minor: n, patch: i, prerelease: s, build: o } = E.checkDefined(fge(t), "Invalid version")), E.assert(t >= 0, "Invalid argument: major"), E.assert(n >= 0, "Invalid argument: minor"), E.assert(i >= 0, "Invalid argument: patch");
          const c = s ? fs(s) ? s : s.split(".") : Ue, _ = o ? fs(o) ? o : o.split(".") : Ue;
          E.assert(Pi(c, (u) => U5e.test(u)), "Invalid argument: prerelease"), E.assert(Pi(_, (u) => H5e.test(u)), "Invalid argument: build"), this.major = t, this.minor = n, this.patch = i, this.prerelease = c, this.build = _;
        }
        static tryParse(t) {
          const n = fge(t);
          if (!n) return;
          const { major: i, minor: s, patch: o, prerelease: c, build: _ } = n;
          return new jI(i, s, o, c, _);
        }
        compareTo(t) {
          return this === t ? 0 : t === void 0 ? 1 : go(this.major, t.major) || go(this.minor, t.minor) || go(this.patch, t.patch) || G5e(this.prerelease, t.prerelease);
        }
        increment(t) {
          switch (t) {
            case "major":
              return new jI(this.major + 1, 0, 0);
            case "minor":
              return new jI(this.major, this.minor + 1, 0);
            case "patch":
              return new jI(this.major, this.minor, this.patch + 1);
            default:
              return E.assertNever(t);
          }
        }
        with(t) {
          const {
            major: n = this.major,
            minor: i = this.minor,
            patch: s = this.patch,
            prerelease: o = this.prerelease,
            build: c = this.build
          } = t;
          return new jI(n, i, s, o, c);
        }
        toString() {
          let t = `${this.major}.${this.minor}.${this.patch}`;
          return at(this.prerelease) && (t += `-${this.prerelease.join(".")}`), at(this.build) && (t += `+${this.build.join(".")}`), t;
        }
      };
      uQ.zero = new uQ(0, 0, 0, ["0"]);
      var ld = uQ;
      function fge(e) {
        const t = W5e.exec(e);
        if (!t) return;
        const [, n, i = "0", s = "0", o = "", c = ""] = t;
        if (!(o && !V5e.test(o)) && !(c && !q5e.test(c)))
          return {
            major: parseInt(n, 10),
            minor: parseInt(i, 10),
            patch: parseInt(s, 10),
            prerelease: o,
            build: c
          };
      }
      function G5e(e, t) {
        if (e === t) return 0;
        if (e.length === 0) return t.length === 0 ? 0 : 1;
        if (t.length === 0) return -1;
        const n = Math.min(e.length, t.length);
        for (let i = 0; i < n; i++) {
          const s = e[i], o = t[i];
          if (s === o) continue;
          const c = _ge.test(s), _ = _ge.test(o);
          if (c || _) {
            if (c !== _) return c ? -1 : 1;
            const u = go(+s, +o);
            if (u) return u;
          } else {
            const u = au(s, o);
            if (u) return u;
          }
        }
        return go(e.length, t.length);
      }
      var $I = class x5e {
        constructor(t) {
          this._alternatives = t ? E.checkDefined(pge(t), "Invalid range spec.") : Ue;
        }
        static tryParse(t) {
          const n = pge(t);
          if (n) {
            const i = new x5e("");
            return i._alternatives = n, i;
          }
        }
        /**
         * Tests whether a version matches the range. This is equivalent to `satisfies(version, range, { includePrerelease: true })`.
         * in `node-semver`.
         */
        test(t) {
          return typeof t == "string" && (t = new ld(t)), tFe(t, this._alternatives);
        }
        toString() {
          return iFe(this._alternatives);
        }
      }, $5e = /\|\|/, X5e = /\s+/, Q5e = /^([x*0]|[1-9]\d*)(?:\.([x*0]|[1-9]\d*)(?:\.([x*0]|[1-9]\d*)(?:-([a-z0-9-.]+))?(?:\+([a-z0-9-.]+))?)?)?$/i, Y5e = /^\s*([a-z0-9-+.*]+)\s+-\s+([a-z0-9-+.*]+)\s*$/i, Z5e = /^([~^<>=]|<=|>=)?\s*([a-z0-9-+.*]+)$/i;
      function pge(e) {
        const t = [];
        for (let n of e.trim().split($5e)) {
          if (!n) continue;
          const i = [];
          n = n.trim();
          const s = Y5e.exec(n);
          if (s) {
            if (!K5e(s[1], s[2], i)) return;
          } else
            for (const o of n.split(X5e)) {
              const c = Z5e.exec(o.trim());
              if (!c || !eFe(c[1], c[2], i)) return;
            }
          t.push(i);
        }
        return t;
      }
      function _Q(e) {
        const t = Q5e.exec(e);
        if (!t) return;
        const [, n, i = "*", s = "*", o, c] = t;
        return { version: new ld(
          xp(n) ? 0 : parseInt(n, 10),
          xp(n) || xp(i) ? 0 : parseInt(i, 10),
          xp(n) || xp(i) || xp(s) ? 0 : parseInt(s, 10),
          o,
          c
        ), major: n, minor: i, patch: s };
      }
      function K5e(e, t, n) {
        const i = _Q(e);
        if (!i) return !1;
        const s = _Q(t);
        return s ? (xp(i.major) || n.push(Vm(">=", i.version)), xp(s.major) || n.push(
          xp(s.minor) ? Vm("<", s.version.increment("major")) : xp(s.patch) ? Vm("<", s.version.increment("minor")) : Vm("<=", s.version)
        ), !0) : !1;
      }
      function eFe(e, t, n) {
        const i = _Q(t);
        if (!i) return !1;
        const { version: s, major: o, minor: c, patch: _ } = i;
        if (xp(o))
          (e === "<" || e === ">") && n.push(Vm("<", ld.zero));
        else switch (e) {
          case "~":
            n.push(Vm(">=", s)), n.push(Vm(
              "<",
              s.increment(
                xp(c) ? "major" : "minor"
              )
            ));
            break;
          case "^":
            n.push(Vm(">=", s)), n.push(Vm(
              "<",
              s.increment(
                s.major > 0 || xp(c) ? "major" : s.minor > 0 || xp(_) ? "minor" : "patch"
              )
            ));
            break;
          case "<":
          case ">=":
            n.push(
              xp(c) || xp(_) ? Vm(e, s.with({ prerelease: "0" })) : Vm(e, s)
            );
            break;
          case "<=":
          case ">":
            n.push(
              xp(c) ? Vm(e === "<=" ? "<" : ">=", s.increment("major").with({ prerelease: "0" })) : xp(_) ? Vm(e === "<=" ? "<" : ">=", s.increment("minor").with({ prerelease: "0" })) : Vm(e, s)
            );
            break;
          case "=":
          case void 0:
            xp(c) || xp(_) ? (n.push(Vm(">=", s.with({ prerelease: "0" }))), n.push(Vm("<", s.increment(xp(c) ? "major" : "minor").with({ prerelease: "0" })))) : n.push(Vm("=", s));
            break;
          default:
            return !1;
        }
        return !0;
      }
      function xp(e) {
        return e === "*" || e === "x" || e === "X";
      }
      function Vm(e, t) {
        return { operator: e, operand: t };
      }
      function tFe(e, t) {
        if (t.length === 0) return !0;
        for (const n of t)
          if (rFe(e, n)) return !0;
        return !1;
      }
      function rFe(e, t) {
        for (const n of t)
          if (!nFe(e, n.operator, n.operand)) return !1;
        return !0;
      }
      function nFe(e, t, n) {
        const i = e.compareTo(n);
        switch (t) {
          case "<":
            return i < 0;
          case "<=":
            return i <= 0;
          case ">":
            return i > 0;
          case ">=":
            return i >= 0;
          case "=":
            return i === 0;
          default:
            return E.assertNever(t);
        }
      }
      function iFe(e) {
        return fr(e, sFe).join(" || ") || "*";
      }
      function sFe(e) {
        return fr(e, aFe).join(" ");
      }
      function aFe(e) {
        return `${e.operator}${e.operand}`;
      }
      function oFe() {
        if (JR())
          try {
            const { performance: e } = ZE;
            if (e)
              return {
                shouldWriteNativeEvents: !1,
                performance: e
              };
          } catch {
          }
        if (typeof performance == "object")
          return {
            shouldWriteNativeEvents: !0,
            performance
          };
      }
      function cFe() {
        const e = oFe();
        if (!e) return;
        const { shouldWriteNativeEvents: t, performance: n } = e, i = {
          shouldWriteNativeEvents: t,
          performance: void 0,
          performanceTime: void 0
        };
        return typeof n.timeOrigin == "number" && typeof n.now == "function" && (i.performanceTime = n), i.performanceTime && typeof n.mark == "function" && typeof n.measure == "function" && typeof n.clearMarks == "function" && typeof n.clearMeasures == "function" && (i.performance = n), i;
      }
      var fQ = cFe(), dge = fQ?.performanceTime;
      function pQ() {
        return fQ;
      }
      var co = dge ? () => dge.now() : Date.now, dQ = {};
      Ta(dQ, {
        clearMarks: () => bge,
        clearMeasures: () => vge,
        createTimer: () => zR,
        createTimerIf: () => mge,
        disable: () => hQ,
        enable: () => VR,
        forEachMark: () => yge,
        forEachMeasure: () => WR,
        getCount: () => hge,
        getDuration: () => u4,
        isEnabled: () => gQ,
        mark: () => Zo,
        measure: () => Xf,
        nullTimer: () => mQ
      });
      var a4, tS;
      function mge(e, t, n, i) {
        return e ? zR(t, n, i) : mQ;
      }
      function zR(e, t, n) {
        let i = 0;
        return {
          enter: s,
          exit: o
        };
        function s() {
          ++i === 1 && Zo(t);
        }
        function o() {
          --i === 0 ? (Zo(n), Xf(e, t, n)) : i < 0 && E.fail("enter/exit count does not match.");
        }
      }
      var mQ = { enter: Ua, exit: Ua }, o4 = !1, gge = co(), c4 = /* @__PURE__ */ new Map(), NP = /* @__PURE__ */ new Map(), l4 = /* @__PURE__ */ new Map();
      function Zo(e) {
        if (o4) {
          const t = NP.get(e) ?? 0;
          NP.set(e, t + 1), c4.set(e, co()), tS?.mark(e), typeof onProfilerEvent == "function" && onProfilerEvent(e);
        }
      }
      function Xf(e, t, n) {
        if (o4) {
          const i = (n !== void 0 ? c4.get(n) : void 0) ?? co(), s = (t !== void 0 ? c4.get(t) : void 0) ?? gge, o = l4.get(e) || 0;
          l4.set(e, o + (i - s)), tS?.measure(e, t, n);
        }
      }
      function hge(e) {
        return NP.get(e) || 0;
      }
      function u4(e) {
        return l4.get(e) || 0;
      }
      function WR(e) {
        l4.forEach((t, n) => e(n, t));
      }
      function yge(e) {
        c4.forEach((t, n) => e(n));
      }
      function vge(e) {
        e !== void 0 ? l4.delete(e) : l4.clear(), tS?.clearMeasures(e);
      }
      function bge(e) {
        e !== void 0 ? (NP.delete(e), c4.delete(e)) : (NP.clear(), c4.clear()), tS?.clearMarks(e);
      }
      function gQ() {
        return o4;
      }
      function VR(e = dl) {
        var t;
        return o4 || (o4 = !0, a4 || (a4 = pQ()), a4?.performance && (gge = a4.performance.timeOrigin, (a4.shouldWriteNativeEvents || (t = e?.cpuProfilingEnabled) != null && t.call(e) || e?.debugMode) && (tS = a4.performance))), !0;
      }
      function hQ() {
        o4 && (c4.clear(), NP.clear(), l4.clear(), tS = void 0, o4 = !1);
      }
      var rn, AP;
      ((e) => {
        let t, n = 0, i = 0, s;
        const o = [];
        let c;
        const _ = [];
        function u(V, G, W) {
          if (E.assert(!rn, "Tracing already started"), t === void 0)
            try {
              t = ZE;
            } catch (te) {
              throw new Error(`tracing requires having fs
(original error: ${te.message || te})`);
            }
          s = V, o.length = 0, c === void 0 && (c = An(G, "legend.json")), t.existsSync(G) || t.mkdirSync(G, { recursive: !0 });
          const pe = s === "build" ? `.${process.pid}-${++n}` : s === "server" ? `.${process.pid}` : "", K = An(G, `trace${pe}.json`), U = An(G, `types${pe}.json`);
          _.push({
            configFilePath: W,
            tracePath: K,
            typesPath: U
          }), i = t.openSync(K, "w"), rn = e;
          const ee = { cat: "__metadata", ph: "M", ts: 1e3 * co(), pid: 1, tid: 1 };
          t.writeSync(
            i,
            `[
` + [{ name: "process_name", args: { name: "tsc" }, ...ee }, { name: "thread_name", args: { name: "Main" }, ...ee }, { name: "TracingStartedInBrowser", ...ee, cat: "disabled-by-default-devtools.timeline" }].map((te) => JSON.stringify(te)).join(`,
`)
          );
        }
        e.startTracing = u;
        function g() {
          E.assert(rn, "Tracing is not in progress"), E.assert(!!o.length == (s !== "server")), t.writeSync(i, `
]
`), t.closeSync(i), rn = void 0, o.length ? j(o) : _[_.length - 1].typesPath = void 0;
        }
        e.stopTracing = g;
        function m(V) {
          s !== "server" && o.push(V);
        }
        e.recordType = m, ((V) => {
          V.Parse = "parse", V.Program = "program", V.Bind = "bind", V.Check = "check", V.CheckTypes = "checkTypes", V.Emit = "emit", V.Session = "session";
        })(e.Phase || (e.Phase = {}));
        function h(V, G, W) {
          O("I", V, G, W, '"s":"g"');
        }
        e.instant = h;
        const S = [];
        function T(V, G, W, pe = !1) {
          pe && O("B", V, G, W), S.push({ phase: V, name: G, args: W, time: 1e3 * co(), separateBeginAndEnd: pe });
        }
        e.push = T;
        function k(V) {
          E.assert(S.length > 0), A(S.length - 1, 1e3 * co(), V), S.length--;
        }
        e.pop = k;
        function D() {
          const V = 1e3 * co();
          for (let G = S.length - 1; G >= 0; G--)
            A(G, V);
          S.length = 0;
        }
        e.popAll = D;
        const w = 1e3 * 10;
        function A(V, G, W) {
          const { phase: pe, name: K, args: U, time: ee, separateBeginAndEnd: te } = S[V];
          te ? (E.assert(!W, "`results` are not supported for events with `separateBeginAndEnd`"), O(
            "E",
            pe,
            K,
            U,
            /*extras*/
            void 0,
            G
          )) : w - ee % w <= G - ee && O("X", pe, K, { ...U, results: W }, `"dur":${G - ee}`, ee);
        }
        function O(V, G, W, pe, K, U = 1e3 * co()) {
          s === "server" && G === "checkTypes" || (Zo("beginTracing"), t.writeSync(i, `,
{"pid":1,"tid":1,"ph":"${V}","cat":"${G}","ts":${U},"name":"${W}"`), K && t.writeSync(i, `,${K}`), pe && t.writeSync(i, `,"args":${JSON.stringify(pe)}`), t.writeSync(i, "}"), Zo("endTracing"), Xf("Tracing", "beginTracing", "endTracing"));
        }
        function F(V) {
          const G = Er(V);
          return G ? {
            path: G.path,
            start: W(Js(G, V.pos)),
            end: W(Js(G, V.end))
          } : void 0;
          function W(pe) {
            return {
              line: pe.line + 1,
              character: pe.character + 1
            };
          }
        }
        function j(V) {
          var G, W, pe, K, U, ee, te, ie, fe, me, q, he, Me, De, re, xe, ue, Xe, nt;
          Zo("beginDumpTypes");
          const oe = _[_.length - 1].typesPath, ve = t.openSync(oe, "w"), se = /* @__PURE__ */ new Map();
          t.writeSync(ve, "[");
          const Pe = V.length;
          for (let Ee = 0; Ee < Pe; Ee++) {
            const Ce = V[Ee], ze = Ce.objectFlags, St = Ce.aliasSymbol ?? Ce.symbol;
            let Bt;
            if (ze & 16 | Ce.flags & 2944)
              try {
                Bt = (G = Ce.checker) == null ? void 0 : G.typeToString(Ce);
              } catch {
                Bt = void 0;
              }
            let tr = {};
            if (Ce.flags & 8388608) {
              const ii = Ce;
              tr = {
                indexedAccessObjectType: (W = ii.objectType) == null ? void 0 : W.id,
                indexedAccessIndexType: (pe = ii.indexType) == null ? void 0 : pe.id
              };
            }
            let Fr = {};
            if (ze & 4) {
              const ii = Ce;
              Fr = {
                instantiatedType: (K = ii.target) == null ? void 0 : K.id,
                typeArguments: (U = ii.resolvedTypeArguments) == null ? void 0 : U.map((li) => li.id),
                referenceLocation: F(ii.node)
              };
            }
            let it = {};
            if (Ce.flags & 16777216) {
              const ii = Ce;
              it = {
                conditionalCheckType: (ee = ii.checkType) == null ? void 0 : ee.id,
                conditionalExtendsType: (te = ii.extendsType) == null ? void 0 : te.id,
                conditionalTrueType: ((ie = ii.resolvedTrueType) == null ? void 0 : ie.id) ?? -1,
                conditionalFalseType: ((fe = ii.resolvedFalseType) == null ? void 0 : fe.id) ?? -1
              };
            }
            let Wt = {};
            if (Ce.flags & 33554432) {
              const ii = Ce;
              Wt = {
                substitutionBaseType: (me = ii.baseType) == null ? void 0 : me.id,
                constraintType: (q = ii.constraint) == null ? void 0 : q.id
              };
            }
            let Wr = {};
            if (ze & 1024) {
              const ii = Ce;
              Wr = {
                reverseMappedSourceType: (he = ii.source) == null ? void 0 : he.id,
                reverseMappedMappedType: (Me = ii.mappedType) == null ? void 0 : Me.id,
                reverseMappedConstraintType: (De = ii.constraintType) == null ? void 0 : De.id
              };
            }
            let ai = {};
            if (ze & 256) {
              const ii = Ce;
              ai = {
                evolvingArrayElementType: ii.elementType.id,
                evolvingArrayFinalType: (re = ii.finalArrayType) == null ? void 0 : re.id
              };
            }
            let zi;
            const Pt = Ce.checker.getRecursionIdentity(Ce);
            Pt && (zi = se.get(Pt), zi || (zi = se.size, se.set(Pt, zi)));
            const Fn = {
              id: Ce.id,
              intrinsicName: Ce.intrinsicName,
              symbolName: St?.escapedName && Ei(St.escapedName),
              recursionId: zi,
              isTuple: ze & 8 ? !0 : void 0,
              unionTypes: Ce.flags & 1048576 ? (xe = Ce.types) == null ? void 0 : xe.map((ii) => ii.id) : void 0,
              intersectionTypes: Ce.flags & 2097152 ? Ce.types.map((ii) => ii.id) : void 0,
              aliasTypeArguments: (ue = Ce.aliasTypeArguments) == null ? void 0 : ue.map((ii) => ii.id),
              keyofType: Ce.flags & 4194304 ? (Xe = Ce.type) == null ? void 0 : Xe.id : void 0,
              ...tr,
              ...Fr,
              ...it,
              ...Wt,
              ...Wr,
              ...ai,
              destructuringPattern: F(Ce.pattern),
              firstDeclaration: F((nt = St?.declarations) == null ? void 0 : nt[0]),
              flags: E.formatTypeFlags(Ce.flags).split("|"),
              display: Bt
            };
            t.writeSync(ve, JSON.stringify(Fn)), Ee < Pe - 1 && t.writeSync(ve, `,
`);
          }
          t.writeSync(ve, `]
`), t.closeSync(ve), Zo("endDumpTypes"), Xf("Dump types", "beginDumpTypes", "endDumpTypes");
        }
        function z() {
          c && t.writeFileSync(c, JSON.stringify(_));
        }
        e.dumpLegend = z;
      })(AP || (AP = {}));
      var yQ = AP.startTracing, vQ = AP.dumpLegend, UR = /* @__PURE__ */ ((e) => (e[e.Unknown = 0] = "Unknown", e[e.EndOfFileToken = 1] = "EndOfFileToken", e[e.SingleLineCommentTrivia = 2] = "SingleLineCommentTrivia", e[e.MultiLineCommentTrivia = 3] = "MultiLineCommentTrivia", e[e.NewLineTrivia = 4] = "NewLineTrivia", e[e.WhitespaceTrivia = 5] = "WhitespaceTrivia", e[e.ShebangTrivia = 6] = "ShebangTrivia", e[e.ConflictMarkerTrivia = 7] = "ConflictMarkerTrivia", e[e.NonTextFileMarkerTrivia = 8] = "NonTextFileMarkerTrivia", e[e.NumericLiteral = 9] = "NumericLiteral", e[e.BigIntLiteral = 10] = "BigIntLiteral", e[e.StringLiteral = 11] = "StringLiteral", e[e.JsxText = 12] = "JsxText", e[e.JsxTextAllWhiteSpaces = 13] = "JsxTextAllWhiteSpaces", e[e.RegularExpressionLiteral = 14] = "RegularExpressionLiteral", e[e.NoSubstitutionTemplateLiteral = 15] = "NoSubstitutionTemplateLiteral", e[e.TemplateHead = 16] = "TemplateHead", e[e.TemplateMiddle = 17] = "TemplateMiddle", e[e.TemplateTail = 18] = "TemplateTail", e[e.OpenBraceToken = 19] = "OpenBraceToken", e[e.CloseBraceToken = 20] = "CloseBraceToken", e[e.OpenParenToken = 21] = "OpenParenToken", e[e.CloseParenToken = 22] = "CloseParenToken", e[e.OpenBracketToken = 23] = "OpenBracketToken", e[e.CloseBracketToken = 24] = "CloseBracketToken", e[e.DotToken = 25] = "DotToken", e[e.DotDotDotToken = 26] = "DotDotDotToken", e[e.SemicolonToken = 27] = "SemicolonToken", e[e.CommaToken = 28] = "CommaToken", e[e.QuestionDotToken = 29] = "QuestionDotToken", e[e.LessThanToken = 30] = "LessThanToken", e[e.LessThanSlashToken = 31] = "LessThanSlashToken", e[e.GreaterThanToken = 32] = "GreaterThanToken", e[e.LessThanEqualsToken = 33] = "LessThanEqualsToken", e[e.GreaterThanEqualsToken = 34] = "GreaterThanEqualsToken", e[e.EqualsEqualsToken = 35] = "EqualsEqualsToken", e[e.ExclamationEqualsToken = 36] = "ExclamationEqualsToken", e[e.EqualsEqualsEqualsToken = 37] = "EqualsEqualsEqualsToken", e[e.ExclamationEqualsEqualsToken = 38] = "ExclamationEqualsEqualsToken", e[e.EqualsGreaterThanToken = 39] = "EqualsGreaterThanToken", e[e.PlusToken = 40] = "PlusToken", e[e.MinusToken = 41] = "MinusToken", e[e.AsteriskToken = 42] = "AsteriskToken", e[e.AsteriskAsteriskToken = 43] = "AsteriskAsteriskToken", e[e.SlashToken = 44] = "SlashToken", e[e.PercentToken = 45] = "PercentToken", e[e.PlusPlusToken = 46] = "PlusPlusToken", e[e.MinusMinusToken = 47] = "MinusMinusToken", e[e.LessThanLessThanToken = 48] = "LessThanLessThanToken", e[e.GreaterThanGreaterThanToken = 49] = "GreaterThanGreaterThanToken", e[e.GreaterThanGreaterThanGreaterThanToken = 50] = "GreaterThanGreaterThanGreaterThanToken", e[e.AmpersandToken = 51] = "AmpersandToken", e[e.BarToken = 52] = "BarToken", e[e.CaretToken = 53] = "CaretToken", e[e.ExclamationToken = 54] = "ExclamationToken", e[e.TildeToken = 55] = "TildeToken", e[e.AmpersandAmpersandToken = 56] = "AmpersandAmpersandToken", e[e.BarBarToken = 57] = "BarBarToken", e[e.QuestionToken = 58] = "QuestionToken", e[e.ColonToken = 59] = "ColonToken", e[e.AtToken = 60] = "AtToken", e[e.QuestionQuestionToken = 61] = "QuestionQuestionToken", e[e.BacktickToken = 62] = "BacktickToken", e[e.HashToken = 63] = "HashToken", e[e.EqualsToken = 64] = "EqualsToken", e[e.PlusEqualsToken = 65] = "PlusEqualsToken", e[e.MinusEqualsToken = 66] = "MinusEqualsToken", e[e.AsteriskEqualsToken = 67] = "AsteriskEqualsToken", e[e.AsteriskAsteriskEqualsToken = 68] = "AsteriskAsteriskEqualsToken", e[e.SlashEqualsToken = 69] = "SlashEqualsToken", e[e.PercentEqualsToken = 70] = "PercentEqualsToken", e[e.LessThanLessThanEqualsToken = 71] = "LessThanLessThanEqualsToken", e[e.GreaterThanGreaterThanEqualsToken = 72] = "GreaterThanGreaterThanEqualsToken", e[e.GreaterThanGreaterThanGreaterThanEqualsToken = 73] = "GreaterThanGreaterThanGreaterThanEqualsToken", e[e.AmpersandEqualsToken = 74] = "AmpersandEqualsToken", e[e.BarEqualsToken = 75] = "BarEqualsToken", e[e.BarBarEqualsToken = 76] = "BarBarEqualsToken", e[e.AmpersandAmpersandEqualsToken = 77] = "AmpersandAmpersandEqualsToken", e[e.QuestionQuestionEqualsToken = 78] = "QuestionQuestionEqualsToken", e[e.CaretEqualsToken = 79] = "CaretEqualsToken", e[e.Identifier = 80] = "Identifier", e[e.PrivateIdentifier = 81] = "PrivateIdentifier", e[e.JSDocCommentTextToken = 82] = "JSDocCommentTextToken", e[e.BreakKeyword = 83] = "BreakKeyword", e[e.CaseKeyword = 84] = "CaseKeyword", e[e.CatchKeyword = 85] = "CatchKeyword", e[e.ClassKeyword = 86] = "ClassKeyword", e[e.ConstKeyword = 87] = "ConstKeyword", e[e.ContinueKeyword = 88] = "ContinueKeyword", e[e.DebuggerKeyword = 89] = "DebuggerKeyword", e[e.DefaultKeyword = 90] = "DefaultKeyword", e[e.DeleteKeyword = 91] = "DeleteKeyword", e[e.DoKeyword = 92] = "DoKeyword", e[e.ElseKeyword = 93] = "ElseKeyword", e[e.EnumKeyword = 94] = "EnumKeyword", e[e.ExportKeyword = 95] = "ExportKeyword", e[e.ExtendsKeyword = 96] = "ExtendsKeyword", e[e.FalseKeyword = 97] = "FalseKeyword", e[e.FinallyKeyword = 98] = "FinallyKeyword", e[e.ForKeyword = 99] = "ForKeyword", e[e.FunctionKeyword = 100] = "FunctionKeyword", e[e.IfKeyword = 101] = "IfKeyword", e[e.ImportKeyword = 102] = "ImportKeyword", e[e.InKeyword = 103] = "InKeyword", e[e.InstanceOfKeyword = 104] = "InstanceOfKeyword", e[e.NewKeyword = 105] = "NewKeyword", e[e.NullKeyword = 106] = "NullKeyword", e[e.ReturnKeyword = 107] = "ReturnKeyword", e[e.SuperKeyword = 108] = "SuperKeyword", e[e.SwitchKeyword = 109] = "SwitchKeyword", e[e.ThisKeyword = 110] = "ThisKeyword", e[e.ThrowKeyword = 111] = "ThrowKeyword", e[e.TrueKeyword = 112] = "TrueKeyword", e[e.TryKeyword = 113] = "TryKeyword", e[e.TypeOfKeyword = 114] = "TypeOfKeyword", e[e.VarKeyword = 115] = "VarKeyword", e[e.VoidKeyword = 116] = "VoidKeyword", e[e.WhileKeyword = 117] = "WhileKeyword", e[e.WithKeyword = 118] = "WithKeyword", e[e.ImplementsKeyword = 119] = "ImplementsKeyword", e[e.InterfaceKeyword = 120] = "InterfaceKeyword", e[e.LetKeyword = 121] = "LetKeyword", e[e.PackageKeyword = 122] = "PackageKeyword", e[e.PrivateKeyword = 123] = "PrivateKeyword", e[e.ProtectedKeyword = 124] = "ProtectedKeyword", e[e.PublicKeyword = 125] = "PublicKeyword", e[e.StaticKeyword = 126] = "StaticKeyword", e[e.YieldKeyword = 127] = "YieldKeyword", e[e.AbstractKeyword = 128] = "AbstractKeyword", e[e.AccessorKeyword = 129] = "AccessorKeyword", e[e.AsKeyword = 130] = "AsKeyword", e[e.AssertsKeyword = 131] = "AssertsKeyword", e[e.AssertKeyword = 132] = "AssertKeyword", e[e.AnyKeyword = 133] = "AnyKeyword", e[e.AsyncKeyword = 134] = "AsyncKeyword", e[e.AwaitKeyword = 135] = "AwaitKeyword", e[e.BooleanKeyword = 136] = "BooleanKeyword", e[e.ConstructorKeyword = 137] = "ConstructorKeyword", e[e.DeclareKeyword = 138] = "DeclareKeyword", e[e.GetKeyword = 139] = "GetKeyword", e[e.InferKeyword = 140] = "InferKeyword", e[e.IntrinsicKeyword = 141] = "IntrinsicKeyword", e[e.IsKeyword = 142] = "IsKeyword", e[e.KeyOfKeyword = 143] = "KeyOfKeyword", e[e.ModuleKeyword = 144] = "ModuleKeyword", e[e.NamespaceKeyword = 145] = "NamespaceKeyword", e[e.NeverKeyword = 146] = "NeverKeyword", e[e.OutKeyword = 147] = "OutKeyword", e[e.ReadonlyKeyword = 148] = "ReadonlyKeyword", e[e.RequireKeyword = 149] = "RequireKeyword", e[e.NumberKeyword = 150] = "NumberKeyword", e[e.ObjectKeyword = 151] = "ObjectKeyword", e[e.SatisfiesKeyword = 152] = "SatisfiesKeyword", e[e.SetKeyword = 153] = "SetKeyword", e[e.StringKeyword = 154] = "StringKeyword", e[e.SymbolKeyword = 155] = "SymbolKeyword", e[e.TypeKeyword = 156] = "TypeKeyword", e[e.UndefinedKeyword = 157] = "UndefinedKeyword", e[e.UniqueKeyword = 158] = "UniqueKeyword", e[e.UnknownKeyword = 159] = "UnknownKeyword", e[e.UsingKeyword = 160] = "UsingKeyword", e[e.FromKeyword = 161] = "FromKeyword", e[e.GlobalKeyword = 162] = "GlobalKeyword", e[e.BigIntKeyword = 163] = "BigIntKeyword", e[e.OverrideKeyword = 164] = "OverrideKeyword", e[e.OfKeyword = 165] = "OfKeyword", e[e.QualifiedName = 166] = "QualifiedName", e[e.ComputedPropertyName = 167] = "ComputedPropertyName", e[e.TypeParameter = 168] = "TypeParameter", e[e.Parameter = 169] = "Parameter", e[e.Decorator = 170] = "Decorator", e[e.PropertySignature = 171] = "PropertySignature", e[e.PropertyDeclaration = 172] = "PropertyDeclaration", e[e.MethodSignature = 173] = "MethodSignature", e[e.MethodDeclaration = 174] = "MethodDeclaration", e[e.ClassStaticBlockDeclaration = 175] = "ClassStaticBlockDeclaration", e[e.Constructor = 176] = "Constructor", e[e.GetAccessor = 177] = "GetAccessor", e[e.SetAccessor = 178] = "SetAccessor", e[e.CallSignature = 179] = "CallSignature", e[e.ConstructSignature = 180] = "ConstructSignature", e[e.IndexSignature = 181] = "IndexSignature", e[e.TypePredicate = 182] = "TypePredicate", e[e.TypeReference = 183] = "TypeReference", e[e.FunctionType = 184] = "FunctionType", e[e.ConstructorType = 185] = "ConstructorType", e[e.TypeQuery = 186] = "TypeQuery", e[e.TypeLiteral = 187] = "TypeLiteral", e[e.ArrayType = 188] = "ArrayType", e[e.TupleType = 189] = "TupleType", e[e.OptionalType = 190] = "OptionalType", e[e.RestType = 191] = "RestType", e[e.UnionType = 192] = "UnionType", e[e.IntersectionType = 193] = "IntersectionType", e[e.ConditionalType = 194] = "ConditionalType", e[e.InferType = 195] = "InferType", e[e.ParenthesizedType = 196] = "ParenthesizedType", e[e.ThisType = 197] = "ThisType", e[e.TypeOperator = 198] = "TypeOperator", e[e.IndexedAccessType = 199] = "IndexedAccessType", e[e.MappedType = 200] = "MappedType", e[e.LiteralType = 201] = "LiteralType", e[e.NamedTupleMember = 202] = "NamedTupleMember", e[e.TemplateLiteralType = 203] = "TemplateLiteralType", e[e.TemplateLiteralTypeSpan = 204] = "TemplateLiteralTypeSpan", e[e.ImportType = 205] = "ImportType", e[e.ObjectBindingPattern = 206] = "ObjectBindingPattern", e[e.ArrayBindingPattern = 207] = "ArrayBindingPattern", e[e.BindingElement = 208] = "BindingElement", e[e.ArrayLiteralExpression = 209] = "ArrayLiteralExpression", e[e.ObjectLiteralExpression = 210] = "ObjectLiteralExpression", e[e.PropertyAccessExpression = 211] = "PropertyAccessExpression", e[e.ElementAccessExpression = 212] = "ElementAccessExpression", e[e.CallExpression = 213] = "CallExpression", e[e.NewExpression = 214] = "NewExpression", e[e.TaggedTemplateExpression = 215] = "TaggedTemplateExpression", e[e.TypeAssertionExpression = 216] = "TypeAssertionExpression", e[e.ParenthesizedExpression = 217] = "ParenthesizedExpression", e[e.FunctionExpression = 218] = "FunctionExpression", e[e.ArrowFunction = 219] = "ArrowFunction", e[e.DeleteExpression = 220] = "DeleteExpression", e[e.TypeOfExpression = 221] = "TypeOfExpression", e[e.VoidExpression = 222] = "VoidExpression", e[e.AwaitExpression = 223] = "AwaitExpression", e[e.PrefixUnaryExpression = 224] = "PrefixUnaryExpression", e[e.PostfixUnaryExpression = 225] = "PostfixUnaryExpression", e[e.BinaryExpression = 226] = "BinaryExpression", e[e.ConditionalExpression = 227] = "ConditionalExpression", e[e.TemplateExpression = 228] = "TemplateExpression", e[e.YieldExpression = 229] = "YieldExpression", e[e.SpreadElement = 230] = "SpreadElement", e[e.ClassExpression = 231] = "ClassExpression", e[e.OmittedExpression = 232] = "OmittedExpression", e[e.ExpressionWithTypeArguments = 233] = "ExpressionWithTypeArguments", e[e.AsExpression = 234] = "AsExpression", e[e.NonNullExpression = 235] = "NonNullExpression", e[e.MetaProperty = 236] = "MetaProperty", e[e.SyntheticExpression = 237] = "SyntheticExpression", e[e.SatisfiesExpression = 238] = "SatisfiesExpression", e[e.TemplateSpan = 239] = "TemplateSpan", e[e.SemicolonClassElement = 240] = "SemicolonClassElement", e[e.Block = 241] = "Block", e[e.EmptyStatement = 242] = "EmptyStatement", e[e.VariableStatement = 243] = "VariableStatement", e[e.ExpressionStatement = 244] = "ExpressionStatement", e[e.IfStatement = 245] = "IfStatement", e[e.DoStatement = 246] = "DoStatement", e[e.WhileStatement = 247] = "WhileStatement", e[e.ForStatement = 248] = "ForStatement", e[e.ForInStatement = 249] = "ForInStatement", e[e.ForOfStatement = 250] = "ForOfStatement", e[e.ContinueStatement = 251] = "ContinueStatement", e[e.BreakStatement = 252] = "BreakStatement", e[e.ReturnStatement = 253] = "ReturnStatement", e[e.WithStatement = 254] = "WithStatement", e[e.SwitchStatement = 255] = "SwitchStatement", e[e.LabeledStatement = 256] = "LabeledStatement", e[e.ThrowStatement = 257] = "ThrowStatement", e[e.TryStatement = 258] = "TryStatement", e[e.DebuggerStatement = 259] = "DebuggerStatement", e[e.VariableDeclaration = 260] = "VariableDeclaration", e[e.VariableDeclarationList = 261] = "VariableDeclarationList", e[e.FunctionDeclaration = 262] = "FunctionDeclaration", e[e.ClassDeclaration = 263] = "ClassDeclaration", e[e.InterfaceDeclaration = 264] = "InterfaceDeclaration", e[e.TypeAliasDeclaration = 265] = "TypeAliasDeclaration", e[e.EnumDeclaration = 266] = "EnumDeclaration", e[e.ModuleDeclaration = 267] = "ModuleDeclaration", e[e.ModuleBlock = 268] = "ModuleBlock", e[e.CaseBlock = 269] = "CaseBlock", e[e.NamespaceExportDeclaration = 270] = "NamespaceExportDeclaration", e[e.ImportEqualsDeclaration = 271] = "ImportEqualsDeclaration", e[e.ImportDeclaration = 272] = "ImportDeclaration", e[e.ImportClause = 273] = "ImportClause", e[e.NamespaceImport = 274] = "NamespaceImport", e[e.NamedImports = 275] = "NamedImports", e[e.ImportSpecifier = 276] = "ImportSpecifier", e[e.ExportAssignment = 277] = "ExportAssignment", e[e.ExportDeclaration = 278] = "ExportDeclaration", e[e.NamedExports = 279] = "NamedExports", e[e.NamespaceExport = 280] = "NamespaceExport", e[e.ExportSpecifier = 281] = "ExportSpecifier", e[e.MissingDeclaration = 282] = "MissingDeclaration", e[e.ExternalModuleReference = 283] = "ExternalModuleReference", e[e.JsxElement = 284] = "JsxElement", e[e.JsxSelfClosingElement = 285] = "JsxSelfClosingElement", e[e.JsxOpeningElement = 286] = "JsxOpeningElement", e[e.JsxClosingElement = 287] = "JsxClosingElement", e[e.JsxFragment = 288] = "JsxFragment", e[e.JsxOpeningFragment = 289] = "JsxOpeningFragment", e[e.JsxClosingFragment = 290] = "JsxClosingFragment", e[e.JsxAttribute = 291] = "JsxAttribute", e[e.JsxAttributes = 292] = "JsxAttributes", e[e.JsxSpreadAttribute = 293] = "JsxSpreadAttribute", e[e.JsxExpression = 294] = "JsxExpression", e[e.JsxNamespacedName = 295] = "JsxNamespacedName", e[e.CaseClause = 296] = "CaseClause", e[e.DefaultClause = 297] = "DefaultClause", e[e.HeritageClause = 298] = "HeritageClause", e[e.CatchClause = 299] = "CatchClause", e[e.ImportAttributes = 300] = "ImportAttributes", e[e.ImportAttribute = 301] = "ImportAttribute", e[
        e.AssertClause = 300
        /* ImportAttributes */
      ] = "AssertClause", e[
        e.AssertEntry = 301
        /* ImportAttribute */
      ] = "AssertEntry", e[e.ImportTypeAssertionContainer = 302] = "ImportTypeAssertionContainer", e[e.PropertyAssignment = 303] = "PropertyAssignment", e[e.ShorthandPropertyAssignment = 304] = "ShorthandPropertyAssignment", e[e.SpreadAssignment = 305] = "SpreadAssignment", e[e.EnumMember = 306] = "EnumMember", e[e.SourceFile = 307] = "SourceFile", e[e.Bundle = 308] = "Bundle", e[e.JSDocTypeExpression = 309] = "JSDocTypeExpression", e[e.JSDocNameReference = 310] = "JSDocNameReference", e[e.JSDocMemberName = 311] = "JSDocMemberName", e[e.JSDocAllType = 312] = "JSDocAllType", e[e.JSDocUnknownType = 313] = "JSDocUnknownType", e[e.JSDocNullableType = 314] = "JSDocNullableType", e[e.JSDocNonNullableType = 315] = "JSDocNonNullableType", e[e.JSDocOptionalType = 316] = "JSDocOptionalType", e[e.JSDocFunctionType = 317] = "JSDocFunctionType", e[e.JSDocVariadicType = 318] = "JSDocVariadicType", e[e.JSDocNamepathType = 319] = "JSDocNamepathType", e[e.JSDoc = 320] = "JSDoc", e[
        e.JSDocComment = 320
        /* JSDoc */
      ] = "JSDocComment", e[e.JSDocText = 321] = "JSDocText", e[e.JSDocTypeLiteral = 322] = "JSDocTypeLiteral", e[e.JSDocSignature = 323] = "JSDocSignature", e[e.JSDocLink = 324] = "JSDocLink", e[e.JSDocLinkCode = 325] = "JSDocLinkCode", e[e.JSDocLinkPlain = 326] = "JSDocLinkPlain", e[e.JSDocTag = 327] = "JSDocTag", e[e.JSDocAugmentsTag = 328] = "JSDocAugmentsTag", e[e.JSDocImplementsTag = 329] = "JSDocImplementsTag", e[e.JSDocAuthorTag = 330] = "JSDocAuthorTag", e[e.JSDocDeprecatedTag = 331] = "JSDocDeprecatedTag", e[e.JSDocClassTag = 332] = "JSDocClassTag", e[e.JSDocPublicTag = 333] = "JSDocPublicTag", e[e.JSDocPrivateTag = 334] = "JSDocPrivateTag", e[e.JSDocProtectedTag = 335] = "JSDocProtectedTag", e[e.JSDocReadonlyTag = 336] = "JSDocReadonlyTag", e[e.JSDocOverrideTag = 337] = "JSDocOverrideTag", e[e.JSDocCallbackTag = 338] = "JSDocCallbackTag", e[e.JSDocOverloadTag = 339] = "JSDocOverloadTag", e[e.JSDocEnumTag = 340] = "JSDocEnumTag", e[e.JSDocParameterTag = 341] = "JSDocParameterTag", e[e.JSDocReturnTag = 342] = "JSDocReturnTag", e[e.JSDocThisTag = 343] = "JSDocThisTag", e[e.JSDocTypeTag = 344] = "JSDocTypeTag", e[e.JSDocTemplateTag = 345] = "JSDocTemplateTag", e[e.JSDocTypedefTag = 346] = "JSDocTypedefTag", e[e.JSDocSeeTag = 347] = "JSDocSeeTag", e[e.JSDocPropertyTag = 348] = "JSDocPropertyTag", e[e.JSDocThrowsTag = 349] = "JSDocThrowsTag", e[e.JSDocSatisfiesTag = 350] = "JSDocSatisfiesTag", e[e.JSDocImportTag = 351] = "JSDocImportTag", e[e.SyntaxList = 352] = "SyntaxList", e[e.NotEmittedStatement = 353] = "NotEmittedStatement", e[e.NotEmittedTypeElement = 354] = "NotEmittedTypeElement", e[e.PartiallyEmittedExpression = 355] = "PartiallyEmittedExpression", e[e.CommaListExpression = 356] = "CommaListExpression", e[e.SyntheticReferenceExpression = 357] = "SyntheticReferenceExpression", e[e.Count = 358] = "Count", e[
        e.FirstAssignment = 64
        /* EqualsToken */
      ] = "FirstAssignment", e[
        e.LastAssignment = 79
        /* CaretEqualsToken */
      ] = "LastAssignment", e[
        e.FirstCompoundAssignment = 65
        /* PlusEqualsToken */
      ] = "FirstCompoundAssignment", e[
        e.LastCompoundAssignment = 79
        /* CaretEqualsToken */
      ] = "LastCompoundAssignment", e[
        e.FirstReservedWord = 83
        /* BreakKeyword */
      ] = "FirstReservedWord", e[
        e.LastReservedWord = 118
        /* WithKeyword */
      ] = "LastReservedWord", e[
        e.FirstKeyword = 83
        /* BreakKeyword */
      ] = "FirstKeyword", e[
        e.LastKeyword = 165
        /* OfKeyword */
      ] = "LastKeyword", e[
        e.FirstFutureReservedWord = 119
        /* ImplementsKeyword */
      ] = "FirstFutureReservedWord", e[
        e.LastFutureReservedWord = 127
        /* YieldKeyword */
      ] = "LastFutureReservedWord", e[
        e.FirstTypeNode = 182
        /* TypePredicate */
      ] = "FirstTypeNode", e[
        e.LastTypeNode = 205
        /* ImportType */
      ] = "LastTypeNode", e[
        e.FirstPunctuation = 19
        /* OpenBraceToken */
      ] = "FirstPunctuation", e[
        e.LastPunctuation = 79
        /* CaretEqualsToken */
      ] = "LastPunctuation", e[
        e.FirstToken = 0
        /* Unknown */
      ] = "FirstToken", e[
        e.LastToken = 165
        /* LastKeyword */
      ] = "LastToken", e[
        e.FirstTriviaToken = 2
        /* SingleLineCommentTrivia */
      ] = "FirstTriviaToken", e[
        e.LastTriviaToken = 7
        /* ConflictMarkerTrivia */
      ] = "LastTriviaToken", e[
        e.FirstLiteralToken = 9
        /* NumericLiteral */
      ] = "FirstLiteralToken", e[
        e.LastLiteralToken = 15
        /* NoSubstitutionTemplateLiteral */
      ] = "LastLiteralToken", e[
        e.FirstTemplateToken = 15
        /* NoSubstitutionTemplateLiteral */
      ] = "FirstTemplateToken", e[
        e.LastTemplateToken = 18
        /* TemplateTail */
      ] = "LastTemplateToken", e[
        e.FirstBinaryOperator = 30
        /* LessThanToken */
      ] = "FirstBinaryOperator", e[
        e.LastBinaryOperator = 79
        /* CaretEqualsToken */
      ] = "LastBinaryOperator", e[
        e.FirstStatement = 243
        /* VariableStatement */
      ] = "FirstStatement", e[
        e.LastStatement = 259
        /* DebuggerStatement */
      ] = "LastStatement", e[
        e.FirstNode = 166
        /* QualifiedName */
      ] = "FirstNode", e[
        e.FirstJSDocNode = 309
        /* JSDocTypeExpression */
      ] = "FirstJSDocNode", e[
        e.LastJSDocNode = 351
        /* JSDocImportTag */
      ] = "LastJSDocNode", e[
        e.FirstJSDocTagNode = 327
        /* JSDocTag */
      ] = "FirstJSDocTagNode", e[
        e.LastJSDocTagNode = 351
        /* JSDocImportTag */
      ] = "LastJSDocTagNode", e[
        e.FirstContextualKeyword = 128
        /* AbstractKeyword */
      ] = "FirstContextualKeyword", e[
        e.LastContextualKeyword = 165
        /* OfKeyword */
      ] = "LastContextualKeyword", e))(UR || {}), qR = /* @__PURE__ */ ((e) => (e[e.None = 0] = "None", e[e.Let = 1] = "Let", e[e.Const = 2] = "Const", e[e.Using = 4] = "Using", e[e.AwaitUsing = 6] = "AwaitUsing", e[e.NestedNamespace = 8] = "NestedNamespace", e[e.Synthesized = 16] = "Synthesized", e[e.Namespace = 32] = "Namespace", e[e.OptionalChain = 64] = "OptionalChain", e[e.ExportContext = 128] = "ExportContext", e[e.ContainsThis = 256] = "ContainsThis", e[e.HasImplicitReturn = 512] = "HasImplicitReturn", e[e.HasExplicitReturn = 1024] = "HasExplicitReturn", e[e.GlobalAugmentation = 2048] = "GlobalAugmentation", e[e.HasAsyncFunctions = 4096] = "HasAsyncFunctions", e[e.DisallowInContext = 8192] = "DisallowInContext", e[e.YieldContext = 16384] = "YieldContext", e[e.DecoratorContext = 32768] = "DecoratorContext", e[e.AwaitContext = 65536] = "AwaitContext", e[e.DisallowConditionalTypesContext = 131072] = "DisallowConditionalTypesContext", e[e.ThisNodeHasError = 262144] = "ThisNodeHasError", e[e.JavaScriptFile = 524288] = "JavaScriptFile", e[e.ThisNodeOrAnySubNodesHasError = 1048576] = "ThisNodeOrAnySubNodesHasError", e[e.HasAggregatedChildData = 2097152] = "HasAggregatedChildData", e[e.PossiblyContainsDynamicImport = 4194304] = "PossiblyContainsDynamicImport", e[e.PossiblyContainsImportMeta = 8388608] = "PossiblyContainsImportMeta", e[e.JSDoc = 16777216] = "JSDoc", e[e.Ambient = 33554432] = "Ambient", e[e.InWithStatement = 67108864] = "InWithStatement", e[e.JsonFile = 134217728] = "JsonFile", e[e.TypeCached = 268435456] = "TypeCached", e[e.Deprecated = 536870912] = "Deprecated", e[e.BlockScoped = 7] = "BlockScoped", e[e.Constant = 6] = "Constant", e[e.ReachabilityCheckFlags = 1536] = "ReachabilityCheckFlags", e[e.ReachabilityAndEmitFlags = 5632] = "ReachabilityAndEmitFlags", e[e.ContextFlags = 101441536] = "ContextFlags", e[e.TypeExcludesFlags = 81920] = "TypeExcludesFlags", e[e.PermanentlySetIncrementalFlags = 12582912] = "PermanentlySetIncrementalFlags", e[
        e.IdentifierHasExtendedUnicodeEscape = 256
        /* ContainsThis */
      ] = "IdentifierHasExtendedUnicodeEscape", e[
        e.IdentifierIsInJSDocNamespace = 4096
        /* HasAsyncFunctions */
      ] = "IdentifierIsInJSDocNamespace", e))(qR || {}), HR = /* @__PURE__ */ ((e) => (e[e.None = 0] = "None", e[e.Public = 1] = "Public", e[e.Private = 2] = "Private", e[e.Protected = 4] = "Protected", e[e.Readonly = 8] = "Readonly", e[e.Override = 16] = "Override", e[e.Export = 32] = "Export", e[e.Abstract = 64] = "Abstract", e[e.Ambient = 128] = "Ambient", e[e.Static = 256] = "Static", e[e.Accessor = 512] = "Accessor", e[e.Async = 1024] = "Async", e[e.Default = 2048] = "Default", e[e.Const = 4096] = "Const", e[e.In = 8192] = "In", e[e.Out = 16384] = "Out", e[e.Decorator = 32768] = "Decorator", e[e.Deprecated = 65536] = "Deprecated", e[e.JSDocPublic = 8388608] = "JSDocPublic", e[e.JSDocPrivate = 16777216] = "JSDocPrivate", e[e.JSDocProtected = 33554432] = "JSDocProtected", e[e.JSDocReadonly = 67108864] = "JSDocReadonly", e[e.JSDocOverride = 134217728] = "JSDocOverride", e[e.SyntacticOrJSDocModifiers = 31] = "SyntacticOrJSDocModifiers", e[e.SyntacticOnlyModifiers = 65504] = "SyntacticOnlyModifiers", e[e.SyntacticModifiers = 65535] = "SyntacticModifiers", e[e.JSDocCacheOnlyModifiers = 260046848] = "JSDocCacheOnlyModifiers", e[
        e.JSDocOnlyModifiers = 65536
        /* Deprecated */
      ] = "JSDocOnlyModifiers", e[e.NonCacheOnlyModifiers = 131071] = "NonCacheOnlyModifiers", e[e.HasComputedJSDocModifiers = 268435456] = "HasComputedJSDocModifiers", e[e.HasComputedFlags = 536870912] = "HasComputedFlags", e[e.AccessibilityModifier = 7] = "AccessibilityModifier", e[e.ParameterPropertyModifier = 31] = "ParameterPropertyModifier", e[e.NonPublicAccessibilityModifier = 6] = "NonPublicAccessibilityModifier", e[e.TypeScriptModifier = 28895] = "TypeScriptModifier", e[e.ExportDefault = 2080] = "ExportDefault", e[e.All = 131071] = "All", e[e.Modifier = 98303] = "Modifier", e))(HR || {}), bQ = /* @__PURE__ */ ((e) => (e[e.None = 0] = "None", e[e.IntrinsicNamedElement = 1] = "IntrinsicNamedElement", e[e.IntrinsicIndexedElement = 2] = "IntrinsicIndexedElement", e[e.IntrinsicElement = 3] = "IntrinsicElement", e))(bQ || {}), GR = /* @__PURE__ */ ((e) => (e[e.None = 0] = "None", e[e.Succeeded = 1] = "Succeeded", e[e.Failed = 2] = "Failed", e[e.ReportsUnmeasurable = 8] = "ReportsUnmeasurable", e[e.ReportsUnreliable = 16] = "ReportsUnreliable", e[e.ReportsMask = 24] = "ReportsMask", e[e.ComplexityOverflow = 32] = "ComplexityOverflow", e[e.StackDepthOverflow = 64] = "StackDepthOverflow", e[e.Overflow = 96] = "Overflow", e))(GR || {}), SQ = /* @__PURE__ */ ((e) => (e[e.None = 0] = "None", e[e.Always = 1] = "Always", e[e.Never = 2] = "Never", e[e.Sometimes = 3] = "Sometimes", e))(SQ || {}), $R = /* @__PURE__ */ ((e) => (e[e.None = 0] = "None", e[e.Auto = 1] = "Auto", e[e.Loop = 2] = "Loop", e[e.Unique = 3] = "Unique", e[e.Node = 4] = "Node", e[e.KindMask = 7] = "KindMask", e[e.ReservedInNestedScopes = 8] = "ReservedInNestedScopes", e[e.Optimistic = 16] = "Optimistic", e[e.FileLevel = 32] = "FileLevel", e[e.AllowNameSubstitution = 64] = "AllowNameSubstitution", e))($R || {}), TQ = /* @__PURE__ */ ((e) => (e[e.None = 0] = "None", e[e.HasIndices = 1] = "HasIndices", e[e.Global = 2] = "Global", e[e.IgnoreCase = 4] = "IgnoreCase", e[e.Multiline = 8] = "Multiline", e[e.DotAll = 16] = "DotAll", e[e.Unicode = 32] = "Unicode", e[e.UnicodeSets = 64] = "UnicodeSets", e[e.Sticky = 128] = "Sticky", e[e.AnyUnicodeMode = 96] = "AnyUnicodeMode", e[e.Modifiers = 28] = "Modifiers", e))(TQ || {}), xQ = /* @__PURE__ */ ((e) => (e[e.None = 0] = "None", e[e.PrecedingLineBreak = 1] = "PrecedingLineBreak", e[e.PrecedingJSDocComment = 2] = "PrecedingJSDocComment", e[e.Unterminated = 4] = "Unterminated", e[e.ExtendedUnicodeEscape = 8] = "ExtendedUnicodeEscape", e[e.Scientific = 16] = "Scientific", e[e.Octal = 32] = "Octal", e[e.HexSpecifier = 64] = "HexSpecifier", e[e.BinarySpecifier = 128] = "BinarySpecifier", e[e.OctalSpecifier = 256] = "OctalSpecifier", e[e.ContainsSeparator = 512] = "ContainsSeparator", e[e.UnicodeEscape = 1024] = "UnicodeEscape", e[e.ContainsInvalidEscape = 2048] = "ContainsInvalidEscape", e[e.HexEscape = 4096] = "HexEscape", e[e.ContainsLeadingZero = 8192] = "ContainsLeadingZero", e[e.ContainsInvalidSeparator = 16384] = "ContainsInvalidSeparator", e[e.PrecedingJSDocLeadingAsterisks = 32768] = "PrecedingJSDocLeadingAsterisks", e[e.BinaryOrOctalSpecifier = 384] = "BinaryOrOctalSpecifier", e[e.WithSpecifier = 448] = "WithSpecifier", e[e.StringLiteralFlags = 7176] = "StringLiteralFlags", e[e.NumericLiteralFlags = 25584] = "NumericLiteralFlags", e[e.TemplateLiteralLikeFlags = 7176] = "TemplateLiteralLikeFlags", e[e.IsInvalid = 26656] = "IsInvalid", e))(xQ || {}), XI = /* @__PURE__ */ ((e) => (e[e.Unreachable = 1] = "Unreachable", e[e.Start = 2] = "Start", e[e.BranchLabel = 4] = "BranchLabel", e[e.LoopLabel = 8] = "LoopLabel", e[e.Assignment = 16] = "Assignment", e[e.TrueCondition = 32] = "TrueCondition", e[e.FalseCondition = 64] = "FalseCondition", e[e.SwitchClause = 128] = "SwitchClause", e[e.ArrayMutation = 256] = "ArrayMutation", e[e.Call = 512] = "Call", e[e.ReduceLabel = 1024] = "ReduceLabel", e[e.Referenced = 2048] = "Referenced", e[e.Shared = 4096] = "Shared", e[e.Label = 12] = "Label", e[e.Condition = 96] = "Condition", e))(XI || {}), kQ = /* @__PURE__ */ ((e) => (e[e.ExpectError = 0] = "ExpectError", e[e.Ignore = 1] = "Ignore", e))(kQ || {}), _4 = class {
      }, XR = /* @__PURE__ */ ((e) => (e[e.RootFile = 0] = "RootFile", e[e.SourceFromProjectReference = 1] = "SourceFromProjectReference", e[e.OutputFromProjectReference = 2] = "OutputFromProjectReference", e[e.Import = 3] = "Import", e[e.ReferenceFile = 4] = "ReferenceFile", e[e.TypeReferenceDirective = 5] = "TypeReferenceDirective", e[e.LibFile = 6] = "LibFile", e[e.LibReferenceDirective = 7] = "LibReferenceDirective", e[e.AutomaticTypeDirectiveFile = 8] = "AutomaticTypeDirectiveFile", e))(XR || {}), CQ = /* @__PURE__ */ ((e) => (e[e.FilePreprocessingLibReferenceDiagnostic = 0] = "FilePreprocessingLibReferenceDiagnostic", e[e.FilePreprocessingFileExplainingDiagnostic = 1] = "FilePreprocessingFileExplainingDiagnostic", e[e.ResolutionDiagnostics = 2] = "ResolutionDiagnostics", e))(CQ || {}), EQ = /* @__PURE__ */ ((e) => (e[e.Js = 0] = "Js", e[e.Dts = 1] = "Dts", e[e.BuilderSignature = 2] = "BuilderSignature", e))(EQ || {}), QR = /* @__PURE__ */ ((e) => (e[e.Not = 0] = "Not", e[e.SafeModules = 1] = "SafeModules", e[e.Completely = 2] = "Completely", e))(QR || {}), DQ = /* @__PURE__ */ ((e) => (e[e.Success = 0] = "Success", e[e.DiagnosticsPresent_OutputsSkipped = 1] = "DiagnosticsPresent_OutputsSkipped", e[e.DiagnosticsPresent_OutputsGenerated = 2] = "DiagnosticsPresent_OutputsGenerated", e[e.InvalidProject_OutputsSkipped = 3] = "InvalidProject_OutputsSkipped", e[e.ProjectReferenceCycle_OutputsSkipped = 4] = "ProjectReferenceCycle_OutputsSkipped", e))(DQ || {}), wQ = /* @__PURE__ */ ((e) => (e[e.Ok = 0] = "Ok", e[e.NeedsOverride = 1] = "NeedsOverride", e[e.HasInvalidOverride = 2] = "HasInvalidOverride", e))(wQ || {}), PQ = /* @__PURE__ */ ((e) => (e[e.None = 0] = "None", e[e.Literal = 1] = "Literal", e[e.Subtype = 2] = "Subtype", e))(PQ || {}), NQ = /* @__PURE__ */ ((e) => (e[e.None = 0] = "None", e[e.NoSupertypeReduction = 1] = "NoSupertypeReduction", e[e.NoConstraintReduction = 2] = "NoConstraintReduction", e))(NQ || {}), AQ = /* @__PURE__ */ ((e) => (e[e.None = 0] = "None", e[e.Signature = 1] = "Signature", e[e.NoConstraints = 2] = "NoConstraints", e[e.Completions = 4] = "Completions", e[e.SkipBindingPatterns = 8] = "SkipBindingPatterns", e))(AQ || {}), IQ = /* @__PURE__ */ ((e) => (e[e.None = 0] = "None", e[e.NoTruncation = 1] = "NoTruncation", e[e.WriteArrayAsGenericType = 2] = "WriteArrayAsGenericType", e[e.GenerateNamesForShadowedTypeParams = 4] = "GenerateNamesForShadowedTypeParams", e[e.UseStructuralFallback = 8] = "UseStructuralFallback", e[e.ForbidIndexedAccessSymbolReferences = 16] = "ForbidIndexedAccessSymbolReferences", e[e.WriteTypeArgumentsOfSignature = 32] = "WriteTypeArgumentsOfSignature", e[e.UseFullyQualifiedType = 64] = "UseFullyQualifiedType", e[e.UseOnlyExternalAliasing = 128] = "UseOnlyExternalAliasing", e[e.SuppressAnyReturnType = 256] = "SuppressAnyReturnType", e[e.WriteTypeParametersInQualifiedName = 512] = "WriteTypeParametersInQualifiedName", e[e.MultilineObjectLiterals = 1024] = "MultilineObjectLiterals", e[e.WriteClassExpressionAsTypeLiteral = 2048] = "WriteClassExpressionAsTypeLiteral", e[e.UseTypeOfFunction = 4096] = "UseTypeOfFunction", e[e.OmitParameterModifiers = 8192] = "OmitParameterModifiers", e[e.UseAliasDefinedOutsideCurrentScope = 16384] = "UseAliasDefinedOutsideCurrentScope", e[e.UseSingleQuotesForStringLiteralType = 268435456] = "UseSingleQuotesForStringLiteralType", e[e.NoTypeReduction = 536870912] = "NoTypeReduction", e[e.OmitThisParameter = 33554432] = "OmitThisParameter", e[e.AllowThisInObjectLiteral = 32768] = "AllowThisInObjectLiteral", e[e.AllowQualifiedNameInPlaceOfIdentifier = 65536] = "AllowQualifiedNameInPlaceOfIdentifier", e[e.AllowAnonymousIdentifier = 131072] = "AllowAnonymousIdentifier", e[e.AllowEmptyUnionOrIntersection = 262144] = "AllowEmptyUnionOrIntersection", e[e.AllowEmptyTuple = 524288] = "AllowEmptyTuple", e[e.AllowUniqueESSymbolType = 1048576] = "AllowUniqueESSymbolType", e[e.AllowEmptyIndexInfoType = 2097152] = "AllowEmptyIndexInfoType", e[e.AllowNodeModulesRelativePaths = 67108864] = "AllowNodeModulesRelativePaths", e[e.IgnoreErrors = 70221824] = "IgnoreErrors", e[e.InObjectTypeLiteral = 4194304] = "InObjectTypeLiteral", e[e.InTypeAlias = 8388608] = "InTypeAlias", e[e.InInitialEntityName = 16777216] = "InInitialEntityName", e))(IQ || {}), FQ = /* @__PURE__ */ ((e) => (e[e.None = 0] = "None", e[e.WriteComputedProps = 1] = "WriteComputedProps", e[e.NoSyntacticPrinter = 2] = "NoSyntacticPrinter", e[e.DoNotIncludeSymbolChain = 4] = "DoNotIncludeSymbolChain", e[e.AllowUnresolvedNames = 8] = "AllowUnresolvedNames", e))(FQ || {}), OQ = /* @__PURE__ */ ((e) => (e[e.None = 0] = "None", e[e.NoTruncation = 1] = "NoTruncation", e[e.WriteArrayAsGenericType = 2] = "WriteArrayAsGenericType", e[e.GenerateNamesForShadowedTypeParams = 4] = "GenerateNamesForShadowedTypeParams", e[e.UseStructuralFallback = 8] = "UseStructuralFallback", e[e.WriteTypeArgumentsOfSignature = 32] = "WriteTypeArgumentsOfSignature", e[e.UseFullyQualifiedType = 64] = "UseFullyQualifiedType", e[e.SuppressAnyReturnType = 256] = "SuppressAnyReturnType", e[e.MultilineObjectLiterals = 1024] = "MultilineObjectLiterals", e[e.WriteClassExpressionAsTypeLiteral = 2048] = "WriteClassExpressionAsTypeLiteral", e[e.UseTypeOfFunction = 4096] = "UseTypeOfFunction", e[e.OmitParameterModifiers = 8192] = "OmitParameterModifiers", e[e.UseAliasDefinedOutsideCurrentScope = 16384] = "UseAliasDefinedOutsideCurrentScope", e[e.UseSingleQuotesForStringLiteralType = 268435456] = "UseSingleQuotesForStringLiteralType", e[e.NoTypeReduction = 536870912] = "NoTypeReduction", e[e.OmitThisParameter = 33554432] = "OmitThisParameter", e[e.AllowUniqueESSymbolType = 1048576] = "AllowUniqueESSymbolType", e[e.AddUndefined = 131072] = "AddUndefined", e[e.WriteArrowStyleSignature = 262144] = "WriteArrowStyleSignature", e[e.InArrayType = 524288] = "InArrayType", e[e.InElementType = 2097152] = "InElementType", e[e.InFirstTypeArgument = 4194304] = "InFirstTypeArgument", e[e.InTypeAlias = 8388608] = "InTypeAlias", e[e.NodeBuilderFlagsMask = 848330095] = "NodeBuilderFlagsMask", e))(OQ || {}), LQ = /* @__PURE__ */ ((e) => (e[e.None = 0] = "None", e[e.WriteTypeParametersOrArguments = 1] = "WriteTypeParametersOrArguments", e[e.UseOnlyExternalAliasing = 2] = "UseOnlyExternalAliasing", e[e.AllowAnyNodeKind = 4] = "AllowAnyNodeKind", e[e.UseAliasDefinedOutsideCurrentScope = 8] = "UseAliasDefinedOutsideCurrentScope", e[e.WriteComputedProps = 16] = "WriteComputedProps", e[e.DoNotIncludeSymbolChain = 32] = "DoNotIncludeSymbolChain", e))(LQ || {}), MQ = /* @__PURE__ */ ((e) => (e[e.Accessible = 0] = "Accessible", e[e.NotAccessible = 1] = "NotAccessible", e[e.CannotBeNamed = 2] = "CannotBeNamed", e[e.NotResolved = 3] = "NotResolved", e))(MQ || {}), RQ = /* @__PURE__ */ ((e) => (e[e.This = 0] = "This", e[e.Identifier = 1] = "Identifier", e[e.AssertsThis = 2] = "AssertsThis", e[e.AssertsIdentifier = 3] = "AssertsIdentifier", e))(RQ || {}), jQ = /* @__PURE__ */ ((e) => (e[e.Unknown = 0] = "Unknown", e[e.TypeWithConstructSignatureAndValue = 1] = "TypeWithConstructSignatureAndValue", e[e.VoidNullableOrNeverType = 2] = "VoidNullableOrNeverType", e[e.NumberLikeType = 3] = "NumberLikeType", e[e.BigIntLikeType = 4] = "BigIntLikeType", e[e.StringLikeType = 5] = "StringLikeType", e[e.BooleanType = 6] = "BooleanType", e[e.ArrayLikeType = 7] = "ArrayLikeType", e[e.ESSymbolType = 8] = "ESSymbolType", e[e.Promise = 9] = "Promise", e[e.TypeWithCallSignature = 10] = "TypeWithCallSignature", e[e.ObjectType = 11] = "ObjectType", e))(jQ || {}), YR = /* @__PURE__ */ ((e) => (e[e.None = 0] = "None", e[e.FunctionScopedVariable = 1] = "FunctionScopedVariable", e[e.BlockScopedVariable = 2] = "BlockScopedVariable", e[e.Property = 4] = "Property", e[e.EnumMember = 8] = "EnumMember", e[e.Function = 16] = "Function", e[e.Class = 32] = "Class", e[e.Interface = 64] = "Interface", e[e.ConstEnum = 128] = "ConstEnum", e[e.RegularEnum = 256] = "RegularEnum", e[e.ValueModule = 512] = "ValueModule", e[e.NamespaceModule = 1024] = "NamespaceModule", e[e.TypeLiteral = 2048] = "TypeLiteral", e[e.ObjectLiteral = 4096] = "ObjectLiteral", e[e.Method = 8192] = "Method", e[e.Constructor = 16384] = "Constructor", e[e.GetAccessor = 32768] = "GetAccessor", e[e.SetAccessor = 65536] = "SetAccessor", e[e.Signature = 131072] = "Signature", e[e.TypeParameter = 262144] = "TypeParameter", e[e.TypeAlias = 524288] = "TypeAlias", e[e.ExportValue = 1048576] = "ExportValue", e[e.Alias = 2097152] = "Alias", e[e.Prototype = 4194304] = "Prototype", e[e.ExportStar = 8388608] = "ExportStar", e[e.Optional = 16777216] = "Optional", e[e.Transient = 33554432] = "Transient", e[e.Assignment = 67108864] = "Assignment", e[e.ModuleExports = 134217728] = "ModuleExports", e[e.All = -1] = "All", e[e.Enum = 384] = "Enum", e[e.Variable = 3] = "Variable", e[e.Value = 111551] = "Value", e[e.Type = 788968] = "Type", e[e.Namespace = 1920] = "Namespace", e[e.Module = 1536] = "Module", e[e.Accessor = 98304] = "Accessor", e[e.FunctionScopedVariableExcludes = 111550] = "FunctionScopedVariableExcludes", e[
        e.BlockScopedVariableExcludes = 111551
        /* Value */
      ] = "BlockScopedVariableExcludes", e[
        e.ParameterExcludes = 111551
        /* Value */
      ] = "ParameterExcludes", e[
        e.PropertyExcludes = 0
        /* None */
      ] = "PropertyExcludes", e[e.EnumMemberExcludes = 900095] = "EnumMemberExcludes", e[e.FunctionExcludes = 110991] = "FunctionExcludes", e[e.ClassExcludes = 899503] = "ClassExcludes", e[e.InterfaceExcludes = 788872] = "InterfaceExcludes", e[e.RegularEnumExcludes = 899327] = "RegularEnumExcludes", e[e.ConstEnumExcludes = 899967] = "ConstEnumExcludes", e[e.ValueModuleExcludes = 110735] = "ValueModuleExcludes", e[e.NamespaceModuleExcludes = 0] = "NamespaceModuleExcludes", e[e.MethodExcludes = 103359] = "MethodExcludes", e[e.GetAccessorExcludes = 46015] = "GetAccessorExcludes", e[e.SetAccessorExcludes = 78783] = "SetAccessorExcludes", e[e.AccessorExcludes = 13247] = "AccessorExcludes", e[e.TypeParameterExcludes = 526824] = "TypeParameterExcludes", e[
        e.TypeAliasExcludes = 788968
        /* Type */
      ] = "TypeAliasExcludes", e[
        e.AliasExcludes = 2097152
        /* Alias */
      ] = "AliasExcludes", e[e.ModuleMember = 2623475] = "ModuleMember", e[e.ExportHasLocal = 944] = "ExportHasLocal", e[e.BlockScoped = 418] = "BlockScoped", e[e.PropertyOrAccessor = 98308] = "PropertyOrAccessor", e[e.ClassMember = 106500] = "ClassMember", e[e.ExportSupportsDefaultModifier = 112] = "ExportSupportsDefaultModifier", e[e.ExportDoesNotSupportDefaultModifier = -113] = "ExportDoesNotSupportDefaultModifier", e[e.Classifiable = 2885600] = "Classifiable", e[e.LateBindingContainer = 6256] = "LateBindingContainer", e))(YR || {}), BQ = /* @__PURE__ */ ((e) => (e[e.None = 0] = "None", e[e.Instantiated = 1] = "Instantiated", e[e.SyntheticProperty = 2] = "SyntheticProperty", e[e.SyntheticMethod = 4] = "SyntheticMethod", e[e.Readonly = 8] = "Readonly", e[e.ReadPartial = 16] = "ReadPartial", e[e.WritePartial = 32] = "WritePartial", e[e.HasNonUniformType = 64] = "HasNonUniformType", e[e.HasLiteralType = 128] = "HasLiteralType", e[e.ContainsPublic = 256] = "ContainsPublic", e[e.ContainsProtected = 512] = "ContainsProtected", e[e.ContainsPrivate = 1024] = "ContainsPrivate", e[e.ContainsStatic = 2048] = "ContainsStatic", e[e.Late = 4096] = "Late", e[e.ReverseMapped = 8192] = "ReverseMapped", e[e.OptionalParameter = 16384] = "OptionalParameter", e[e.RestParameter = 32768] = "RestParameter", e[e.DeferredType = 65536] = "DeferredType", e[e.HasNeverType = 131072] = "HasNeverType", e[e.Mapped = 262144] = "Mapped", e[e.StripOptional = 524288] = "StripOptional", e[e.Unresolved = 1048576] = "Unresolved", e[e.Synthetic = 6] = "Synthetic", e[e.Discriminant = 192] = "Discriminant", e[e.Partial = 48] = "Partial", e))(BQ || {}), JQ = /* @__PURE__ */ ((e) => (e.Call = "__call", e.Constructor = "__constructor", e.New = "__new", e.Index = "__index", e.ExportStar = "__export", e.Global = "__global", e.Missing = "__missing", e.Type = "__type", e.Object = "__object", e.JSXAttributes = "__jsxAttributes", e.Class = "__class", e.Function = "__function", e.Computed = "__computed", e.Resolving = "__resolving__", e.ExportEquals = "export=", e.Default = "default", e.This = "this", e.InstantiationExpression = "__instantiationExpression", e.ImportAttributes = "__importAttributes", e))(JQ || {}), ZR = /* @__PURE__ */ ((e) => (e[e.None = 0] = "None", e[e.TypeChecked = 1] = "TypeChecked", e[e.LexicalThis = 2] = "LexicalThis", e[e.CaptureThis = 4] = "CaptureThis", e[e.CaptureNewTarget = 8] = "CaptureNewTarget", e[e.SuperInstance = 16] = "SuperInstance", e[e.SuperStatic = 32] = "SuperStatic", e[e.ContextChecked = 64] = "ContextChecked", e[e.MethodWithSuperPropertyAccessInAsync = 128] = "MethodWithSuperPropertyAccessInAsync", e[e.MethodWithSuperPropertyAssignmentInAsync = 256] = "MethodWithSuperPropertyAssignmentInAsync", e[e.CaptureArguments = 512] = "CaptureArguments", e[e.EnumValuesComputed = 1024] = "EnumValuesComputed", e[e.LexicalModuleMergesWithClass = 2048] = "LexicalModuleMergesWithClass", e[e.LoopWithCapturedBlockScopedBinding = 4096] = "LoopWithCapturedBlockScopedBinding", e[e.ContainsCapturedBlockScopeBinding = 8192] = "ContainsCapturedBlockScopeBinding", e[e.CapturedBlockScopedBinding = 16384] = "CapturedBlockScopedBinding", e[e.BlockScopedBindingInLoop = 32768] = "BlockScopedBindingInLoop", e[e.NeedsLoopOutParameter = 65536] = "NeedsLoopOutParameter", e[e.AssignmentsMarked = 131072] = "AssignmentsMarked", e[e.ContainsConstructorReference = 262144] = "ContainsConstructorReference", e[e.ConstructorReference = 536870912] = "ConstructorReference", e[e.ContainsClassWithPrivateIdentifiers = 1048576] = "ContainsClassWithPrivateIdentifiers", e[e.ContainsSuperPropertyInStaticInitializer = 2097152] = "ContainsSuperPropertyInStaticInitializer", e[e.InCheckIdentifier = 4194304] = "InCheckIdentifier", e[e.PartiallyTypeChecked = 8388608] = "PartiallyTypeChecked", e[e.LazyFlags = 539358128] = "LazyFlags", e))(ZR || {}), KR = /* @__PURE__ */ ((e) => (e[e.Any = 1] = "Any", e[e.Unknown = 2] = "Unknown", e[e.String = 4] = "String", e[e.Number = 8] = "Number", e[e.Boolean = 16] = "Boolean", e[e.Enum = 32] = "Enum", e[e.BigInt = 64] = "BigInt", e[e.StringLiteral = 128] = "StringLiteral", e[e.NumberLiteral = 256] = "NumberLiteral", e[e.BooleanLiteral = 512] = "BooleanLiteral", e[e.EnumLiteral = 1024] = "EnumLiteral", e[e.BigIntLiteral = 2048] = "BigIntLiteral", e[e.ESSymbol = 4096] = "ESSymbol", e[e.UniqueESSymbol = 8192] = "UniqueESSymbol", e[e.Void = 16384] = "Void", e[e.Undefined = 32768] = "Undefined", e[e.Null = 65536] = "Null", e[e.Never = 131072] = "Never", e[e.TypeParameter = 262144] = "TypeParameter", e[e.Object = 524288] = "Object", e[e.Union = 1048576] = "Union", e[e.Intersection = 2097152] = "Intersection", e[e.Index = 4194304] = "Index", e[e.IndexedAccess = 8388608] = "IndexedAccess", e[e.Conditional = 16777216] = "Conditional", e[e.Substitution = 33554432] = "Substitution", e[e.NonPrimitive = 67108864] = "NonPrimitive", e[e.TemplateLiteral = 134217728] = "TemplateLiteral", e[e.StringMapping = 268435456] = "StringMapping", e[e.Reserved1 = 536870912] = "Reserved1", e[e.Reserved2 = 1073741824] = "Reserved2", e[e.AnyOrUnknown = 3] = "AnyOrUnknown", e[e.Nullable = 98304] = "Nullable", e[e.Literal = 2944] = "Literal", e[e.Unit = 109472] = "Unit", e[e.Freshable = 2976] = "Freshable", e[e.StringOrNumberLiteral = 384] = "StringOrNumberLiteral", e[e.StringOrNumberLiteralOrUnique = 8576] = "StringOrNumberLiteralOrUnique", e[e.DefinitelyFalsy = 117632] = "DefinitelyFalsy", e[e.PossiblyFalsy = 117724] = "PossiblyFalsy", e[e.Intrinsic = 67359327] = "Intrinsic", e[e.StringLike = 402653316] = "StringLike", e[e.NumberLike = 296] = "NumberLike", e[e.BigIntLike = 2112] = "BigIntLike", e[e.BooleanLike = 528] = "BooleanLike", e[e.EnumLike = 1056] = "EnumLike", e[e.ESSymbolLike = 12288] = "ESSymbolLike", e[e.VoidLike = 49152] = "VoidLike", e[e.Primitive = 402784252] = "Primitive", e[e.DefinitelyNonNullable = 470302716] = "DefinitelyNonNullable", e[e.DisjointDomains = 469892092] = "DisjointDomains", e[e.UnionOrIntersection = 3145728] = "UnionOrIntersection", e[e.StructuredType = 3670016] = "StructuredType", e[e.TypeVariable = 8650752] = "TypeVariable", e[e.InstantiableNonPrimitive = 58982400] = "InstantiableNonPrimitive", e[e.InstantiablePrimitive = 406847488] = "InstantiablePrimitive", e[e.Instantiable = 465829888] = "Instantiable", e[e.StructuredOrInstantiable = 469499904] = "StructuredOrInstantiable", e[e.ObjectFlagsType = 3899393] = "ObjectFlagsType", e[e.Simplifiable = 25165824] = "Simplifiable", e[e.Singleton = 67358815] = "Singleton", e[e.Narrowable = 536624127] = "Narrowable", e[e.IncludesMask = 473694207] = "IncludesMask", e[
        e.IncludesMissingType = 262144
        /* TypeParameter */
      ] = "IncludesMissingType", e[
        e.IncludesNonWideningType = 4194304
        /* Index */
      ] = "IncludesNonWideningType", e[
        e.IncludesWildcard = 8388608
        /* IndexedAccess */
      ] = "IncludesWildcard", e[
        e.IncludesEmptyObject = 16777216
        /* Conditional */
      ] = "IncludesEmptyObject", e[
        e.IncludesInstantiable = 33554432
        /* Substitution */
      ] = "IncludesInstantiable", e[
        e.IncludesConstrainedTypeVariable = 536870912
        /* Reserved1 */
      ] = "IncludesConstrainedTypeVariable", e[
        e.IncludesError = 1073741824
        /* Reserved2 */
      ] = "IncludesError", e[e.NotPrimitiveUnion = 36323331] = "NotPrimitiveUnion", e))(KR || {}), ej = /* @__PURE__ */ ((e) => (e[e.None = 0] = "None", e[e.Class = 1] = "Class", e[e.Interface = 2] = "Interface", e[e.Reference = 4] = "Reference", e[e.Tuple = 8] = "Tuple", e[e.Anonymous = 16] = "Anonymous", e[e.Mapped = 32] = "Mapped", e[e.Instantiated = 64] = "Instantiated", e[e.ObjectLiteral = 128] = "ObjectLiteral", e[e.EvolvingArray = 256] = "EvolvingArray", e[e.ObjectLiteralPatternWithComputedProperties = 512] = "ObjectLiteralPatternWithComputedProperties", e[e.ReverseMapped = 1024] = "ReverseMapped", e[e.JsxAttributes = 2048] = "JsxAttributes", e[e.JSLiteral = 4096] = "JSLiteral", e[e.FreshLiteral = 8192] = "FreshLiteral", e[e.ArrayLiteral = 16384] = "ArrayLiteral", e[e.PrimitiveUnion = 32768] = "PrimitiveUnion", e[e.ContainsWideningType = 65536] = "ContainsWideningType", e[e.ContainsObjectOrArrayLiteral = 131072] = "ContainsObjectOrArrayLiteral", e[e.NonInferrableType = 262144] = "NonInferrableType", e[e.CouldContainTypeVariablesComputed = 524288] = "CouldContainTypeVariablesComputed", e[e.CouldContainTypeVariables = 1048576] = "CouldContainTypeVariables", e[e.ClassOrInterface = 3] = "ClassOrInterface", e[e.RequiresWidening = 196608] = "RequiresWidening", e[e.PropagatingFlags = 458752] = "PropagatingFlags", e[e.InstantiatedMapped = 96] = "InstantiatedMapped", e[e.ObjectTypeKindMask = 1343] = "ObjectTypeKindMask", e[e.ContainsSpread = 2097152] = "ContainsSpread", e[e.ObjectRestType = 4194304] = "ObjectRestType", e[e.InstantiationExpressionType = 8388608] = "InstantiationExpressionType", e[e.SingleSignatureType = 134217728] = "SingleSignatureType", e[e.IsClassInstanceClone = 16777216] = "IsClassInstanceClone", e[e.IdenticalBaseTypeCalculated = 33554432] = "IdenticalBaseTypeCalculated", e[e.IdenticalBaseTypeExists = 67108864] = "IdenticalBaseTypeExists", e[e.IsGenericTypeComputed = 2097152] = "IsGenericTypeComputed", e[e.IsGenericObjectType = 4194304] = "IsGenericObjectType", e[e.IsGenericIndexType = 8388608] = "IsGenericIndexType", e[e.IsGenericType = 12582912] = "IsGenericType", e[e.ContainsIntersections = 16777216] = "ContainsIntersections", e[e.IsUnknownLikeUnionComputed = 33554432] = "IsUnknownLikeUnionComputed", e[e.IsUnknownLikeUnion = 67108864] = "IsUnknownLikeUnion", e[e.IsNeverIntersectionComputed = 16777216] = "IsNeverIntersectionComputed", e[e.IsNeverIntersection = 33554432] = "IsNeverIntersection", e[e.IsConstrainedTypeVariable = 67108864] = "IsConstrainedTypeVariable", e))(ej || {}), zQ = /* @__PURE__ */ ((e) => (e[e.Invariant = 0] = "Invariant", e[e.Covariant = 1] = "Covariant", e[e.Contravariant = 2] = "Contravariant", e[e.Bivariant = 3] = "Bivariant", e[e.Independent = 4] = "Independent", e[e.VarianceMask = 7] = "VarianceMask", e[e.Unmeasurable = 8] = "Unmeasurable", e[e.Unreliable = 16] = "Unreliable", e[e.AllowsStructuralFallback = 24] = "AllowsStructuralFallback", e))(zQ || {}), WQ = /* @__PURE__ */ ((e) => (e[e.Required = 1] = "Required", e[e.Optional = 2] = "Optional", e[e.Rest = 4] = "Rest", e[e.Variadic = 8] = "Variadic", e[e.Fixed = 3] = "Fixed", e[e.Variable = 12] = "Variable", e[e.NonRequired = 14] = "NonRequired", e[e.NonRest = 11] = "NonRest", e))(WQ || {}), VQ = /* @__PURE__ */ ((e) => (e[e.None = 0] = "None", e[e.IncludeUndefined = 1] = "IncludeUndefined", e[e.NoIndexSignatures = 2] = "NoIndexSignatures", e[e.Writing = 4] = "Writing", e[e.CacheSymbol = 8] = "CacheSymbol", e[e.AllowMissing = 16] = "AllowMissing", e[e.ExpressionPosition = 32] = "ExpressionPosition", e[e.ReportDeprecated = 64] = "ReportDeprecated", e[e.SuppressNoImplicitAnyError = 128] = "SuppressNoImplicitAnyError", e[e.Contextual = 256] = "Contextual", e[
        e.Persistent = 1
        /* IncludeUndefined */
      ] = "Persistent", e))(VQ || {}), UQ = /* @__PURE__ */ ((e) => (e[e.None = 0] = "None", e[e.StringsOnly = 1] = "StringsOnly", e[e.NoIndexSignatures = 2] = "NoIndexSignatures", e[e.NoReducibleCheck = 4] = "NoReducibleCheck", e))(UQ || {}), qQ = /* @__PURE__ */ ((e) => (e[e.Component = 0] = "Component", e[e.Function = 1] = "Function", e[e.Mixed = 2] = "Mixed", e))(qQ || {}), HQ = /* @__PURE__ */ ((e) => (e[e.Call = 0] = "Call", e[e.Construct = 1] = "Construct", e))(HQ || {}), tj = /* @__PURE__ */ ((e) => (e[e.None = 0] = "None", e[e.HasRestParameter = 1] = "HasRestParameter", e[e.HasLiteralTypes = 2] = "HasLiteralTypes", e[e.Abstract = 4] = "Abstract", e[e.IsInnerCallChain = 8] = "IsInnerCallChain", e[e.IsOuterCallChain = 16] = "IsOuterCallChain", e[e.IsUntypedSignatureInJSFile = 32] = "IsUntypedSignatureInJSFile", e[e.IsNonInferrable = 64] = "IsNonInferrable", e[e.IsSignatureCandidateForOverloadFailure = 128] = "IsSignatureCandidateForOverloadFailure", e[e.PropagatingFlags = 167] = "PropagatingFlags", e[e.CallChainFlags = 24] = "CallChainFlags", e))(tj || {}), GQ = /* @__PURE__ */ ((e) => (e[e.String = 0] = "String", e[e.Number = 1] = "Number", e))(GQ || {}), $Q = /* @__PURE__ */ ((e) => (e[e.Simple = 0] = "Simple", e[e.Array = 1] = "Array", e[e.Deferred = 2] = "Deferred", e[e.Function = 3] = "Function", e[e.Composite = 4] = "Composite", e[e.Merged = 5] = "Merged", e))($Q || {}), XQ = /* @__PURE__ */ ((e) => (e[e.None = 0] = "None", e[e.NakedTypeVariable = 1] = "NakedTypeVariable", e[e.SpeculativeTuple = 2] = "SpeculativeTuple", e[e.SubstituteSource = 4] = "SubstituteSource", e[e.HomomorphicMappedType = 8] = "HomomorphicMappedType", e[e.PartialHomomorphicMappedType = 16] = "PartialHomomorphicMappedType", e[e.MappedTypeConstraint = 32] = "MappedTypeConstraint", e[e.ContravariantConditional = 64] = "ContravariantConditional", e[e.ReturnType = 128] = "ReturnType", e[e.LiteralKeyof = 256] = "LiteralKeyof", e[e.NoConstraints = 512] = "NoConstraints", e[e.AlwaysStrict = 1024] = "AlwaysStrict", e[e.MaxValue = 2048] = "MaxValue", e[e.PriorityImpliesCombination = 416] = "PriorityImpliesCombination", e[e.Circularity = -1] = "Circularity", e))(XQ || {}), QQ = /* @__PURE__ */ ((e) => (e[e.None = 0] = "None", e[e.NoDefault = 1] = "NoDefault", e[e.AnyDefault = 2] = "AnyDefault", e[e.SkippedGenericFunction = 4] = "SkippedGenericFunction", e))(QQ || {}), YQ = /* @__PURE__ */ ((e) => (e[e.False = 0] = "False", e[e.Unknown = 1] = "Unknown", e[e.Maybe = 3] = "Maybe", e[e.True = -1] = "True", e))(YQ || {}), ZQ = /* @__PURE__ */ ((e) => (e[e.None = 0] = "None", e[e.ExportsProperty = 1] = "ExportsProperty", e[e.ModuleExports = 2] = "ModuleExports", e[e.PrototypeProperty = 3] = "PrototypeProperty", e[e.ThisProperty = 4] = "ThisProperty", e[e.Property = 5] = "Property", e[e.Prototype = 6] = "Prototype", e[e.ObjectDefinePropertyValue = 7] = "ObjectDefinePropertyValue", e[e.ObjectDefinePropertyExports = 8] = "ObjectDefinePropertyExports", e[e.ObjectDefinePrototypeProperty = 9] = "ObjectDefinePrototypeProperty", e))(ZQ || {}), QI = /* @__PURE__ */ ((e) => (e[e.Warning = 0] = "Warning", e[e.Error = 1] = "Error", e[e.Suggestion = 2] = "Suggestion", e[e.Message = 3] = "Message", e))(QI || {});
      function rS(e, t = !0) {
        const n = QI[e.category];
        return t ? n.toLowerCase() : n;
      }
      var SC = /* @__PURE__ */ ((e) => (e[e.Classic = 1] = "Classic", e[e.NodeJs = 2] = "NodeJs", e[e.Node10 = 2] = "Node10", e[e.Node16 = 3] = "Node16", e[e.NodeNext = 99] = "NodeNext", e[e.Bundler = 100] = "Bundler", e))(SC || {}), KQ = /* @__PURE__ */ ((e) => (e[e.Legacy = 1] = "Legacy", e[e.Auto = 2] = "Auto", e[e.Force = 3] = "Force", e))(KQ || {}), eY = /* @__PURE__ */ ((e) => (e[e.FixedPollingInterval = 0] = "FixedPollingInterval", e[e.PriorityPollingInterval = 1] = "PriorityPollingInterval", e[e.DynamicPriorityPolling = 2] = "DynamicPriorityPolling", e[e.FixedChunkSizePolling = 3] = "FixedChunkSizePolling", e[e.UseFsEvents = 4] = "UseFsEvents", e[e.UseFsEventsOnParentDirectory = 5] = "UseFsEventsOnParentDirectory", e))(eY || {}), tY = /* @__PURE__ */ ((e) => (e[e.UseFsEvents = 0] = "UseFsEvents", e[e.FixedPollingInterval = 1] = "FixedPollingInterval", e[e.DynamicPriorityPolling = 2] = "DynamicPriorityPolling", e[e.FixedChunkSizePolling = 3] = "FixedChunkSizePolling", e))(tY || {}), rY = /* @__PURE__ */ ((e) => (e[e.FixedInterval = 0] = "FixedInterval", e[e.PriorityInterval = 1] = "PriorityInterval", e[e.DynamicPriority = 2] = "DynamicPriority", e[e.FixedChunkSize = 3] = "FixedChunkSize", e))(rY || {}), TC = /* @__PURE__ */ ((e) => (e[e.None = 0] = "None", e[e.CommonJS = 1] = "CommonJS", e[e.AMD = 2] = "AMD", e[e.UMD = 3] = "UMD", e[e.System = 4] = "System", e[e.ES2015 = 5] = "ES2015", e[e.ES2020 = 6] = "ES2020", e[e.ES2022 = 7] = "ES2022", e[e.ESNext = 99] = "ESNext", e[e.Node16 = 100] = "Node16", e[e.Node18 = 101] = "Node18", e[e.NodeNext = 199] = "NodeNext", e[e.Preserve = 200] = "Preserve", e))(TC || {}), nY = /* @__PURE__ */ ((e) => (e[e.None = 0] = "None", e[e.Preserve = 1] = "Preserve", e[e.React = 2] = "React", e[e.ReactNative = 3] = "ReactNative", e[e.ReactJSX = 4] = "ReactJSX", e[e.ReactJSXDev = 5] = "ReactJSXDev", e))(nY || {}), iY = /* @__PURE__ */ ((e) => (e[e.Remove = 0] = "Remove", e[e.Preserve = 1] = "Preserve", e[e.Error = 2] = "Error", e))(iY || {}), sY = /* @__PURE__ */ ((e) => (e[e.CarriageReturnLineFeed = 0] = "CarriageReturnLineFeed", e[e.LineFeed = 1] = "LineFeed", e))(sY || {}), rj = /* @__PURE__ */ ((e) => (e[e.Unknown = 0] = "Unknown", e[e.JS = 1] = "JS", e[e.JSX = 2] = "JSX", e[e.TS = 3] = "TS", e[e.TSX = 4] = "TSX", e[e.External = 5] = "External", e[e.JSON = 6] = "JSON", e[e.Deferred = 7] = "Deferred", e))(rj || {}), aY = /* @__PURE__ */ ((e) => (e[e.ES3 = 0] = "ES3", e[e.ES5 = 1] = "ES5", e[e.ES2015 = 2] = "ES2015", e[e.ES2016 = 3] = "ES2016", e[e.ES2017 = 4] = "ES2017", e[e.ES2018 = 5] = "ES2018", e[e.ES2019 = 6] = "ES2019", e[e.ES2020 = 7] = "ES2020", e[e.ES2021 = 8] = "ES2021", e[e.ES2022 = 9] = "ES2022", e[e.ES2023 = 10] = "ES2023", e[e.ES2024 = 11] = "ES2024", e[e.ESNext = 99] = "ESNext", e[e.JSON = 100] = "JSON", e[
        e.Latest = 99
        /* ESNext */
      ] = "Latest", e))(aY || {}), oY = /* @__PURE__ */ ((e) => (e[e.Standard = 0] = "Standard", e[e.JSX = 1] = "JSX", e))(oY || {}), cY = /* @__PURE__ */ ((e) => (e[e.None = 0] = "None", e[e.Recursive = 1] = "Recursive", e))(cY || {}), lY = /* @__PURE__ */ ((e) => (e[e.EOF = -1] = "EOF", e[e.nullCharacter = 0] = "nullCharacter", e[e.maxAsciiCharacter = 127] = "maxAsciiCharacter", e[e.lineFeed = 10] = "lineFeed", e[e.carriageReturn = 13] = "carriageReturn", e[e.lineSeparator = 8232] = "lineSeparator", e[e.paragraphSeparator = 8233] = "paragraphSeparator", e[e.nextLine = 133] = "nextLine", e[e.space = 32] = "space", e[e.nonBreakingSpace = 160] = "nonBreakingSpace", e[e.enQuad = 8192] = "enQuad", e[e.emQuad = 8193] = "emQuad", e[e.enSpace = 8194] = "enSpace", e[e.emSpace = 8195] = "emSpace", e[e.threePerEmSpace = 8196] = "threePerEmSpace", e[e.fourPerEmSpace = 8197] = "fourPerEmSpace", e[e.sixPerEmSpace = 8198] = "sixPerEmSpace", e[e.figureSpace = 8199] = "figureSpace", e[e.punctuationSpace = 8200] = "punctuationSpace", e[e.thinSpace = 8201] = "thinSpace", e[e.hairSpace = 8202] = "hairSpace", e[e.zeroWidthSpace = 8203] = "zeroWidthSpace", e[e.narrowNoBreakSpace = 8239] = "narrowNoBreakSpace", e[e.ideographicSpace = 12288] = "ideographicSpace", e[e.mathematicalSpace = 8287] = "mathematicalSpace", e[e.ogham = 5760] = "ogham", e[e.replacementCharacter = 65533] = "replacementCharacter", e[e._ = 95] = "_", e[e.$ = 36] = "$", e[e._0 = 48] = "_0", e[e._1 = 49] = "_1", e[e._2 = 50] = "_2", e[e._3 = 51] = "_3", e[e._4 = 52] = "_4", e[e._5 = 53] = "_5", e[e._6 = 54] = "_6", e[e._7 = 55] = "_7", e[e._8 = 56] = "_8", e[e._9 = 57] = "_9", e[e.a = 97] = "a", e[e.b = 98] = "b", e[e.c = 99] = "c", e[e.d = 100] = "d", e[e.e = 101] = "e", e[e.f = 102] = "f", e[e.g = 103] = "g", e[e.h = 104] = "h", e[e.i = 105] = "i", e[e.j = 106] = "j", e[e.k = 107] = "k", e[e.l = 108] = "l", e[e.m = 109] = "m", e[e.n = 110] = "n", e[e.o = 111] = "o", e[e.p = 112] = "p", e[e.q = 113] = "q", e[e.r = 114] = "r", e[e.s = 115] = "s", e[e.t = 116] = "t", e[e.u = 117] = "u", e[e.v = 118] = "v", e[e.w = 119] = "w", e[e.x = 120] = "x", e[e.y = 121] = "y", e[e.z = 122] = "z", e[e.A = 65] = "A", e[e.B = 66] = "B", e[e.C = 67] = "C", e[e.D = 68] = "D", e[e.E = 69] = "E", e[e.F = 70] = "F", e[e.G = 71] = "G", e[e.H = 72] = "H", e[e.I = 73] = "I", e[e.J = 74] = "J", e[e.K = 75] = "K", e[e.L = 76] = "L", e[e.M = 77] = "M", e[e.N = 78] = "N", e[e.O = 79] = "O", e[e.P = 80] = "P", e[e.Q = 81] = "Q", e[e.R = 82] = "R", e[e.S = 83] = "S", e[e.T = 84] = "T", e[e.U = 85] = "U", e[e.V = 86] = "V", e[e.W = 87] = "W", e[e.X = 88] = "X", e[e.Y = 89] = "Y", e[e.Z = 90] = "Z", e[e.ampersand = 38] = "ampersand", e[e.asterisk = 42] = "asterisk", e[e.at = 64] = "at", e[e.backslash = 92] = "backslash", e[e.backtick = 96] = "backtick", e[e.bar = 124] = "bar", e[e.caret = 94] = "caret", e[e.closeBrace = 125] = "closeBrace", e[e.closeBracket = 93] = "closeBracket", e[e.closeParen = 41] = "closeParen", e[e.colon = 58] = "colon", e[e.comma = 44] = "comma", e[e.dot = 46] = "dot", e[e.doubleQuote = 34] = "doubleQuote", e[e.equals = 61] = "equals", e[e.exclamation = 33] = "exclamation", e[e.greaterThan = 62] = "greaterThan", e[e.hash = 35] = "hash", e[e.lessThan = 60] = "lessThan", e[e.minus = 45] = "minus", e[e.openBrace = 123] = "openBrace", e[e.openBracket = 91] = "openBracket", e[e.openParen = 40] = "openParen", e[e.percent = 37] = "percent", e[e.plus = 43] = "plus", e[e.question = 63] = "question", e[e.semicolon = 59] = "semicolon", e[e.singleQuote = 39] = "singleQuote", e[e.slash = 47] = "slash", e[e.tilde = 126] = "tilde", e[e.backspace = 8] = "backspace", e[e.formFeed = 12] = "formFeed", e[e.byteOrderMark = 65279] = "byteOrderMark", e[e.tab = 9] = "tab", e[e.verticalTab = 11] = "verticalTab", e))(lY || {}), uY = /* @__PURE__ */ ((e) => (e.Ts = ".ts", e.Tsx = ".tsx", e.Dts = ".d.ts", e.Js = ".js", e.Jsx = ".jsx", e.Json = ".json", e.TsBuildInfo = ".tsbuildinfo", e.Mjs = ".mjs", e.Mts = ".mts", e.Dmts = ".d.mts", e.Cjs = ".cjs", e.Cts = ".cts", e.Dcts = ".d.cts", e))(uY || {}), nj = /* @__PURE__ */ ((e) => (e[e.None = 0] = "None", e[e.ContainsTypeScript = 1] = "ContainsTypeScript", e[e.ContainsJsx = 2] = "ContainsJsx", e[e.ContainsESNext = 4] = "ContainsESNext", e[e.ContainsES2022 = 8] = "ContainsES2022", e[e.ContainsES2021 = 16] = "ContainsES2021", e[e.ContainsES2020 = 32] = "ContainsES2020", e[e.ContainsES2019 = 64] = "ContainsES2019", e[e.ContainsES2018 = 128] = "ContainsES2018", e[e.ContainsES2017 = 256] = "ContainsES2017", e[e.ContainsES2016 = 512] = "ContainsES2016", e[e.ContainsES2015 = 1024] = "ContainsES2015", e[e.ContainsGenerator = 2048] = "ContainsGenerator", e[e.ContainsDestructuringAssignment = 4096] = "ContainsDestructuringAssignment", e[e.ContainsTypeScriptClassSyntax = 8192] = "ContainsTypeScriptClassSyntax", e[e.ContainsLexicalThis = 16384] = "ContainsLexicalThis", e[e.ContainsRestOrSpread = 32768] = "ContainsRestOrSpread", e[e.ContainsObjectRestOrSpread = 65536] = "ContainsObjectRestOrSpread", e[e.ContainsComputedPropertyName = 131072] = "ContainsComputedPropertyName", e[e.ContainsBlockScopedBinding = 262144] = "ContainsBlockScopedBinding", e[e.ContainsBindingPattern = 524288] = "ContainsBindingPattern", e[e.ContainsYield = 1048576] = "ContainsYield", e[e.ContainsAwait = 2097152] = "ContainsAwait", e[e.ContainsHoistedDeclarationOrCompletion = 4194304] = "ContainsHoistedDeclarationOrCompletion", e[e.ContainsDynamicImport = 8388608] = "ContainsDynamicImport", e[e.ContainsClassFields = 16777216] = "ContainsClassFields", e[e.ContainsDecorators = 33554432] = "ContainsDecorators", e[e.ContainsPossibleTopLevelAwait = 67108864] = "ContainsPossibleTopLevelAwait", e[e.ContainsLexicalSuper = 134217728] = "ContainsLexicalSuper", e[e.ContainsUpdateExpressionForIdentifier = 268435456] = "ContainsUpdateExpressionForIdentifier", e[e.ContainsPrivateIdentifierInExpression = 536870912] = "ContainsPrivateIdentifierInExpression", e[e.HasComputedFlags = -2147483648] = "HasComputedFlags", e[
        e.AssertTypeScript = 1
        /* ContainsTypeScript */
      ] = "AssertTypeScript", e[
        e.AssertJsx = 2
        /* ContainsJsx */
      ] = "AssertJsx", e[
        e.AssertESNext = 4
        /* ContainsESNext */
      ] = "AssertESNext", e[
        e.AssertES2022 = 8
        /* ContainsES2022 */
      ] = "AssertES2022", e[
        e.AssertES2021 = 16
        /* ContainsES2021 */
      ] = "AssertES2021", e[
        e.AssertES2020 = 32
        /* ContainsES2020 */
      ] = "AssertES2020", e[
        e.AssertES2019 = 64
        /* ContainsES2019 */
      ] = "AssertES2019", e[
        e.AssertES2018 = 128
        /* ContainsES2018 */
      ] = "AssertES2018", e[
        e.AssertES2017 = 256
        /* ContainsES2017 */
      ] = "AssertES2017", e[
        e.AssertES2016 = 512
        /* ContainsES2016 */
      ] = "AssertES2016", e[
        e.AssertES2015 = 1024
        /* ContainsES2015 */
      ] = "AssertES2015", e[
        e.AssertGenerator = 2048
        /* ContainsGenerator */
      ] = "AssertGenerator", e[
        e.AssertDestructuringAssignment = 4096
        /* ContainsDestructuringAssignment */
      ] = "AssertDestructuringAssignment", e[
        e.OuterExpressionExcludes = -2147483648
        /* HasComputedFlags */
      ] = "OuterExpressionExcludes", e[
        e.PropertyAccessExcludes = -2147483648
        /* OuterExpressionExcludes */
      ] = "PropertyAccessExcludes", e[
        e.NodeExcludes = -2147483648
        /* PropertyAccessExcludes */
      ] = "NodeExcludes", e[e.ArrowFunctionExcludes = -2072174592] = "ArrowFunctionExcludes", e[e.FunctionExcludes = -1937940480] = "FunctionExcludes", e[e.ConstructorExcludes = -1937948672] = "ConstructorExcludes", e[e.MethodOrAccessorExcludes = -2005057536] = "MethodOrAccessorExcludes", e[e.PropertyExcludes = -2013249536] = "PropertyExcludes", e[e.ClassExcludes = -2147344384] = "ClassExcludes", e[e.ModuleExcludes = -1941676032] = "ModuleExcludes", e[e.TypeExcludes = -2] = "TypeExcludes", e[e.ObjectLiteralExcludes = -2147278848] = "ObjectLiteralExcludes", e[e.ArrayLiteralOrCallOrNewExcludes = -2147450880] = "ArrayLiteralOrCallOrNewExcludes", e[e.VariableDeclarationListExcludes = -2146893824] = "VariableDeclarationListExcludes", e[
        e.ParameterExcludes = -2147483648
        /* NodeExcludes */
      ] = "ParameterExcludes", e[e.CatchClauseExcludes = -2147418112] = "CatchClauseExcludes", e[e.BindingPatternExcludes = -2147450880] = "BindingPatternExcludes", e[e.ContainsLexicalThisOrSuper = 134234112] = "ContainsLexicalThisOrSuper", e[e.PropertyNamePropagatingFlags = 134234112] = "PropertyNamePropagatingFlags", e))(nj || {}), ij = /* @__PURE__ */ ((e) => (e[e.TabStop = 0] = "TabStop", e[e.Placeholder = 1] = "Placeholder", e[e.Choice = 2] = "Choice", e[e.Variable = 3] = "Variable", e))(ij || {}), sj = /* @__PURE__ */ ((e) => (e[e.None = 0] = "None", e[e.SingleLine = 1] = "SingleLine", e[e.MultiLine = 2] = "MultiLine", e[e.AdviseOnEmitNode = 4] = "AdviseOnEmitNode", e[e.NoSubstitution = 8] = "NoSubstitution", e[e.CapturesThis = 16] = "CapturesThis", e[e.NoLeadingSourceMap = 32] = "NoLeadingSourceMap", e[e.NoTrailingSourceMap = 64] = "NoTrailingSourceMap", e[e.NoSourceMap = 96] = "NoSourceMap", e[e.NoNestedSourceMaps = 128] = "NoNestedSourceMaps", e[e.NoTokenLeadingSourceMaps = 256] = "NoTokenLeadingSourceMaps", e[e.NoTokenTrailingSourceMaps = 512] = "NoTokenTrailingSourceMaps", e[e.NoTokenSourceMaps = 768] = "NoTokenSourceMaps", e[e.NoLeadingComments = 1024] = "NoLeadingComments", e[e.NoTrailingComments = 2048] = "NoTrailingComments", e[e.NoComments = 3072] = "NoComments", e[e.NoNestedComments = 4096] = "NoNestedComments", e[e.HelperName = 8192] = "HelperName", e[e.ExportName = 16384] = "ExportName", e[e.LocalName = 32768] = "LocalName", e[e.InternalName = 65536] = "InternalName", e[e.Indented = 131072] = "Indented", e[e.NoIndentation = 262144] = "NoIndentation", e[e.AsyncFunctionBody = 524288] = "AsyncFunctionBody", e[e.ReuseTempVariableScope = 1048576] = "ReuseTempVariableScope", e[e.CustomPrologue = 2097152] = "CustomPrologue", e[e.NoHoisting = 4194304] = "NoHoisting", e[e.Iterator = 8388608] = "Iterator", e[e.NoAsciiEscaping = 16777216] = "NoAsciiEscaping", e))(sj || {}), _Y = /* @__PURE__ */ ((e) => (e[e.None = 0] = "None", e[e.TypeScriptClassWrapper = 1] = "TypeScriptClassWrapper", e[e.NeverApplyImportHelper = 2] = "NeverApplyImportHelper", e[e.IgnoreSourceNewlines = 4] = "IgnoreSourceNewlines", e[e.Immutable = 8] = "Immutable", e[e.IndirectCall = 16] = "IndirectCall", e[e.TransformPrivateStaticElements = 32] = "TransformPrivateStaticElements", e))(_Y || {}), kl = {
        Classes: 2,
        ForOf: 2,
        Generators: 2,
        Iteration: 2,
        SpreadElements: 2,
        RestElements: 2,
        TaggedTemplates: 2,
        DestructuringAssignment: 2,
        BindingPatterns: 2,
        ArrowFunctions: 2,
        BlockScopedVariables: 2,
        ObjectAssign: 2,
        RegularExpressionFlagsUnicode: 2,
        RegularExpressionFlagsSticky: 2,
        Exponentiation: 3,
        AsyncFunctions: 4,
        ForAwaitOf: 5,
        AsyncGenerators: 5,
        AsyncIteration: 5,
        ObjectSpreadRest: 5,
        RegularExpressionFlagsDotAll: 5,
        BindinglessCatch: 6,
        BigInt: 7,
        NullishCoalesce: 7,
        OptionalChaining: 7,
        LogicalAssignment: 8,
        TopLevelAwait: 9,
        ClassFields: 9,
        PrivateNamesAndClassStaticBlocks: 9,
        RegularExpressionFlagsHasIndices: 9,
        ShebangComments: 10,
        RegularExpressionFlagsUnicodeSets: 11,
        UsingAndAwaitUsing: 99,
        ClassAndClassElementDecorators: 99
        /* ESNext */
      }, fY = /* @__PURE__ */ ((e) => (e[e.Extends = 1] = "Extends", e[e.Assign = 2] = "Assign", e[e.Rest = 4] = "Rest", e[e.Decorate = 8] = "Decorate", e[
        e.ESDecorateAndRunInitializers = 8
        /* Decorate */
      ] = "ESDecorateAndRunInitializers", e[e.Metadata = 16] = "Metadata", e[e.Param = 32] = "Param", e[e.Awaiter = 64] = "Awaiter", e[e.Generator = 128] = "Generator", e[e.Values = 256] = "Values", e[e.Read = 512] = "Read", e[e.SpreadArray = 1024] = "SpreadArray", e[e.Await = 2048] = "Await", e[e.AsyncGenerator = 4096] = "AsyncGenerator", e[e.AsyncDelegator = 8192] = "AsyncDelegator", e[e.AsyncValues = 16384] = "AsyncValues", e[e.ExportStar = 32768] = "ExportStar", e[e.ImportStar = 65536] = "ImportStar", e[e.ImportDefault = 131072] = "ImportDefault", e[e.MakeTemplateObject = 262144] = "MakeTemplateObject", e[e.ClassPrivateFieldGet = 524288] = "ClassPrivateFieldGet", e[e.ClassPrivateFieldSet = 1048576] = "ClassPrivateFieldSet", e[e.ClassPrivateFieldIn = 2097152] = "ClassPrivateFieldIn", e[e.SetFunctionName = 4194304] = "SetFunctionName", e[e.PropKey = 8388608] = "PropKey", e[e.AddDisposableResourceAndDisposeResources = 16777216] = "AddDisposableResourceAndDisposeResources", e[e.RewriteRelativeImportExtension = 33554432] = "RewriteRelativeImportExtension", e[
        e.FirstEmitHelper = 1
        /* Extends */
      ] = "FirstEmitHelper", e[
        e.LastEmitHelper = 16777216
        /* AddDisposableResourceAndDisposeResources */
      ] = "LastEmitHelper", e[
        e.ForOfIncludes = 256
        /* Values */
      ] = "ForOfIncludes", e[
        e.ForAwaitOfIncludes = 16384
        /* AsyncValues */
      ] = "ForAwaitOfIncludes", e[e.AsyncGeneratorIncludes = 6144] = "AsyncGeneratorIncludes", e[e.AsyncDelegatorIncludes = 26624] = "AsyncDelegatorIncludes", e[e.SpreadIncludes = 1536] = "SpreadIncludes", e))(fY || {}), pY = /* @__PURE__ */ ((e) => (e[e.SourceFile = 0] = "SourceFile", e[e.Expression = 1] = "Expression", e[e.IdentifierName = 2] = "IdentifierName", e[e.MappedTypeParameter = 3] = "MappedTypeParameter", e[e.Unspecified = 4] = "Unspecified", e[e.EmbeddedStatement = 5] = "EmbeddedStatement", e[e.JsxAttributeValue = 6] = "JsxAttributeValue", e[e.ImportTypeNodeAttributes = 7] = "ImportTypeNodeAttributes", e))(pY || {}), dY = /* @__PURE__ */ ((e) => (e[e.Parentheses = 1] = "Parentheses", e[e.TypeAssertions = 2] = "TypeAssertions", e[e.NonNullAssertions = 4] = "NonNullAssertions", e[e.PartiallyEmittedExpressions = 8] = "PartiallyEmittedExpressions", e[e.ExpressionsWithTypeArguments = 16] = "ExpressionsWithTypeArguments", e[e.Satisfies = 32] = "Satisfies", e[e.Assertions = 38] = "Assertions", e[e.All = 63] = "All", e[e.ExcludeJSDocTypeAssertion = -2147483648] = "ExcludeJSDocTypeAssertion", e))(dY || {}), mY = /* @__PURE__ */ ((e) => (e[e.None = 0] = "None", e[e.InParameters = 1] = "InParameters", e[e.VariablesHoistedInParameters = 2] = "VariablesHoistedInParameters", e))(mY || {}), gY = /* @__PURE__ */ ((e) => (e[e.None = 0] = "None", e[e.SingleLine = 0] = "SingleLine", e[e.MultiLine = 1] = "MultiLine", e[e.PreserveLines = 2] = "PreserveLines", e[e.LinesMask = 3] = "LinesMask", e[e.NotDelimited = 0] = "NotDelimited", e[e.BarDelimited = 4] = "BarDelimited", e[e.AmpersandDelimited = 8] = "AmpersandDelimited", e[e.CommaDelimited = 16] = "CommaDelimited", e[e.AsteriskDelimited = 32] = "AsteriskDelimited", e[e.DelimitersMask = 60] = "DelimitersMask", e[e.AllowTrailingComma = 64] = "AllowTrailingComma", e[e.Indented = 128] = "Indented", e[e.SpaceBetweenBraces = 256] = "SpaceBetweenBraces", e[e.SpaceBetweenSiblings = 512] = "SpaceBetweenSiblings", e[e.Braces = 1024] = "Braces", e[e.Parenthesis = 2048] = "Parenthesis", e[e.AngleBrackets = 4096] = "AngleBrackets", e[e.SquareBrackets = 8192] = "SquareBrackets", e[e.BracketsMask = 15360] = "BracketsMask", e[e.OptionalIfUndefined = 16384] = "OptionalIfUndefined", e[e.OptionalIfEmpty = 32768] = "OptionalIfEmpty", e[e.Optional = 49152] = "Optional", e[e.PreferNewLine = 65536] = "PreferNewLine", e[e.NoTrailingNewLine = 131072] = "NoTrailingNewLine", e[e.NoInterveningComments = 262144] = "NoInterveningComments", e[e.NoSpaceIfEmpty = 524288] = "NoSpaceIfEmpty", e[e.SingleElement = 1048576] = "SingleElement", e[e.SpaceAfterList = 2097152] = "SpaceAfterList", e[e.Modifiers = 2359808] = "Modifiers", e[e.HeritageClauses = 512] = "HeritageClauses", e[e.SingleLineTypeLiteralMembers = 768] = "SingleLineTypeLiteralMembers", e[e.MultiLineTypeLiteralMembers = 32897] = "MultiLineTypeLiteralMembers", e[e.SingleLineTupleTypeElements = 528] = "SingleLineTupleTypeElements", e[e.MultiLineTupleTypeElements = 657] = "MultiLineTupleTypeElements", e[e.UnionTypeConstituents = 516] = "UnionTypeConstituents", e[e.IntersectionTypeConstituents = 520] = "IntersectionTypeConstituents", e[e.ObjectBindingPatternElements = 525136] = "ObjectBindingPatternElements", e[e.ArrayBindingPatternElements = 524880] = "ArrayBindingPatternElements", e[e.ObjectLiteralExpressionProperties = 526226] = "ObjectLiteralExpressionProperties", e[e.ImportAttributes = 526226] = "ImportAttributes", e[
        e.ImportClauseEntries = 526226
        /* ImportAttributes */
      ] = "ImportClauseEntries", e[e.ArrayLiteralExpressionElements = 8914] = "ArrayLiteralExpressionElements", e[e.CommaListElements = 528] = "CommaListElements", e[e.CallExpressionArguments = 2576] = "CallExpressionArguments", e[e.NewExpressionArguments = 18960] = "NewExpressionArguments", e[e.TemplateExpressionSpans = 262144] = "TemplateExpressionSpans", e[e.SingleLineBlockStatements = 768] = "SingleLineBlockStatements", e[e.MultiLineBlockStatements = 129] = "MultiLineBlockStatements", e[e.VariableDeclarationList = 528] = "VariableDeclarationList", e[e.SingleLineFunctionBodyStatements = 768] = "SingleLineFunctionBodyStatements", e[
        e.MultiLineFunctionBodyStatements = 1
        /* MultiLine */
      ] = "MultiLineFunctionBodyStatements", e[
        e.ClassHeritageClauses = 0
        /* SingleLine */
      ] = "ClassHeritageClauses", e[e.ClassMembers = 129] = "ClassMembers", e[e.InterfaceMembers = 129] = "InterfaceMembers", e[e.EnumMembers = 145] = "EnumMembers", e[e.CaseBlockClauses = 129] = "CaseBlockClauses", e[e.NamedImportsOrExportsElements = 525136] = "NamedImportsOrExportsElements", e[e.JsxElementOrFragmentChildren = 262144] = "JsxElementOrFragmentChildren", e[e.JsxElementAttributes = 262656] = "JsxElementAttributes", e[e.CaseOrDefaultClauseStatements = 163969] = "CaseOrDefaultClauseStatements", e[e.HeritageClauseTypes = 528] = "HeritageClauseTypes", e[e.SourceFileStatements = 131073] = "SourceFileStatements", e[e.Decorators = 2146305] = "Decorators", e[e.TypeArguments = 53776] = "TypeArguments", e[e.TypeParameters = 53776] = "TypeParameters", e[e.Parameters = 2576] = "Parameters", e[e.IndexSignatureParameters = 8848] = "IndexSignatureParameters", e[e.JSDocComment = 33] = "JSDocComment", e))(gY || {}), hY = /* @__PURE__ */ ((e) => (e[e.None = 0] = "None", e[e.TripleSlashXML = 1] = "TripleSlashXML", e[e.SingleLine = 2] = "SingleLine", e[e.MultiLine = 4] = "MultiLine", e[e.All = 7] = "All", e[
        e.Default = 7
        /* All */
      ] = "Default", e))(hY || {}), YI = {
        reference: {
          args: [
            { name: "types", optional: !0, captureSpan: !0 },
            { name: "lib", optional: !0, captureSpan: !0 },
            { name: "path", optional: !0, captureSpan: !0 },
            { name: "no-default-lib", optional: !0 },
            { name: "resolution-mode", optional: !0 },
            { name: "preserve", optional: !0 }
          ],
          kind: 1
          /* TripleSlashXML */
        },
        "amd-dependency": {
          args: [{ name: "path" }, { name: "name", optional: !0 }],
          kind: 1
          /* TripleSlashXML */
        },
        "amd-module": {
          args: [{ name: "name" }],
          kind: 1
          /* TripleSlashXML */
        },
        "ts-check": {
          kind: 2
          /* SingleLine */
        },
        "ts-nocheck": {
          kind: 2
          /* SingleLine */
        },
        jsx: {
          args: [{ name: "factory" }],
          kind: 4
          /* MultiLine */
        },
        jsxfrag: {
          args: [{ name: "factory" }],
          kind: 4
          /* MultiLine */
        },
        jsximportsource: {
          args: [{ name: "factory" }],
          kind: 4
          /* MultiLine */
        },
        jsxruntime: {
          args: [{ name: "factory" }],
          kind: 4
          /* MultiLine */
        }
      }, yY = /* @__PURE__ */ ((e) => (e[e.ParseAll = 0] = "ParseAll", e[e.ParseNone = 1] = "ParseNone", e[e.ParseForTypeErrors = 2] = "ParseForTypeErrors", e[e.ParseForTypeInfo = 3] = "ParseForTypeInfo", e))(yY || {});
      function f4(e) {
        let t = 5381;
        for (let n = 0; n < e.length; n++)
          t = (t << 5) + t + e.charCodeAt(n);
        return t.toString();
      }
      function Sge() {
        Error.stackTraceLimit < 100 && (Error.stackTraceLimit = 100);
      }
      var vY = /* @__PURE__ */ ((e) => (e[e.Created = 0] = "Created", e[e.Changed = 1] = "Changed", e[e.Deleted = 2] = "Deleted", e))(vY || {}), aj = /* @__PURE__ */ ((e) => (e[e.High = 2e3] = "High", e[e.Medium = 500] = "Medium", e[e.Low = 250] = "Low", e))(aj || {}), W_ = /* @__PURE__ */ new Date(0);
      function $T(e, t) {
        return e.getModifiedTime(t) || W_;
      }
      function bY(e) {
        return {
          250: e.Low,
          500: e.Medium,
          2e3: e.High
        };
      }
      var oj = { Low: 32, Medium: 64, High: 256 }, cj = bY(oj), ZI = bY(oj);
      function lFe(e) {
        if (!e.getEnvironmentVariable)
          return;
        const t = s("TSC_WATCH_POLLINGINTERVAL", aj);
        cj = o("TSC_WATCH_POLLINGCHUNKSIZE", oj) || cj, ZI = o("TSC_WATCH_UNCHANGEDPOLLTHRESHOLDS", oj) || ZI;
        function n(c, _) {
          return e.getEnvironmentVariable(`${c}_${_.toUpperCase()}`);
        }
        function i(c) {
          let _;
          return u("Low"), u("Medium"), u("High"), _;
          function u(g) {
            const m = n(c, g);
            m && ((_ || (_ = {}))[g] = Number(m));
          }
        }
        function s(c, _) {
          const u = i(c);
          if (u)
            return g("Low"), g("Medium"), g("High"), !0;
          return !1;
          function g(m) {
            _[m] = u[m] || _[m];
          }
        }
        function o(c, _) {
          const u = i(c);
          return (t || u) && bY(u ? { ..._, ...u } : _);
        }
      }
      function Tge(e, t, n, i, s) {
        let o = n;
        for (let _ = t.length; i && _; c(), _--) {
          const u = t[n];
          if (u) {
            if (u.isClosed) {
              t[n] = void 0;
              continue;
            }
          } else continue;
          i--;
          const g = pFe(u, $T(e, u.fileName));
          if (u.isClosed) {
            t[n] = void 0;
            continue;
          }
          s?.(u, n, g), t[n] && (o < n && (t[o] = u, t[n] = void 0), o++);
        }
        return n;
        function c() {
          n++, n === t.length && (o < n && (t.length = o), n = 0, o = 0);
        }
      }
      function uFe(e) {
        const t = [], n = [], i = _(
          250
          /* Low */
        ), s = _(
          500
          /* Medium */
        ), o = _(
          2e3
          /* High */
        );
        return c;
        function c(w, A, O) {
          const F = {
            fileName: w,
            callback: A,
            unchangedPolls: 0,
            mtime: $T(e, w)
          };
          return t.push(F), S(F, O), {
            close: () => {
              F.isClosed = !0, HT(t, F);
            }
          };
        }
        function _(w) {
          const A = [];
          return A.pollingInterval = w, A.pollIndex = 0, A.pollScheduled = !1, A;
        }
        function u(w, A) {
          A.pollIndex = m(A, A.pollingInterval, A.pollIndex, cj[A.pollingInterval]), A.length ? D(A.pollingInterval) : (E.assert(A.pollIndex === 0), A.pollScheduled = !1);
        }
        function g(w, A) {
          m(
            n,
            250,
            /*pollIndex*/
            0,
            n.length
          ), u(w, A), !A.pollScheduled && n.length && D(
            250
            /* Low */
          );
        }
        function m(w, A, O, F) {
          return Tge(
            e,
            w,
            O,
            F,
            j
          );
          function j(z, V, G) {
            G ? (z.unchangedPolls = 0, w !== n && (w[V] = void 0, T(z))) : z.unchangedPolls !== ZI[A] ? z.unchangedPolls++ : w === n ? (z.unchangedPolls = 1, w[V] = void 0, S(
              z,
              250
              /* Low */
            )) : A !== 2e3 && (z.unchangedPolls++, w[V] = void 0, S(
              z,
              A === 250 ? 500 : 2e3
              /* High */
            ));
          }
        }
        function h(w) {
          switch (w) {
            case 250:
              return i;
            case 500:
              return s;
            case 2e3:
              return o;
          }
        }
        function S(w, A) {
          h(A).push(w), k(A);
        }
        function T(w) {
          n.push(w), k(
            250
            /* Low */
          );
        }
        function k(w) {
          h(w).pollScheduled || D(w);
        }
        function D(w) {
          h(w).pollScheduled = e.setTimeout(w === 250 ? g : u, w, w === 250 ? "pollLowPollingIntervalQueue" : "pollPollingIntervalQueue", h(w));
        }
      }
      function _Fe(e, t, n, i) {
        const s = Tp(), o = i ? /* @__PURE__ */ new Map() : void 0, c = /* @__PURE__ */ new Map(), _ = Hl(t);
        return u;
        function u(m, h, S, T) {
          const k = _(m);
          s.add(k, h).length === 1 && o && o.set(k, n(m) || W_);
          const D = Un(k) || ".", w = c.get(D) || g(Un(m) || ".", D, T);
          return w.referenceCount++, {
            close: () => {
              w.referenceCount === 1 ? (w.close(), c.delete(D)) : w.referenceCount--, s.remove(k, h);
            }
          };
        }
        function g(m, h, S) {
          const T = e(
            m,
            1,
            (k, D) => {
              if (!cs(D)) return;
              const w = Xi(D, m), A = _(w), O = w && s.get(A);
              if (O) {
                let F, j = 1;
                if (o) {
                  const z = o.get(A);
                  if (k === "change" && (F = n(w) || W_, F.getTime() === z.getTime()))
                    return;
                  F || (F = n(w) || W_), o.set(A, F), z === W_ ? j = 0 : F === W_ && (j = 2);
                }
                for (const z of O)
                  z(w, j, F);
              }
            },
            /*recursive*/
            !1,
            500,
            S
          );
          return T.referenceCount = 0, c.set(h, T), T;
        }
      }
      function fFe(e) {
        const t = [];
        let n = 0, i;
        return s;
        function s(_, u) {
          const g = {
            fileName: _,
            callback: u,
            mtime: $T(e, _)
          };
          return t.push(g), c(), {
            close: () => {
              g.isClosed = !0, HT(t, g);
            }
          };
        }
        function o() {
          i = void 0, n = Tge(e, t, n, cj[
            250
            /* Low */
          ]), c();
        }
        function c() {
          !t.length || i || (i = e.setTimeout(o, 2e3, "pollQueue"));
        }
      }
      function xge(e, t, n, i, s) {
        const c = Hl(t)(n), _ = e.get(c);
        return _ ? _.callbacks.push(i) : e.set(c, {
          watcher: s(
            // Cant infer types correctly so lets satisfy checker
            (u, g, m) => {
              var h;
              return (h = e.get(c)) == null ? void 0 : h.callbacks.slice().forEach((S) => S(u, g, m));
            }
          ),
          callbacks: [i]
        }), {
          close: () => {
            const u = e.get(c);
            u && (!i4(u.callbacks, i) || u.callbacks.length || (e.delete(c), lp(u)));
          }
        };
      }
      function pFe(e, t) {
        const n = e.mtime.getTime(), i = t.getTime();
        return n !== i ? (e.mtime = t, e.callback(e.fileName, lj(n, i), t), !0) : !1;
      }
      function lj(e, t) {
        return e === 0 ? 0 : t === 0 ? 2 : 1;
      }
      var KI = ["/node_modules/.", "/.git", "/.#"], kge = Ua;
      function IP(e) {
        return kge(e);
      }
      function SY(e) {
        kge = e;
      }
      function dFe({
        watchDirectory: e,
        useCaseSensitiveFileNames: t,
        getCurrentDirectory: n,
        getAccessibleSortedChildDirectories: i,
        fileSystemEntryExists: s,
        realpath: o,
        setTimeout: c,
        clearTimeout: _
      }) {
        const u = /* @__PURE__ */ new Map(), g = Tp(), m = /* @__PURE__ */ new Map();
        let h;
        const S = vC(!t), T = Hl(t);
        return (W, pe, K, U) => K ? k(W, U, pe) : e(W, pe, K, U);
        function k(W, pe, K, U) {
          const ee = T(W);
          let te = u.get(ee);
          te ? te.refCount++ : (te = {
            watcher: e(
              W,
              (fe) => {
                var me;
                V(fe, pe) || (pe?.synchronousWatchDirectory ? ((me = u.get(ee)) != null && me.targetWatcher || D(W, ee, fe), z(W, ee, pe)) : w(W, ee, fe, pe));
              },
              /*recursive*/
              !1,
              pe
            ),
            refCount: 1,
            childWatches: Ue,
            targetWatcher: void 0,
            links: void 0
          }, u.set(ee, te), z(W, ee, pe)), U && (te.links ?? (te.links = /* @__PURE__ */ new Set())).add(U);
          const ie = K && { dirName: W, callback: K };
          return ie && g.add(ee, ie), {
            dirName: W,
            close: () => {
              var fe;
              const me = E.checkDefined(u.get(ee));
              ie && g.remove(ee, ie), U && ((fe = me.links) == null || fe.delete(U)), me.refCount--, !me.refCount && (u.delete(ee), me.links = void 0, lp(me), j(me), me.childWatches.forEach($p));
            }
          };
        }
        function D(W, pe, K, U) {
          var ee, te;
          let ie, fe;
          cs(K) ? ie = K : fe = K, g.forEach((me, q) => {
            if (!(fe && fe.get(q) === !0) && (q === pe || Wi(pe, q) && pe[q.length] === xo))
              if (fe)
                if (U) {
                  const he = fe.get(q);
                  he ? he.push(...U) : fe.set(q, U.slice());
                } else
                  fe.set(q, !0);
              else
                me.forEach(({ callback: he }) => he(ie));
          }), (te = (ee = u.get(pe)) == null ? void 0 : ee.links) == null || te.forEach((me) => {
            const q = (he) => An(me, Ef(W, he, T));
            fe ? D(me, T(me), fe, U?.map(q)) : D(me, T(me), q(ie));
          });
        }
        function w(W, pe, K, U) {
          const ee = u.get(pe);
          if (ee && s(
            W,
            1
            /* Directory */
          )) {
            A(W, pe, K, U);
            return;
          }
          D(W, pe, K), j(ee), F(ee);
        }
        function A(W, pe, K, U) {
          const ee = m.get(pe);
          ee ? ee.fileNames.push(K) : m.set(pe, { dirName: W, options: U, fileNames: [K] }), h && (_(h), h = void 0), h = c(O, 1e3, "timerToUpdateChildWatches");
        }
        function O() {
          var W;
          h = void 0, IP(`sysLog:: onTimerToUpdateChildWatches:: ${m.size}`);
          const pe = co(), K = /* @__PURE__ */ new Map();
          for (; !h && m.size; ) {
            const ee = m.entries().next();
            E.assert(!ee.done);
            const { value: [te, { dirName: ie, options: fe, fileNames: me }] } = ee;
            m.delete(te);
            const q = z(ie, te, fe);
            (W = u.get(te)) != null && W.targetWatcher || D(ie, te, K, q ? void 0 : me);
          }
          IP(`sysLog:: invokingWatchers:: Elapsed:: ${co() - pe}ms:: ${m.size}`), g.forEach((ee, te) => {
            const ie = K.get(te);
            ie && ee.forEach(({ callback: fe, dirName: me }) => {
              fs(ie) ? ie.forEach(fe) : fe(me);
            });
          });
          const U = co() - pe;
          IP(`sysLog:: Elapsed:: ${U}ms:: onTimerToUpdateChildWatches:: ${m.size} ${h}`);
        }
        function F(W) {
          if (!W) return;
          const pe = W.childWatches;
          W.childWatches = Ue;
          for (const K of pe)
            K.close(), F(u.get(T(K.dirName)));
        }
        function j(W) {
          W?.targetWatcher && (W.targetWatcher.close(), W.targetWatcher = void 0);
        }
        function z(W, pe, K) {
          const U = u.get(pe);
          if (!U) return !1;
          const ee = Gs(o(W));
          let te, ie;
          return S(ee, W) === 0 ? te = GI(
            s(
              W,
              1
              /* Directory */
            ) ? Oi(i(W), (q) => {
              const he = Xi(q, W);
              return !V(he, K) && S(he, Gs(o(he))) === 0 ? he : void 0;
            }) : Ue,
            U.childWatches,
            (q, he) => S(q, he.dirName),
            fe,
            $p,
            me
          ) : U.targetWatcher && S(ee, U.targetWatcher.dirName) === 0 ? (te = !1, E.assert(U.childWatches === Ue)) : (j(U), U.targetWatcher = k(
            ee,
            K,
            /*callback*/
            void 0,
            W
          ), U.childWatches.forEach($p), te = !0), U.childWatches = ie || Ue, te;
          function fe(q) {
            const he = k(q, K);
            me(he);
          }
          function me(q) {
            (ie || (ie = [])).push(q);
          }
        }
        function V(W, pe) {
          return at(KI, (K) => G(W, K)) || Cge(W, pe, t, n);
        }
        function G(W, pe) {
          return W.includes(pe) ? !0 : t ? !1 : T(W).includes(pe);
        }
      }
      var TY = /* @__PURE__ */ ((e) => (e[e.File = 0] = "File", e[e.Directory = 1] = "Directory", e))(TY || {});
      function mFe(e) {
        return (t, n, i) => e(n === 1 ? "change" : "rename", "", i);
      }
      function gFe(e, t, n) {
        return (i, s, o) => {
          i === "rename" ? (o || (o = n(e) || W_), t(e, o !== W_ ? 0 : 2, o)) : t(e, 1, o);
        };
      }
      function Cge(e, t, n, i) {
        return (t?.excludeDirectories || t?.excludeFiles) && (eO(e, t?.excludeFiles, n, i()) || eO(e, t?.excludeDirectories, n, i()));
      }
      function Ege(e, t, n, i, s) {
        return (o, c) => {
          if (o === "rename") {
            const _ = c ? Gs(An(e, c)) : e;
            (!c || !Cge(_, n, i, s)) && t(_);
          }
        };
      }
      function xY({
        pollingWatchFileWorker: e,
        getModifiedTime: t,
        setTimeout: n,
        clearTimeout: i,
        fsWatchWorker: s,
        fileSystemEntryExists: o,
        useCaseSensitiveFileNames: c,
        getCurrentDirectory: _,
        fsSupportsRecursiveFsWatch: u,
        getAccessibleSortedChildDirectories: g,
        realpath: m,
        tscWatchFile: h,
        useNonPollingWatchers: S,
        tscWatchDirectory: T,
        inodeWatching: k,
        fsWatchWithTimestamp: D,
        sysLog: w
      }) {
        const A = /* @__PURE__ */ new Map(), O = /* @__PURE__ */ new Map(), F = /* @__PURE__ */ new Map();
        let j, z, V, G, W = !1;
        return {
          watchFile: pe,
          watchDirectory: ie
        };
        function pe(re, xe, ue, Xe) {
          Xe = ee(Xe, S);
          const nt = E.checkDefined(Xe.watchFile);
          switch (nt) {
            case 0:
              return q(
                re,
                xe,
                250,
                /*options*/
                void 0
              );
            case 1:
              return q(
                re,
                xe,
                ue,
                /*options*/
                void 0
              );
            case 2:
              return K()(
                re,
                xe,
                ue,
                /*options*/
                void 0
              );
            case 3:
              return U()(
                re,
                xe,
                /* pollingInterval */
                void 0,
                /*options*/
                void 0
              );
            case 4:
              return he(
                re,
                0,
                gFe(re, xe, t),
                /*recursive*/
                !1,
                ue,
                pA(Xe)
              );
            case 5:
              return V || (V = _Fe(he, c, t, D)), V(re, xe, ue, pA(Xe));
            default:
              E.assertNever(nt);
          }
        }
        function K() {
          return j || (j = uFe({ getModifiedTime: t, setTimeout: n }));
        }
        function U() {
          return z || (z = fFe({ getModifiedTime: t, setTimeout: n }));
        }
        function ee(re, xe) {
          if (re && re.watchFile !== void 0) return re;
          switch (h) {
            case "PriorityPollingInterval":
              return {
                watchFile: 1
                /* PriorityPollingInterval */
              };
            case "DynamicPriorityPolling":
              return {
                watchFile: 2
                /* DynamicPriorityPolling */
              };
            case "UseFsEvents":
              return te(4, 1, re);
            case "UseFsEventsWithFallbackDynamicPolling":
              return te(4, 2, re);
            case "UseFsEventsOnParentDirectory":
              xe = !0;
            // fall through
            default:
              return xe ? (
                // Use notifications from FS to watch with falling back to fs.watchFile
                te(5, 1, re)
              ) : (
                // Default to using fs events
                {
                  watchFile: 4
                  /* UseFsEvents */
                }
              );
          }
        }
        function te(re, xe, ue) {
          const Xe = ue?.fallbackPolling;
          return {
            watchFile: re,
            fallbackPolling: Xe === void 0 ? xe : Xe
          };
        }
        function ie(re, xe, ue, Xe) {
          return u ? he(
            re,
            1,
            Ege(re, xe, Xe, c, _),
            ue,
            500,
            pA(Xe)
          ) : (G || (G = dFe({
            useCaseSensitiveFileNames: c,
            getCurrentDirectory: _,
            fileSystemEntryExists: o,
            getAccessibleSortedChildDirectories: g,
            watchDirectory: fe,
            realpath: m,
            setTimeout: n,
            clearTimeout: i
          })), G(re, xe, ue, Xe));
        }
        function fe(re, xe, ue, Xe) {
          E.assert(!ue);
          const nt = me(Xe), oe = E.checkDefined(nt.watchDirectory);
          switch (oe) {
            case 1:
              return q(
                re,
                () => xe(re),
                500,
                /*options*/
                void 0
              );
            case 2:
              return K()(
                re,
                () => xe(re),
                500,
                /*options*/
                void 0
              );
            case 3:
              return U()(
                re,
                () => xe(re),
                /* pollingInterval */
                void 0,
                /*options*/
                void 0
              );
            case 0:
              return he(
                re,
                1,
                Ege(re, xe, Xe, c, _),
                ue,
                500,
                pA(nt)
              );
            default:
              E.assertNever(oe);
          }
        }
        function me(re) {
          if (re && re.watchDirectory !== void 0) return re;
          switch (T) {
            case "RecursiveDirectoryUsingFsWatchFile":
              return {
                watchDirectory: 1
                /* FixedPollingInterval */
              };
            case "RecursiveDirectoryUsingDynamicPriorityPolling":
              return {
                watchDirectory: 2
                /* DynamicPriorityPolling */
              };
            default:
              const xe = re?.fallbackPolling;
              return {
                watchDirectory: 0,
                fallbackPolling: xe !== void 0 ? xe : void 0
              };
          }
        }
        function q(re, xe, ue, Xe) {
          return xge(
            A,
            c,
            re,
            xe,
            (nt) => e(re, nt, ue, Xe)
          );
        }
        function he(re, xe, ue, Xe, nt, oe) {
          return xge(
            Xe ? F : O,
            c,
            re,
            ue,
            (ve) => Me(re, xe, ve, Xe, nt, oe)
          );
        }
        function Me(re, xe, ue, Xe, nt, oe) {
          let ve, se;
          k && (ve = re.substring(re.lastIndexOf(xo)), se = ve.slice(xo.length));
          let Pe = o(re, xe) ? Ce() : Bt();
          return {
            close: () => {
              Pe && (Pe.close(), Pe = void 0);
            }
          };
          function Ee(tr) {
            Pe && (w(`sysLog:: ${re}:: Changing watcher to ${tr === Ce ? "Present" : "Missing"}FileSystemEntryWatcher`), Pe.close(), Pe = tr());
          }
          function Ce() {
            if (W)
              return w(`sysLog:: ${re}:: Defaulting to watchFile`), St();
            try {
              const tr = (xe === 1 || !D ? s : De)(
                re,
                Xe,
                k ? ze : ue
              );
              return tr.on("error", () => {
                ue("rename", ""), Ee(Bt);
              }), tr;
            } catch (tr) {
              return W || (W = tr.code === "ENOSPC"), w(`sysLog:: ${re}:: Changing to watchFile`), St();
            }
          }
          function ze(tr, Fr) {
            let it;
            if (Fr && No(Fr, "~") && (it = Fr, Fr = Fr.slice(0, Fr.length - 1)), tr === "rename" && (!Fr || Fr === se || No(Fr, ve))) {
              const Wt = t(re) || W_;
              it && ue(tr, it, Wt), ue(tr, Fr, Wt), k ? Ee(Wt === W_ ? Bt : Ce) : Wt === W_ && Ee(Bt);
            } else
              it && ue(tr, it), ue(tr, Fr);
          }
          function St() {
            return pe(
              re,
              mFe(ue),
              nt,
              oe
            );
          }
          function Bt() {
            return pe(
              re,
              (tr, Fr, it) => {
                Fr === 0 && (it || (it = t(re) || W_), it !== W_ && (ue("rename", "", it), Ee(Ce)));
              },
              nt,
              oe
            );
          }
        }
        function De(re, xe, ue) {
          let Xe = t(re) || W_;
          return s(re, xe, (nt, oe, ve) => {
            nt === "change" && (ve || (ve = t(re) || W_), ve.getTime() === Xe.getTime()) || (Xe = ve || t(re) || W_, ue(nt, oe, Xe));
          });
        }
      }
      function kY(e) {
        const t = e.writeFile;
        e.writeFile = (n, i, s) => HB(
          n,
          i,
          !!s,
          (o, c, _) => t.call(e, o, c, _),
          (o) => e.createDirectory(o),
          (o) => e.directoryExists(o)
        );
      }
      var dl = (() => {
        const e = "\uFEFF";
        function t() {
          const i = /^native |^\([^)]+\)$|^(?:internal[\\/]|[\w\s]+(?:\.js)?$)/, s = ZE, o = ZE, c = ZE;
          let _;
          try {
            _ = ZE;
          } catch {
            _ = void 0;
          }
          let u, g = "./profile.cpuprofile";
          const m = process.platform === "darwin", h = process.platform === "linux" || m, S = { throwIfNoEntry: !1 }, T = c.platform(), k = K(), D = s.realpathSync.native ? process.platform === "win32" ? xe : s.realpathSync.native : s.realpathSync, w = __filename.endsWith("sys.js") ? o.join(o.dirname(__dirname), "__fake__.js") : __filename, A = process.platform === "win32" || m, O = Au(() => process.cwd()), { watchFile: F, watchDirectory: j } = xY({
            pollingWatchFileWorker: ee,
            getModifiedTime: Xe,
            setTimeout,
            clearTimeout,
            fsWatchWorker: te,
            useCaseSensitiveFileNames: k,
            getCurrentDirectory: O,
            fileSystemEntryExists: he,
            // Node 4.0 `fs.watch` function supports the "recursive" option on both OSX and Windows
            // (ref: https://github.com/nodejs/node/pull/2649 and https://github.com/Microsoft/TypeScript/issues/4643)
            fsSupportsRecursiveFsWatch: A,
            getAccessibleSortedChildDirectories: (se) => me(se).directories,
            realpath: ue,
            tscWatchFile: process.env.TSC_WATCHFILE,
            useNonPollingWatchers: !!process.env.TSC_NONPOLLING_WATCHER,
            tscWatchDirectory: process.env.TSC_WATCHDIRECTORY,
            inodeWatching: h,
            fsWatchWithTimestamp: m,
            sysLog: IP
          }), z = {
            args: process.argv.slice(2),
            newLine: c.EOL,
            useCaseSensitiveFileNames: k,
            write(se) {
              process.stdout.write(se);
            },
            getWidthOfTerminal() {
              return process.stdout.columns;
            },
            writeOutputIsTTY() {
              return process.stdout.isTTY;
            },
            readFile: ie,
            writeFile: fe,
            watchFile: F,
            watchDirectory: j,
            preferNonRecursiveWatch: !A,
            resolvePath: (se) => o.resolve(se),
            fileExists: Me,
            directoryExists: De,
            getAccessibleFileSystemEntries: me,
            createDirectory(se) {
              if (!z.directoryExists(se))
                try {
                  s.mkdirSync(se);
                } catch (Pe) {
                  if (Pe.code !== "EEXIST")
                    throw Pe;
                }
            },
            getExecutingFilePath() {
              return w;
            },
            getCurrentDirectory: O,
            getDirectories: re,
            getEnvironmentVariable(se) {
              return process.env[se] || "";
            },
            readDirectory: q,
            getModifiedTime: Xe,
            setModifiedTime: nt,
            deleteFile: oe,
            createHash: _ ? ve : f4,
            createSHA256Hash: _ ? ve : void 0,
            getMemoryUsage() {
              return m5e.gc && m5e.gc(), process.memoryUsage().heapUsed;
            },
            getFileSize(se) {
              const Pe = V(se);
              return Pe?.isFile() ? Pe.size : 0;
            },
            exit(se) {
              pe(() => process.exit(se));
            },
            enableCPUProfiler: G,
            disableCPUProfiler: pe,
            cpuProfilingEnabled: () => !!u || _s(process.execArgv, "--cpu-prof") || _s(process.execArgv, "--prof"),
            realpath: ue,
            debugMode: !!process.env.NODE_INSPECTOR_IPC || !!process.env.VSCODE_INSPECTOR_OPTIONS || at(process.execArgv, (se) => /^--(?:inspect|debug)(?:-brk)?(?:=\d+)?$/i.test(se)) || !!process.recordreplay,
            tryEnableSourceMapsForHost() {
              try {
                ZE.install();
              } catch {
              }
            },
            setTimeout,
            clearTimeout,
            clearScreen: () => {
              process.stdout.write("\x1B[2J\x1B[3J\x1B[H");
            },
            setBlocking: () => {
              var se;
              const Pe = (se = process.stdout) == null ? void 0 : se._handle;
              Pe && Pe.setBlocking && Pe.setBlocking(!0);
            },
            base64decode: (se) => Buffer.from(se, "base64").toString("utf8"),
            base64encode: (se) => Buffer.from(se).toString("base64"),
            require: (se, Pe) => {
              try {
                const Ee = Xre(Pe, se, z);
                return { module: S5e(Ee), modulePath: Ee, error: void 0 };
              } catch (Ee) {
                return { module: void 0, modulePath: void 0, error: Ee };
              }
            }
          };
          return z;
          function V(se) {
            try {
              return s.statSync(se, S);
            } catch {
              return;
            }
          }
          function G(se, Pe) {
            if (u)
              return Pe(), !1;
            const Ee = ZE;
            if (!Ee || !Ee.Session)
              return Pe(), !1;
            const Ce = new Ee.Session();
            return Ce.connect(), Ce.post("Profiler.enable", () => {
              Ce.post("Profiler.start", () => {
                u = Ce, g = se, Pe();
              });
            }), !0;
          }
          function W(se) {
            let Pe = 0;
            const Ee = /* @__PURE__ */ new Map(), Ce = Bl(o.dirname(w)), ze = `file://${ud(Ce) === 1 ? "" : "/"}${Ce}`;
            for (const St of se.nodes)
              if (St.callFrame.url) {
                const Bt = Bl(St.callFrame.url);
                Qf(ze, Bt, k) ? St.callFrame.url = YT(
                  ze,
                  Bt,
                  ze,
                  Hl(k),
                  /*isAbsolutePathAnUrl*/
                  !0
                ) : i.test(Bt) || (St.callFrame.url = (Ee.has(Bt) ? Ee : Ee.set(Bt, `external${Pe}.js`)).get(Bt), Pe++);
              }
            return se;
          }
          function pe(se) {
            if (u && u !== "stopping") {
              const Pe = u;
              return u.post("Profiler.stop", (Ee, { profile: Ce }) => {
                var ze;
                if (!Ee) {
                  (ze = V(g)) != null && ze.isDirectory() && (g = o.join(g, `${(/* @__PURE__ */ new Date()).toISOString().replace(/:/g, "-")}+P${process.pid}.cpuprofile`));
                  try {
                    s.mkdirSync(o.dirname(g), { recursive: !0 });
                  } catch {
                  }
                  s.writeFileSync(g, JSON.stringify(W(Ce)));
                }
                u = void 0, Pe.disconnect(), se();
              }), u = "stopping", !0;
            } else
              return se(), !1;
          }
          function K() {
            return T === "win32" || T === "win64" ? !1 : !Me(U(__filename));
          }
          function U(se) {
            return se.replace(/\w/g, (Pe) => {
              const Ee = Pe.toUpperCase();
              return Pe === Ee ? Pe.toLowerCase() : Ee;
            });
          }
          function ee(se, Pe, Ee) {
            s.watchFile(se, { persistent: !0, interval: Ee }, ze);
            let Ce;
            return {
              close: () => s.unwatchFile(se, ze)
            };
            function ze(St, Bt) {
              const tr = +Bt.mtime == 0 || Ce === 2;
              if (+St.mtime == 0) {
                if (tr)
                  return;
                Ce = 2;
              } else if (tr)
                Ce = 0;
              else {
                if (+St.mtime == +Bt.mtime)
                  return;
                Ce = 1;
              }
              Pe(se, Ce, St.mtime);
            }
          }
          function te(se, Pe, Ee) {
            return s.watch(
              se,
              A ? { persistent: !0, recursive: !!Pe } : { persistent: !0 },
              Ee
            );
          }
          function ie(se, Pe) {
            let Ee;
            try {
              Ee = s.readFileSync(se);
            } catch {
              return;
            }
            let Ce = Ee.length;
            if (Ce >= 2 && Ee[0] === 254 && Ee[1] === 255) {
              Ce &= -2;
              for (let ze = 0; ze < Ce; ze += 2) {
                const St = Ee[ze];
                Ee[ze] = Ee[ze + 1], Ee[ze + 1] = St;
              }
              return Ee.toString("utf16le", 2);
            }
            return Ce >= 2 && Ee[0] === 255 && Ee[1] === 254 ? Ee.toString("utf16le", 2) : Ce >= 3 && Ee[0] === 239 && Ee[1] === 187 && Ee[2] === 191 ? Ee.toString("utf8", 3) : Ee.toString("utf8");
          }
          function fe(se, Pe, Ee) {
            Ee && (Pe = e + Pe);
            let Ce;
            try {
              Ce = s.openSync(se, "w"), s.writeSync(
                Ce,
                Pe,
                /*position*/
                void 0,
                "utf8"
              );
            } finally {
              Ce !== void 0 && s.closeSync(Ce);
            }
          }
          function me(se) {
            try {
              const Pe = s.readdirSync(se || ".", { withFileTypes: !0 }), Ee = [], Ce = [];
              for (const ze of Pe) {
                const St = typeof ze == "string" ? ze : ze.name;
                if (St === "." || St === "..")
                  continue;
                let Bt;
                if (typeof ze == "string" || ze.isSymbolicLink()) {
                  const tr = An(se, St);
                  if (Bt = V(tr), !Bt)
                    continue;
                } else
                  Bt = ze;
                Bt.isFile() ? Ee.push(St) : Bt.isDirectory() && Ce.push(St);
              }
              return Ee.sort(), Ce.sort(), { files: Ee, directories: Ce };
            } catch {
              return DJ;
            }
          }
          function q(se, Pe, Ee, Ce, ze) {
            return xJ(se, Pe, Ee, Ce, k, process.cwd(), ze, me, ue);
          }
          function he(se, Pe) {
            const Ee = V(se);
            if (!Ee)
              return !1;
            switch (Pe) {
              case 0:
                return Ee.isFile();
              case 1:
                return Ee.isDirectory();
              default:
                return !1;
            }
          }
          function Me(se) {
            return he(
              se,
              0
              /* File */
            );
          }
          function De(se) {
            return he(
              se,
              1
              /* Directory */
            );
          }
          function re(se) {
            return me(se).directories.slice();
          }
          function xe(se) {
            return se.length < 260 ? s.realpathSync.native(se) : s.realpathSync(se);
          }
          function ue(se) {
            try {
              return D(se);
            } catch {
              return se;
            }
          }
          function Xe(se) {
            var Pe;
            return (Pe = V(se)) == null ? void 0 : Pe.mtime;
          }
          function nt(se, Pe) {
            try {
              s.utimesSync(se, Pe, Pe);
            } catch {
              return;
            }
          }
          function oe(se) {
            try {
              return s.unlinkSync(se);
            } catch {
              return;
            }
          }
          function ve(se) {
            const Pe = _.createHash("sha256");
            return Pe.update(se), Pe.digest("hex");
          }
        }
        let n;
        return JR() && (n = t()), n && kY(n), n;
      })();
      function Dge(e) {
        dl = e;
      }
      dl && dl.getEnvironmentVariable && (lFe(dl), E.setAssertionLevel(
        /^development$/i.test(dl.getEnvironmentVariable("NODE_ENV")) ? 1 : 0
        /* None */
      )), dl && dl.debugMode && (E.isDebugging = !0);
      var xo = "/", e7 = "\\", wge = "://", hFe = /\\/g;
      function uj(e) {
        return e === 47 || e === 92;
      }
      function CY(e) {
        return t7(e) < 0;
      }
      function V_(e) {
        return t7(e) > 0;
      }
      function _j(e) {
        const t = t7(e);
        return t > 0 && t === e.length;
      }
      function p4(e) {
        return t7(e) !== 0;
      }
      function ff(e) {
        return /^\.\.?(?:$|[\\/])/.test(e);
      }
      function fj(e) {
        return !p4(e) && !ff(e);
      }
      function xC(e) {
        return Qc(e).includes(".");
      }
      function Wo(e, t) {
        return e.length > t.length && No(e, t);
      }
      function Dc(e, t) {
        for (const n of t)
          if (Wo(e, n))
            return !0;
        return !1;
      }
      function Ny(e) {
        return e.length > 0 && uj(e.charCodeAt(e.length - 1));
      }
      function Pge(e) {
        return e >= 97 && e <= 122 || e >= 65 && e <= 90;
      }
      function yFe(e, t) {
        const n = e.charCodeAt(t);
        if (n === 58) return t + 1;
        if (n === 37 && e.charCodeAt(t + 1) === 51) {
          const i = e.charCodeAt(t + 2);
          if (i === 97 || i === 65) return t + 3;
        }
        return -1;
      }
      function t7(e) {
        if (!e) return 0;
        const t = e.charCodeAt(0);
        if (t === 47 || t === 92) {
          if (e.charCodeAt(1) !== t) return 1;
          const i = e.indexOf(t === 47 ? xo : e7, 2);
          return i < 0 ? e.length : i + 1;
        }
        if (Pge(t) && e.charCodeAt(1) === 58) {
          const i = e.charCodeAt(2);
          if (i === 47 || i === 92) return 3;
          if (e.length === 2) return 2;
        }
        const n = e.indexOf(wge);
        if (n !== -1) {
          const i = n + wge.length, s = e.indexOf(xo, i);
          if (s !== -1) {
            const o = e.slice(0, n), c = e.slice(i, s);
            if (o === "file" && (c === "" || c === "localhost") && Pge(e.charCodeAt(s + 1))) {
              const _ = yFe(e, s + 2);
              if (_ !== -1) {
                if (e.charCodeAt(_) === 47)
                  return ~(_ + 1);
                if (_ === e.length)
                  return ~_;
              }
            }
            return ~(s + 1);
          }
          return ~e.length;
        }
        return 0;
      }
      function ud(e) {
        const t = t7(e);
        return t < 0 ? ~t : t;
      }
      function Un(e) {
        e = Bl(e);
        const t = ud(e);
        return t === e.length ? e : (e = g0(e), e.slice(0, Math.max(t, e.lastIndexOf(xo))));
      }
      function Qc(e, t, n) {
        if (e = Bl(e), ud(e) === e.length) return "";
        e = g0(e);
        const s = e.slice(Math.max(ud(e), e.lastIndexOf(xo) + 1)), o = t !== void 0 && n !== void 0 ? XT(s, t, n) : void 0;
        return o ? s.slice(0, s.length - o.length) : s;
      }
      function Nge(e, t, n) {
        if (Wi(t, ".") || (t = "." + t), e.length >= t.length && e.charCodeAt(e.length - t.length) === 46) {
          const i = e.slice(e.length - t.length);
          if (n(i, t))
            return i;
        }
      }
      function vFe(e, t, n) {
        if (typeof t == "string")
          return Nge(e, t, n) || "";
        for (const i of t) {
          const s = Nge(e, i, n);
          if (s) return s;
        }
        return "";
      }
      function XT(e, t, n) {
        if (t)
          return vFe(g0(e), t, n ? wy : gb);
        const i = Qc(e), s = i.lastIndexOf(".");
        return s >= 0 ? i.substring(s) : "";
      }
      function bFe(e, t) {
        const n = e.substring(0, t), i = e.substring(t).split(xo);
        return i.length && !Po(i) && i.pop(), [n, ...i];
      }
      function ou(e, t = "") {
        return e = An(t, e), bFe(e, ud(e));
      }
      function z1(e, t) {
        return e.length === 0 ? "" : (e[0] && ml(e[0])) + e.slice(1, t).join(xo);
      }
      function Bl(e) {
        return e.includes("\\") ? e.replace(hFe, xo) : e;
      }
      function QT(e) {
        if (!at(e)) return [];
        const t = [e[0]];
        for (let n = 1; n < e.length; n++) {
          const i = e[n];
          if (i && i !== ".") {
            if (i === "..") {
              if (t.length > 1) {
                if (t[t.length - 1] !== "..") {
                  t.pop();
                  continue;
                }
              } else if (t[0]) continue;
            }
            t.push(i);
          }
        }
        return t;
      }
      function An(e, ...t) {
        e && (e = Bl(e));
        for (let n of t)
          n && (n = Bl(n), !e || ud(n) !== 0 ? e = n : e = ml(e) + n);
        return e;
      }
      function Ay(e, ...t) {
        return Gs(at(t) ? An(e, ...t) : Bl(e));
      }
      function r7(e, t) {
        return QT(ou(e, t));
      }
      function Xi(e, t) {
        let n = ud(e);
        n === 0 && t ? (e = An(t, e), n = ud(e)) : e = Bl(e);
        const i = Age(e);
        if (i !== void 0)
          return i.length > n ? g0(i) : i;
        const s = e.length, o = e.substring(0, n);
        let c, _ = n, u = _, g = _, m = n !== 0;
        for (; _ < s; ) {
          u = _;
          let h = e.charCodeAt(_);
          for (; h === 47 && _ + 1 < s; )
            _++, h = e.charCodeAt(_);
          _ > u && (c ?? (c = e.substring(0, u - 1)), u = _);
          let S = e.indexOf(xo, _ + 1);
          S === -1 && (S = s);
          const T = S - u;
          if (T === 1 && e.charCodeAt(_) === 46)
            c ?? (c = e.substring(0, g));
          else if (T === 2 && e.charCodeAt(_) === 46 && e.charCodeAt(_ + 1) === 46)
            if (!m)
              c !== void 0 ? c += c.length === n ? ".." : "/.." : g = _ + 2;
            else if (c === void 0)
              g - 2 >= 0 ? c = e.substring(0, Math.max(n, e.lastIndexOf(xo, g - 2))) : c = e.substring(0, g);
            else {
              const k = c.lastIndexOf(xo);
              k !== -1 ? c = c.substring(0, Math.max(n, k)) : c = o, c.length === n && (m = n !== 0);
            }
          else c !== void 0 ? (c.length !== n && (c += xo), m = !0, c += e.substring(u, S)) : (m = !0, g = S);
          _ = S + 1;
        }
        return c ?? (s > n ? g0(e) : e);
      }
      function Gs(e) {
        e = Bl(e);
        let t = Age(e);
        return t !== void 0 ? t : (t = Xi(e, ""), t && Ny(e) ? ml(t) : t);
      }
      function Age(e) {
        if (!dj.test(e))
          return e;
        let t = e.replace(/\/\.\//g, "/");
        if (t.startsWith("./") && (t = t.slice(2)), t !== e && (e = t, !dj.test(e)))
          return e;
      }
      function SFe(e) {
        return e.length === 0 ? "" : e.slice(1).join(xo);
      }
      function pj(e, t) {
        return SFe(r7(e, t));
      }
      function lo(e, t, n) {
        const i = V_(e) ? Gs(e) : Xi(e, t);
        return n(i);
      }
      function g0(e) {
        return Ny(e) ? e.substr(0, e.length - 1) : e;
      }
      function ml(e) {
        return Ny(e) ? e : e + xo;
      }
      function nS(e) {
        return !p4(e) && !ff(e) ? "./" + e : e;
      }
      function FP(e, t, n, i) {
        const s = n !== void 0 && i !== void 0 ? XT(e, n, i) : XT(e);
        return s ? e.slice(0, e.length - s.length) + (Wi(t, ".") ? t : "." + t) : e;
      }
      function n7(e, t) {
        const n = JF(e);
        return n ? e.slice(0, e.length - n.length) + (Wi(t, ".") ? t : "." + t) : FP(e, t);
      }
      var dj = /\/\/|(?:^|\/)\.\.?(?:$|\/)/;
      function EY(e, t, n) {
        if (e === t) return 0;
        if (e === void 0) return -1;
        if (t === void 0) return 1;
        const i = e.substring(0, ud(e)), s = t.substring(0, ud(t)), o = wP(i, s);
        if (o !== 0)
          return o;
        const c = e.substring(i.length), _ = t.substring(s.length);
        if (!dj.test(c) && !dj.test(_))
          return n(c, _);
        const u = QT(ou(e)), g = QT(ou(t)), m = Math.min(u.length, g.length);
        for (let h = 1; h < m; h++) {
          const S = n(u[h], g[h]);
          if (S !== 0)
            return S;
        }
        return go(u.length, g.length);
      }
      function Ige(e, t) {
        return EY(e, t, au);
      }
      function Fge(e, t) {
        return EY(e, t, wP);
      }
      function xh(e, t, n, i) {
        return typeof n == "string" ? (e = An(n, e), t = An(n, t)) : typeof n == "boolean" && (i = n), EY(e, t, vC(i));
      }
      function Qf(e, t, n, i) {
        if (typeof n == "string" ? (e = An(n, e), t = An(n, t)) : typeof n == "boolean" && (i = n), e === void 0 || t === void 0) return !1;
        if (e === t) return !0;
        const s = QT(ou(e)), o = QT(ou(t));
        if (o.length < s.length)
          return !1;
        const c = i ? wy : gb;
        for (let _ = 0; _ < s.length; _++)
          if (!(_ === 0 ? wy : c)(s[_], o[_]))
            return !1;
        return !0;
      }
      function mj(e, t, n) {
        const i = n(e), s = n(t);
        return Wi(i, s + "/") || Wi(i, s + "\\");
      }
      function Oge(e, t, n, i) {
        const s = QT(ou(e)), o = QT(ou(t));
        let c;
        for (c = 0; c < s.length && c < o.length; c++) {
          const g = i(s[c]), m = i(o[c]);
          if (!(c === 0 ? wy : n)(g, m)) break;
        }
        if (c === 0)
          return o;
        const _ = o.slice(c), u = [];
        for (; c < s.length; c++)
          u.push("..");
        return ["", ...u, ..._];
      }
      function Ef(e, t, n) {
        E.assert(ud(e) > 0 == ud(t) > 0, "Paths must either both be absolute or both be relative");
        const o = Oge(e, t, (typeof n == "boolean" ? n : !1) ? wy : gb, typeof n == "function" ? n : mo);
        return z1(o);
      }
      function d4(e, t, n) {
        return V_(e) ? YT(
          t,
          e,
          t,
          n,
          /*isAbsolutePathAnUrl*/
          !1
        ) : e;
      }
      function kC(e, t, n) {
        return nS(Ef(Un(e), t, n));
      }
      function YT(e, t, n, i, s) {
        const o = Oge(
          Ay(n, e),
          Ay(n, t),
          gb,
          i
        ), c = o[0];
        if (s && V_(c)) {
          const _ = c.charAt(0) === xo ? "file://" : "file:///";
          o[0] = _ + c;
        }
        return z1(o);
      }
      function m4(e, t) {
        for (; ; ) {
          const n = t(e);
          if (n !== void 0)
            return n;
          const i = Un(e);
          if (i === e)
            return;
          e = i;
        }
      }
      function i7(e) {
        return No(e, "/node_modules");
      }
      function b(e, t, n, i, s, o, c) {
        return { code: e, category: t, key: n, message: i, reportsUnnecessary: s, elidedInCompatabilityPyramid: o, reportsDeprecated: c };
      }
      var p = {
        Unterminated_string_literal: b(1002, 1, "Unterminated_string_literal_1002", "Unterminated string literal."),
        Identifier_expected: b(1003, 1, "Identifier_expected_1003", "Identifier expected."),
        _0_expected: b(1005, 1, "_0_expected_1005", "'{0}' expected."),
        A_file_cannot_have_a_reference_to_itself: b(1006, 1, "A_file_cannot_have_a_reference_to_itself_1006", "A file cannot have a reference to itself."),
        The_parser_expected_to_find_a_1_to_match_the_0_token_here: b(1007, 1, "The_parser_expected_to_find_a_1_to_match_the_0_token_here_1007", "The parser expected to find a '{1}' to match the '{0}' token here."),
        Trailing_comma_not_allowed: b(1009, 1, "Trailing_comma_not_allowed_1009", "Trailing comma not allowed."),
        Asterisk_Slash_expected: b(1010, 1, "Asterisk_Slash_expected_1010", "'*/' expected."),
        An_element_access_expression_should_take_an_argument: b(1011, 1, "An_element_access_expression_should_take_an_argument_1011", "An element access expression should take an argument."),
        Unexpected_token: b(1012, 1, "Unexpected_token_1012", "Unexpected token."),
        A_rest_parameter_or_binding_pattern_may_not_have_a_trailing_comma: b(1013, 1, "A_rest_parameter_or_binding_pattern_may_not_have_a_trailing_comma_1013", "A rest parameter or binding pattern may not have a trailing comma."),
        A_rest_parameter_must_be_last_in_a_parameter_list: b(1014, 1, "A_rest_parameter_must_be_last_in_a_parameter_list_1014", "A rest parameter must be last in a parameter list."),
        Parameter_cannot_have_question_mark_and_initializer: b(1015, 1, "Parameter_cannot_have_question_mark_and_initializer_1015", "Parameter cannot have question mark and initializer."),
        A_required_parameter_cannot_follow_an_optional_parameter: b(1016, 1, "A_required_parameter_cannot_follow_an_optional_parameter_1016", "A required parameter cannot follow an optional parameter."),
        An_index_signature_cannot_have_a_rest_parameter: b(1017, 1, "An_index_signature_cannot_have_a_rest_parameter_1017", "An index signature cannot have a rest parameter."),
        An_index_signature_parameter_cannot_have_an_accessibility_modifier: b(1018, 1, "An_index_signature_parameter_cannot_have_an_accessibility_modifier_1018", "An index signature parameter cannot have an accessibility modifier."),
        An_index_signature_parameter_cannot_have_a_question_mark: b(1019, 1, "An_index_signature_parameter_cannot_have_a_question_mark_1019", "An index signature parameter cannot have a question mark."),
        An_index_signature_parameter_cannot_have_an_initializer: b(1020, 1, "An_index_signature_parameter_cannot_have_an_initializer_1020", "An index signature parameter cannot have an initializer."),
        An_index_signature_must_have_a_type_annotation: b(1021, 1, "An_index_signature_must_have_a_type_annotation_1021", "An index signature must have a type annotation."),
        An_index_signature_parameter_must_have_a_type_annotation: b(1022, 1, "An_index_signature_parameter_must_have_a_type_annotation_1022", "An index signature parameter must have a type annotation."),
        readonly_modifier_can_only_appear_on_a_property_declaration_or_index_signature: b(1024, 1, "readonly_modifier_can_only_appear_on_a_property_declaration_or_index_signature_1024", "'readonly' modifier can only appear on a property declaration or index signature."),
        An_index_signature_cannot_have_a_trailing_comma: b(1025, 1, "An_index_signature_cannot_have_a_trailing_comma_1025", "An index signature cannot have a trailing comma."),
        Accessibility_modifier_already_seen: b(1028, 1, "Accessibility_modifier_already_seen_1028", "Accessibility modifier already seen."),
        _0_modifier_must_precede_1_modifier: b(1029, 1, "_0_modifier_must_precede_1_modifier_1029", "'{0}' modifier must precede '{1}' modifier."),
        _0_modifier_already_seen: b(1030, 1, "_0_modifier_already_seen_1030", "'{0}' modifier already seen."),
        _0_modifier_cannot_appear_on_class_elements_of_this_kind: b(1031, 1, "_0_modifier_cannot_appear_on_class_elements_of_this_kind_1031", "'{0}' modifier cannot appear on class elements of this kind."),
        super_must_be_followed_by_an_argument_list_or_member_access: b(1034, 1, "super_must_be_followed_by_an_argument_list_or_member_access_1034", "'super' must be followed by an argument list or member access."),
        Only_ambient_modules_can_use_quoted_names: b(1035, 1, "Only_ambient_modules_can_use_quoted_names_1035", "Only ambient modules can use quoted names."),
        Statements_are_not_allowed_in_ambient_contexts: b(1036, 1, "Statements_are_not_allowed_in_ambient_contexts_1036", "Statements are not allowed in ambient contexts."),
        A_declare_modifier_cannot_be_used_in_an_already_ambient_context: b(1038, 1, "A_declare_modifier_cannot_be_used_in_an_already_ambient_context_1038", "A 'declare' modifier cannot be used in an already ambient context."),
        Initializers_are_not_allowed_in_ambient_contexts: b(1039, 1, "Initializers_are_not_allowed_in_ambient_contexts_1039", "Initializers are not allowed in ambient contexts."),
        _0_modifier_cannot_be_used_in_an_ambient_context: b(1040, 1, "_0_modifier_cannot_be_used_in_an_ambient_context_1040", "'{0}' modifier cannot be used in an ambient context."),
        _0_modifier_cannot_be_used_here: b(1042, 1, "_0_modifier_cannot_be_used_here_1042", "'{0}' modifier cannot be used here."),
        _0_modifier_cannot_appear_on_a_module_or_namespace_element: b(1044, 1, "_0_modifier_cannot_appear_on_a_module_or_namespace_element_1044", "'{0}' modifier cannot appear on a module or namespace element."),
        Top_level_declarations_in_d_ts_files_must_start_with_either_a_declare_or_export_modifier: b(1046, 1, "Top_level_declarations_in_d_ts_files_must_start_with_either_a_declare_or_export_modifier_1046", "Top-level declarations in .d.ts files must start with either a 'declare' or 'export' modifier."),
        A_rest_parameter_cannot_be_optional: b(1047, 1, "A_rest_parameter_cannot_be_optional_1047", "A rest parameter cannot be optional."),
        A_rest_parameter_cannot_have_an_initializer: b(1048, 1, "A_rest_parameter_cannot_have_an_initializer_1048", "A rest parameter cannot have an initializer."),
        A_set_accessor_must_have_exactly_one_parameter: b(1049, 1, "A_set_accessor_must_have_exactly_one_parameter_1049", "A 'set' accessor must have exactly one parameter."),
        A_set_accessor_cannot_have_an_optional_parameter: b(1051, 1, "A_set_accessor_cannot_have_an_optional_parameter_1051", "A 'set' accessor cannot have an optional parameter."),
        A_set_accessor_parameter_cannot_have_an_initializer: b(1052, 1, "A_set_accessor_parameter_cannot_have_an_initializer_1052", "A 'set' accessor parameter cannot have an initializer."),
        A_set_accessor_cannot_have_rest_parameter: b(1053, 1, "A_set_accessor_cannot_have_rest_parameter_1053", "A 'set' accessor cannot have rest parameter."),
        A_get_accessor_cannot_have_parameters: b(1054, 1, "A_get_accessor_cannot_have_parameters_1054", "A 'get' accessor cannot have parameters."),
        Type_0_is_not_a_valid_async_function_return_type_in_ES5_because_it_does_not_refer_to_a_Promise_compatible_constructor_value: b(1055, 1, "Type_0_is_not_a_valid_async_function_return_type_in_ES5_because_it_does_not_refer_to_a_Promise_compa_1055", "Type '{0}' is not a valid async function return type in ES5 because it does not refer to a Promise-compatible constructor value."),
        Accessors_are_only_available_when_targeting_ECMAScript_5_and_higher: b(1056, 1, "Accessors_are_only_available_when_targeting_ECMAScript_5_and_higher_1056", "Accessors are only available when targeting ECMAScript 5 and higher."),
        The_return_type_of_an_async_function_must_either_be_a_valid_promise_or_must_not_contain_a_callable_then_member: b(1058, 1, "The_return_type_of_an_async_function_must_either_be_a_valid_promise_or_must_not_contain_a_callable_t_1058", "The return type of an async function must either be a valid promise or must not contain a callable 'then' member."),
        A_promise_must_have_a_then_method: b(1059, 1, "A_promise_must_have_a_then_method_1059", "A promise must have a 'then' method."),
        The_first_parameter_of_the_then_method_of_a_promise_must_be_a_callback: b(1060, 1, "The_first_parameter_of_the_then_method_of_a_promise_must_be_a_callback_1060", "The first parameter of the 'then' method of a promise must be a callback."),
        Enum_member_must_have_initializer: b(1061, 1, "Enum_member_must_have_initializer_1061", "Enum member must have initializer."),
        Type_is_referenced_directly_or_indirectly_in_the_fulfillment_callback_of_its_own_then_method: b(1062, 1, "Type_is_referenced_directly_or_indirectly_in_the_fulfillment_callback_of_its_own_then_method_1062", "Type is referenced directly or indirectly in the fulfillment callback of its own 'then' method."),
        An_export_assignment_cannot_be_used_in_a_namespace: b(1063, 1, "An_export_assignment_cannot_be_used_in_a_namespace_1063", "An export assignment cannot be used in a namespace."),
        The_return_type_of_an_async_function_or_method_must_be_the_global_Promise_T_type_Did_you_mean_to_write_Promise_0: b(1064, 1, "The_return_type_of_an_async_function_or_method_must_be_the_global_Promise_T_type_Did_you_mean_to_wri_1064", "The return type of an async function or method must be the global Promise<T> type. Did you mean to write 'Promise<{0}>'?"),
        The_return_type_of_an_async_function_or_method_must_be_the_global_Promise_T_type: b(1065, 1, "The_return_type_of_an_async_function_or_method_must_be_the_global_Promise_T_type_1065", "The return type of an async function or method must be the global Promise<T> type."),
        In_ambient_enum_declarations_member_initializer_must_be_constant_expression: b(1066, 1, "In_ambient_enum_declarations_member_initializer_must_be_constant_expression_1066", "In ambient enum declarations member initializer must be constant expression."),
        Unexpected_token_A_constructor_method_accessor_or_property_was_expected: b(1068, 1, "Unexpected_token_A_constructor_method_accessor_or_property_was_expected_1068", "Unexpected token. A constructor, method, accessor, or property was expected."),
        Unexpected_token_A_type_parameter_name_was_expected_without_curly_braces: b(1069, 1, "Unexpected_token_A_type_parameter_name_was_expected_without_curly_braces_1069", "Unexpected token. A type parameter name was expected without curly braces."),
        _0_modifier_cannot_appear_on_a_type_member: b(1070, 1, "_0_modifier_cannot_appear_on_a_type_member_1070", "'{0}' modifier cannot appear on a type member."),
        _0_modifier_cannot_appear_on_an_index_signature: b(1071, 1, "_0_modifier_cannot_appear_on_an_index_signature_1071", "'{0}' modifier cannot appear on an index signature."),
        A_0_modifier_cannot_be_used_with_an_import_declaration: b(1079, 1, "A_0_modifier_cannot_be_used_with_an_import_declaration_1079", "A '{0}' modifier cannot be used with an import declaration."),
        Invalid_reference_directive_syntax: b(1084, 1, "Invalid_reference_directive_syntax_1084", "Invalid 'reference' directive syntax."),
        _0_modifier_cannot_appear_on_a_constructor_declaration: b(1089, 1, "_0_modifier_cannot_appear_on_a_constructor_declaration_1089", "'{0}' modifier cannot appear on a constructor declaration."),
        _0_modifier_cannot_appear_on_a_parameter: b(1090, 1, "_0_modifier_cannot_appear_on_a_parameter_1090", "'{0}' modifier cannot appear on a parameter."),
        Only_a_single_variable_declaration_is_allowed_in_a_for_in_statement: b(1091, 1, "Only_a_single_variable_declaration_is_allowed_in_a_for_in_statement_1091", "Only a single variable declaration is allowed in a 'for...in' statement."),
        Type_parameters_cannot_appear_on_a_constructor_declaration: b(1092, 1, "Type_parameters_cannot_appear_on_a_constructor_declaration_1092", "Type parameters cannot appear on a constructor declaration."),
        Type_annotation_cannot_appear_on_a_constructor_declaration: b(1093, 1, "Type_annotation_cannot_appear_on_a_constructor_declaration_1093", "Type annotation cannot appear on a constructor declaration."),
        An_accessor_cannot_have_type_parameters: b(1094, 1, "An_accessor_cannot_have_type_parameters_1094", "An accessor cannot have type parameters."),
        A_set_accessor_cannot_have_a_return_type_annotation: b(1095, 1, "A_set_accessor_cannot_have_a_return_type_annotation_1095", "A 'set' accessor cannot have a return type annotation."),
        An_index_signature_must_have_exactly_one_parameter: b(1096, 1, "An_index_signature_must_have_exactly_one_parameter_1096", "An index signature must have exactly one parameter."),
        _0_list_cannot_be_empty: b(1097, 1, "_0_list_cannot_be_empty_1097", "'{0}' list cannot be empty."),
        Type_parameter_list_cannot_be_empty: b(1098, 1, "Type_parameter_list_cannot_be_empty_1098", "Type parameter list cannot be empty."),
        Type_argument_list_cannot_be_empty: b(1099, 1, "Type_argument_list_cannot_be_empty_1099", "Type argument list cannot be empty."),
        Invalid_use_of_0_in_strict_mode: b(1100, 1, "Invalid_use_of_0_in_strict_mode_1100", "Invalid use of '{0}' in strict mode."),
        with_statements_are_not_allowed_in_strict_mode: b(1101, 1, "with_statements_are_not_allowed_in_strict_mode_1101", "'with' statements are not allowed in strict mode."),
        delete_cannot_be_called_on_an_identifier_in_strict_mode: b(1102, 1, "delete_cannot_be_called_on_an_identifier_in_strict_mode_1102", "'delete' cannot be called on an identifier in strict mode."),
        for_await_loops_are_only_allowed_within_async_functions_and_at_the_top_levels_of_modules: b(1103, 1, "for_await_loops_are_only_allowed_within_async_functions_and_at_the_top_levels_of_modules_1103", "'for await' loops are only allowed within async functions and at the top levels of modules."),
        A_continue_statement_can_only_be_used_within_an_enclosing_iteration_statement: b(1104, 1, "A_continue_statement_can_only_be_used_within_an_enclosing_iteration_statement_1104", "A 'continue' statement can only be used within an enclosing iteration statement."),
        A_break_statement_can_only_be_used_within_an_enclosing_iteration_or_switch_statement: b(1105, 1, "A_break_statement_can_only_be_used_within_an_enclosing_iteration_or_switch_statement_1105", "A 'break' statement can only be used within an enclosing iteration or switch statement."),
        The_left_hand_side_of_a_for_of_statement_may_not_be_async: b(1106, 1, "The_left_hand_side_of_a_for_of_statement_may_not_be_async_1106", "The left-hand side of a 'for...of' statement may not be 'async'."),
        Jump_target_cannot_cross_function_boundary: b(1107, 1, "Jump_target_cannot_cross_function_boundary_1107", "Jump target cannot cross function boundary."),
        A_return_statement_can_only_be_used_within_a_function_body: b(1108, 1, "A_return_statement_can_only_be_used_within_a_function_body_1108", "A 'return' statement can only be used within a function body."),
        Expression_expected: b(1109, 1, "Expression_expected_1109", "Expression expected."),
        Type_expected: b(1110, 1, "Type_expected_1110", "Type expected."),
        Private_field_0_must_be_declared_in_an_enclosing_class: b(1111, 1, "Private_field_0_must_be_declared_in_an_enclosing_class_1111", "Private field '{0}' must be declared in an enclosing class."),
        A_default_clause_cannot_appear_more_than_once_in_a_switch_statement: b(1113, 1, "A_default_clause_cannot_appear_more_than_once_in_a_switch_statement_1113", "A 'default' clause cannot appear more than once in a 'switch' statement."),
        Duplicate_label_0: b(1114, 1, "Duplicate_label_0_1114", "Duplicate label '{0}'."),
        A_continue_statement_can_only_jump_to_a_label_of_an_enclosing_iteration_statement: b(1115, 1, "A_continue_statement_can_only_jump_to_a_label_of_an_enclosing_iteration_statement_1115", "A 'continue' statement can only jump to a label of an enclosing iteration statement."),
        A_break_statement_can_only_jump_to_a_label_of_an_enclosing_statement: b(1116, 1, "A_break_statement_can_only_jump_to_a_label_of_an_enclosing_statement_1116", "A 'break' statement can only jump to a label of an enclosing statement."),
        An_object_literal_cannot_have_multiple_properties_with_the_same_name: b(1117, 1, "An_object_literal_cannot_have_multiple_properties_with_the_same_name_1117", "An object literal cannot have multiple properties with the same name."),
        An_object_literal_cannot_have_multiple_get_Slashset_accessors_with_the_same_name: b(1118, 1, "An_object_literal_cannot_have_multiple_get_Slashset_accessors_with_the_same_name_1118", "An object literal cannot have multiple get/set accessors with the same name."),
        An_object_literal_cannot_have_property_and_accessor_with_the_same_name: b(1119, 1, "An_object_literal_cannot_have_property_and_accessor_with_the_same_name_1119", "An object literal cannot have property and accessor with the same name."),
        An_export_assignment_cannot_have_modifiers: b(1120, 1, "An_export_assignment_cannot_have_modifiers_1120", "An export assignment cannot have modifiers."),
        Octal_literals_are_not_allowed_Use_the_syntax_0: b(1121, 1, "Octal_literals_are_not_allowed_Use_the_syntax_0_1121", "Octal literals are not allowed. Use the syntax '{0}'."),
        Variable_declaration_list_cannot_be_empty: b(1123, 1, "Variable_declaration_list_cannot_be_empty_1123", "Variable declaration list cannot be empty."),
        Digit_expected: b(1124, 1, "Digit_expected_1124", "Digit expected."),
        Hexadecimal_digit_expected: b(1125, 1, "Hexadecimal_digit_expected_1125", "Hexadecimal digit expected."),
        Unexpected_end_of_text: b(1126, 1, "Unexpected_end_of_text_1126", "Unexpected end of text."),
        Invalid_character: b(1127, 1, "Invalid_character_1127", "Invalid character."),
        Declaration_or_statement_expected: b(1128, 1, "Declaration_or_statement_expected_1128", "Declaration or statement expected."),
        Statement_expected: b(1129, 1, "Statement_expected_1129", "Statement expected."),
        case_or_default_expected: b(1130, 1, "case_or_default_expected_1130", "'case' or 'default' expected."),
        Property_or_signature_expected: b(1131, 1, "Property_or_signature_expected_1131", "Property or signature expected."),
        Enum_member_expected: b(1132, 1, "Enum_member_expected_1132", "Enum member expected."),
        Variable_declaration_expected: b(1134, 1, "Variable_declaration_expected_1134", "Variable declaration expected."),
        Argument_expression_expected: b(1135, 1, "Argument_expression_expected_1135", "Argument expression expected."),
        Property_assignment_expected: b(1136, 1, "Property_assignment_expected_1136", "Property assignment expected."),
        Expression_or_comma_expected: b(1137, 1, "Expression_or_comma_expected_1137", "Expression or comma expected."),
        Parameter_declaration_expected: b(1138, 1, "Parameter_declaration_expected_1138", "Parameter declaration expected."),
        Type_parameter_declaration_expected: b(1139, 1, "Type_parameter_declaration_expected_1139", "Type parameter declaration expected."),
        Type_argument_expected: b(1140, 1, "Type_argument_expected_1140", "Type argument expected."),
        String_literal_expected: b(1141, 1, "String_literal_expected_1141", "String literal expected."),
        Line_break_not_permitted_here: b(1142, 1, "Line_break_not_permitted_here_1142", "Line break not permitted here."),
        or_expected: b(1144, 1, "or_expected_1144", "'{' or ';' expected."),
        or_JSX_element_expected: b(1145, 1, "or_JSX_element_expected_1145", "'{' or JSX element expected."),
        Declaration_expected: b(1146, 1, "Declaration_expected_1146", "Declaration expected."),
        Import_declarations_in_a_namespace_cannot_reference_a_module: b(1147, 1, "Import_declarations_in_a_namespace_cannot_reference_a_module_1147", "Import declarations in a namespace cannot reference a module."),
        Cannot_use_imports_exports_or_module_augmentations_when_module_is_none: b(1148, 1, "Cannot_use_imports_exports_or_module_augmentations_when_module_is_none_1148", "Cannot use imports, exports, or module augmentations when '--module' is 'none'."),
        File_name_0_differs_from_already_included_file_name_1_only_in_casing: b(1149, 1, "File_name_0_differs_from_already_included_file_name_1_only_in_casing_1149", "File name '{0}' differs from already included file name '{1}' only in casing."),
        _0_declarations_must_be_initialized: b(1155, 1, "_0_declarations_must_be_initialized_1155", "'{0}' declarations must be initialized."),
        _0_declarations_can_only_be_declared_inside_a_block: b(1156, 1, "_0_declarations_can_only_be_declared_inside_a_block_1156", "'{0}' declarations can only be declared inside a block."),
        Unterminated_template_literal: b(1160, 1, "Unterminated_template_literal_1160", "Unterminated template literal."),
        Unterminated_regular_expression_literal: b(1161, 1, "Unterminated_regular_expression_literal_1161", "Unterminated regular expression literal."),
        An_object_member_cannot_be_declared_optional: b(1162, 1, "An_object_member_cannot_be_declared_optional_1162", "An object member cannot be declared optional."),
        A_yield_expression_is_only_allowed_in_a_generator_body: b(1163, 1, "A_yield_expression_is_only_allowed_in_a_generator_body_1163", "A 'yield' expression is only allowed in a generator body."),
        Computed_property_names_are_not_allowed_in_enums: b(1164, 1, "Computed_property_names_are_not_allowed_in_enums_1164", "Computed property names are not allowed in enums."),
        A_computed_property_name_in_an_ambient_context_must_refer_to_an_expression_whose_type_is_a_literal_type_or_a_unique_symbol_type: b(1165, 1, "A_computed_property_name_in_an_ambient_context_must_refer_to_an_expression_whose_type_is_a_literal_t_1165", "A computed property name in an ambient context must refer to an expression whose type is a literal type or a 'unique symbol' type."),
        A_computed_property_name_in_a_class_property_declaration_must_have_a_simple_literal_type_or_a_unique_symbol_type: b(1166, 1, "A_computed_property_name_in_a_class_property_declaration_must_have_a_simple_literal_type_or_a_unique_1166", "A computed property name in a class property declaration must have a simple literal type or a 'unique symbol' type."),
        A_computed_property_name_in_a_method_overload_must_refer_to_an_expression_whose_type_is_a_literal_type_or_a_unique_symbol_type: b(1168, 1, "A_computed_property_name_in_a_method_overload_must_refer_to_an_expression_whose_type_is_a_literal_ty_1168", "A computed property name in a method overload must refer to an expression whose type is a literal type or a 'unique symbol' type."),
        A_computed_property_name_in_an_interface_must_refer_to_an_expression_whose_type_is_a_literal_type_or_a_unique_symbol_type: b(1169, 1, "A_computed_property_name_in_an_interface_must_refer_to_an_expression_whose_type_is_a_literal_type_or_1169", "A computed property name in an interface must refer to an expression whose type is a literal type or a 'unique symbol' type."),
        A_computed_property_name_in_a_type_literal_must_refer_to_an_expression_whose_type_is_a_literal_type_or_a_unique_symbol_type: b(1170, 1, "A_computed_property_name_in_a_type_literal_must_refer_to_an_expression_whose_type_is_a_literal_type__1170", "A computed property name in a type literal must refer to an expression whose type is a literal type or a 'unique symbol' type."),
        A_comma_expression_is_not_allowed_in_a_computed_property_name: b(1171, 1, "A_comma_expression_is_not_allowed_in_a_computed_property_name_1171", "A comma expression is not allowed in a computed property name."),
        extends_clause_already_seen: b(1172, 1, "extends_clause_already_seen_1172", "'extends' clause already seen."),
        extends_clause_must_precede_implements_clause: b(1173, 1, "extends_clause_must_precede_implements_clause_1173", "'extends' clause must precede 'implements' clause."),
        Classes_can_only_extend_a_single_class: b(1174, 1, "Classes_can_only_extend_a_single_class_1174", "Classes can only extend a single class."),
        implements_clause_already_seen: b(1175, 1, "implements_clause_already_seen_1175", "'implements' clause already seen."),
        Interface_declaration_cannot_have_implements_clause: b(1176, 1, "Interface_declaration_cannot_have_implements_clause_1176", "Interface declaration cannot have 'implements' clause."),
        Binary_digit_expected: b(1177, 1, "Binary_digit_expected_1177", "Binary digit expected."),
        Octal_digit_expected: b(1178, 1, "Octal_digit_expected_1178", "Octal digit expected."),
        Unexpected_token_expected: b(1179, 1, "Unexpected_token_expected_1179", "Unexpected token. '{' expected."),
        Property_destructuring_pattern_expected: b(1180, 1, "Property_destructuring_pattern_expected_1180", "Property destructuring pattern expected."),
        Array_element_destructuring_pattern_expected: b(1181, 1, "Array_element_destructuring_pattern_expected_1181", "Array element destructuring pattern expected."),
        A_destructuring_declaration_must_have_an_initializer: b(1182, 1, "A_destructuring_declaration_must_have_an_initializer_1182", "A destructuring declaration must have an initializer."),
        An_implementation_cannot_be_declared_in_ambient_contexts: b(1183, 1, "An_implementation_cannot_be_declared_in_ambient_contexts_1183", "An implementation cannot be declared in ambient contexts."),
        Modifiers_cannot_appear_here: b(1184, 1, "Modifiers_cannot_appear_here_1184", "Modifiers cannot appear here."),
        Merge_conflict_marker_encountered: b(1185, 1, "Merge_conflict_marker_encountered_1185", "Merge conflict marker encountered."),
        A_rest_element_cannot_have_an_initializer: b(1186, 1, "A_rest_element_cannot_have_an_initializer_1186", "A rest element cannot have an initializer."),
        A_parameter_property_may_not_be_declared_using_a_binding_pattern: b(1187, 1, "A_parameter_property_may_not_be_declared_using_a_binding_pattern_1187", "A parameter property may not be declared using a binding pattern."),
        Only_a_single_variable_declaration_is_allowed_in_a_for_of_statement: b(1188, 1, "Only_a_single_variable_declaration_is_allowed_in_a_for_of_statement_1188", "Only a single variable declaration is allowed in a 'for...of' statement."),
        The_variable_declaration_of_a_for_in_statement_cannot_have_an_initializer: b(1189, 1, "The_variable_declaration_of_a_for_in_statement_cannot_have_an_initializer_1189", "The variable declaration of a 'for...in' statement cannot have an initializer."),
        The_variable_declaration_of_a_for_of_statement_cannot_have_an_initializer: b(1190, 1, "The_variable_declaration_of_a_for_of_statement_cannot_have_an_initializer_1190", "The variable declaration of a 'for...of' statement cannot have an initializer."),
        An_import_declaration_cannot_have_modifiers: b(1191, 1, "An_import_declaration_cannot_have_modifiers_1191", "An import declaration cannot have modifiers."),
        Module_0_has_no_default_export: b(1192, 1, "Module_0_has_no_default_export_1192", "Module '{0}' has no default export."),
        An_export_declaration_cannot_have_modifiers: b(1193, 1, "An_export_declaration_cannot_have_modifiers_1193", "An export declaration cannot have modifiers."),
        Export_declarations_are_not_permitted_in_a_namespace: b(1194, 1, "Export_declarations_are_not_permitted_in_a_namespace_1194", "Export declarations are not permitted in a namespace."),
        export_Asterisk_does_not_re_export_a_default: b(1195, 1, "export_Asterisk_does_not_re_export_a_default_1195", "'export *' does not re-export a default."),
        Catch_clause_variable_type_annotation_must_be_any_or_unknown_if_specified: b(1196, 1, "Catch_clause_variable_type_annotation_must_be_any_or_unknown_if_specified_1196", "Catch clause variable type annotation must be 'any' or 'unknown' if specified."),
        Catch_clause_variable_cannot_have_an_initializer: b(1197, 1, "Catch_clause_variable_cannot_have_an_initializer_1197", "Catch clause variable cannot have an initializer."),
        An_extended_Unicode_escape_value_must_be_between_0x0_and_0x10FFFF_inclusive: b(1198, 1, "An_extended_Unicode_escape_value_must_be_between_0x0_and_0x10FFFF_inclusive_1198", "An extended Unicode escape value must be between 0x0 and 0x10FFFF inclusive."),
        Unterminated_Unicode_escape_sequence: b(1199, 1, "Unterminated_Unicode_escape_sequence_1199", "Unterminated Unicode escape sequence."),
        Line_terminator_not_permitted_before_arrow: b(1200, 1, "Line_terminator_not_permitted_before_arrow_1200", "Line terminator not permitted before arrow."),
        Import_assignment_cannot_be_used_when_targeting_ECMAScript_modules_Consider_using_import_Asterisk_as_ns_from_mod_import_a_from_mod_import_d_from_mod_or_another_module_format_instead: b(1202, 1, "Import_assignment_cannot_be_used_when_targeting_ECMAScript_modules_Consider_using_import_Asterisk_as_1202", `Import assignment cannot be used when targeting ECMAScript modules. Consider using 'import * as ns from "mod"', 'import {a} from "mod"', 'import d from "mod"', or another module format instead.`),
        Export_assignment_cannot_be_used_when_targeting_ECMAScript_modules_Consider_using_export_default_or_another_module_format_instead: b(1203, 1, "Export_assignment_cannot_be_used_when_targeting_ECMAScript_modules_Consider_using_export_default_or__1203", "Export assignment cannot be used when targeting ECMAScript modules. Consider using 'export default' or another module format instead."),
        Re_exporting_a_type_when_0_is_enabled_requires_using_export_type: b(1205, 1, "Re_exporting_a_type_when_0_is_enabled_requires_using_export_type_1205", "Re-exporting a type when '{0}' is enabled requires using 'export type'."),
        Decorators_are_not_valid_here: b(1206, 1, "Decorators_are_not_valid_here_1206", "Decorators are not valid here."),
        Decorators_cannot_be_applied_to_multiple_get_Slashset_accessors_of_the_same_name: b(1207, 1, "Decorators_cannot_be_applied_to_multiple_get_Slashset_accessors_of_the_same_name_1207", "Decorators cannot be applied to multiple get/set accessors of the same name."),
        Invalid_optional_chain_from_new_expression_Did_you_mean_to_call_0: b(1209, 1, "Invalid_optional_chain_from_new_expression_Did_you_mean_to_call_0_1209", "Invalid optional chain from new expression. Did you mean to call '{0}()'?"),
        Code_contained_in_a_class_is_evaluated_in_JavaScript_s_strict_mode_which_does_not_allow_this_use_of_0_For_more_information_see_https_Colon_Slash_Slashdeveloper_mozilla_org_Slashen_US_Slashdocs_SlashWeb_SlashJavaScript_SlashReference_SlashStrict_mode: b(1210, 1, "Code_contained_in_a_class_is_evaluated_in_JavaScript_s_strict_mode_which_does_not_allow_this_use_of__1210", "Code contained in a class is evaluated in JavaScript's strict mode which does not allow this use of '{0}'. For more information, see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Strict_mode."),
        A_class_declaration_without_the_default_modifier_must_have_a_name: b(1211, 1, "A_class_declaration_without_the_default_modifier_must_have_a_name_1211", "A class declaration without the 'default' modifier must have a name."),
        Identifier_expected_0_is_a_reserved_word_in_strict_mode: b(1212, 1, "Identifier_expected_0_is_a_reserved_word_in_strict_mode_1212", "Identifier expected. '{0}' is a reserved word in strict mode."),
        Identifier_expected_0_is_a_reserved_word_in_strict_mode_Class_definitions_are_automatically_in_strict_mode: b(1213, 1, "Identifier_expected_0_is_a_reserved_word_in_strict_mode_Class_definitions_are_automatically_in_stric_1213", "Identifier expected. '{0}' is a reserved word in strict mode. Class definitions are automatically in strict mode."),
        Identifier_expected_0_is_a_reserved_word_in_strict_mode_Modules_are_automatically_in_strict_mode: b(1214, 1, "Identifier_expected_0_is_a_reserved_word_in_strict_mode_Modules_are_automatically_in_strict_mode_1214", "Identifier expected. '{0}' is a reserved word in strict mode. Modules are automatically in strict mode."),
        Invalid_use_of_0_Modules_are_automatically_in_strict_mode: b(1215, 1, "Invalid_use_of_0_Modules_are_automatically_in_strict_mode_1215", "Invalid use of '{0}'. Modules are automatically in strict mode."),
        Identifier_expected_esModule_is_reserved_as_an_exported_marker_when_transforming_ECMAScript_modules: b(1216, 1, "Identifier_expected_esModule_is_reserved_as_an_exported_marker_when_transforming_ECMAScript_modules_1216", "Identifier expected. '__esModule' is reserved as an exported marker when transforming ECMAScript modules."),
        Export_assignment_is_not_supported_when_module_flag_is_system: b(1218, 1, "Export_assignment_is_not_supported_when_module_flag_is_system_1218", "Export assignment is not supported when '--module' flag is 'system'."),
        Generators_are_not_allowed_in_an_ambient_context: b(1221, 1, "Generators_are_not_allowed_in_an_ambient_context_1221", "Generators are not allowed in an ambient context."),
        An_overload_signature_cannot_be_declared_as_a_generator: b(1222, 1, "An_overload_signature_cannot_be_declared_as_a_generator_1222", "An overload signature cannot be declared as a generator."),
        _0_tag_already_specified: b(1223, 1, "_0_tag_already_specified_1223", "'{0}' tag already specified."),
        Signature_0_must_be_a_type_predicate: b(1224, 1, "Signature_0_must_be_a_type_predicate_1224", "Signature '{0}' must be a type predicate."),
        Cannot_find_parameter_0: b(1225, 1, "Cannot_find_parameter_0_1225", "Cannot find parameter '{0}'."),
        Type_predicate_0_is_not_assignable_to_1: b(1226, 1, "Type_predicate_0_is_not_assignable_to_1_1226", "Type predicate '{0}' is not assignable to '{1}'."),
        Parameter_0_is_not_in_the_same_position_as_parameter_1: b(1227, 1, "Parameter_0_is_not_in_the_same_position_as_parameter_1_1227", "Parameter '{0}' is not in the same position as parameter '{1}'."),
        A_type_predicate_is_only_allowed_in_return_type_position_for_functions_and_methods: b(1228, 1, "A_type_predicate_is_only_allowed_in_return_type_position_for_functions_and_methods_1228", "A type predicate is only allowed in return type position for functions and methods."),
        A_type_predicate_cannot_reference_a_rest_parameter: b(1229, 1, "A_type_predicate_cannot_reference_a_rest_parameter_1229", "A type predicate cannot reference a rest parameter."),
        A_type_predicate_cannot_reference_element_0_in_a_binding_pattern: b(1230, 1, "A_type_predicate_cannot_reference_element_0_in_a_binding_pattern_1230", "A type predicate cannot reference element '{0}' in a binding pattern."),
        An_export_assignment_must_be_at_the_top_level_of_a_file_or_module_declaration: b(1231, 1, "An_export_assignment_must_be_at_the_top_level_of_a_file_or_module_declaration_1231", "An export assignment must be at the top level of a file or module declaration."),
        An_import_declaration_can_only_be_used_at_the_top_level_of_a_namespace_or_module: b(1232, 1, "An_import_declaration_can_only_be_used_at_the_top_level_of_a_namespace_or_module_1232", "An import declaration can only be used at the top level of a namespace or module."),
        An_export_declaration_can_only_be_used_at_the_top_level_of_a_namespace_or_module: b(1233, 1, "An_export_declaration_can_only_be_used_at_the_top_level_of_a_namespace_or_module_1233", "An export declaration can only be used at the top level of a namespace or module."),
        An_ambient_module_declaration_is_only_allowed_at_the_top_level_in_a_file: b(1234, 1, "An_ambient_module_declaration_is_only_allowed_at_the_top_level_in_a_file_1234", "An ambient module declaration is only allowed at the top level in a file."),
        A_namespace_declaration_is_only_allowed_at_the_top_level_of_a_namespace_or_module: b(1235, 1, "A_namespace_declaration_is_only_allowed_at_the_top_level_of_a_namespace_or_module_1235", "A namespace declaration is only allowed at the top level of a namespace or module."),
        The_return_type_of_a_property_decorator_function_must_be_either_void_or_any: b(1236, 1, "The_return_type_of_a_property_decorator_function_must_be_either_void_or_any_1236", "The return type of a property decorator function must be either 'void' or 'any'."),
        The_return_type_of_a_parameter_decorator_function_must_be_either_void_or_any: b(1237, 1, "The_return_type_of_a_parameter_decorator_function_must_be_either_void_or_any_1237", "The return type of a parameter decorator function must be either 'void' or 'any'."),
        Unable_to_resolve_signature_of_class_decorator_when_called_as_an_expression: b(1238, 1, "Unable_to_resolve_signature_of_class_decorator_when_called_as_an_expression_1238", "Unable to resolve signature of class decorator when called as an expression."),
        Unable_to_resolve_signature_of_parameter_decorator_when_called_as_an_expression: b(1239, 1, "Unable_to_resolve_signature_of_parameter_decorator_when_called_as_an_expression_1239", "Unable to resolve signature of parameter decorator when called as an expression."),
        Unable_to_resolve_signature_of_property_decorator_when_called_as_an_expression: b(1240, 1, "Unable_to_resolve_signature_of_property_decorator_when_called_as_an_expression_1240", "Unable to resolve signature of property decorator when called as an expression."),
        Unable_to_resolve_signature_of_method_decorator_when_called_as_an_expression: b(1241, 1, "Unable_to_resolve_signature_of_method_decorator_when_called_as_an_expression_1241", "Unable to resolve signature of method decorator when called as an expression."),
        abstract_modifier_can_only_appear_on_a_class_method_or_property_declaration: b(1242, 1, "abstract_modifier_can_only_appear_on_a_class_method_or_property_declaration_1242", "'abstract' modifier can only appear on a class, method, or property declaration."),
        _0_modifier_cannot_be_used_with_1_modifier: b(1243, 1, "_0_modifier_cannot_be_used_with_1_modifier_1243", "'{0}' modifier cannot be used with '{1}' modifier."),
        Abstract_methods_can_only_appear_within_an_abstract_class: b(1244, 1, "Abstract_methods_can_only_appear_within_an_abstract_class_1244", "Abstract methods can only appear within an abstract class."),
        Method_0_cannot_have_an_implementation_because_it_is_marked_abstract: b(1245, 1, "Method_0_cannot_have_an_implementation_because_it_is_marked_abstract_1245", "Method '{0}' cannot have an implementation because it is marked abstract."),
        An_interface_property_cannot_have_an_initializer: b(1246, 1, "An_interface_property_cannot_have_an_initializer_1246", "An interface property cannot have an initializer."),
        A_type_literal_property_cannot_have_an_initializer: b(1247, 1, "A_type_literal_property_cannot_have_an_initializer_1247", "A type literal property cannot have an initializer."),
        A_class_member_cannot_have_the_0_keyword: b(1248, 1, "A_class_member_cannot_have_the_0_keyword_1248", "A class member cannot have the '{0}' keyword."),
        A_decorator_can_only_decorate_a_method_implementation_not_an_overload: b(1249, 1, "A_decorator_can_only_decorate_a_method_implementation_not_an_overload_1249", "A decorator can only decorate a method implementation, not an overload."),
        Function_declarations_are_not_allowed_inside_blocks_in_strict_mode_when_targeting_ES5: b(1250, 1, "Function_declarations_are_not_allowed_inside_blocks_in_strict_mode_when_targeting_ES5_1250", "Function declarations are not allowed inside blocks in strict mode when targeting 'ES5'."),
        Function_declarations_are_not_allowed_inside_blocks_in_strict_mode_when_targeting_ES5_Class_definitions_are_automatically_in_strict_mode: b(1251, 1, "Function_declarations_are_not_allowed_inside_blocks_in_strict_mode_when_targeting_ES5_Class_definiti_1251", "Function declarations are not allowed inside blocks in strict mode when targeting 'ES5'. Class definitions are automatically in strict mode."),
        Function_declarations_are_not_allowed_inside_blocks_in_strict_mode_when_targeting_ES5_Modules_are_automatically_in_strict_mode: b(1252, 1, "Function_declarations_are_not_allowed_inside_blocks_in_strict_mode_when_targeting_ES5_Modules_are_au_1252", "Function declarations are not allowed inside blocks in strict mode when targeting 'ES5'. Modules are automatically in strict mode."),
        Abstract_properties_can_only_appear_within_an_abstract_class: b(1253, 1, "Abstract_properties_can_only_appear_within_an_abstract_class_1253", "Abstract properties can only appear within an abstract class."),
        A_const_initializer_in_an_ambient_context_must_be_a_string_or_numeric_literal_or_literal_enum_reference: b(1254, 1, "A_const_initializer_in_an_ambient_context_must_be_a_string_or_numeric_literal_or_literal_enum_refere_1254", "A 'const' initializer in an ambient context must be a string or numeric literal or literal enum reference."),
        A_definite_assignment_assertion_is_not_permitted_in_this_context: b(1255, 1, "A_definite_assignment_assertion_is_not_permitted_in_this_context_1255", "A definite assignment assertion '!' is not permitted in this context."),
        A_required_element_cannot_follow_an_optional_element: b(1257, 1, "A_required_element_cannot_follow_an_optional_element_1257", "A required element cannot follow an optional element."),
        A_default_export_must_be_at_the_top_level_of_a_file_or_module_declaration: b(1258, 1, "A_default_export_must_be_at_the_top_level_of_a_file_or_module_declaration_1258", "A default export must be at the top level of a file or module declaration."),
        Module_0_can_only_be_default_imported_using_the_1_flag: b(1259, 1, "Module_0_can_only_be_default_imported_using_the_1_flag_1259", "Module '{0}' can only be default-imported using the '{1}' flag"),
        Keywords_cannot_contain_escape_characters: b(1260, 1, "Keywords_cannot_contain_escape_characters_1260", "Keywords cannot contain escape characters."),
        Already_included_file_name_0_differs_from_file_name_1_only_in_casing: b(1261, 1, "Already_included_file_name_0_differs_from_file_name_1_only_in_casing_1261", "Already included file name '{0}' differs from file name '{1}' only in casing."),
        Identifier_expected_0_is_a_reserved_word_at_the_top_level_of_a_module: b(1262, 1, "Identifier_expected_0_is_a_reserved_word_at_the_top_level_of_a_module_1262", "Identifier expected. '{0}' is a reserved word at the top-level of a module."),
        Declarations_with_initializers_cannot_also_have_definite_assignment_assertions: b(1263, 1, "Declarations_with_initializers_cannot_also_have_definite_assignment_assertions_1263", "Declarations with initializers cannot also have definite assignment assertions."),
        Declarations_with_definite_assignment_assertions_must_also_have_type_annotations: b(1264, 1, "Declarations_with_definite_assignment_assertions_must_also_have_type_annotations_1264", "Declarations with definite assignment assertions must also have type annotations."),
        A_rest_element_cannot_follow_another_rest_element: b(1265, 1, "A_rest_element_cannot_follow_another_rest_element_1265", "A rest element cannot follow another rest element."),
        An_optional_element_cannot_follow_a_rest_element: b(1266, 1, "An_optional_element_cannot_follow_a_rest_element_1266", "An optional element cannot follow a rest element."),
        Property_0_cannot_have_an_initializer_because_it_is_marked_abstract: b(1267, 1, "Property_0_cannot_have_an_initializer_because_it_is_marked_abstract_1267", "Property '{0}' cannot have an initializer because it is marked abstract."),
        An_index_signature_parameter_type_must_be_string_number_symbol_or_a_template_literal_type: b(1268, 1, "An_index_signature_parameter_type_must_be_string_number_symbol_or_a_template_literal_type_1268", "An index signature parameter type must be 'string', 'number', 'symbol', or a template literal type."),
        Cannot_use_export_import_on_a_type_or_type_only_namespace_when_0_is_enabled: b(1269, 1, "Cannot_use_export_import_on_a_type_or_type_only_namespace_when_0_is_enabled_1269", "Cannot use 'export import' on a type or type-only namespace when '{0}' is enabled."),
        Decorator_function_return_type_0_is_not_assignable_to_type_1: b(1270, 1, "Decorator_function_return_type_0_is_not_assignable_to_type_1_1270", "Decorator function return type '{0}' is not assignable to type '{1}'."),
        Decorator_function_return_type_is_0_but_is_expected_to_be_void_or_any: b(1271, 1, "Decorator_function_return_type_is_0_but_is_expected_to_be_void_or_any_1271", "Decorator function return type is '{0}' but is expected to be 'void' or 'any'."),
        A_type_referenced_in_a_decorated_signature_must_be_imported_with_import_type_or_a_namespace_import_when_isolatedModules_and_emitDecoratorMetadata_are_enabled: b(1272, 1, "A_type_referenced_in_a_decorated_signature_must_be_imported_with_import_type_or_a_namespace_import_w_1272", "A type referenced in a decorated signature must be imported with 'import type' or a namespace import when 'isolatedModules' and 'emitDecoratorMetadata' are enabled."),
        _0_modifier_cannot_appear_on_a_type_parameter: b(1273, 1, "_0_modifier_cannot_appear_on_a_type_parameter_1273", "'{0}' modifier cannot appear on a type parameter"),
        _0_modifier_can_only_appear_on_a_type_parameter_of_a_class_interface_or_type_alias: b(1274, 1, "_0_modifier_can_only_appear_on_a_type_parameter_of_a_class_interface_or_type_alias_1274", "'{0}' modifier can only appear on a type parameter of a class, interface or type alias"),
        accessor_modifier_can_only_appear_on_a_property_declaration: b(1275, 1, "accessor_modifier_can_only_appear_on_a_property_declaration_1275", "'accessor' modifier can only appear on a property declaration."),
        An_accessor_property_cannot_be_declared_optional: b(1276, 1, "An_accessor_property_cannot_be_declared_optional_1276", "An 'accessor' property cannot be declared optional."),
        _0_modifier_can_only_appear_on_a_type_parameter_of_a_function_method_or_class: b(1277, 1, "_0_modifier_can_only_appear_on_a_type_parameter_of_a_function_method_or_class_1277", "'{0}' modifier can only appear on a type parameter of a function, method or class"),
        The_runtime_will_invoke_the_decorator_with_1_arguments_but_the_decorator_expects_0: b(1278, 1, "The_runtime_will_invoke_the_decorator_with_1_arguments_but_the_decorator_expects_0_1278", "The runtime will invoke the decorator with {1} arguments, but the decorator expects {0}."),
        The_runtime_will_invoke_the_decorator_with_1_arguments_but_the_decorator_expects_at_least_0: b(1279, 1, "The_runtime_will_invoke_the_decorator_with_1_arguments_but_the_decorator_expects_at_least_0_1279", "The runtime will invoke the decorator with {1} arguments, but the decorator expects at least {0}."),
        Namespaces_are_not_allowed_in_global_script_files_when_0_is_enabled_If_this_file_is_not_intended_to_be_a_global_script_set_moduleDetection_to_force_or_add_an_empty_export_statement: b(1280, 1, "Namespaces_are_not_allowed_in_global_script_files_when_0_is_enabled_If_this_file_is_not_intended_to__1280", "Namespaces are not allowed in global script files when '{0}' is enabled. If this file is not intended to be a global script, set 'moduleDetection' to 'force' or add an empty 'export {}' statement."),
        Cannot_access_0_from_another_file_without_qualification_when_1_is_enabled_Use_2_instead: b(1281, 1, "Cannot_access_0_from_another_file_without_qualification_when_1_is_enabled_Use_2_instead_1281", "Cannot access '{0}' from another file without qualification when '{1}' is enabled. Use '{2}' instead."),
        An_export_declaration_must_reference_a_value_when_verbatimModuleSyntax_is_enabled_but_0_only_refers_to_a_type: b(1282, 1, "An_export_declaration_must_reference_a_value_when_verbatimModuleSyntax_is_enabled_but_0_only_refers__1282", "An 'export =' declaration must reference a value when 'verbatimModuleSyntax' is enabled, but '{0}' only refers to a type."),
        An_export_declaration_must_reference_a_real_value_when_verbatimModuleSyntax_is_enabled_but_0_resolves_to_a_type_only_declaration: b(1283, 1, "An_export_declaration_must_reference_a_real_value_when_verbatimModuleSyntax_is_enabled_but_0_resolve_1283", "An 'export =' declaration must reference a real value when 'verbatimModuleSyntax' is enabled, but '{0}' resolves to a type-only declaration."),
        An_export_default_must_reference_a_value_when_verbatimModuleSyntax_is_enabled_but_0_only_refers_to_a_type: b(1284, 1, "An_export_default_must_reference_a_value_when_verbatimModuleSyntax_is_enabled_but_0_only_refers_to_a_1284", "An 'export default' must reference a value when 'verbatimModuleSyntax' is enabled, but '{0}' only refers to a type."),
        An_export_default_must_reference_a_real_value_when_verbatimModuleSyntax_is_enabled_but_0_resolves_to_a_type_only_declaration: b(1285, 1, "An_export_default_must_reference_a_real_value_when_verbatimModuleSyntax_is_enabled_but_0_resolves_to_1285", "An 'export default' must reference a real value when 'verbatimModuleSyntax' is enabled, but '{0}' resolves to a type-only declaration."),
        ESM_syntax_is_not_allowed_in_a_CommonJS_module_when_verbatimModuleSyntax_is_enabled: b(1286, 1, "ESM_syntax_is_not_allowed_in_a_CommonJS_module_when_verbatimModuleSyntax_is_enabled_1286", "ESM syntax is not allowed in a CommonJS module when 'verbatimModuleSyntax' is enabled."),
        A_top_level_export_modifier_cannot_be_used_on_value_declarations_in_a_CommonJS_module_when_verbatimModuleSyntax_is_enabled: b(1287, 1, "A_top_level_export_modifier_cannot_be_used_on_value_declarations_in_a_CommonJS_module_when_verbatimM_1287", "A top-level 'export' modifier cannot be used on value declarations in a CommonJS module when 'verbatimModuleSyntax' is enabled."),
        An_import_alias_cannot_resolve_to_a_type_or_type_only_declaration_when_verbatimModuleSyntax_is_enabled: b(1288, 1, "An_import_alias_cannot_resolve_to_a_type_or_type_only_declaration_when_verbatimModuleSyntax_is_enabl_1288", "An import alias cannot resolve to a type or type-only declaration when 'verbatimModuleSyntax' is enabled."),
        _0_resolves_to_a_type_only_declaration_and_must_be_marked_type_only_in_this_file_before_re_exporting_when_1_is_enabled_Consider_using_import_type_where_0_is_imported: b(1289, 1, "_0_resolves_to_a_type_only_declaration_and_must_be_marked_type_only_in_this_file_before_re_exporting_1289", "'{0}' resolves to a type-only declaration and must be marked type-only in this file before re-exporting when '{1}' is enabled. Consider using 'import type' where '{0}' is imported."),
        _0_resolves_to_a_type_only_declaration_and_must_be_marked_type_only_in_this_file_before_re_exporting_when_1_is_enabled_Consider_using_export_type_0_as_default: b(1290, 1, "_0_resolves_to_a_type_only_declaration_and_must_be_marked_type_only_in_this_file_before_re_exporting_1290", "'{0}' resolves to a type-only declaration and must be marked type-only in this file before re-exporting when '{1}' is enabled. Consider using 'export type { {0} as default }'."),
        _0_resolves_to_a_type_and_must_be_marked_type_only_in_this_file_before_re_exporting_when_1_is_enabled_Consider_using_import_type_where_0_is_imported: b(1291, 1, "_0_resolves_to_a_type_and_must_be_marked_type_only_in_this_file_before_re_exporting_when_1_is_enable_1291", "'{0}' resolves to a type and must be marked type-only in this file before re-exporting when '{1}' is enabled. Consider using 'import type' where '{0}' is imported."),
        _0_resolves_to_a_type_and_must_be_marked_type_only_in_this_file_before_re_exporting_when_1_is_enabled_Consider_using_export_type_0_as_default: b(1292, 1, "_0_resolves_to_a_type_and_must_be_marked_type_only_in_this_file_before_re_exporting_when_1_is_enable_1292", "'{0}' resolves to a type and must be marked type-only in this file before re-exporting when '{1}' is enabled. Consider using 'export type { {0} as default }'."),
        ESM_syntax_is_not_allowed_in_a_CommonJS_module_when_module_is_set_to_preserve: b(1293, 1, "ESM_syntax_is_not_allowed_in_a_CommonJS_module_when_module_is_set_to_preserve_1293", "ESM syntax is not allowed in a CommonJS module when 'module' is set to 'preserve'."),
        This_syntax_is_not_allowed_when_erasableSyntaxOnly_is_enabled: b(1294, 1, "This_syntax_is_not_allowed_when_erasableSyntaxOnly_is_enabled_1294", "This syntax is not allowed when 'erasableSyntaxOnly' is enabled."),
        with_statements_are_not_allowed_in_an_async_function_block: b(1300, 1, "with_statements_are_not_allowed_in_an_async_function_block_1300", "'with' statements are not allowed in an async function block."),
        await_expressions_are_only_allowed_within_async_functions_and_at_the_top_levels_of_modules: b(1308, 1, "await_expressions_are_only_allowed_within_async_functions_and_at_the_top_levels_of_modules_1308", "'await' expressions are only allowed within async functions and at the top levels of modules."),
        The_current_file_is_a_CommonJS_module_and_cannot_use_await_at_the_top_level: b(1309, 1, "The_current_file_is_a_CommonJS_module_and_cannot_use_await_at_the_top_level_1309", "The current file is a CommonJS module and cannot use 'await' at the top level."),
        Did_you_mean_to_use_a_Colon_An_can_only_follow_a_property_name_when_the_containing_object_literal_is_part_of_a_destructuring_pattern: b(1312, 1, "Did_you_mean_to_use_a_Colon_An_can_only_follow_a_property_name_when_the_containing_object_literal_is_1312", "Did you mean to use a ':'? An '=' can only follow a property name when the containing object literal is part of a destructuring pattern."),
        The_body_of_an_if_statement_cannot_be_the_empty_statement: b(1313, 1, "The_body_of_an_if_statement_cannot_be_the_empty_statement_1313", "The body of an 'if' statement cannot be the empty statement."),
        Global_module_exports_may_only_appear_in_module_files: b(1314, 1, "Global_module_exports_may_only_appear_in_module_files_1314", "Global module exports may only appear in module files."),
        Global_module_exports_may_only_appear_in_declaration_files: b(1315, 1, "Global_module_exports_may_only_appear_in_declaration_files_1315", "Global module exports may only appear in declaration files."),
        Global_module_exports_may_only_appear_at_top_level: b(1316, 1, "Global_module_exports_may_only_appear_at_top_level_1316", "Global module exports may only appear at top level."),
        A_parameter_property_cannot_be_declared_using_a_rest_parameter: b(1317, 1, "A_parameter_property_cannot_be_declared_using_a_rest_parameter_1317", "A parameter property cannot be declared using a rest parameter."),
        An_abstract_accessor_cannot_have_an_implementation: b(1318, 1, "An_abstract_accessor_cannot_have_an_implementation_1318", "An abstract accessor cannot have an implementation."),
        A_default_export_can_only_be_used_in_an_ECMAScript_style_module: b(1319, 1, "A_default_export_can_only_be_used_in_an_ECMAScript_style_module_1319", "A default export can only be used in an ECMAScript-style module."),
        Type_of_await_operand_must_either_be_a_valid_promise_or_must_not_contain_a_callable_then_member: b(1320, 1, "Type_of_await_operand_must_either_be_a_valid_promise_or_must_not_contain_a_callable_then_member_1320", "Type of 'await' operand must either be a valid promise or must not contain a callable 'then' member."),
        Type_of_yield_operand_in_an_async_generator_must_either_be_a_valid_promise_or_must_not_contain_a_callable_then_member: b(1321, 1, "Type_of_yield_operand_in_an_async_generator_must_either_be_a_valid_promise_or_must_not_contain_a_cal_1321", "Type of 'yield' operand in an async generator must either be a valid promise or must not contain a callable 'then' member."),
        Type_of_iterated_elements_of_a_yield_Asterisk_operand_must_either_be_a_valid_promise_or_must_not_contain_a_callable_then_member: b(1322, 1, "Type_of_iterated_elements_of_a_yield_Asterisk_operand_must_either_be_a_valid_promise_or_must_not_con_1322", "Type of iterated elements of a 'yield*' operand must either be a valid promise or must not contain a callable 'then' member."),
        Dynamic_imports_are_only_supported_when_the_module_flag_is_set_to_es2020_es2022_esnext_commonjs_amd_system_umd_node16_node18_or_nodenext: b(1323, 1, "Dynamic_imports_are_only_supported_when_the_module_flag_is_set_to_es2020_es2022_esnext_commonjs_amd__1323", "Dynamic imports are only supported when the '--module' flag is set to 'es2020', 'es2022', 'esnext', 'commonjs', 'amd', 'system', 'umd', 'node16', 'node18', or 'nodenext'."),
        Dynamic_imports_only_support_a_second_argument_when_the_module_option_is_set_to_esnext_node16_node18_nodenext_or_preserve: b(1324, 1, "Dynamic_imports_only_support_a_second_argument_when_the_module_option_is_set_to_esnext_node16_node18_1324", "Dynamic imports only support a second argument when the '--module' option is set to 'esnext', 'node16', 'node18', 'nodenext', or 'preserve'."),
        Argument_of_dynamic_import_cannot_be_spread_element: b(1325, 1, "Argument_of_dynamic_import_cannot_be_spread_element_1325", "Argument of dynamic import cannot be spread element."),
        This_use_of_import_is_invalid_import_calls_can_be_written_but_they_must_have_parentheses_and_cannot_have_type_arguments: b(1326, 1, "This_use_of_import_is_invalid_import_calls_can_be_written_but_they_must_have_parentheses_and_cannot__1326", "This use of 'import' is invalid. 'import()' calls can be written, but they must have parentheses and cannot have type arguments."),
        String_literal_with_double_quotes_expected: b(1327, 1, "String_literal_with_double_quotes_expected_1327", "String literal with double quotes expected."),
        Property_value_can_only_be_string_literal_numeric_literal_true_false_null_object_literal_or_array_literal: b(1328, 1, "Property_value_can_only_be_string_literal_numeric_literal_true_false_null_object_literal_or_array_li_1328", "Property value can only be string literal, numeric literal, 'true', 'false', 'null', object literal or array literal."),
        _0_accepts_too_few_arguments_to_be_used_as_a_decorator_here_Did_you_mean_to_call_it_first_and_write_0: b(1329, 1, "_0_accepts_too_few_arguments_to_be_used_as_a_decorator_here_Did_you_mean_to_call_it_first_and_write__1329", "'{0}' accepts too few arguments to be used as a decorator here. Did you mean to call it first and write '@{0}()'?"),
        A_property_of_an_interface_or_type_literal_whose_type_is_a_unique_symbol_type_must_be_readonly: b(1330, 1, "A_property_of_an_interface_or_type_literal_whose_type_is_a_unique_symbol_type_must_be_readonly_1330", "A property of an interface or type literal whose type is a 'unique symbol' type must be 'readonly'."),
        A_property_of_a_class_whose_type_is_a_unique_symbol_type_must_be_both_static_and_readonly: b(1331, 1, "A_property_of_a_class_whose_type_is_a_unique_symbol_type_must_be_both_static_and_readonly_1331", "A property of a class whose type is a 'unique symbol' type must be both 'static' and 'readonly'."),
        A_variable_whose_type_is_a_unique_symbol_type_must_be_const: b(1332, 1, "A_variable_whose_type_is_a_unique_symbol_type_must_be_const_1332", "A variable whose type is a 'unique symbol' type must be 'const'."),
        unique_symbol_types_may_not_be_used_on_a_variable_declaration_with_a_binding_name: b(1333, 1, "unique_symbol_types_may_not_be_used_on_a_variable_declaration_with_a_binding_name_1333", "'unique symbol' types may not be used on a variable declaration with a binding name."),
        unique_symbol_types_are_only_allowed_on_variables_in_a_variable_statement: b(1334, 1, "unique_symbol_types_are_only_allowed_on_variables_in_a_variable_statement_1334", "'unique symbol' types are only allowed on variables in a variable statement."),
        unique_symbol_types_are_not_allowed_here: b(1335, 1, "unique_symbol_types_are_not_allowed_here_1335", "'unique symbol' types are not allowed here."),
        An_index_signature_parameter_type_cannot_be_a_literal_type_or_generic_type_Consider_using_a_mapped_object_type_instead: b(1337, 1, "An_index_signature_parameter_type_cannot_be_a_literal_type_or_generic_type_Consider_using_a_mapped_o_1337", "An index signature parameter type cannot be a literal type or generic type. Consider using a mapped object type instead."),
        infer_declarations_are_only_permitted_in_the_extends_clause_of_a_conditional_type: b(1338, 1, "infer_declarations_are_only_permitted_in_the_extends_clause_of_a_conditional_type_1338", "'infer' declarations are only permitted in the 'extends' clause of a conditional type."),
        Module_0_does_not_refer_to_a_value_but_is_used_as_a_value_here: b(1339, 1, "Module_0_does_not_refer_to_a_value_but_is_used_as_a_value_here_1339", "Module '{0}' does not refer to a value, but is used as a value here."),
        Module_0_does_not_refer_to_a_type_but_is_used_as_a_type_here_Did_you_mean_typeof_import_0: b(1340, 1, "Module_0_does_not_refer_to_a_type_but_is_used_as_a_type_here_Did_you_mean_typeof_import_0_1340", "Module '{0}' does not refer to a type, but is used as a type here. Did you mean 'typeof import('{0}')'?"),
        Class_constructor_may_not_be_an_accessor: b(1341, 1, "Class_constructor_may_not_be_an_accessor_1341", "Class constructor may not be an accessor."),
        The_import_meta_meta_property_is_only_allowed_when_the_module_option_is_es2020_es2022_esnext_system_node16_node18_or_nodenext: b(1343, 1, "The_import_meta_meta_property_is_only_allowed_when_the_module_option_is_es2020_es2022_esnext_system__1343", "The 'import.meta' meta-property is only allowed when the '--module' option is 'es2020', 'es2022', 'esnext', 'system', 'node16', 'node18', or 'nodenext'."),
        A_label_is_not_allowed_here: b(1344, 1, "A_label_is_not_allowed_here_1344", "'A label is not allowed here."),
        An_expression_of_type_void_cannot_be_tested_for_truthiness: b(1345, 1, "An_expression_of_type_void_cannot_be_tested_for_truthiness_1345", "An expression of type 'void' cannot be tested for truthiness."),
        This_parameter_is_not_allowed_with_use_strict_directive: b(1346, 1, "This_parameter_is_not_allowed_with_use_strict_directive_1346", "This parameter is not allowed with 'use strict' directive."),
        use_strict_directive_cannot_be_used_with_non_simple_parameter_list: b(1347, 1, "use_strict_directive_cannot_be_used_with_non_simple_parameter_list_1347", "'use strict' directive cannot be used with non-simple parameter list."),
        Non_simple_parameter_declared_here: b(1348, 1, "Non_simple_parameter_declared_here_1348", "Non-simple parameter declared here."),
        use_strict_directive_used_here: b(1349, 1, "use_strict_directive_used_here_1349", "'use strict' directive used here."),
        Print_the_final_configuration_instead_of_building: b(1350, 3, "Print_the_final_configuration_instead_of_building_1350", "Print the final configuration instead of building."),
        An_identifier_or_keyword_cannot_immediately_follow_a_numeric_literal: b(1351, 1, "An_identifier_or_keyword_cannot_immediately_follow_a_numeric_literal_1351", "An identifier or keyword cannot immediately follow a numeric literal."),
        A_bigint_literal_cannot_use_exponential_notation: b(1352, 1, "A_bigint_literal_cannot_use_exponential_notation_1352", "A bigint literal cannot use exponential notation."),
        A_bigint_literal_must_be_an_integer: b(1353, 1, "A_bigint_literal_must_be_an_integer_1353", "A bigint literal must be an integer."),
        readonly_type_modifier_is_only_permitted_on_array_and_tuple_literal_types: b(1354, 1, "readonly_type_modifier_is_only_permitted_on_array_and_tuple_literal_types_1354", "'readonly' type modifier is only permitted on array and tuple literal types."),
        A_const_assertions_can_only_be_applied_to_references_to_enum_members_or_string_number_boolean_array_or_object_literals: b(1355, 1, "A_const_assertions_can_only_be_applied_to_references_to_enum_members_or_string_number_boolean_array__1355", "A 'const' assertions can only be applied to references to enum members, or string, number, boolean, array, or object literals."),
        Did_you_mean_to_mark_this_function_as_async: b(1356, 1, "Did_you_mean_to_mark_this_function_as_async_1356", "Did you mean to mark this function as 'async'?"),
        An_enum_member_name_must_be_followed_by_a_or: b(1357, 1, "An_enum_member_name_must_be_followed_by_a_or_1357", "An enum member name must be followed by a ',', '=', or '}'."),
        Tagged_template_expressions_are_not_permitted_in_an_optional_chain: b(1358, 1, "Tagged_template_expressions_are_not_permitted_in_an_optional_chain_1358", "Tagged template expressions are not permitted in an optional chain."),
        Identifier_expected_0_is_a_reserved_word_that_cannot_be_used_here: b(1359, 1, "Identifier_expected_0_is_a_reserved_word_that_cannot_be_used_here_1359", "Identifier expected. '{0}' is a reserved word that cannot be used here."),
        Type_0_does_not_satisfy_the_expected_type_1: b(1360, 1, "Type_0_does_not_satisfy_the_expected_type_1_1360", "Type '{0}' does not satisfy the expected type '{1}'."),
        _0_cannot_be_used_as_a_value_because_it_was_imported_using_import_type: b(1361, 1, "_0_cannot_be_used_as_a_value_because_it_was_imported_using_import_type_1361", "'{0}' cannot be used as a value because it was imported using 'import type'."),
        _0_cannot_be_used_as_a_value_because_it_was_exported_using_export_type: b(1362, 1, "_0_cannot_be_used_as_a_value_because_it_was_exported_using_export_type_1362", "'{0}' cannot be used as a value because it was exported using 'export type'."),
        A_type_only_import_can_specify_a_default_import_or_named_bindings_but_not_both: b(1363, 1, "A_type_only_import_can_specify_a_default_import_or_named_bindings_but_not_both_1363", "A type-only import can specify a default import or named bindings, but not both."),
        Convert_to_type_only_export: b(1364, 3, "Convert_to_type_only_export_1364", "Convert to type-only export"),
        Convert_all_re_exported_types_to_type_only_exports: b(1365, 3, "Convert_all_re_exported_types_to_type_only_exports_1365", "Convert all re-exported types to type-only exports"),
        Split_into_two_separate_import_declarations: b(1366, 3, "Split_into_two_separate_import_declarations_1366", "Split into two separate import declarations"),
        Split_all_invalid_type_only_imports: b(1367, 3, "Split_all_invalid_type_only_imports_1367", "Split all invalid type-only imports"),
        Class_constructor_may_not_be_a_generator: b(1368, 1, "Class_constructor_may_not_be_a_generator_1368", "Class constructor may not be a generator."),
        Did_you_mean_0: b(1369, 3, "Did_you_mean_0_1369", "Did you mean '{0}'?"),
        await_expressions_are_only_allowed_at_the_top_level_of_a_file_when_that_file_is_a_module_but_this_file_has_no_imports_or_exports_Consider_adding_an_empty_export_to_make_this_file_a_module: b(1375, 1, "await_expressions_are_only_allowed_at_the_top_level_of_a_file_when_that_file_is_a_module_but_this_fi_1375", "'await' expressions are only allowed at the top level of a file when that file is a module, but this file has no imports or exports. Consider adding an empty 'export {}' to make this file a module."),
        _0_was_imported_here: b(1376, 3, "_0_was_imported_here_1376", "'{0}' was imported here."),
        _0_was_exported_here: b(1377, 3, "_0_was_exported_here_1377", "'{0}' was exported here."),
        Top_level_await_expressions_are_only_allowed_when_the_module_option_is_set_to_es2022_esnext_system_node16_node18_nodenext_or_preserve_and_the_target_option_is_set_to_es2017_or_higher: b(1378, 1, "Top_level_await_expressions_are_only_allowed_when_the_module_option_is_set_to_es2022_esnext_system_n_1378", "Top-level 'await' expressions are only allowed when the 'module' option is set to 'es2022', 'esnext', 'system', 'node16', 'node18', 'nodenext', or 'preserve', and the 'target' option is set to 'es2017' or higher."),
        An_import_alias_cannot_reference_a_declaration_that_was_exported_using_export_type: b(1379, 1, "An_import_alias_cannot_reference_a_declaration_that_was_exported_using_export_type_1379", "An import alias cannot reference a declaration that was exported using 'export type'."),
        An_import_alias_cannot_reference_a_declaration_that_was_imported_using_import_type: b(1380, 1, "An_import_alias_cannot_reference_a_declaration_that_was_imported_using_import_type_1380", "An import alias cannot reference a declaration that was imported using 'import type'."),
        Unexpected_token_Did_you_mean_or_rbrace: b(1381, 1, "Unexpected_token_Did_you_mean_or_rbrace_1381", "Unexpected token. Did you mean `{'}'}` or `&rbrace;`?"),
        Unexpected_token_Did_you_mean_or_gt: b(1382, 1, "Unexpected_token_Did_you_mean_or_gt_1382", "Unexpected token. Did you mean `{'>'}` or `&gt;`?"),
        Function_type_notation_must_be_parenthesized_when_used_in_a_union_type: b(1385, 1, "Function_type_notation_must_be_parenthesized_when_used_in_a_union_type_1385", "Function type notation must be parenthesized when used in a union type."),
        Constructor_type_notation_must_be_parenthesized_when_used_in_a_union_type: b(1386, 1, "Constructor_type_notation_must_be_parenthesized_when_used_in_a_union_type_1386", "Constructor type notation must be parenthesized when used in a union type."),
        Function_type_notation_must_be_parenthesized_when_used_in_an_intersection_type: b(1387, 1, "Function_type_notation_must_be_parenthesized_when_used_in_an_intersection_type_1387", "Function type notation must be parenthesized when used in an intersection type."),
        Constructor_type_notation_must_be_parenthesized_when_used_in_an_intersection_type: b(1388, 1, "Constructor_type_notation_must_be_parenthesized_when_used_in_an_intersection_type_1388", "Constructor type notation must be parenthesized when used in an intersection type."),
        _0_is_not_allowed_as_a_variable_declaration_name: b(1389, 1, "_0_is_not_allowed_as_a_variable_declaration_name_1389", "'{0}' is not allowed as a variable declaration name."),
        _0_is_not_allowed_as_a_parameter_name: b(1390, 1, "_0_is_not_allowed_as_a_parameter_name_1390", "'{0}' is not allowed as a parameter name."),
        An_import_alias_cannot_use_import_type: b(1392, 1, "An_import_alias_cannot_use_import_type_1392", "An import alias cannot use 'import type'"),
        Imported_via_0_from_file_1: b(1393, 3, "Imported_via_0_from_file_1_1393", "Imported via {0} from file '{1}'"),
        Imported_via_0_from_file_1_with_packageId_2: b(1394, 3, "Imported_via_0_from_file_1_with_packageId_2_1394", "Imported via {0} from file '{1}' with packageId '{2}'"),
        Imported_via_0_from_file_1_to_import_importHelpers_as_specified_in_compilerOptions: b(1395, 3, "Imported_via_0_from_file_1_to_import_importHelpers_as_specified_in_compilerOptions_1395", "Imported via {0} from file '{1}' to import 'importHelpers' as specified in compilerOptions"),
        Imported_via_0_from_file_1_with_packageId_2_to_import_importHelpers_as_specified_in_compilerOptions: b(1396, 3, "Imported_via_0_from_file_1_with_packageId_2_to_import_importHelpers_as_specified_in_compilerOptions_1396", "Imported via {0} from file '{1}' with packageId '{2}' to import 'importHelpers' as specified in compilerOptions"),
        Imported_via_0_from_file_1_to_import_jsx_and_jsxs_factory_functions: b(1397, 3, "Imported_via_0_from_file_1_to_import_jsx_and_jsxs_factory_functions_1397", "Imported via {0} from file '{1}' to import 'jsx' and 'jsxs' factory functions"),
        Imported_via_0_from_file_1_with_packageId_2_to_import_jsx_and_jsxs_factory_functions: b(1398, 3, "Imported_via_0_from_file_1_with_packageId_2_to_import_jsx_and_jsxs_factory_functions_1398", "Imported via {0} from file '{1}' with packageId '{2}' to import 'jsx' and 'jsxs' factory functions"),
        File_is_included_via_import_here: b(1399, 3, "File_is_included_via_import_here_1399", "File is included via import here."),
        Referenced_via_0_from_file_1: b(1400, 3, "Referenced_via_0_from_file_1_1400", "Referenced via '{0}' from file '{1}'"),
        File_is_included_via_reference_here: b(1401, 3, "File_is_included_via_reference_here_1401", "File is included via reference here."),
        Type_library_referenced_via_0_from_file_1: b(1402, 3, "Type_library_referenced_via_0_from_file_1_1402", "Type library referenced via '{0}' from file '{1}'"),
        Type_library_referenced_via_0_from_file_1_with_packageId_2: b(1403, 3, "Type_library_referenced_via_0_from_file_1_with_packageId_2_1403", "Type library referenced via '{0}' from file '{1}' with packageId '{2}'"),
        File_is_included_via_type_library_reference_here: b(1404, 3, "File_is_included_via_type_library_reference_here_1404", "File is included via type library reference here."),
        Library_referenced_via_0_from_file_1: b(1405, 3, "Library_referenced_via_0_from_file_1_1405", "Library referenced via '{0}' from file '{1}'"),
        File_is_included_via_library_reference_here: b(1406, 3, "File_is_included_via_library_reference_here_1406", "File is included via library reference here."),
        Matched_by_include_pattern_0_in_1: b(1407, 3, "Matched_by_include_pattern_0_in_1_1407", "Matched by include pattern '{0}' in '{1}'"),
        File_is_matched_by_include_pattern_specified_here: b(1408, 3, "File_is_matched_by_include_pattern_specified_here_1408", "File is matched by include pattern specified here."),
        Part_of_files_list_in_tsconfig_json: b(1409, 3, "Part_of_files_list_in_tsconfig_json_1409", "Part of 'files' list in tsconfig.json"),
        File_is_matched_by_files_list_specified_here: b(1410, 3, "File_is_matched_by_files_list_specified_here_1410", "File is matched by 'files' list specified here."),
        Output_from_referenced_project_0_included_because_1_specified: b(1411, 3, "Output_from_referenced_project_0_included_because_1_specified_1411", "Output from referenced project '{0}' included because '{1}' specified"),
        Output_from_referenced_project_0_included_because_module_is_specified_as_none: b(1412, 3, "Output_from_referenced_project_0_included_because_module_is_specified_as_none_1412", "Output from referenced project '{0}' included because '--module' is specified as 'none'"),
        File_is_output_from_referenced_project_specified_here: b(1413, 3, "File_is_output_from_referenced_project_specified_here_1413", "File is output from referenced project specified here."),
        Source_from_referenced_project_0_included_because_1_specified: b(1414, 3, "Source_from_referenced_project_0_included_because_1_specified_1414", "Source from referenced project '{0}' included because '{1}' specified"),
        Source_from_referenced_project_0_included_because_module_is_specified_as_none: b(1415, 3, "Source_from_referenced_project_0_included_because_module_is_specified_as_none_1415", "Source from referenced project '{0}' included because '--module' is specified as 'none'"),
        File_is_source_from_referenced_project_specified_here: b(1416, 3, "File_is_source_from_referenced_project_specified_here_1416", "File is source from referenced project specified here."),
        Entry_point_of_type_library_0_specified_in_compilerOptions: b(1417, 3, "Entry_point_of_type_library_0_specified_in_compilerOptions_1417", "Entry point of type library '{0}' specified in compilerOptions"),
        Entry_point_of_type_library_0_specified_in_compilerOptions_with_packageId_1: b(1418, 3, "Entry_point_of_type_library_0_specified_in_compilerOptions_with_packageId_1_1418", "Entry point of type library '{0}' specified in compilerOptions with packageId '{1}'"),
        File_is_entry_point_of_type_library_specified_here: b(1419, 3, "File_is_entry_point_of_type_library_specified_here_1419", "File is entry point of type library specified here."),
        Entry_point_for_implicit_type_library_0: b(1420, 3, "Entry_point_for_implicit_type_library_0_1420", "Entry point for implicit type library '{0}'"),
        Entry_point_for_implicit_type_library_0_with_packageId_1: b(1421, 3, "Entry_point_for_implicit_type_library_0_with_packageId_1_1421", "Entry point for implicit type library '{0}' with packageId '{1}'"),
        Library_0_specified_in_compilerOptions: b(1422, 3, "Library_0_specified_in_compilerOptions_1422", "Library '{0}' specified in compilerOptions"),
        File_is_library_specified_here: b(1423, 3, "File_is_library_specified_here_1423", "File is library specified here."),
        Default_library: b(1424, 3, "Default_library_1424", "Default library"),
        Default_library_for_target_0: b(1425, 3, "Default_library_for_target_0_1425", "Default library for target '{0}'"),
        File_is_default_library_for_target_specified_here: b(1426, 3, "File_is_default_library_for_target_specified_here_1426", "File is default library for target specified here."),
        Root_file_specified_for_compilation: b(1427, 3, "Root_file_specified_for_compilation_1427", "Root file specified for compilation"),
        File_is_output_of_project_reference_source_0: b(1428, 3, "File_is_output_of_project_reference_source_0_1428", "File is output of project reference source '{0}'"),
        File_redirects_to_file_0: b(1429, 3, "File_redirects_to_file_0_1429", "File redirects to file '{0}'"),
        The_file_is_in_the_program_because_Colon: b(1430, 3, "The_file_is_in_the_program_because_Colon_1430", "The file is in the program because:"),
        for_await_loops_are_only_allowed_at_the_top_level_of_a_file_when_that_file_is_a_module_but_this_file_has_no_imports_or_exports_Consider_adding_an_empty_export_to_make_this_file_a_module: b(1431, 1, "for_await_loops_are_only_allowed_at_the_top_level_of_a_file_when_that_file_is_a_module_but_this_file_1431", "'for await' loops are only allowed at the top level of a file when that file is a module, but this file has no imports or exports. Consider adding an empty 'export {}' to make this file a module."),
        Top_level_for_await_loops_are_only_allowed_when_the_module_option_is_set_to_es2022_esnext_system_node16_node18_nodenext_or_preserve_and_the_target_option_is_set_to_es2017_or_higher: b(1432, 1, "Top_level_for_await_loops_are_only_allowed_when_the_module_option_is_set_to_es2022_esnext_system_nod_1432", "Top-level 'for await' loops are only allowed when the 'module' option is set to 'es2022', 'esnext', 'system', 'node16', 'node18', 'nodenext', or 'preserve', and the 'target' option is set to 'es2017' or higher."),
        Neither_decorators_nor_modifiers_may_be_applied_to_this_parameters: b(1433, 1, "Neither_decorators_nor_modifiers_may_be_applied_to_this_parameters_1433", "Neither decorators nor modifiers may be applied to 'this' parameters."),
        Unexpected_keyword_or_identifier: b(1434, 1, "Unexpected_keyword_or_identifier_1434", "Unexpected keyword or identifier."),
        Unknown_keyword_or_identifier_Did_you_mean_0: b(1435, 1, "Unknown_keyword_or_identifier_Did_you_mean_0_1435", "Unknown keyword or identifier. Did you mean '{0}'?"),
        Decorators_must_precede_the_name_and_all_keywords_of_property_declarations: b(1436, 1, "Decorators_must_precede_the_name_and_all_keywords_of_property_declarations_1436", "Decorators must precede the name and all keywords of property declarations."),
        Namespace_must_be_given_a_name: b(1437, 1, "Namespace_must_be_given_a_name_1437", "Namespace must be given a name."),
        Interface_must_be_given_a_name: b(1438, 1, "Interface_must_be_given_a_name_1438", "Interface must be given a name."),
        Type_alias_must_be_given_a_name: b(1439, 1, "Type_alias_must_be_given_a_name_1439", "Type alias must be given a name."),
        Variable_declaration_not_allowed_at_this_location: b(1440, 1, "Variable_declaration_not_allowed_at_this_location_1440", "Variable declaration not allowed at this location."),
        Cannot_start_a_function_call_in_a_type_annotation: b(1441, 1, "Cannot_start_a_function_call_in_a_type_annotation_1441", "Cannot start a function call in a type annotation."),
        Expected_for_property_initializer: b(1442, 1, "Expected_for_property_initializer_1442", "Expected '=' for property initializer."),
        Module_declaration_names_may_only_use_or_quoted_strings: b(1443, 1, "Module_declaration_names_may_only_use_or_quoted_strings_1443", `Module declaration names may only use ' or " quoted strings.`),
        _0_resolves_to_a_type_only_declaration_and_must_be_re_exported_using_a_type_only_re_export_when_1_is_enabled: b(1448, 1, "_0_resolves_to_a_type_only_declaration_and_must_be_re_exported_using_a_type_only_re_export_when_1_is_1448", "'{0}' resolves to a type-only declaration and must be re-exported using a type-only re-export when '{1}' is enabled."),
        Preserve_unused_imported_values_in_the_JavaScript_output_that_would_otherwise_be_removed: b(1449, 3, "Preserve_unused_imported_values_in_the_JavaScript_output_that_would_otherwise_be_removed_1449", "Preserve unused imported values in the JavaScript output that would otherwise be removed."),
        Dynamic_imports_can_only_accept_a_module_specifier_and_an_optional_set_of_attributes_as_arguments: b(1450, 3, "Dynamic_imports_can_only_accept_a_module_specifier_and_an_optional_set_of_attributes_as_arguments_1450", "Dynamic imports can only accept a module specifier and an optional set of attributes as arguments"),
        Private_identifiers_are_only_allowed_in_class_bodies_and_may_only_be_used_as_part_of_a_class_member_declaration_property_access_or_on_the_left_hand_side_of_an_in_expression: b(1451, 1, "Private_identifiers_are_only_allowed_in_class_bodies_and_may_only_be_used_as_part_of_a_class_member__1451", "Private identifiers are only allowed in class bodies and may only be used as part of a class member declaration, property access, or on the left-hand-side of an 'in' expression"),
        resolution_mode_should_be_either_require_or_import: b(1453, 1, "resolution_mode_should_be_either_require_or_import_1453", "`resolution-mode` should be either `require` or `import`."),
        resolution_mode_can_only_be_set_for_type_only_imports: b(1454, 1, "resolution_mode_can_only_be_set_for_type_only_imports_1454", "`resolution-mode` can only be set for type-only imports."),
        resolution_mode_is_the_only_valid_key_for_type_import_assertions: b(1455, 1, "resolution_mode_is_the_only_valid_key_for_type_import_assertions_1455", "`resolution-mode` is the only valid key for type import assertions."),
        Type_import_assertions_should_have_exactly_one_key_resolution_mode_with_value_import_or_require: b(1456, 1, "Type_import_assertions_should_have_exactly_one_key_resolution_mode_with_value_import_or_require_1456", "Type import assertions should have exactly one key - `resolution-mode` - with value `import` or `require`."),
        Matched_by_default_include_pattern_Asterisk_Asterisk_Slash_Asterisk: b(1457, 3, "Matched_by_default_include_pattern_Asterisk_Asterisk_Slash_Asterisk_1457", "Matched by default include pattern '**/*'"),
        File_is_ECMAScript_module_because_0_has_field_type_with_value_module: b(1458, 3, "File_is_ECMAScript_module_because_0_has_field_type_with_value_module_1458", `File is ECMAScript module because '{0}' has field "type" with value "module"`),
        File_is_CommonJS_module_because_0_has_field_type_whose_value_is_not_module: b(1459, 3, "File_is_CommonJS_module_because_0_has_field_type_whose_value_is_not_module_1459", `File is CommonJS module because '{0}' has field "type" whose value is not "module"`),
        File_is_CommonJS_module_because_0_does_not_have_field_type: b(1460, 3, "File_is_CommonJS_module_because_0_does_not_have_field_type_1460", `File is CommonJS module because '{0}' does not have field "type"`),
        File_is_CommonJS_module_because_package_json_was_not_found: b(1461, 3, "File_is_CommonJS_module_because_package_json_was_not_found_1461", "File is CommonJS module because 'package.json' was not found"),
        resolution_mode_is_the_only_valid_key_for_type_import_attributes: b(1463, 1, "resolution_mode_is_the_only_valid_key_for_type_import_attributes_1463", "'resolution-mode' is the only valid key for type import attributes."),
        Type_import_attributes_should_have_exactly_one_key_resolution_mode_with_value_import_or_require: b(1464, 1, "Type_import_attributes_should_have_exactly_one_key_resolution_mode_with_value_import_or_require_1464", "Type import attributes should have exactly one key - 'resolution-mode' - with value 'import' or 'require'."),
        The_import_meta_meta_property_is_not_allowed_in_files_which_will_build_into_CommonJS_output: b(1470, 1, "The_import_meta_meta_property_is_not_allowed_in_files_which_will_build_into_CommonJS_output_1470", "The 'import.meta' meta-property is not allowed in files which will build into CommonJS output."),
        Module_0_cannot_be_imported_using_this_construct_The_specifier_only_resolves_to_an_ES_module_which_cannot_be_imported_with_require_Use_an_ECMAScript_import_instead: b(1471, 1, "Module_0_cannot_be_imported_using_this_construct_The_specifier_only_resolves_to_an_ES_module_which_c_1471", "Module '{0}' cannot be imported using this construct. The specifier only resolves to an ES module, which cannot be imported with 'require'. Use an ECMAScript import instead."),
        catch_or_finally_expected: b(1472, 1, "catch_or_finally_expected_1472", "'catch' or 'finally' expected."),
        An_import_declaration_can_only_be_used_at_the_top_level_of_a_module: b(1473, 1, "An_import_declaration_can_only_be_used_at_the_top_level_of_a_module_1473", "An import declaration can only be used at the top level of a module."),
        An_export_declaration_can_only_be_used_at_the_top_level_of_a_module: b(1474, 1, "An_export_declaration_can_only_be_used_at_the_top_level_of_a_module_1474", "An export declaration can only be used at the top level of a module."),
        Control_what_method_is_used_to_detect_module_format_JS_files: b(1475, 3, "Control_what_method_is_used_to_detect_module_format_JS_files_1475", "Control what method is used to detect module-format JS files."),
        auto_Colon_Treat_files_with_imports_exports_import_meta_jsx_with_jsx_Colon_react_jsx_or_esm_format_with_module_Colon_node16_as_modules: b(1476, 3, "auto_Colon_Treat_files_with_imports_exports_import_meta_jsx_with_jsx_Colon_react_jsx_or_esm_format_w_1476", '"auto": Treat files with imports, exports, import.meta, jsx (with jsx: react-jsx), or esm format (with module: node16+) as modules.'),
        An_instantiation_expression_cannot_be_followed_by_a_property_access: b(1477, 1, "An_instantiation_expression_cannot_be_followed_by_a_property_access_1477", "An instantiation expression cannot be followed by a property access."),
        Identifier_or_string_literal_expected: b(1478, 1, "Identifier_or_string_literal_expected_1478", "Identifier or string literal expected."),
        The_current_file_is_a_CommonJS_module_whose_imports_will_produce_require_calls_however_the_referenced_file_is_an_ECMAScript_module_and_cannot_be_imported_with_require_Consider_writing_a_dynamic_import_0_call_instead: b(1479, 1, "The_current_file_is_a_CommonJS_module_whose_imports_will_produce_require_calls_however_the_reference_1479", `The current file is a CommonJS module whose imports will produce 'require' calls; however, the referenced file is an ECMAScript module and cannot be imported with 'require'. Consider writing a dynamic 'import("{0}")' call instead.`),
        To_convert_this_file_to_an_ECMAScript_module_change_its_file_extension_to_0_or_create_a_local_package_json_file_with_type_Colon_module: b(1480, 3, "To_convert_this_file_to_an_ECMAScript_module_change_its_file_extension_to_0_or_create_a_local_packag_1480", 'To convert this file to an ECMAScript module, change its file extension to \'{0}\' or create a local package.json file with `{ "type": "module" }`.'),
        To_convert_this_file_to_an_ECMAScript_module_change_its_file_extension_to_0_or_add_the_field_type_Colon_module_to_1: b(1481, 3, "To_convert_this_file_to_an_ECMAScript_module_change_its_file_extension_to_0_or_add_the_field_type_Co_1481", `To convert this file to an ECMAScript module, change its file extension to '{0}', or add the field \`"type": "module"\` to '{1}'.`),
        To_convert_this_file_to_an_ECMAScript_module_add_the_field_type_Colon_module_to_0: b(1482, 3, "To_convert_this_file_to_an_ECMAScript_module_add_the_field_type_Colon_module_to_0_1482", 'To convert this file to an ECMAScript module, add the field `"type": "module"` to \'{0}\'.'),
        To_convert_this_file_to_an_ECMAScript_module_create_a_local_package_json_file_with_type_Colon_module: b(1483, 3, "To_convert_this_file_to_an_ECMAScript_module_create_a_local_package_json_file_with_type_Colon_module_1483", 'To convert this file to an ECMAScript module, create a local package.json file with `{ "type": "module" }`.'),
        _0_is_a_type_and_must_be_imported_using_a_type_only_import_when_verbatimModuleSyntax_is_enabled: b(1484, 1, "_0_is_a_type_and_must_be_imported_using_a_type_only_import_when_verbatimModuleSyntax_is_enabled_1484", "'{0}' is a type and must be imported using a type-only import when 'verbatimModuleSyntax' is enabled."),
        _0_resolves_to_a_type_only_declaration_and_must_be_imported_using_a_type_only_import_when_verbatimModuleSyntax_is_enabled: b(1485, 1, "_0_resolves_to_a_type_only_declaration_and_must_be_imported_using_a_type_only_import_when_verbatimMo_1485", "'{0}' resolves to a type-only declaration and must be imported using a type-only import when 'verbatimModuleSyntax' is enabled."),
        Decorator_used_before_export_here: b(1486, 1, "Decorator_used_before_export_here_1486", "Decorator used before 'export' here."),
        Octal_escape_sequences_are_not_allowed_Use_the_syntax_0: b(1487, 1, "Octal_escape_sequences_are_not_allowed_Use_the_syntax_0_1487", "Octal escape sequences are not allowed. Use the syntax '{0}'."),
        Escape_sequence_0_is_not_allowed: b(1488, 1, "Escape_sequence_0_is_not_allowed_1488", "Escape sequence '{0}' is not allowed."),
        Decimals_with_leading_zeros_are_not_allowed: b(1489, 1, "Decimals_with_leading_zeros_are_not_allowed_1489", "Decimals with leading zeros are not allowed."),
        File_appears_to_be_binary: b(1490, 1, "File_appears_to_be_binary_1490", "File appears to be binary."),
        _0_modifier_cannot_appear_on_a_using_declaration: b(1491, 1, "_0_modifier_cannot_appear_on_a_using_declaration_1491", "'{0}' modifier cannot appear on a 'using' declaration."),
        _0_declarations_may_not_have_binding_patterns: b(1492, 1, "_0_declarations_may_not_have_binding_patterns_1492", "'{0}' declarations may not have binding patterns."),
        The_left_hand_side_of_a_for_in_statement_cannot_be_a_using_declaration: b(1493, 1, "The_left_hand_side_of_a_for_in_statement_cannot_be_a_using_declaration_1493", "The left-hand side of a 'for...in' statement cannot be a 'using' declaration."),
        The_left_hand_side_of_a_for_in_statement_cannot_be_an_await_using_declaration: b(1494, 1, "The_left_hand_side_of_a_for_in_statement_cannot_be_an_await_using_declaration_1494", "The left-hand side of a 'for...in' statement cannot be an 'await using' declaration."),
        _0_modifier_cannot_appear_on_an_await_using_declaration: b(1495, 1, "_0_modifier_cannot_appear_on_an_await_using_declaration_1495", "'{0}' modifier cannot appear on an 'await using' declaration."),
        Identifier_string_literal_or_number_literal_expected: b(1496, 1, "Identifier_string_literal_or_number_literal_expected_1496", "Identifier, string literal, or number literal expected."),
        Expression_must_be_enclosed_in_parentheses_to_be_used_as_a_decorator: b(1497, 1, "Expression_must_be_enclosed_in_parentheses_to_be_used_as_a_decorator_1497", "Expression must be enclosed in parentheses to be used as a decorator."),
        Invalid_syntax_in_decorator: b(1498, 1, "Invalid_syntax_in_decorator_1498", "Invalid syntax in decorator."),
        Unknown_regular_expression_flag: b(1499, 1, "Unknown_regular_expression_flag_1499", "Unknown regular expression flag."),
        Duplicate_regular_expression_flag: b(1500, 1, "Duplicate_regular_expression_flag_1500", "Duplicate regular expression flag."),
        This_regular_expression_flag_is_only_available_when_targeting_0_or_later: b(1501, 1, "This_regular_expression_flag_is_only_available_when_targeting_0_or_later_1501", "This regular expression flag is only available when targeting '{0}' or later."),
        The_Unicode_u_flag_and_the_Unicode_Sets_v_flag_cannot_be_set_simultaneously: b(1502, 1, "The_Unicode_u_flag_and_the_Unicode_Sets_v_flag_cannot_be_set_simultaneously_1502", "The Unicode (u) flag and the Unicode Sets (v) flag cannot be set simultaneously."),
        Named_capturing_groups_are_only_available_when_targeting_ES2018_or_later: b(1503, 1, "Named_capturing_groups_are_only_available_when_targeting_ES2018_or_later_1503", "Named capturing groups are only available when targeting 'ES2018' or later."),
        Subpattern_flags_must_be_present_when_there_is_a_minus_sign: b(1504, 1, "Subpattern_flags_must_be_present_when_there_is_a_minus_sign_1504", "Subpattern flags must be present when there is a minus sign."),
        Incomplete_quantifier_Digit_expected: b(1505, 1, "Incomplete_quantifier_Digit_expected_1505", "Incomplete quantifier. Digit expected."),
        Numbers_out_of_order_in_quantifier: b(1506, 1, "Numbers_out_of_order_in_quantifier_1506", "Numbers out of order in quantifier."),
        There_is_nothing_available_for_repetition: b(1507, 1, "There_is_nothing_available_for_repetition_1507", "There is nothing available for repetition."),
        Unexpected_0_Did_you_mean_to_escape_it_with_backslash: b(1508, 1, "Unexpected_0_Did_you_mean_to_escape_it_with_backslash_1508", "Unexpected '{0}'. Did you mean to escape it with backslash?"),
        This_regular_expression_flag_cannot_be_toggled_within_a_subpattern: b(1509, 1, "This_regular_expression_flag_cannot_be_toggled_within_a_subpattern_1509", "This regular expression flag cannot be toggled within a subpattern."),
        k_must_be_followed_by_a_capturing_group_name_enclosed_in_angle_brackets: b(1510, 1, "k_must_be_followed_by_a_capturing_group_name_enclosed_in_angle_brackets_1510", "'\\k' must be followed by a capturing group name enclosed in angle brackets."),
        q_is_only_available_inside_character_class: b(1511, 1, "q_is_only_available_inside_character_class_1511", "'\\q' is only available inside character class."),
        c_must_be_followed_by_an_ASCII_letter: b(1512, 1, "c_must_be_followed_by_an_ASCII_letter_1512", "'\\c' must be followed by an ASCII letter."),
        Undetermined_character_escape: b(1513, 1, "Undetermined_character_escape_1513", "Undetermined character escape."),
        Expected_a_capturing_group_name: b(1514, 1, "Expected_a_capturing_group_name_1514", "Expected a capturing group name."),
        Named_capturing_groups_with_the_same_name_must_be_mutually_exclusive_to_each_other: b(1515, 1, "Named_capturing_groups_with_the_same_name_must_be_mutually_exclusive_to_each_other_1515", "Named capturing groups with the same name must be mutually exclusive to each other."),
        A_character_class_range_must_not_be_bounded_by_another_character_class: b(1516, 1, "A_character_class_range_must_not_be_bounded_by_another_character_class_1516", "A character class range must not be bounded by another character class."),
        Range_out_of_order_in_character_class: b(1517, 1, "Range_out_of_order_in_character_class_1517", "Range out of order in character class."),
        Anything_that_would_possibly_match_more_than_a_single_character_is_invalid_inside_a_negated_character_class: b(1518, 1, "Anything_that_would_possibly_match_more_than_a_single_character_is_invalid_inside_a_negated_characte_1518", "Anything that would possibly match more than a single character is invalid inside a negated character class."),
        Operators_must_not_be_mixed_within_a_character_class_Wrap_it_in_a_nested_class_instead: b(1519, 1, "Operators_must_not_be_mixed_within_a_character_class_Wrap_it_in_a_nested_class_instead_1519", "Operators must not be mixed within a character class. Wrap it in a nested class instead."),
        Expected_a_class_set_operand: b(1520, 1, "Expected_a_class_set_operand_1520", "Expected a class set operand."),
        q_must_be_followed_by_string_alternatives_enclosed_in_braces: b(1521, 1, "q_must_be_followed_by_string_alternatives_enclosed_in_braces_1521", "'\\q' must be followed by string alternatives enclosed in braces."),
        A_character_class_must_not_contain_a_reserved_double_punctuator_Did_you_mean_to_escape_it_with_backslash: b(1522, 1, "A_character_class_must_not_contain_a_reserved_double_punctuator_Did_you_mean_to_escape_it_with_backs_1522", "A character class must not contain a reserved double punctuator. Did you mean to escape it with backslash?"),
        Expected_a_Unicode_property_name: b(1523, 1, "Expected_a_Unicode_property_name_1523", "Expected a Unicode property name."),
        Unknown_Unicode_property_name: b(1524, 1, "Unknown_Unicode_property_name_1524", "Unknown Unicode property name."),
        Expected_a_Unicode_property_value: b(1525, 1, "Expected_a_Unicode_property_value_1525", "Expected a Unicode property value."),
        Unknown_Unicode_property_value: b(1526, 1, "Unknown_Unicode_property_value_1526", "Unknown Unicode property value."),
        Expected_a_Unicode_property_name_or_value: b(1527, 1, "Expected_a_Unicode_property_name_or_value_1527", "Expected a Unicode property name or value."),
        Any_Unicode_property_that_would_possibly_match_more_than_a_single_character_is_only_available_when_the_Unicode_Sets_v_flag_is_set: b(1528, 1, "Any_Unicode_property_that_would_possibly_match_more_than_a_single_character_is_only_available_when_t_1528", "Any Unicode property that would possibly match more than a single character is only available when the Unicode Sets (v) flag is set."),
        Unknown_Unicode_property_name_or_value: b(1529, 1, "Unknown_Unicode_property_name_or_value_1529", "Unknown Unicode property name or value."),
        Unicode_property_value_expressions_are_only_available_when_the_Unicode_u_flag_or_the_Unicode_Sets_v_flag_is_set: b(1530, 1, "Unicode_property_value_expressions_are_only_available_when_the_Unicode_u_flag_or_the_Unicode_Sets_v__1530", "Unicode property value expressions are only available when the Unicode (u) flag or the Unicode Sets (v) flag is set."),
        _0_must_be_followed_by_a_Unicode_property_value_expression_enclosed_in_braces: b(1531, 1, "_0_must_be_followed_by_a_Unicode_property_value_expression_enclosed_in_braces_1531", "'\\{0}' must be followed by a Unicode property value expression enclosed in braces."),
        There_is_no_capturing_group_named_0_in_this_regular_expression: b(1532, 1, "There_is_no_capturing_group_named_0_in_this_regular_expression_1532", "There is no capturing group named '{0}' in this regular expression."),
        This_backreference_refers_to_a_group_that_does_not_exist_There_are_only_0_capturing_groups_in_this_regular_expression: b(1533, 1, "This_backreference_refers_to_a_group_that_does_not_exist_There_are_only_0_capturing_groups_in_this_r_1533", "This backreference refers to a group that does not exist. There are only {0} capturing groups in this regular expression."),
        This_backreference_refers_to_a_group_that_does_not_exist_There_are_no_capturing_groups_in_this_regular_expression: b(1534, 1, "This_backreference_refers_to_a_group_that_does_not_exist_There_are_no_capturing_groups_in_this_regul_1534", "This backreference refers to a group that does not exist. There are no capturing groups in this regular expression."),
        This_character_cannot_be_escaped_in_a_regular_expression: b(1535, 1, "This_character_cannot_be_escaped_in_a_regular_expression_1535", "This character cannot be escaped in a regular expression."),
        Octal_escape_sequences_and_backreferences_are_not_allowed_in_a_character_class_If_this_was_intended_as_an_escape_sequence_use_the_syntax_0_instead: b(1536, 1, "Octal_escape_sequences_and_backreferences_are_not_allowed_in_a_character_class_If_this_was_intended__1536", "Octal escape sequences and backreferences are not allowed in a character class. If this was intended as an escape sequence, use the syntax '{0}' instead."),
        Decimal_escape_sequences_and_backreferences_are_not_allowed_in_a_character_class: b(1537, 1, "Decimal_escape_sequences_and_backreferences_are_not_allowed_in_a_character_class_1537", "Decimal escape sequences and backreferences are not allowed in a character class."),
        Unicode_escape_sequences_are_only_available_when_the_Unicode_u_flag_or_the_Unicode_Sets_v_flag_is_set: b(1538, 1, "Unicode_escape_sequences_are_only_available_when_the_Unicode_u_flag_or_the_Unicode_Sets_v_flag_is_se_1538", "Unicode escape sequences are only available when the Unicode (u) flag or the Unicode Sets (v) flag is set."),
        A_bigint_literal_cannot_be_used_as_a_property_name: b(1539, 1, "A_bigint_literal_cannot_be_used_as_a_property_name_1539", "A 'bigint' literal cannot be used as a property name."),
        A_namespace_declaration_should_not_be_declared_using_the_module_keyword_Please_use_the_namespace_keyword_instead: b(
          1540,
          2,
          "A_namespace_declaration_should_not_be_declared_using_the_module_keyword_Please_use_the_namespace_key_1540",
          "A 'namespace' declaration should not be declared using the 'module' keyword. Please use the 'namespace' keyword instead.",
          /*reportsUnnecessary*/
          void 0,
          /*elidedInCompatabilityPyramid*/
          void 0,
          /*reportsDeprecated*/
          !0
        ),
        Type_only_import_of_an_ECMAScript_module_from_a_CommonJS_module_must_have_a_resolution_mode_attribute: b(1541, 1, "Type_only_import_of_an_ECMAScript_module_from_a_CommonJS_module_must_have_a_resolution_mode_attribut_1541", "Type-only import of an ECMAScript module from a CommonJS module must have a 'resolution-mode' attribute."),
        Type_import_of_an_ECMAScript_module_from_a_CommonJS_module_must_have_a_resolution_mode_attribute: b(1542, 1, "Type_import_of_an_ECMAScript_module_from_a_CommonJS_module_must_have_a_resolution_mode_attribute_1542", "Type import of an ECMAScript module from a CommonJS module must have a 'resolution-mode' attribute."),
        Importing_a_JSON_file_into_an_ECMAScript_module_requires_a_type_Colon_json_import_attribute_when_module_is_set_to_0: b(1543, 1, "Importing_a_JSON_file_into_an_ECMAScript_module_requires_a_type_Colon_json_import_attribute_when_mod_1543", `Importing a JSON file into an ECMAScript module requires a 'type: "json"' import attribute when 'module' is set to '{0}'.`),
        Named_imports_from_a_JSON_file_into_an_ECMAScript_module_are_not_allowed_when_module_is_set_to_0: b(1544, 1, "Named_imports_from_a_JSON_file_into_an_ECMAScript_module_are_not_allowed_when_module_is_set_to_0_1544", "Named imports from a JSON file into an ECMAScript module are not allowed when 'module' is set to '{0}'."),
        The_types_of_0_are_incompatible_between_these_types: b(2200, 1, "The_types_of_0_are_incompatible_between_these_types_2200", "The types of '{0}' are incompatible between these types."),
        The_types_returned_by_0_are_incompatible_between_these_types: b(2201, 1, "The_types_returned_by_0_are_incompatible_between_these_types_2201", "The types returned by '{0}' are incompatible between these types."),
        Call_signature_return_types_0_and_1_are_incompatible: b(
          2202,
          1,
          "Call_signature_return_types_0_and_1_are_incompatible_2202",
          "Call signature return types '{0}' and '{1}' are incompatible.",
          /*reportsUnnecessary*/
          void 0,
          /*elidedInCompatabilityPyramid*/
          !0
        ),
        Construct_signature_return_types_0_and_1_are_incompatible: b(
          2203,
          1,
          "Construct_signature_return_types_0_and_1_are_incompatible_2203",
          "Construct signature return types '{0}' and '{1}' are incompatible.",
          /*reportsUnnecessary*/
          void 0,
          /*elidedInCompatabilityPyramid*/
          !0
        ),
        Call_signatures_with_no_arguments_have_incompatible_return_types_0_and_1: b(
          2204,
          1,
          "Call_signatures_with_no_arguments_have_incompatible_return_types_0_and_1_2204",
          "Call signatures with no arguments have incompatible return types '{0}' and '{1}'.",
          /*reportsUnnecessary*/
          void 0,
          /*elidedInCompatabilityPyramid*/
          !0
        ),
        Construct_signatures_with_no_arguments_have_incompatible_return_types_0_and_1: b(
          2205,
          1,
          "Construct_signatures_with_no_arguments_have_incompatible_return_types_0_and_1_2205",
          "Construct signatures with no arguments have incompatible return types '{0}' and '{1}'.",
          /*reportsUnnecessary*/
          void 0,
          /*elidedInCompatabilityPyramid*/
          !0
        ),
        The_type_modifier_cannot_be_used_on_a_named_import_when_import_type_is_used_on_its_import_statement: b(2206, 1, "The_type_modifier_cannot_be_used_on_a_named_import_when_import_type_is_used_on_its_import_statement_2206", "The 'type' modifier cannot be used on a named import when 'import type' is used on its import statement."),
        The_type_modifier_cannot_be_used_on_a_named_export_when_export_type_is_used_on_its_export_statement: b(2207, 1, "The_type_modifier_cannot_be_used_on_a_named_export_when_export_type_is_used_on_its_export_statement_2207", "The 'type' modifier cannot be used on a named export when 'export type' is used on its export statement."),
        This_type_parameter_might_need_an_extends_0_constraint: b(2208, 1, "This_type_parameter_might_need_an_extends_0_constraint_2208", "This type parameter might need an `extends {0}` constraint."),
        The_project_root_is_ambiguous_but_is_required_to_resolve_export_map_entry_0_in_file_1_Supply_the_rootDir_compiler_option_to_disambiguate: b(2209, 1, "The_project_root_is_ambiguous_but_is_required_to_resolve_export_map_entry_0_in_file_1_Supply_the_roo_2209", "The project root is ambiguous, but is required to resolve export map entry '{0}' in file '{1}'. Supply the `rootDir` compiler option to disambiguate."),
        The_project_root_is_ambiguous_but_is_required_to_resolve_import_map_entry_0_in_file_1_Supply_the_rootDir_compiler_option_to_disambiguate: b(2210, 1, "The_project_root_is_ambiguous_but_is_required_to_resolve_import_map_entry_0_in_file_1_Supply_the_roo_2210", "The project root is ambiguous, but is required to resolve import map entry '{0}' in file '{1}'. Supply the `rootDir` compiler option to disambiguate."),
        Add_extends_constraint: b(2211, 3, "Add_extends_constraint_2211", "Add `extends` constraint."),
        Add_extends_constraint_to_all_type_parameters: b(2212, 3, "Add_extends_constraint_to_all_type_parameters_2212", "Add `extends` constraint to all type parameters"),
        Duplicate_identifier_0: b(2300, 1, "Duplicate_identifier_0_2300", "Duplicate identifier '{0}'."),
        Initializer_of_instance_member_variable_0_cannot_reference_identifier_1_declared_in_the_constructor: b(2301, 1, "Initializer_of_instance_member_variable_0_cannot_reference_identifier_1_declared_in_the_constructor_2301", "Initializer of instance member variable '{0}' cannot reference identifier '{1}' declared in the constructor."),
        Static_members_cannot_reference_class_type_parameters: b(2302, 1, "Static_members_cannot_reference_class_type_parameters_2302", "Static members cannot reference class type parameters."),
        Circular_definition_of_import_alias_0: b(2303, 1, "Circular_definition_of_import_alias_0_2303", "Circular definition of import alias '{0}'."),
        Cannot_find_name_0: b(2304, 1, "Cannot_find_name_0_2304", "Cannot find name '{0}'."),
        Module_0_has_no_exported_member_1: b(2305, 1, "Module_0_has_no_exported_member_1_2305", "Module '{0}' has no exported member '{1}'."),
        File_0_is_not_a_module: b(2306, 1, "File_0_is_not_a_module_2306", "File '{0}' is not a module."),
        Cannot_find_module_0_or_its_corresponding_type_declarations: b(2307, 1, "Cannot_find_module_0_or_its_corresponding_type_declarations_2307", "Cannot find module '{0}' or its corresponding type declarations."),
        Module_0_has_already_exported_a_member_named_1_Consider_explicitly_re_exporting_to_resolve_the_ambiguity: b(2308, 1, "Module_0_has_already_exported_a_member_named_1_Consider_explicitly_re_exporting_to_resolve_the_ambig_2308", "Module {0} has already exported a member named '{1}'. Consider explicitly re-exporting to resolve the ambiguity."),
        An_export_assignment_cannot_be_used_in_a_module_with_other_exported_elements: b(2309, 1, "An_export_assignment_cannot_be_used_in_a_module_with_other_exported_elements_2309", "An export assignment cannot be used in a module with other exported elements."),
        Type_0_recursively_references_itself_as_a_base_type: b(2310, 1, "Type_0_recursively_references_itself_as_a_base_type_2310", "Type '{0}' recursively references itself as a base type."),
        Cannot_find_name_0_Did_you_mean_to_write_this_in_an_async_function: b(2311, 1, "Cannot_find_name_0_Did_you_mean_to_write_this_in_an_async_function_2311", "Cannot find name '{0}'. Did you mean to write this in an async function?"),
        An_interface_can_only_extend_an_object_type_or_intersection_of_object_types_with_statically_known_members: b(2312, 1, "An_interface_can_only_extend_an_object_type_or_intersection_of_object_types_with_statically_known_me_2312", "An interface can only extend an object type or intersection of object types with statically known members."),
        Type_parameter_0_has_a_circular_constraint: b(2313, 1, "Type_parameter_0_has_a_circular_constraint_2313", "Type parameter '{0}' has a circular constraint."),
        Generic_type_0_requires_1_type_argument_s: b(2314, 1, "Generic_type_0_requires_1_type_argument_s_2314", "Generic type '{0}' requires {1} type argument(s)."),
        Type_0_is_not_generic: b(2315, 1, "Type_0_is_not_generic_2315", "Type '{0}' is not generic."),
        Global_type_0_must_be_a_class_or_interface_type: b(2316, 1, "Global_type_0_must_be_a_class_or_interface_type_2316", "Global type '{0}' must be a class or interface type."),
        Global_type_0_must_have_1_type_parameter_s: b(2317, 1, "Global_type_0_must_have_1_type_parameter_s_2317", "Global type '{0}' must have {1} type parameter(s)."),
        Cannot_find_global_type_0: b(2318, 1, "Cannot_find_global_type_0_2318", "Cannot find global type '{0}'."),
        Named_property_0_of_types_1_and_2_are_not_identical: b(2319, 1, "Named_property_0_of_types_1_and_2_are_not_identical_2319", "Named property '{0}' of types '{1}' and '{2}' are not identical."),
        Interface_0_cannot_simultaneously_extend_types_1_and_2: b(2320, 1, "Interface_0_cannot_simultaneously_extend_types_1_and_2_2320", "Interface '{0}' cannot simultaneously extend types '{1}' and '{2}'."),
        Excessive_stack_depth_comparing_types_0_and_1: b(2321, 1, "Excessive_stack_depth_comparing_types_0_and_1_2321", "Excessive stack depth comparing types '{0}' and '{1}'."),
        Type_0_is_not_assignable_to_type_1: b(2322, 1, "Type_0_is_not_assignable_to_type_1_2322", "Type '{0}' is not assignable to type '{1}'."),
        Cannot_redeclare_exported_variable_0: b(2323, 1, "Cannot_redeclare_exported_variable_0_2323", "Cannot redeclare exported variable '{0}'."),
        Property_0_is_missing_in_type_1: b(2324, 1, "Property_0_is_missing_in_type_1_2324", "Property '{0}' is missing in type '{1}'."),
        Property_0_is_private_in_type_1_but_not_in_type_2: b(2325, 1, "Property_0_is_private_in_type_1_but_not_in_type_2_2325", "Property '{0}' is private in type '{1}' but not in type '{2}'."),
        Types_of_property_0_are_incompatible: b(2326, 1, "Types_of_property_0_are_incompatible_2326", "Types of property '{0}' are incompatible."),
        Property_0_is_optional_in_type_1_but_required_in_type_2: b(2327, 1, "Property_0_is_optional_in_type_1_but_required_in_type_2_2327", "Property '{0}' is optional in type '{1}' but required in type '{2}'."),
        Types_of_parameters_0_and_1_are_incompatible: b(2328, 1, "Types_of_parameters_0_and_1_are_incompatible_2328", "Types of parameters '{0}' and '{1}' are incompatible."),
        Index_signature_for_type_0_is_missing_in_type_1: b(2329, 1, "Index_signature_for_type_0_is_missing_in_type_1_2329", "Index signature for type '{0}' is missing in type '{1}'."),
        _0_and_1_index_signatures_are_incompatible: b(2330, 1, "_0_and_1_index_signatures_are_incompatible_2330", "'{0}' and '{1}' index signatures are incompatible."),
        this_cannot_be_referenced_in_a_module_or_namespace_body: b(2331, 1, "this_cannot_be_referenced_in_a_module_or_namespace_body_2331", "'this' cannot be referenced in a module or namespace body."),
        this_cannot_be_referenced_in_current_location: b(2332, 1, "this_cannot_be_referenced_in_current_location_2332", "'this' cannot be referenced in current location."),
        this_cannot_be_referenced_in_a_static_property_initializer: b(2334, 1, "this_cannot_be_referenced_in_a_static_property_initializer_2334", "'this' cannot be referenced in a static property initializer."),
        super_can_only_be_referenced_in_a_derived_class: b(2335, 1, "super_can_only_be_referenced_in_a_derived_class_2335", "'super' can only be referenced in a derived class."),
        super_cannot_be_referenced_in_constructor_arguments: b(2336, 1, "super_cannot_be_referenced_in_constructor_arguments_2336", "'super' cannot be referenced in constructor arguments."),
        Super_calls_are_not_permitted_outside_constructors_or_in_nested_functions_inside_constructors: b(2337, 1, "Super_calls_are_not_permitted_outside_constructors_or_in_nested_functions_inside_constructors_2337", "Super calls are not permitted outside constructors or in nested functions inside constructors."),
        super_property_access_is_permitted_only_in_a_constructor_member_function_or_member_accessor_of_a_derived_class: b(2338, 1, "super_property_access_is_permitted_only_in_a_constructor_member_function_or_member_accessor_of_a_der_2338", "'super' property access is permitted only in a constructor, member function, or member accessor of a derived class."),
        Property_0_does_not_exist_on_type_1: b(2339, 1, "Property_0_does_not_exist_on_type_1_2339", "Property '{0}' does not exist on type '{1}'."),
        Only_public_and_protected_methods_of_the_base_class_are_accessible_via_the_super_keyword: b(2340, 1, "Only_public_and_protected_methods_of_the_base_class_are_accessible_via_the_super_keyword_2340", "Only public and protected methods of the base class are accessible via the 'super' keyword."),
        Property_0_is_private_and_only_accessible_within_class_1: b(2341, 1, "Property_0_is_private_and_only_accessible_within_class_1_2341", "Property '{0}' is private and only accessible within class '{1}'."),
        This_syntax_requires_an_imported_helper_named_1_which_does_not_exist_in_0_Consider_upgrading_your_version_of_0: b(2343, 1, "This_syntax_requires_an_imported_helper_named_1_which_does_not_exist_in_0_Consider_upgrading_your_ve_2343", "This syntax requires an imported helper named '{1}' which does not exist in '{0}'. Consider upgrading your version of '{0}'."),
        Type_0_does_not_satisfy_the_constraint_1: b(2344, 1, "Type_0_does_not_satisfy_the_constraint_1_2344", "Type '{0}' does not satisfy the constraint '{1}'."),
        Argument_of_type_0_is_not_assignable_to_parameter_of_type_1: b(2345, 1, "Argument_of_type_0_is_not_assignable_to_parameter_of_type_1_2345", "Argument of type '{0}' is not assignable to parameter of type '{1}'."),
        Untyped_function_calls_may_not_accept_type_arguments: b(2347, 1, "Untyped_function_calls_may_not_accept_type_arguments_2347", "Untyped function calls may not accept type arguments."),
        Value_of_type_0_is_not_callable_Did_you_mean_to_include_new: b(2348, 1, "Value_of_type_0_is_not_callable_Did_you_mean_to_include_new_2348", "Value of type '{0}' is not callable. Did you mean to include 'new'?"),
        This_expression_is_not_callable: b(2349, 1, "This_expression_is_not_callable_2349", "This expression is not callable."),
        Only_a_void_function_can_be_called_with_the_new_keyword: b(2350, 1, "Only_a_void_function_can_be_called_with_the_new_keyword_2350", "Only a void function can be called with the 'new' keyword."),
        This_expression_is_not_constructable: b(2351, 1, "This_expression_is_not_constructable_2351", "This expression is not constructable."),
        Conversion_of_type_0_to_type_1_may_be_a_mistake_because_neither_type_sufficiently_overlaps_with_the_other_If_this_was_intentional_convert_the_expression_to_unknown_first: b(2352, 1, "Conversion_of_type_0_to_type_1_may_be_a_mistake_because_neither_type_sufficiently_overlaps_with_the__2352", "Conversion of type '{0}' to type '{1}' may be a mistake because neither type sufficiently overlaps with the other. If this was intentional, convert the expression to 'unknown' first."),
        Object_literal_may_only_specify_known_properties_and_0_does_not_exist_in_type_1: b(2353, 1, "Object_literal_may_only_specify_known_properties_and_0_does_not_exist_in_type_1_2353", "Object literal may only specify known properties, and '{0}' does not exist in type '{1}'."),
        This_syntax_requires_an_imported_helper_but_module_0_cannot_be_found: b(2354, 1, "This_syntax_requires_an_imported_helper_but_module_0_cannot_be_found_2354", "This syntax requires an imported helper but module '{0}' cannot be found."),
        A_function_whose_declared_type_is_neither_undefined_void_nor_any_must_return_a_value: b(2355, 1, "A_function_whose_declared_type_is_neither_undefined_void_nor_any_must_return_a_value_2355", "A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value."),
        An_arithmetic_operand_must_be_of_type_any_number_bigint_or_an_enum_type: b(2356, 1, "An_arithmetic_operand_must_be_of_type_any_number_bigint_or_an_enum_type_2356", "An arithmetic operand must be of type 'any', 'number', 'bigint' or an enum type."),
        The_operand_of_an_increment_or_decrement_operator_must_be_a_variable_or_a_property_access: b(2357, 1, "The_operand_of_an_increment_or_decrement_operator_must_be_a_variable_or_a_property_access_2357", "The operand of an increment or decrement operator must be a variable or a property access."),
        The_left_hand_side_of_an_instanceof_expression_must_be_of_type_any_an_object_type_or_a_type_parameter: b(2358, 1, "The_left_hand_side_of_an_instanceof_expression_must_be_of_type_any_an_object_type_or_a_type_paramete_2358", "The left-hand side of an 'instanceof' expression must be of type 'any', an object type or a type parameter."),
        The_right_hand_side_of_an_instanceof_expression_must_be_either_of_type_any_a_class_function_or_other_type_assignable_to_the_Function_interface_type_or_an_object_type_with_a_Symbol_hasInstance_method: b(2359, 1, "The_right_hand_side_of_an_instanceof_expression_must_be_either_of_type_any_a_class_function_or_other_2359", "The right-hand side of an 'instanceof' expression must be either of type 'any', a class, function, or other type assignable to the 'Function' interface type, or an object type with a 'Symbol.hasInstance' method."),
        The_left_hand_side_of_an_arithmetic_operation_must_be_of_type_any_number_bigint_or_an_enum_type: b(2362, 1, "The_left_hand_side_of_an_arithmetic_operation_must_be_of_type_any_number_bigint_or_an_enum_type_2362", "The left-hand side of an arithmetic operation must be of type 'any', 'number', 'bigint' or an enum type."),
        The_right_hand_side_of_an_arithmetic_operation_must_be_of_type_any_number_bigint_or_an_enum_type: b(2363, 1, "The_right_hand_side_of_an_arithmetic_operation_must_be_of_type_any_number_bigint_or_an_enum_type_2363", "The right-hand side of an arithmetic operation must be of type 'any', 'number', 'bigint' or an enum type."),
        The_left_hand_side_of_an_assignment_expression_must_be_a_variable_or_a_property_access: b(2364, 1, "The_left_hand_side_of_an_assignment_expression_must_be_a_variable_or_a_property_access_2364", "The left-hand side of an assignment expression must be a variable or a property access."),
        Operator_0_cannot_be_applied_to_types_1_and_2: b(2365, 1, "Operator_0_cannot_be_applied_to_types_1_and_2_2365", "Operator '{0}' cannot be applied to types '{1}' and '{2}'."),
        Function_lacks_ending_return_statement_and_return_type_does_not_include_undefined: b(2366, 1, "Function_lacks_ending_return_statement_and_return_type_does_not_include_undefined_2366", "Function lacks ending return statement and return type does not include 'undefined'."),
        This_comparison_appears_to_be_unintentional_because_the_types_0_and_1_have_no_overlap: b(2367, 1, "This_comparison_appears_to_be_unintentional_because_the_types_0_and_1_have_no_overlap_2367", "This comparison appears to be unintentional because the types '{0}' and '{1}' have no overlap."),
        Type_parameter_name_cannot_be_0: b(2368, 1, "Type_parameter_name_cannot_be_0_2368", "Type parameter name cannot be '{0}'."),
        A_parameter_property_is_only_allowed_in_a_constructor_implementation: b(2369, 1, "A_parameter_property_is_only_allowed_in_a_constructor_implementation_2369", "A parameter property is only allowed in a constructor implementation."),
        A_rest_parameter_must_be_of_an_array_type: b(2370, 1, "A_rest_parameter_must_be_of_an_array_type_2370", "A rest parameter must be of an array type."),
        A_parameter_initializer_is_only_allowed_in_a_function_or_constructor_implementation: b(2371, 1, "A_parameter_initializer_is_only_allowed_in_a_function_or_constructor_implementation_2371", "A parameter initializer is only allowed in a function or constructor implementation."),
        Parameter_0_cannot_reference_itself: b(2372, 1, "Parameter_0_cannot_reference_itself_2372", "Parameter '{0}' cannot reference itself."),
        Parameter_0_cannot_reference_identifier_1_declared_after_it: b(2373, 1, "Parameter_0_cannot_reference_identifier_1_declared_after_it_2373", "Parameter '{0}' cannot reference identifier '{1}' declared after it."),
        Duplicate_index_signature_for_type_0: b(2374, 1, "Duplicate_index_signature_for_type_0_2374", "Duplicate index signature for type '{0}'."),
        Type_0_is_not_assignable_to_type_1_with_exactOptionalPropertyTypes_Colon_true_Consider_adding_undefined_to_the_types_of_the_target_s_properties: b(2375, 1, "Type_0_is_not_assignable_to_type_1_with_exactOptionalPropertyTypes_Colon_true_Consider_adding_undefi_2375", "Type '{0}' is not assignable to type '{1}' with 'exactOptionalPropertyTypes: true'. Consider adding 'undefined' to the types of the target's properties."),
        A_super_call_must_be_the_first_statement_in_the_constructor_to_refer_to_super_or_this_when_a_derived_class_contains_initialized_properties_parameter_properties_or_private_identifiers: b(2376, 1, "A_super_call_must_be_the_first_statement_in_the_constructor_to_refer_to_super_or_this_when_a_derived_2376", "A 'super' call must be the first statement in the constructor to refer to 'super' or 'this' when a derived class contains initialized properties, parameter properties, or private identifiers."),
        Constructors_for_derived_classes_must_contain_a_super_call: b(2377, 1, "Constructors_for_derived_classes_must_contain_a_super_call_2377", "Constructors for derived classes must contain a 'super' call."),
        A_get_accessor_must_return_a_value: b(2378, 1, "A_get_accessor_must_return_a_value_2378", "A 'get' accessor must return a value."),
        Argument_of_type_0_is_not_assignable_to_parameter_of_type_1_with_exactOptionalPropertyTypes_Colon_true_Consider_adding_undefined_to_the_types_of_the_target_s_properties: b(2379, 1, "Argument_of_type_0_is_not_assignable_to_parameter_of_type_1_with_exactOptionalPropertyTypes_Colon_tr_2379", "Argument of type '{0}' is not assignable to parameter of type '{1}' with 'exactOptionalPropertyTypes: true'. Consider adding 'undefined' to the types of the target's properties."),
        Overload_signatures_must_all_be_exported_or_non_exported: b(2383, 1, "Overload_signatures_must_all_be_exported_or_non_exported_2383", "Overload signatures must all be exported or non-exported."),
        Overload_signatures_must_all_be_ambient_or_non_ambient: b(2384, 1, "Overload_signatures_must_all_be_ambient_or_non_ambient_2384", "Overload signatures must all be ambient or non-ambient."),
        Overload_signatures_must_all_be_public_private_or_protected: b(2385, 1, "Overload_signatures_must_all_be_public_private_or_protected_2385", "Overload signatures must all be public, private or protected."),
        Overload_signatures_must_all_be_optional_or_required: b(2386, 1, "Overload_signatures_must_all_be_optional_or_required_2386", "Overload signatures must all be optional or required."),
        Function_overload_must_be_static: b(2387, 1, "Function_overload_must_be_static_2387", "Function overload must be static."),
        Function_overload_must_not_be_static: b(2388, 1, "Function_overload_must_not_be_static_2388", "Function overload must not be static."),
        Function_implementation_name_must_be_0: b(2389, 1, "Function_implementation_name_must_be_0_2389", "Function implementation name must be '{0}'."),
        Constructor_implementation_is_missing: b(2390, 1, "Constructor_implementation_is_missing_2390", "Constructor implementation is missing."),
        Function_implementation_is_missing_or_not_immediately_following_the_declaration: b(2391, 1, "Function_implementation_is_missing_or_not_immediately_following_the_declaration_2391", "Function implementation is missing or not immediately following the declaration."),
        Multiple_constructor_implementations_are_not_allowed: b(2392, 1, "Multiple_constructor_implementations_are_not_allowed_2392", "Multiple constructor implementations are not allowed."),
        Duplicate_function_implementation: b(2393, 1, "Duplicate_function_implementation_2393", "Duplicate function implementation."),
        This_overload_signature_is_not_compatible_with_its_implementation_signature: b(2394, 1, "This_overload_signature_is_not_compatible_with_its_implementation_signature_2394", "This overload signature is not compatible with its implementation signature."),
        Individual_declarations_in_merged_declaration_0_must_be_all_exported_or_all_local: b(2395, 1, "Individual_declarations_in_merged_declaration_0_must_be_all_exported_or_all_local_2395", "Individual declarations in merged declaration '{0}' must be all exported or all local."),
        Duplicate_identifier_arguments_Compiler_uses_arguments_to_initialize_rest_parameters: b(2396, 1, "Duplicate_identifier_arguments_Compiler_uses_arguments_to_initialize_rest_parameters_2396", "Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters."),
        Declaration_name_conflicts_with_built_in_global_identifier_0: b(2397, 1, "Declaration_name_conflicts_with_built_in_global_identifier_0_2397", "Declaration name conflicts with built-in global identifier '{0}'."),
        constructor_cannot_be_used_as_a_parameter_property_name: b(2398, 1, "constructor_cannot_be_used_as_a_parameter_property_name_2398", "'constructor' cannot be used as a parameter property name."),
        Duplicate_identifier_this_Compiler_uses_variable_declaration_this_to_capture_this_reference: b(2399, 1, "Duplicate_identifier_this_Compiler_uses_variable_declaration_this_to_capture_this_reference_2399", "Duplicate identifier '_this'. Compiler uses variable declaration '_this' to capture 'this' reference."),
        Expression_resolves_to_variable_declaration_this_that_compiler_uses_to_capture_this_reference: b(2400, 1, "Expression_resolves_to_variable_declaration_this_that_compiler_uses_to_capture_this_reference_2400", "Expression resolves to variable declaration '_this' that compiler uses to capture 'this' reference."),
        A_super_call_must_be_a_root_level_statement_within_a_constructor_of_a_derived_class_that_contains_initialized_properties_parameter_properties_or_private_identifiers: b(2401, 1, "A_super_call_must_be_a_root_level_statement_within_a_constructor_of_a_derived_class_that_contains_in_2401", "A 'super' call must be a root-level statement within a constructor of a derived class that contains initialized properties, parameter properties, or private identifiers."),
        Expression_resolves_to_super_that_compiler_uses_to_capture_base_class_reference: b(2402, 1, "Expression_resolves_to_super_that_compiler_uses_to_capture_base_class_reference_2402", "Expression resolves to '_super' that compiler uses to capture base class reference."),
        Subsequent_variable_declarations_must_have_the_same_type_Variable_0_must_be_of_type_1_but_here_has_type_2: b(2403, 1, "Subsequent_variable_declarations_must_have_the_same_type_Variable_0_must_be_of_type_1_but_here_has_t_2403", "Subsequent variable declarations must have the same type.  Variable '{0}' must be of type '{1}', but here has type '{2}'."),
        The_left_hand_side_of_a_for_in_statement_cannot_use_a_type_annotation: b(2404, 1, "The_left_hand_side_of_a_for_in_statement_cannot_use_a_type_annotation_2404", "The left-hand side of a 'for...in' statement cannot use a type annotation."),
        The_left_hand_side_of_a_for_in_statement_must_be_of_type_string_or_any: b(2405, 1, "The_left_hand_side_of_a_for_in_statement_must_be_of_type_string_or_any_2405", "The left-hand side of a 'for...in' statement must be of type 'string' or 'any'."),
        The_left_hand_side_of_a_for_in_statement_must_be_a_variable_or_a_property_access: b(2406, 1, "The_left_hand_side_of_a_for_in_statement_must_be_a_variable_or_a_property_access_2406", "The left-hand side of a 'for...in' statement must be a variable or a property access."),
        The_right_hand_side_of_a_for_in_statement_must_be_of_type_any_an_object_type_or_a_type_parameter_but_here_has_type_0: b(2407, 1, "The_right_hand_side_of_a_for_in_statement_must_be_of_type_any_an_object_type_or_a_type_parameter_but_2407", "The right-hand side of a 'for...in' statement must be of type 'any', an object type or a type parameter, but here has type '{0}'."),
        Setters_cannot_return_a_value: b(2408, 1, "Setters_cannot_return_a_value_2408", "Setters cannot return a value."),
        Return_type_of_constructor_signature_must_be_assignable_to_the_instance_type_of_the_class: b(2409, 1, "Return_type_of_constructor_signature_must_be_assignable_to_the_instance_type_of_the_class_2409", "Return type of constructor signature must be assignable to the instance type of the class."),
        The_with_statement_is_not_supported_All_symbols_in_a_with_block_will_have_type_any: b(2410, 1, "The_with_statement_is_not_supported_All_symbols_in_a_with_block_will_have_type_any_2410", "The 'with' statement is not supported. All symbols in a 'with' block will have type 'any'."),
        Type_0_is_not_assignable_to_type_1_with_exactOptionalPropertyTypes_Colon_true_Consider_adding_undefined_to_the_type_of_the_target: b(2412, 1, "Type_0_is_not_assignable_to_type_1_with_exactOptionalPropertyTypes_Colon_true_Consider_adding_undefi_2412", "Type '{0}' is not assignable to type '{1}' with 'exactOptionalPropertyTypes: true'. Consider adding 'undefined' to the type of the target."),
        Property_0_of_type_1_is_not_assignable_to_2_index_type_3: b(2411, 1, "Property_0_of_type_1_is_not_assignable_to_2_index_type_3_2411", "Property '{0}' of type '{1}' is not assignable to '{2}' index type '{3}'."),
        _0_index_type_1_is_not_assignable_to_2_index_type_3: b(2413, 1, "_0_index_type_1_is_not_assignable_to_2_index_type_3_2413", "'{0}' index type '{1}' is not assignable to '{2}' index type '{3}'."),
        Class_name_cannot_be_0: b(2414, 1, "Class_name_cannot_be_0_2414", "Class name cannot be '{0}'."),
        Class_0_incorrectly_extends_base_class_1: b(2415, 1, "Class_0_incorrectly_extends_base_class_1_2415", "Class '{0}' incorrectly extends base class '{1}'."),
        Property_0_in_type_1_is_not_assignable_to_the_same_property_in_base_type_2: b(2416, 1, "Property_0_in_type_1_is_not_assignable_to_the_same_property_in_base_type_2_2416", "Property '{0}' in type '{1}' is not assignable to the same property in base type '{2}'."),
        Class_static_side_0_incorrectly_extends_base_class_static_side_1: b(2417, 1, "Class_static_side_0_incorrectly_extends_base_class_static_side_1_2417", "Class static side '{0}' incorrectly extends base class static side '{1}'."),
        Type_of_computed_property_s_value_is_0_which_is_not_assignable_to_type_1: b(2418, 1, "Type_of_computed_property_s_value_is_0_which_is_not_assignable_to_type_1_2418", "Type of computed property's value is '{0}', which is not assignable to type '{1}'."),
        Types_of_construct_signatures_are_incompatible: b(2419, 1, "Types_of_construct_signatures_are_incompatible_2419", "Types of construct signatures are incompatible."),
        Class_0_incorrectly_implements_interface_1: b(2420, 1, "Class_0_incorrectly_implements_interface_1_2420", "Class '{0}' incorrectly implements interface '{1}'."),
        A_class_can_only_implement_an_object_type_or_intersection_of_object_types_with_statically_known_members: b(2422, 1, "A_class_can_only_implement_an_object_type_or_intersection_of_object_types_with_statically_known_memb_2422", "A class can only implement an object type or intersection of object types with statically known members."),
        Class_0_defines_instance_member_function_1_but_extended_class_2_defines_it_as_instance_member_accessor: b(2423, 1, "Class_0_defines_instance_member_function_1_but_extended_class_2_defines_it_as_instance_member_access_2423", "Class '{0}' defines instance member function '{1}', but extended class '{2}' defines it as instance member accessor."),
        Class_0_defines_instance_member_property_1_but_extended_class_2_defines_it_as_instance_member_function: b(2425, 1, "Class_0_defines_instance_member_property_1_but_extended_class_2_defines_it_as_instance_member_functi_2425", "Class '{0}' defines instance member property '{1}', but extended class '{2}' defines it as instance member function."),
        Class_0_defines_instance_member_accessor_1_but_extended_class_2_defines_it_as_instance_member_function: b(2426, 1, "Class_0_defines_instance_member_accessor_1_but_extended_class_2_defines_it_as_instance_member_functi_2426", "Class '{0}' defines instance member accessor '{1}', but extended class '{2}' defines it as instance member function."),
        Interface_name_cannot_be_0: b(2427, 1, "Interface_name_cannot_be_0_2427", "Interface name cannot be '{0}'."),
        All_declarations_of_0_must_have_identical_type_parameters: b(2428, 1, "All_declarations_of_0_must_have_identical_type_parameters_2428", "All declarations of '{0}' must have identical type parameters."),
        Interface_0_incorrectly_extends_interface_1: b(2430, 1, "Interface_0_incorrectly_extends_interface_1_2430", "Interface '{0}' incorrectly extends interface '{1}'."),
        Enum_name_cannot_be_0: b(2431, 1, "Enum_name_cannot_be_0_2431", "Enum name cannot be '{0}'."),
        In_an_enum_with_multiple_declarations_only_one_declaration_can_omit_an_initializer_for_its_first_enum_element: b(2432, 1, "In_an_enum_with_multiple_declarations_only_one_declaration_can_omit_an_initializer_for_its_first_enu_2432", "In an enum with multiple declarations, only one declaration can omit an initializer for its first enum element."),
        A_namespace_declaration_cannot_be_in_a_different_file_from_a_class_or_function_with_which_it_is_merged: b(2433, 1, "A_namespace_declaration_cannot_be_in_a_different_file_from_a_class_or_function_with_which_it_is_merg_2433", "A namespace declaration cannot be in a different file from a class or function with which it is merged."),
        A_namespace_declaration_cannot_be_located_prior_to_a_class_or_function_with_which_it_is_merged: b(2434, 1, "A_namespace_declaration_cannot_be_located_prior_to_a_class_or_function_with_which_it_is_merged_2434", "A namespace declaration cannot be located prior to a class or function with which it is merged."),
        Ambient_modules_cannot_be_nested_in_other_modules_or_namespaces: b(2435, 1, "Ambient_modules_cannot_be_nested_in_other_modules_or_namespaces_2435", "Ambient modules cannot be nested in other modules or namespaces."),
        Ambient_module_declaration_cannot_specify_relative_module_name: b(2436, 1, "Ambient_module_declaration_cannot_specify_relative_module_name_2436", "Ambient module declaration cannot specify relative module name."),
        Module_0_is_hidden_by_a_local_declaration_with_the_same_name: b(2437, 1, "Module_0_is_hidden_by_a_local_declaration_with_the_same_name_2437", "Module '{0}' is hidden by a local declaration with the same name."),
        Import_name_cannot_be_0: b(2438, 1, "Import_name_cannot_be_0_2438", "Import name cannot be '{0}'."),
        Import_or_export_declaration_in_an_ambient_module_declaration_cannot_reference_module_through_relative_module_name: b(2439, 1, "Import_or_export_declaration_in_an_ambient_module_declaration_cannot_reference_module_through_relati_2439", "Import or export declaration in an ambient module declaration cannot reference module through relative module name."),
        Import_declaration_conflicts_with_local_declaration_of_0: b(2440, 1, "Import_declaration_conflicts_with_local_declaration_of_0_2440", "Import declaration conflicts with local declaration of '{0}'."),
        Duplicate_identifier_0_Compiler_reserves_name_1_in_top_level_scope_of_a_module: b(2441, 1, "Duplicate_identifier_0_Compiler_reserves_name_1_in_top_level_scope_of_a_module_2441", "Duplicate identifier '{0}'. Compiler reserves name '{1}' in top level scope of a module."),
        Types_have_separate_declarations_of_a_private_property_0: b(2442, 1, "Types_have_separate_declarations_of_a_private_property_0_2442", "Types have separate declarations of a private property '{0}'."),
        Property_0_is_protected_but_type_1_is_not_a_class_derived_from_2: b(2443, 1, "Property_0_is_protected_but_type_1_is_not_a_class_derived_from_2_2443", "Property '{0}' is protected but type '{1}' is not a class derived from '{2}'."),
        Property_0_is_protected_in_type_1_but_public_in_type_2: b(2444, 1, "Property_0_is_protected_in_type_1_but_public_in_type_2_2444", "Property '{0}' is protected in type '{1}' but public in type '{2}'."),
        Property_0_is_protected_and_only_accessible_within_class_1_and_its_subclasses: b(2445, 1, "Property_0_is_protected_and_only_accessible_within_class_1_and_its_subclasses_2445", "Property '{0}' is protected and only accessible within class '{1}' and its subclasses."),
        Property_0_is_protected_and_only_accessible_through_an_instance_of_class_1_This_is_an_instance_of_class_2: b(2446, 1, "Property_0_is_protected_and_only_accessible_through_an_instance_of_class_1_This_is_an_instance_of_cl_2446", "Property '{0}' is protected and only accessible through an instance of class '{1}'. This is an instance of class '{2}'."),
        The_0_operator_is_not_allowed_for_boolean_types_Consider_using_1_instead: b(2447, 1, "The_0_operator_is_not_allowed_for_boolean_types_Consider_using_1_instead_2447", "The '{0}' operator is not allowed for boolean types. Consider using '{1}' instead."),
        Block_scoped_variable_0_used_before_its_declaration: b(2448, 1, "Block_scoped_variable_0_used_before_its_declaration_2448", "Block-scoped variable '{0}' used before its declaration."),
        Class_0_used_before_its_declaration: b(2449, 1, "Class_0_used_before_its_declaration_2449", "Class '{0}' used before its declaration."),
        Enum_0_used_before_its_declaration: b(2450, 1, "Enum_0_used_before_its_declaration_2450", "Enum '{0}' used before its declaration."),
        Cannot_redeclare_block_scoped_variable_0: b(2451, 1, "Cannot_redeclare_block_scoped_variable_0_2451", "Cannot redeclare block-scoped variable '{0}'."),
        An_enum_member_cannot_have_a_numeric_name: b(2452, 1, "An_enum_member_cannot_have_a_numeric_name_2452", "An enum member cannot have a numeric name."),
        Variable_0_is_used_before_being_assigned: b(2454, 1, "Variable_0_is_used_before_being_assigned_2454", "Variable '{0}' is used before being assigned."),
        Type_alias_0_circularly_references_itself: b(2456, 1, "Type_alias_0_circularly_references_itself_2456", "Type alias '{0}' circularly references itself."),
        Type_alias_name_cannot_be_0: b(2457, 1, "Type_alias_name_cannot_be_0_2457", "Type alias name cannot be '{0}'."),
        An_AMD_module_cannot_have_multiple_name_assignments: b(2458, 1, "An_AMD_module_cannot_have_multiple_name_assignments_2458", "An AMD module cannot have multiple name assignments."),
        Module_0_declares_1_locally_but_it_is_not_exported: b(2459, 1, "Module_0_declares_1_locally_but_it_is_not_exported_2459", "Module '{0}' declares '{1}' locally, but it is not exported."),
        Module_0_declares_1_locally_but_it_is_exported_as_2: b(2460, 1, "Module_0_declares_1_locally_but_it_is_exported_as_2_2460", "Module '{0}' declares '{1}' locally, but it is exported as '{2}'."),
        Type_0_is_not_an_array_type: b(2461, 1, "Type_0_is_not_an_array_type_2461", "Type '{0}' is not an array type."),
        A_rest_element_must_be_last_in_a_destructuring_pattern: b(2462, 1, "A_rest_element_must_be_last_in_a_destructuring_pattern_2462", "A rest element must be last in a destructuring pattern."),
        A_binding_pattern_parameter_cannot_be_optional_in_an_implementation_signature: b(2463, 1, "A_binding_pattern_parameter_cannot_be_optional_in_an_implementation_signature_2463", "A binding pattern parameter cannot be optional in an implementation signature."),
        A_computed_property_name_must_be_of_type_string_number_symbol_or_any: b(2464, 1, "A_computed_property_name_must_be_of_type_string_number_symbol_or_any_2464", "A computed property name must be of type 'string', 'number', 'symbol', or 'any'."),
        this_cannot_be_referenced_in_a_computed_property_name: b(2465, 1, "this_cannot_be_referenced_in_a_computed_property_name_2465", "'this' cannot be referenced in a computed property name."),
        super_cannot_be_referenced_in_a_computed_property_name: b(2466, 1, "super_cannot_be_referenced_in_a_computed_property_name_2466", "'super' cannot be referenced in a computed property name."),
        A_computed_property_name_cannot_reference_a_type_parameter_from_its_containing_type: b(2467, 1, "A_computed_property_name_cannot_reference_a_type_parameter_from_its_containing_type_2467", "A computed property name cannot reference a type parameter from its containing type."),
        Cannot_find_global_value_0: b(2468, 1, "Cannot_find_global_value_0_2468", "Cannot find global value '{0}'."),
        The_0_operator_cannot_be_applied_to_type_symbol: b(2469, 1, "The_0_operator_cannot_be_applied_to_type_symbol_2469", "The '{0}' operator cannot be applied to type 'symbol'."),
        Spread_operator_in_new_expressions_is_only_available_when_targeting_ECMAScript_5_and_higher: b(2472, 1, "Spread_operator_in_new_expressions_is_only_available_when_targeting_ECMAScript_5_and_higher_2472", "Spread operator in 'new' expressions is only available when targeting ECMAScript 5 and higher."),
        Enum_declarations_must_all_be_const_or_non_const: b(2473, 1, "Enum_declarations_must_all_be_const_or_non_const_2473", "Enum declarations must all be const or non-const."),
        const_enum_member_initializers_must_be_constant_expressions: b(2474, 1, "const_enum_member_initializers_must_be_constant_expressions_2474", "const enum member initializers must be constant expressions."),
        const_enums_can_only_be_used_in_property_or_index_access_expressions_or_the_right_hand_side_of_an_import_declaration_or_export_assignment_or_type_query: b(2475, 1, "const_enums_can_only_be_used_in_property_or_index_access_expressions_or_the_right_hand_side_of_an_im_2475", "'const' enums can only be used in property or index access expressions or the right hand side of an import declaration or export assignment or type query."),
        A_const_enum_member_can_only_be_accessed_using_a_string_literal: b(2476, 1, "A_const_enum_member_can_only_be_accessed_using_a_string_literal_2476", "A const enum member can only be accessed using a string literal."),
        const_enum_member_initializer_was_evaluated_to_a_non_finite_value: b(2477, 1, "const_enum_member_initializer_was_evaluated_to_a_non_finite_value_2477", "'const' enum member initializer was evaluated to a non-finite value."),
        const_enum_member_initializer_was_evaluated_to_disallowed_value_NaN: b(2478, 1, "const_enum_member_initializer_was_evaluated_to_disallowed_value_NaN_2478", "'const' enum member initializer was evaluated to disallowed value 'NaN'."),
        let_is_not_allowed_to_be_used_as_a_name_in_let_or_const_declarations: b(2480, 1, "let_is_not_allowed_to_be_used_as_a_name_in_let_or_const_declarations_2480", "'let' is not allowed to be used as a name in 'let' or 'const' declarations."),
        Cannot_initialize_outer_scoped_variable_0_in_the_same_scope_as_block_scoped_declaration_1: b(2481, 1, "Cannot_initialize_outer_scoped_variable_0_in_the_same_scope_as_block_scoped_declaration_1_2481", "Cannot initialize outer scoped variable '{0}' in the same scope as block scoped declaration '{1}'."),
        The_left_hand_side_of_a_for_of_statement_cannot_use_a_type_annotation: b(2483, 1, "The_left_hand_side_of_a_for_of_statement_cannot_use_a_type_annotation_2483", "The left-hand side of a 'for...of' statement cannot use a type annotation."),
        Export_declaration_conflicts_with_exported_declaration_of_0: b(2484, 1, "Export_declaration_conflicts_with_exported_declaration_of_0_2484", "Export declaration conflicts with exported declaration of '{0}'."),
        The_left_hand_side_of_a_for_of_statement_must_be_a_variable_or_a_property_access: b(2487, 1, "The_left_hand_side_of_a_for_of_statement_must_be_a_variable_or_a_property_access_2487", "The left-hand side of a 'for...of' statement must be a variable or a property access."),
        Type_0_must_have_a_Symbol_iterator_method_that_returns_an_iterator: b(2488, 1, "Type_0_must_have_a_Symbol_iterator_method_that_returns_an_iterator_2488", "Type '{0}' must have a '[Symbol.iterator]()' method that returns an iterator."),
        An_iterator_must_have_a_next_method: b(2489, 1, "An_iterator_must_have_a_next_method_2489", "An iterator must have a 'next()' method."),
        The_type_returned_by_the_0_method_of_an_iterator_must_have_a_value_property: b(2490, 1, "The_type_returned_by_the_0_method_of_an_iterator_must_have_a_value_property_2490", "The type returned by the '{0}()' method of an iterator must have a 'value' property."),
        The_left_hand_side_of_a_for_in_statement_cannot_be_a_destructuring_pattern: b(2491, 1, "The_left_hand_side_of_a_for_in_statement_cannot_be_a_destructuring_pattern_2491", "The left-hand side of a 'for...in' statement cannot be a destructuring pattern."),
        Cannot_redeclare_identifier_0_in_catch_clause: b(2492, 1, "Cannot_redeclare_identifier_0_in_catch_clause_2492", "Cannot redeclare identifier '{0}' in catch clause."),
        Tuple_type_0_of_length_1_has_no_element_at_index_2: b(2493, 1, "Tuple_type_0_of_length_1_has_no_element_at_index_2_2493", "Tuple type '{0}' of length '{1}' has no element at index '{2}'."),
        Using_a_string_in_a_for_of_statement_is_only_supported_in_ECMAScript_5_and_higher: b(2494, 1, "Using_a_string_in_a_for_of_statement_is_only_supported_in_ECMAScript_5_and_higher_2494", "Using a string in a 'for...of' statement is only supported in ECMAScript 5 and higher."),
        Type_0_is_not_an_array_type_or_a_string_type: b(2495, 1, "Type_0_is_not_an_array_type_or_a_string_type_2495", "Type '{0}' is not an array type or a string type."),
        The_arguments_object_cannot_be_referenced_in_an_arrow_function_in_ES5_Consider_using_a_standard_function_expression: b(2496, 1, "The_arguments_object_cannot_be_referenced_in_an_arrow_function_in_ES5_Consider_using_a_standard_func_2496", "The 'arguments' object cannot be referenced in an arrow function in ES5. Consider using a standard function expression."),
        This_module_can_only_be_referenced_with_ECMAScript_imports_Slashexports_by_turning_on_the_0_flag_and_referencing_its_default_export: b(2497, 1, "This_module_can_only_be_referenced_with_ECMAScript_imports_Slashexports_by_turning_on_the_0_flag_and_2497", "This module can only be referenced with ECMAScript imports/exports by turning on the '{0}' flag and referencing its default export."),
        Module_0_uses_export_and_cannot_be_used_with_export_Asterisk: b(2498, 1, "Module_0_uses_export_and_cannot_be_used_with_export_Asterisk_2498", "Module '{0}' uses 'export =' and cannot be used with 'export *'."),
        An_interface_can_only_extend_an_identifier_Slashqualified_name_with_optional_type_arguments: b(2499, 1, "An_interface_can_only_extend_an_identifier_Slashqualified_name_with_optional_type_arguments_2499", "An interface can only extend an identifier/qualified-name with optional type arguments."),
        A_class_can_only_implement_an_identifier_Slashqualified_name_with_optional_type_arguments: b(2500, 1, "A_class_can_only_implement_an_identifier_Slashqualified_name_with_optional_type_arguments_2500", "A class can only implement an identifier/qualified-name with optional type arguments."),
        A_rest_element_cannot_contain_a_binding_pattern: b(2501, 1, "A_rest_element_cannot_contain_a_binding_pattern_2501", "A rest element cannot contain a binding pattern."),
        _0_is_referenced_directly_or_indirectly_in_its_own_type_annotation: b(2502, 1, "_0_is_referenced_directly_or_indirectly_in_its_own_type_annotation_2502", "'{0}' is referenced directly or indirectly in its own type annotation."),
        Cannot_find_namespace_0: b(2503, 1, "Cannot_find_namespace_0_2503", "Cannot find namespace '{0}'."),
        Type_0_must_have_a_Symbol_asyncIterator_method_that_returns_an_async_iterator: b(2504, 1, "Type_0_must_have_a_Symbol_asyncIterator_method_that_returns_an_async_iterator_2504", "Type '{0}' must have a '[Symbol.asyncIterator]()' method that returns an async iterator."),
        A_generator_cannot_have_a_void_type_annotation: b(2505, 1, "A_generator_cannot_have_a_void_type_annotation_2505", "A generator cannot have a 'void' type annotation."),
        _0_is_referenced_directly_or_indirectly_in_its_own_base_expression: b(2506, 1, "_0_is_referenced_directly_or_indirectly_in_its_own_base_expression_2506", "'{0}' is referenced directly or indirectly in its own base expression."),
        Type_0_is_not_a_constructor_function_type: b(2507, 1, "Type_0_is_not_a_constructor_function_type_2507", "Type '{0}' is not a constructor function type."),
        No_base_constructor_has_the_specified_number_of_type_arguments: b(2508, 1, "No_base_constructor_has_the_specified_number_of_type_arguments_2508", "No base constructor has the specified number of type arguments."),
        Base_constructor_return_type_0_is_not_an_object_type_or_intersection_of_object_types_with_statically_known_members: b(2509, 1, "Base_constructor_return_type_0_is_not_an_object_type_or_intersection_of_object_types_with_statically_2509", "Base constructor return type '{0}' is not an object type or intersection of object types with statically known members."),
        Base_constructors_must_all_have_the_same_return_type: b(2510, 1, "Base_constructors_must_all_have_the_same_return_type_2510", "Base constructors must all have the same return type."),
        Cannot_create_an_instance_of_an_abstract_class: b(2511, 1, "Cannot_create_an_instance_of_an_abstract_class_2511", "Cannot create an instance of an abstract class."),
        Overload_signatures_must_all_be_abstract_or_non_abstract: b(2512, 1, "Overload_signatures_must_all_be_abstract_or_non_abstract_2512", "Overload signatures must all be abstract or non-abstract."),
        Abstract_method_0_in_class_1_cannot_be_accessed_via_super_expression: b(2513, 1, "Abstract_method_0_in_class_1_cannot_be_accessed_via_super_expression_2513", "Abstract method '{0}' in class '{1}' cannot be accessed via super expression."),
        A_tuple_type_cannot_be_indexed_with_a_negative_value: b(2514, 1, "A_tuple_type_cannot_be_indexed_with_a_negative_value_2514", "A tuple type cannot be indexed with a negative value."),
        Non_abstract_class_0_does_not_implement_inherited_abstract_member_1_from_class_2: b(2515, 1, "Non_abstract_class_0_does_not_implement_inherited_abstract_member_1_from_class_2_2515", "Non-abstract class '{0}' does not implement inherited abstract member {1} from class '{2}'."),
        All_declarations_of_an_abstract_method_must_be_consecutive: b(2516, 1, "All_declarations_of_an_abstract_method_must_be_consecutive_2516", "All declarations of an abstract method must be consecutive."),
        Cannot_assign_an_abstract_constructor_type_to_a_non_abstract_constructor_type: b(2517, 1, "Cannot_assign_an_abstract_constructor_type_to_a_non_abstract_constructor_type_2517", "Cannot assign an abstract constructor type to a non-abstract constructor type."),
        A_this_based_type_guard_is_not_compatible_with_a_parameter_based_type_guard: b(2518, 1, "A_this_based_type_guard_is_not_compatible_with_a_parameter_based_type_guard_2518", "A 'this'-based type guard is not compatible with a parameter-based type guard."),
        An_async_iterator_must_have_a_next_method: b(2519, 1, "An_async_iterator_must_have_a_next_method_2519", "An async iterator must have a 'next()' method."),
        Duplicate_identifier_0_Compiler_uses_declaration_1_to_support_async_functions: b(2520, 1, "Duplicate_identifier_0_Compiler_uses_declaration_1_to_support_async_functions_2520", "Duplicate identifier '{0}'. Compiler uses declaration '{1}' to support async functions."),
        The_arguments_object_cannot_be_referenced_in_an_async_function_or_method_in_ES5_Consider_using_a_standard_function_or_method: b(2522, 1, "The_arguments_object_cannot_be_referenced_in_an_async_function_or_method_in_ES5_Consider_using_a_sta_2522", "The 'arguments' object cannot be referenced in an async function or method in ES5. Consider using a standard function or method."),
        yield_expressions_cannot_be_used_in_a_parameter_initializer: b(2523, 1, "yield_expressions_cannot_be_used_in_a_parameter_initializer_2523", "'yield' expressions cannot be used in a parameter initializer."),
        await_expressions_cannot_be_used_in_a_parameter_initializer: b(2524, 1, "await_expressions_cannot_be_used_in_a_parameter_initializer_2524", "'await' expressions cannot be used in a parameter initializer."),
        A_this_type_is_available_only_in_a_non_static_member_of_a_class_or_interface: b(2526, 1, "A_this_type_is_available_only_in_a_non_static_member_of_a_class_or_interface_2526", "A 'this' type is available only in a non-static member of a class or interface."),
        The_inferred_type_of_0_references_an_inaccessible_1_type_A_type_annotation_is_necessary: b(2527, 1, "The_inferred_type_of_0_references_an_inaccessible_1_type_A_type_annotation_is_necessary_2527", "The inferred type of '{0}' references an inaccessible '{1}' type. A type annotation is necessary."),
        A_module_cannot_have_multiple_default_exports: b(2528, 1, "A_module_cannot_have_multiple_default_exports_2528", "A module cannot have multiple default exports."),
        Duplicate_identifier_0_Compiler_reserves_name_1_in_top_level_scope_of_a_module_containing_async_functions: b(2529, 1, "Duplicate_identifier_0_Compiler_reserves_name_1_in_top_level_scope_of_a_module_containing_async_func_2529", "Duplicate identifier '{0}'. Compiler reserves name '{1}' in top level scope of a module containing async functions."),
        Property_0_is_incompatible_with_index_signature: b(2530, 1, "Property_0_is_incompatible_with_index_signature_2530", "Property '{0}' is incompatible with index signature."),
        Object_is_possibly_null: b(2531, 1, "Object_is_possibly_null_2531", "Object is possibly 'null'."),
        Object_is_possibly_undefined: b(2532, 1, "Object_is_possibly_undefined_2532", "Object is possibly 'undefined'."),
        Object_is_possibly_null_or_undefined: b(2533, 1, "Object_is_possibly_null_or_undefined_2533", "Object is possibly 'null' or 'undefined'."),
        A_function_returning_never_cannot_have_a_reachable_end_point: b(2534, 1, "A_function_returning_never_cannot_have_a_reachable_end_point_2534", "A function returning 'never' cannot have a reachable end point."),
        Type_0_cannot_be_used_to_index_type_1: b(2536, 1, "Type_0_cannot_be_used_to_index_type_1_2536", "Type '{0}' cannot be used to index type '{1}'."),
        Type_0_has_no_matching_index_signature_for_type_1: b(2537, 1, "Type_0_has_no_matching_index_signature_for_type_1_2537", "Type '{0}' has no matching index signature for type '{1}'."),
        Type_0_cannot_be_used_as_an_index_type: b(2538, 1, "Type_0_cannot_be_used_as_an_index_type_2538", "Type '{0}' cannot be used as an index type."),
        Cannot_assign_to_0_because_it_is_not_a_variable: b(2539, 1, "Cannot_assign_to_0_because_it_is_not_a_variable_2539", "Cannot assign to '{0}' because it is not a variable."),
        Cannot_assign_to_0_because_it_is_a_read_only_property: b(2540, 1, "Cannot_assign_to_0_because_it_is_a_read_only_property_2540", "Cannot assign to '{0}' because it is a read-only property."),
        Index_signature_in_type_0_only_permits_reading: b(2542, 1, "Index_signature_in_type_0_only_permits_reading_2542", "Index signature in type '{0}' only permits reading."),
        Duplicate_identifier_newTarget_Compiler_uses_variable_declaration_newTarget_to_capture_new_target_meta_property_reference: b(2543, 1, "Duplicate_identifier_newTarget_Compiler_uses_variable_declaration_newTarget_to_capture_new_target_me_2543", "Duplicate identifier '_newTarget'. Compiler uses variable declaration '_newTarget' to capture 'new.target' meta-property reference."),
        Expression_resolves_to_variable_declaration_newTarget_that_compiler_uses_to_capture_new_target_meta_property_reference: b(2544, 1, "Expression_resolves_to_variable_declaration_newTarget_that_compiler_uses_to_capture_new_target_meta__2544", "Expression resolves to variable declaration '_newTarget' that compiler uses to capture 'new.target' meta-property reference."),
        A_mixin_class_must_have_a_constructor_with_a_single_rest_parameter_of_type_any: b(2545, 1, "A_mixin_class_must_have_a_constructor_with_a_single_rest_parameter_of_type_any_2545", "A mixin class must have a constructor with a single rest parameter of type 'any[]'."),
        The_type_returned_by_the_0_method_of_an_async_iterator_must_be_a_promise_for_a_type_with_a_value_property: b(2547, 1, "The_type_returned_by_the_0_method_of_an_async_iterator_must_be_a_promise_for_a_type_with_a_value_pro_2547", "The type returned by the '{0}()' method of an async iterator must be a promise for a type with a 'value' property."),
        Type_0_is_not_an_array_type_or_does_not_have_a_Symbol_iterator_method_that_returns_an_iterator: b(2548, 1, "Type_0_is_not_an_array_type_or_does_not_have_a_Symbol_iterator_method_that_returns_an_iterator_2548", "Type '{0}' is not an array type or does not have a '[Symbol.iterator]()' method that returns an iterator."),
        Type_0_is_not_an_array_type_or_a_string_type_or_does_not_have_a_Symbol_iterator_method_that_returns_an_iterator: b(2549, 1, "Type_0_is_not_an_array_type_or_a_string_type_or_does_not_have_a_Symbol_iterator_method_that_returns__2549", "Type '{0}' is not an array type or a string type or does not have a '[Symbol.iterator]()' method that returns an iterator."),
        Property_0_does_not_exist_on_type_1_Do_you_need_to_change_your_target_library_Try_changing_the_lib_compiler_option_to_2_or_later: b(2550, 1, "Property_0_does_not_exist_on_type_1_Do_you_need_to_change_your_target_library_Try_changing_the_lib_c_2550", "Property '{0}' does not exist on type '{1}'. Do you need to change your target library? Try changing the 'lib' compiler option to '{2}' or later."),
        Property_0_does_not_exist_on_type_1_Did_you_mean_2: b(2551, 1, "Property_0_does_not_exist_on_type_1_Did_you_mean_2_2551", "Property '{0}' does not exist on type '{1}'. Did you mean '{2}'?"),
        Cannot_find_name_0_Did_you_mean_1: b(2552, 1, "Cannot_find_name_0_Did_you_mean_1_2552", "Cannot find name '{0}'. Did you mean '{1}'?"),
        Computed_values_are_not_permitted_in_an_enum_with_string_valued_members: b(2553, 1, "Computed_values_are_not_permitted_in_an_enum_with_string_valued_members_2553", "Computed values are not permitted in an enum with string valued members."),
        Expected_0_arguments_but_got_1: b(2554, 1, "Expected_0_arguments_but_got_1_2554", "Expected {0} arguments, but got {1}."),
        Expected_at_least_0_arguments_but_got_1: b(2555, 1, "Expected_at_least_0_arguments_but_got_1_2555", "Expected at least {0} arguments, but got {1}."),
        A_spread_argument_must_either_have_a_tuple_type_or_be_passed_to_a_rest_parameter: b(2556, 1, "A_spread_argument_must_either_have_a_tuple_type_or_be_passed_to_a_rest_parameter_2556", "A spread argument must either have a tuple type or be passed to a rest parameter."),
        Expected_0_type_arguments_but_got_1: b(2558, 1, "Expected_0_type_arguments_but_got_1_2558", "Expected {0} type arguments, but got {1}."),
        Type_0_has_no_properties_in_common_with_type_1: b(2559, 1, "Type_0_has_no_properties_in_common_with_type_1_2559", "Type '{0}' has no properties in common with type '{1}'."),
        Value_of_type_0_has_no_properties_in_common_with_type_1_Did_you_mean_to_call_it: b(2560, 1, "Value_of_type_0_has_no_properties_in_common_with_type_1_Did_you_mean_to_call_it_2560", "Value of type '{0}' has no properties in common with type '{1}'. Did you mean to call it?"),
        Object_literal_may_only_specify_known_properties_but_0_does_not_exist_in_type_1_Did_you_mean_to_write_2: b(2561, 1, "Object_literal_may_only_specify_known_properties_but_0_does_not_exist_in_type_1_Did_you_mean_to_writ_2561", "Object literal may only specify known properties, but '{0}' does not exist in type '{1}'. Did you mean to write '{2}'?"),
        Base_class_expressions_cannot_reference_class_type_parameters: b(2562, 1, "Base_class_expressions_cannot_reference_class_type_parameters_2562", "Base class expressions cannot reference class type parameters."),
        The_containing_function_or_module_body_is_too_large_for_control_flow_analysis: b(2563, 1, "The_containing_function_or_module_body_is_too_large_for_control_flow_analysis_2563", "The containing function or module body is too large for control flow analysis."),
        Property_0_has_no_initializer_and_is_not_definitely_assigned_in_the_constructor: b(2564, 1, "Property_0_has_no_initializer_and_is_not_definitely_assigned_in_the_constructor_2564", "Property '{0}' has no initializer and is not definitely assigned in the constructor."),
        Property_0_is_used_before_being_assigned: b(2565, 1, "Property_0_is_used_before_being_assigned_2565", "Property '{0}' is used before being assigned."),
        A_rest_element_cannot_have_a_property_name: b(2566, 1, "A_rest_element_cannot_have_a_property_name_2566", "A rest element cannot have a property name."),
        Enum_declarations_can_only_merge_with_namespace_or_other_enum_declarations: b(2567, 1, "Enum_declarations_can_only_merge_with_namespace_or_other_enum_declarations_2567", "Enum declarations can only merge with namespace or other enum declarations."),
        Property_0_may_not_exist_on_type_1_Did_you_mean_2: b(2568, 1, "Property_0_may_not_exist_on_type_1_Did_you_mean_2_2568", "Property '{0}' may not exist on type '{1}'. Did you mean '{2}'?"),
        Could_not_find_name_0_Did_you_mean_1: b(2570, 1, "Could_not_find_name_0_Did_you_mean_1_2570", "Could not find name '{0}'. Did you mean '{1}'?"),
        Object_is_of_type_unknown: b(2571, 1, "Object_is_of_type_unknown_2571", "Object is of type 'unknown'."),
        A_rest_element_type_must_be_an_array_type: b(2574, 1, "A_rest_element_type_must_be_an_array_type_2574", "A rest element type must be an array type."),
        No_overload_expects_0_arguments_but_overloads_do_exist_that_expect_either_1_or_2_arguments: b(2575, 1, "No_overload_expects_0_arguments_but_overloads_do_exist_that_expect_either_1_or_2_arguments_2575", "No overload expects {0} arguments, but overloads do exist that expect either {1} or {2} arguments."),
        Property_0_does_not_exist_on_type_1_Did_you_mean_to_access_the_static_member_2_instead: b(2576, 1, "Property_0_does_not_exist_on_type_1_Did_you_mean_to_access_the_static_member_2_instead_2576", "Property '{0}' does not exist on type '{1}'. Did you mean to access the static member '{2}' instead?"),
        Return_type_annotation_circularly_references_itself: b(2577, 1, "Return_type_annotation_circularly_references_itself_2577", "Return type annotation circularly references itself."),
        Unused_ts_expect_error_directive: b(2578, 1, "Unused_ts_expect_error_directive_2578", "Unused '@ts-expect-error' directive."),
        Cannot_find_name_0_Do_you_need_to_install_type_definitions_for_node_Try_npm_i_save_dev_types_Slashnode: b(2580, 1, "Cannot_find_name_0_Do_you_need_to_install_type_definitions_for_node_Try_npm_i_save_dev_types_Slashno_2580", "Cannot find name '{0}'. Do you need to install type definitions for node? Try `npm i --save-dev @types/node`."),
        Cannot_find_name_0_Do_you_need_to_install_type_definitions_for_jQuery_Try_npm_i_save_dev_types_Slashjquery: b(2581, 1, "Cannot_find_name_0_Do_you_need_to_install_type_definitions_for_jQuery_Try_npm_i_save_dev_types_Slash_2581", "Cannot find name '{0}'. Do you need to install type definitions for jQuery? Try `npm i --save-dev @types/jquery`."),
        Cannot_find_name_0_Do_you_need_to_install_type_definitions_for_a_test_runner_Try_npm_i_save_dev_types_Slashjest_or_npm_i_save_dev_types_Slashmocha: b(2582, 1, "Cannot_find_name_0_Do_you_need_to_install_type_definitions_for_a_test_runner_Try_npm_i_save_dev_type_2582", "Cannot find name '{0}'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`."),
        Cannot_find_name_0_Do_you_need_to_change_your_target_library_Try_changing_the_lib_compiler_option_to_1_or_later: b(2583, 1, "Cannot_find_name_0_Do_you_need_to_change_your_target_library_Try_changing_the_lib_compiler_option_to_2583", "Cannot find name '{0}'. Do you need to change your target library? Try changing the 'lib' compiler option to '{1}' or later."),
        Cannot_find_name_0_Do_you_need_to_change_your_target_library_Try_changing_the_lib_compiler_option_to_include_dom: b(2584, 1, "Cannot_find_name_0_Do_you_need_to_change_your_target_library_Try_changing_the_lib_compiler_option_to_2584", "Cannot find name '{0}'. Do you need to change your target library? Try changing the 'lib' compiler option to include 'dom'."),
        _0_only_refers_to_a_type_but_is_being_used_as_a_value_here_Do_you_need_to_change_your_target_library_Try_changing_the_lib_compiler_option_to_es2015_or_later: b(2585, 1, "_0_only_refers_to_a_type_but_is_being_used_as_a_value_here_Do_you_need_to_change_your_target_library_2585", "'{0}' only refers to a type, but is being used as a value here. Do you need to change your target library? Try changing the 'lib' compiler option to es2015 or later."),
        Cannot_assign_to_0_because_it_is_a_constant: b(2588, 1, "Cannot_assign_to_0_because_it_is_a_constant_2588", "Cannot assign to '{0}' because it is a constant."),
        Type_instantiation_is_excessively_deep_and_possibly_infinite: b(2589, 1, "Type_instantiation_is_excessively_deep_and_possibly_infinite_2589", "Type instantiation is excessively deep and possibly infinite."),
        Expression_produces_a_union_type_that_is_too_complex_to_represent: b(2590, 1, "Expression_produces_a_union_type_that_is_too_complex_to_represent_2590", "Expression produces a union type that is too complex to represent."),
        Cannot_find_name_0_Do_you_need_to_install_type_definitions_for_node_Try_npm_i_save_dev_types_Slashnode_and_then_add_node_to_the_types_field_in_your_tsconfig: b(2591, 1, "Cannot_find_name_0_Do_you_need_to_install_type_definitions_for_node_Try_npm_i_save_dev_types_Slashno_2591", "Cannot find name '{0}'. Do you need to install type definitions for node? Try `npm i --save-dev @types/node` and then add 'node' to the types field in your tsconfig."),
        Cannot_find_name_0_Do_you_need_to_install_type_definitions_for_jQuery_Try_npm_i_save_dev_types_Slashjquery_and_then_add_jquery_to_the_types_field_in_your_tsconfig: b(2592, 1, "Cannot_find_name_0_Do_you_need_to_install_type_definitions_for_jQuery_Try_npm_i_save_dev_types_Slash_2592", "Cannot find name '{0}'. Do you need to install type definitions for jQuery? Try `npm i --save-dev @types/jquery` and then add 'jquery' to the types field in your tsconfig."),
        Cannot_find_name_0_Do_you_need_to_install_type_definitions_for_a_test_runner_Try_npm_i_save_dev_types_Slashjest_or_npm_i_save_dev_types_Slashmocha_and_then_add_jest_or_mocha_to_the_types_field_in_your_tsconfig: b(2593, 1, "Cannot_find_name_0_Do_you_need_to_install_type_definitions_for_a_test_runner_Try_npm_i_save_dev_type_2593", "Cannot find name '{0}'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha` and then add 'jest' or 'mocha' to the types field in your tsconfig."),
        This_module_is_declared_with_export_and_can_only_be_used_with_a_default_import_when_using_the_0_flag: b(2594, 1, "This_module_is_declared_with_export_and_can_only_be_used_with_a_default_import_when_using_the_0_flag_2594", "This module is declared with 'export =', and can only be used with a default import when using the '{0}' flag."),
        _0_can_only_be_imported_by_using_a_default_import: b(2595, 1, "_0_can_only_be_imported_by_using_a_default_import_2595", "'{0}' can only be imported by using a default import."),
        _0_can_only_be_imported_by_turning_on_the_esModuleInterop_flag_and_using_a_default_import: b(2596, 1, "_0_can_only_be_imported_by_turning_on_the_esModuleInterop_flag_and_using_a_default_import_2596", "'{0}' can only be imported by turning on the 'esModuleInterop' flag and using a default import."),
        _0_can_only_be_imported_by_using_a_require_call_or_by_using_a_default_import: b(2597, 1, "_0_can_only_be_imported_by_using_a_require_call_or_by_using_a_default_import_2597", "'{0}' can only be imported by using a 'require' call or by using a default import."),
        _0_can_only_be_imported_by_using_a_require_call_or_by_turning_on_the_esModuleInterop_flag_and_using_a_default_import: b(2598, 1, "_0_can_only_be_imported_by_using_a_require_call_or_by_turning_on_the_esModuleInterop_flag_and_using__2598", "'{0}' can only be imported by using a 'require' call or by turning on the 'esModuleInterop' flag and using a default import."),
        JSX_element_implicitly_has_type_any_because_the_global_type_JSX_Element_does_not_exist: b(2602, 1, "JSX_element_implicitly_has_type_any_because_the_global_type_JSX_Element_does_not_exist_2602", "JSX element implicitly has type 'any' because the global type 'JSX.Element' does not exist."),
        Property_0_in_type_1_is_not_assignable_to_type_2: b(2603, 1, "Property_0_in_type_1_is_not_assignable_to_type_2_2603", "Property '{0}' in type '{1}' is not assignable to type '{2}'."),
        JSX_element_type_0_does_not_have_any_construct_or_call_signatures: b(2604, 1, "JSX_element_type_0_does_not_have_any_construct_or_call_signatures_2604", "JSX element type '{0}' does not have any construct or call signatures."),
        Property_0_of_JSX_spread_attribute_is_not_assignable_to_target_property: b(2606, 1, "Property_0_of_JSX_spread_attribute_is_not_assignable_to_target_property_2606", "Property '{0}' of JSX spread attribute is not assignable to target property."),
        JSX_element_class_does_not_support_attributes_because_it_does_not_have_a_0_property: b(2607, 1, "JSX_element_class_does_not_support_attributes_because_it_does_not_have_a_0_property_2607", "JSX element class does not support attributes because it does not have a '{0}' property."),
        The_global_type_JSX_0_may_not_have_more_than_one_property: b(2608, 1, "The_global_type_JSX_0_may_not_have_more_than_one_property_2608", "The global type 'JSX.{0}' may not have more than one property."),
        JSX_spread_child_must_be_an_array_type: b(2609, 1, "JSX_spread_child_must_be_an_array_type_2609", "JSX spread child must be an array type."),
        _0_is_defined_as_an_accessor_in_class_1_but_is_overridden_here_in_2_as_an_instance_property: b(2610, 1, "_0_is_defined_as_an_accessor_in_class_1_but_is_overridden_here_in_2_as_an_instance_property_2610", "'{0}' is defined as an accessor in class '{1}', but is overridden here in '{2}' as an instance property."),
        _0_is_defined_as_a_property_in_class_1_but_is_overridden_here_in_2_as_an_accessor: b(2611, 1, "_0_is_defined_as_a_property_in_class_1_but_is_overridden_here_in_2_as_an_accessor_2611", "'{0}' is defined as a property in class '{1}', but is overridden here in '{2}' as an accessor."),
        Property_0_will_overwrite_the_base_property_in_1_If_this_is_intentional_add_an_initializer_Otherwise_add_a_declare_modifier_or_remove_the_redundant_declaration: b(2612, 1, "Property_0_will_overwrite_the_base_property_in_1_If_this_is_intentional_add_an_initializer_Otherwise_2612", "Property '{0}' will overwrite the base property in '{1}'. If this is intentional, add an initializer. Otherwise, add a 'declare' modifier or remove the redundant declaration."),
        Module_0_has_no_default_export_Did_you_mean_to_use_import_1_from_0_instead: b(2613, 1, "Module_0_has_no_default_export_Did_you_mean_to_use_import_1_from_0_instead_2613", "Module '{0}' has no default export. Did you mean to use 'import { {1} } from {0}' instead?"),
        Module_0_has_no_exported_member_1_Did_you_mean_to_use_import_1_from_0_instead: b(2614, 1, "Module_0_has_no_exported_member_1_Did_you_mean_to_use_import_1_from_0_instead_2614", "Module '{0}' has no exported member '{1}'. Did you mean to use 'import {1} from {0}' instead?"),
        Type_of_property_0_circularly_references_itself_in_mapped_type_1: b(2615, 1, "Type_of_property_0_circularly_references_itself_in_mapped_type_1_2615", "Type of property '{0}' circularly references itself in mapped type '{1}'."),
        _0_can_only_be_imported_by_using_import_1_require_2_or_a_default_import: b(2616, 1, "_0_can_only_be_imported_by_using_import_1_require_2_or_a_default_import_2616", "'{0}' can only be imported by using 'import {1} = require({2})' or a default import."),
        _0_can_only_be_imported_by_using_import_1_require_2_or_by_turning_on_the_esModuleInterop_flag_and_using_a_default_import: b(2617, 1, "_0_can_only_be_imported_by_using_import_1_require_2_or_by_turning_on_the_esModuleInterop_flag_and_us_2617", "'{0}' can only be imported by using 'import {1} = require({2})' or by turning on the 'esModuleInterop' flag and using a default import."),
        Source_has_0_element_s_but_target_requires_1: b(2618, 1, "Source_has_0_element_s_but_target_requires_1_2618", "Source has {0} element(s) but target requires {1}."),
        Source_has_0_element_s_but_target_allows_only_1: b(2619, 1, "Source_has_0_element_s_but_target_allows_only_1_2619", "Source has {0} element(s) but target allows only {1}."),
        Target_requires_0_element_s_but_source_may_have_fewer: b(2620, 1, "Target_requires_0_element_s_but_source_may_have_fewer_2620", "Target requires {0} element(s) but source may have fewer."),
        Target_allows_only_0_element_s_but_source_may_have_more: b(2621, 1, "Target_allows_only_0_element_s_but_source_may_have_more_2621", "Target allows only {0} element(s) but source may have more."),
        Source_provides_no_match_for_required_element_at_position_0_in_target: b(2623, 1, "Source_provides_no_match_for_required_element_at_position_0_in_target_2623", "Source provides no match for required element at position {0} in target."),
        Source_provides_no_match_for_variadic_element_at_position_0_in_target: b(2624, 1, "Source_provides_no_match_for_variadic_element_at_position_0_in_target_2624", "Source provides no match for variadic element at position {0} in target."),
        Variadic_element_at_position_0_in_source_does_not_match_element_at_position_1_in_target: b(2625, 1, "Variadic_element_at_position_0_in_source_does_not_match_element_at_position_1_in_target_2625", "Variadic element at position {0} in source does not match element at position {1} in target."),
        Type_at_position_0_in_source_is_not_compatible_with_type_at_position_1_in_target: b(2626, 1, "Type_at_position_0_in_source_is_not_compatible_with_type_at_position_1_in_target_2626", "Type at position {0} in source is not compatible with type at position {1} in target."),
        Type_at_positions_0_through_1_in_source_is_not_compatible_with_type_at_position_2_in_target: b(2627, 1, "Type_at_positions_0_through_1_in_source_is_not_compatible_with_type_at_position_2_in_target_2627", "Type at positions {0} through {1} in source is not compatible with type at position {2} in target."),
        Cannot_assign_to_0_because_it_is_an_enum: b(2628, 1, "Cannot_assign_to_0_because_it_is_an_enum_2628", "Cannot assign to '{0}' because it is an enum."),
        Cannot_assign_to_0_because_it_is_a_class: b(2629, 1, "Cannot_assign_to_0_because_it_is_a_class_2629", "Cannot assign to '{0}' because it is a class."),
        Cannot_assign_to_0_because_it_is_a_function: b(2630, 1, "Cannot_assign_to_0_because_it_is_a_function_2630", "Cannot assign to '{0}' because it is a function."),
        Cannot_assign_to_0_because_it_is_a_namespace: b(2631, 1, "Cannot_assign_to_0_because_it_is_a_namespace_2631", "Cannot assign to '{0}' because it is a namespace."),
        Cannot_assign_to_0_because_it_is_an_import: b(2632, 1, "Cannot_assign_to_0_because_it_is_an_import_2632", "Cannot assign to '{0}' because it is an import."),
        JSX_property_access_expressions_cannot_include_JSX_namespace_names: b(2633, 1, "JSX_property_access_expressions_cannot_include_JSX_namespace_names_2633", "JSX property access expressions cannot include JSX namespace names"),
        _0_index_signatures_are_incompatible: b(2634, 1, "_0_index_signatures_are_incompatible_2634", "'{0}' index signatures are incompatible."),
        Type_0_has_no_signatures_for_which_the_type_argument_list_is_applicable: b(2635, 1, "Type_0_has_no_signatures_for_which_the_type_argument_list_is_applicable_2635", "Type '{0}' has no signatures for which the type argument list is applicable."),
        Type_0_is_not_assignable_to_type_1_as_implied_by_variance_annotation: b(2636, 1, "Type_0_is_not_assignable_to_type_1_as_implied_by_variance_annotation_2636", "Type '{0}' is not assignable to type '{1}' as implied by variance annotation."),
        Variance_annotations_are_only_supported_in_type_aliases_for_object_function_constructor_and_mapped_types: b(2637, 1, "Variance_annotations_are_only_supported_in_type_aliases_for_object_function_constructor_and_mapped_t_2637", "Variance annotations are only supported in type aliases for object, function, constructor, and mapped types."),
        Type_0_may_represent_a_primitive_value_which_is_not_permitted_as_the_right_operand_of_the_in_operator: b(2638, 1, "Type_0_may_represent_a_primitive_value_which_is_not_permitted_as_the_right_operand_of_the_in_operato_2638", "Type '{0}' may represent a primitive value, which is not permitted as the right operand of the 'in' operator."),
        React_components_cannot_include_JSX_namespace_names: b(2639, 1, "React_components_cannot_include_JSX_namespace_names_2639", "React components cannot include JSX namespace names"),
        Cannot_augment_module_0_with_value_exports_because_it_resolves_to_a_non_module_entity: b(2649, 1, "Cannot_augment_module_0_with_value_exports_because_it_resolves_to_a_non_module_entity_2649", "Cannot augment module '{0}' with value exports because it resolves to a non-module entity."),
        Non_abstract_class_expression_is_missing_implementations_for_the_following_members_of_0_Colon_1_and_2_more: b(2650, 1, "Non_abstract_class_expression_is_missing_implementations_for_the_following_members_of_0_Colon_1_and__2650", "Non-abstract class expression is missing implementations for the following members of '{0}': {1} and {2} more."),
        A_member_initializer_in_a_enum_declaration_cannot_reference_members_declared_after_it_including_members_defined_in_other_enums: b(2651, 1, "A_member_initializer_in_a_enum_declaration_cannot_reference_members_declared_after_it_including_memb_2651", "A member initializer in a enum declaration cannot reference members declared after it, including members defined in other enums."),
        Merged_declaration_0_cannot_include_a_default_export_declaration_Consider_adding_a_separate_export_default_0_declaration_instead: b(2652, 1, "Merged_declaration_0_cannot_include_a_default_export_declaration_Consider_adding_a_separate_export_d_2652", "Merged declaration '{0}' cannot include a default export declaration. Consider adding a separate 'export default {0}' declaration instead."),
        Non_abstract_class_expression_does_not_implement_inherited_abstract_member_0_from_class_1: b(2653, 1, "Non_abstract_class_expression_does_not_implement_inherited_abstract_member_0_from_class_1_2653", "Non-abstract class expression does not implement inherited abstract member '{0}' from class '{1}'."),
        Non_abstract_class_0_is_missing_implementations_for_the_following_members_of_1_Colon_2: b(2654, 1, "Non_abstract_class_0_is_missing_implementations_for_the_following_members_of_1_Colon_2_2654", "Non-abstract class '{0}' is missing implementations for the following members of '{1}': {2}."),
        Non_abstract_class_0_is_missing_implementations_for_the_following_members_of_1_Colon_2_and_3_more: b(2655, 1, "Non_abstract_class_0_is_missing_implementations_for_the_following_members_of_1_Colon_2_and_3_more_2655", "Non-abstract class '{0}' is missing implementations for the following members of '{1}': {2} and {3} more."),
        Non_abstract_class_expression_is_missing_implementations_for_the_following_members_of_0_Colon_1: b(2656, 1, "Non_abstract_class_expression_is_missing_implementations_for_the_following_members_of_0_Colon_1_2656", "Non-abstract class expression is missing implementations for the following members of '{0}': {1}."),
        JSX_expressions_must_have_one_parent_element: b(2657, 1, "JSX_expressions_must_have_one_parent_element_2657", "JSX expressions must have one parent element."),
        Type_0_provides_no_match_for_the_signature_1: b(2658, 1, "Type_0_provides_no_match_for_the_signature_1_2658", "Type '{0}' provides no match for the signature '{1}'."),
        super_is_only_allowed_in_members_of_object_literal_expressions_when_option_target_is_ES2015_or_higher: b(2659, 1, "super_is_only_allowed_in_members_of_object_literal_expressions_when_option_target_is_ES2015_or_highe_2659", "'super' is only allowed in members of object literal expressions when option 'target' is 'ES2015' or higher."),
        super_can_only_be_referenced_in_members_of_derived_classes_or_object_literal_expressions: b(2660, 1, "super_can_only_be_referenced_in_members_of_derived_classes_or_object_literal_expressions_2660", "'super' can only be referenced in members of derived classes or object literal expressions."),
        Cannot_export_0_Only_local_declarations_can_be_exported_from_a_module: b(2661, 1, "Cannot_export_0_Only_local_declarations_can_be_exported_from_a_module_2661", "Cannot export '{0}'. Only local declarations can be exported from a module."),
        Cannot_find_name_0_Did_you_mean_the_static_member_1_0: b(2662, 1, "Cannot_find_name_0_Did_you_mean_the_static_member_1_0_2662", "Cannot find name '{0}'. Did you mean the static member '{1}.{0}'?"),
        Cannot_find_name_0_Did_you_mean_the_instance_member_this_0: b(2663, 1, "Cannot_find_name_0_Did_you_mean_the_instance_member_this_0_2663", "Cannot find name '{0}'. Did you mean the instance member 'this.{0}'?"),
        Invalid_module_name_in_augmentation_module_0_cannot_be_found: b(2664, 1, "Invalid_module_name_in_augmentation_module_0_cannot_be_found_2664", "Invalid module name in augmentation, module '{0}' cannot be found."),
        Invalid_module_name_in_augmentation_Module_0_resolves_to_an_untyped_module_at_1_which_cannot_be_augmented: b(2665, 1, "Invalid_module_name_in_augmentation_Module_0_resolves_to_an_untyped_module_at_1_which_cannot_be_augm_2665", "Invalid module name in augmentation. Module '{0}' resolves to an untyped module at '{1}', which cannot be augmented."),
        Exports_and_export_assignments_are_not_permitted_in_module_augmentations: b(2666, 1, "Exports_and_export_assignments_are_not_permitted_in_module_augmentations_2666", "Exports and export assignments are not permitted in module augmentations."),
        Imports_are_not_permitted_in_module_augmentations_Consider_moving_them_to_the_enclosing_external_module: b(2667, 1, "Imports_are_not_permitted_in_module_augmentations_Consider_moving_them_to_the_enclosing_external_mod_2667", "Imports are not permitted in module augmentations. Consider moving them to the enclosing external module."),
        export_modifier_cannot_be_applied_to_ambient_modules_and_module_augmentations_since_they_are_always_visible: b(2668, 1, "export_modifier_cannot_be_applied_to_ambient_modules_and_module_augmentations_since_they_are_always__2668", "'export' modifier cannot be applied to ambient modules and module augmentations since they are always visible."),
        Augmentations_for_the_global_scope_can_only_be_directly_nested_in_external_modules_or_ambient_module_declarations: b(2669, 1, "Augmentations_for_the_global_scope_can_only_be_directly_nested_in_external_modules_or_ambient_module_2669", "Augmentations for the global scope can only be directly nested in external modules or ambient module declarations."),
        Augmentations_for_the_global_scope_should_have_declare_modifier_unless_they_appear_in_already_ambient_context: b(2670, 1, "Augmentations_for_the_global_scope_should_have_declare_modifier_unless_they_appear_in_already_ambien_2670", "Augmentations for the global scope should have 'declare' modifier unless they appear in already ambient context."),
        Cannot_augment_module_0_because_it_resolves_to_a_non_module_entity: b(2671, 1, "Cannot_augment_module_0_because_it_resolves_to_a_non_module_entity_2671", "Cannot augment module '{0}' because it resolves to a non-module entity."),
        Cannot_assign_a_0_constructor_type_to_a_1_constructor_type: b(2672, 1, "Cannot_assign_a_0_constructor_type_to_a_1_constructor_type_2672", "Cannot assign a '{0}' constructor type to a '{1}' constructor type."),
        Constructor_of_class_0_is_private_and_only_accessible_within_the_class_declaration: b(2673, 1, "Constructor_of_class_0_is_private_and_only_accessible_within_the_class_declaration_2673", "Constructor of class '{0}' is private and only accessible within the class declaration."),
        Constructor_of_class_0_is_protected_and_only_accessible_within_the_class_declaration: b(2674, 1, "Constructor_of_class_0_is_protected_and_only_accessible_within_the_class_declaration_2674", "Constructor of class '{0}' is protected and only accessible within the class declaration."),
        Cannot_extend_a_class_0_Class_constructor_is_marked_as_private: b(2675, 1, "Cannot_extend_a_class_0_Class_constructor_is_marked_as_private_2675", "Cannot extend a class '{0}'. Class constructor is marked as private."),
        Accessors_must_both_be_abstract_or_non_abstract: b(2676, 1, "Accessors_must_both_be_abstract_or_non_abstract_2676", "Accessors must both be abstract or non-abstract."),
        A_type_predicate_s_type_must_be_assignable_to_its_parameter_s_type: b(2677, 1, "A_type_predicate_s_type_must_be_assignable_to_its_parameter_s_type_2677", "A type predicate's type must be assignable to its parameter's type."),
        Type_0_is_not_comparable_to_type_1: b(2678, 1, "Type_0_is_not_comparable_to_type_1_2678", "Type '{0}' is not comparable to type '{1}'."),
        A_function_that_is_called_with_the_new_keyword_cannot_have_a_this_type_that_is_void: b(2679, 1, "A_function_that_is_called_with_the_new_keyword_cannot_have_a_this_type_that_is_void_2679", "A function that is called with the 'new' keyword cannot have a 'this' type that is 'void'."),
        A_0_parameter_must_be_the_first_parameter: b(2680, 1, "A_0_parameter_must_be_the_first_parameter_2680", "A '{0}' parameter must be the first parameter."),
        A_constructor_cannot_have_a_this_parameter: b(2681, 1, "A_constructor_cannot_have_a_this_parameter_2681", "A constructor cannot have a 'this' parameter."),
        this_implicitly_has_type_any_because_it_does_not_have_a_type_annotation: b(2683, 1, "this_implicitly_has_type_any_because_it_does_not_have_a_type_annotation_2683", "'this' implicitly has type 'any' because it does not have a type annotation."),
        The_this_context_of_type_0_is_not_assignable_to_method_s_this_of_type_1: b(2684, 1, "The_this_context_of_type_0_is_not_assignable_to_method_s_this_of_type_1_2684", "The 'this' context of type '{0}' is not assignable to method's 'this' of type '{1}'."),
        The_this_types_of_each_signature_are_incompatible: b(2685, 1, "The_this_types_of_each_signature_are_incompatible_2685", "The 'this' types of each signature are incompatible."),
        _0_refers_to_a_UMD_global_but_the_current_file_is_a_module_Consider_adding_an_import_instead: b(2686, 1, "_0_refers_to_a_UMD_global_but_the_current_file_is_a_module_Consider_adding_an_import_instead_2686", "'{0}' refers to a UMD global, but the current file is a module. Consider adding an import instead."),
        All_declarations_of_0_must_have_identical_modifiers: b(2687, 1, "All_declarations_of_0_must_have_identical_modifiers_2687", "All declarations of '{0}' must have identical modifiers."),
        Cannot_find_type_definition_file_for_0: b(2688, 1, "Cannot_find_type_definition_file_for_0_2688", "Cannot find type definition file for '{0}'."),
        Cannot_extend_an_interface_0_Did_you_mean_implements: b(2689, 1, "Cannot_extend_an_interface_0_Did_you_mean_implements_2689", "Cannot extend an interface '{0}'. Did you mean 'implements'?"),
        _0_only_refers_to_a_type_but_is_being_used_as_a_value_here_Did_you_mean_to_use_1_in_0: b(2690, 1, "_0_only_refers_to_a_type_but_is_being_used_as_a_value_here_Did_you_mean_to_use_1_in_0_2690", "'{0}' only refers to a type, but is being used as a value here. Did you mean to use '{1} in {0}'?"),
        _0_is_a_primitive_but_1_is_a_wrapper_object_Prefer_using_0_when_possible: b(2692, 1, "_0_is_a_primitive_but_1_is_a_wrapper_object_Prefer_using_0_when_possible_2692", "'{0}' is a primitive, but '{1}' is a wrapper object. Prefer using '{0}' when possible."),
        _0_only_refers_to_a_type_but_is_being_used_as_a_value_here: b(2693, 1, "_0_only_refers_to_a_type_but_is_being_used_as_a_value_here_2693", "'{0}' only refers to a type, but is being used as a value here."),
        Namespace_0_has_no_exported_member_1: b(2694, 1, "Namespace_0_has_no_exported_member_1_2694", "Namespace '{0}' has no exported member '{1}'."),
        Left_side_of_comma_operator_is_unused_and_has_no_side_effects: b(
          2695,
          1,
          "Left_side_of_comma_operator_is_unused_and_has_no_side_effects_2695",
          "Left side of comma operator is unused and has no side effects.",
          /*reportsUnnecessary*/
          !0
        ),
        The_Object_type_is_assignable_to_very_few_other_types_Did_you_mean_to_use_the_any_type_instead: b(2696, 1, "The_Object_type_is_assignable_to_very_few_other_types_Did_you_mean_to_use_the_any_type_instead_2696", "The 'Object' type is assignable to very few other types. Did you mean to use the 'any' type instead?"),
        An_async_function_or_method_must_return_a_Promise_Make_sure_you_have_a_declaration_for_Promise_or_include_ES2015_in_your_lib_option: b(2697, 1, "An_async_function_or_method_must_return_a_Promise_Make_sure_you_have_a_declaration_for_Promise_or_in_2697", "An async function or method must return a 'Promise'. Make sure you have a declaration for 'Promise' or include 'ES2015' in your '--lib' option."),
        Spread_types_may_only_be_created_from_object_types: b(2698, 1, "Spread_types_may_only_be_created_from_object_types_2698", "Spread types may only be created from object types."),
        Static_property_0_conflicts_with_built_in_property_Function_0_of_constructor_function_1: b(2699, 1, "Static_property_0_conflicts_with_built_in_property_Function_0_of_constructor_function_1_2699", "Static property '{0}' conflicts with built-in property 'Function.{0}' of constructor function '{1}'."),
        Rest_types_may_only_be_created_from_object_types: b(2700, 1, "Rest_types_may_only_be_created_from_object_types_2700", "Rest types may only be created from object types."),
        The_target_of_an_object_rest_assignment_must_be_a_variable_or_a_property_access: b(2701, 1, "The_target_of_an_object_rest_assignment_must_be_a_variable_or_a_property_access_2701", "The target of an object rest assignment must be a variable or a property access."),
        _0_only_refers_to_a_type_but_is_being_used_as_a_namespace_here: b(2702, 1, "_0_only_refers_to_a_type_but_is_being_used_as_a_namespace_here_2702", "'{0}' only refers to a type, but is being used as a namespace here."),
        The_operand_of_a_delete_operator_must_be_a_property_reference: b(2703, 1, "The_operand_of_a_delete_operator_must_be_a_property_reference_2703", "The operand of a 'delete' operator must be a property reference."),
        The_operand_of_a_delete_operator_cannot_be_a_read_only_property: b(2704, 1, "The_operand_of_a_delete_operator_cannot_be_a_read_only_property_2704", "The operand of a 'delete' operator cannot be a read-only property."),
        An_async_function_or_method_in_ES5_requires_the_Promise_constructor_Make_sure_you_have_a_declaration_for_the_Promise_constructor_or_include_ES2015_in_your_lib_option: b(2705, 1, "An_async_function_or_method_in_ES5_requires_the_Promise_constructor_Make_sure_you_have_a_declaration_2705", "An async function or method in ES5 requires the 'Promise' constructor.  Make sure you have a declaration for the 'Promise' constructor or include 'ES2015' in your '--lib' option."),
        Required_type_parameters_may_not_follow_optional_type_parameters: b(2706, 1, "Required_type_parameters_may_not_follow_optional_type_parameters_2706", "Required type parameters may not follow optional type parameters."),
        Generic_type_0_requires_between_1_and_2_type_arguments: b(2707, 1, "Generic_type_0_requires_between_1_and_2_type_arguments_2707", "Generic type '{0}' requires between {1} and {2} type arguments."),
        Cannot_use_namespace_0_as_a_value: b(2708, 1, "Cannot_use_namespace_0_as_a_value_2708", "Cannot use namespace '{0}' as a value."),
        Cannot_use_namespace_0_as_a_type: b(2709, 1, "Cannot_use_namespace_0_as_a_type_2709", "Cannot use namespace '{0}' as a type."),
        _0_are_specified_twice_The_attribute_named_0_will_be_overwritten: b(2710, 1, "_0_are_specified_twice_The_attribute_named_0_will_be_overwritten_2710", "'{0}' are specified twice. The attribute named '{0}' will be overwritten."),
        A_dynamic_import_call_returns_a_Promise_Make_sure_you_have_a_declaration_for_Promise_or_include_ES2015_in_your_lib_option: b(2711, 1, "A_dynamic_import_call_returns_a_Promise_Make_sure_you_have_a_declaration_for_Promise_or_include_ES20_2711", "A dynamic import call returns a 'Promise'. Make sure you have a declaration for 'Promise' or include 'ES2015' in your '--lib' option."),
        A_dynamic_import_call_in_ES5_requires_the_Promise_constructor_Make_sure_you_have_a_declaration_for_the_Promise_constructor_or_include_ES2015_in_your_lib_option: b(2712, 1, "A_dynamic_import_call_in_ES5_requires_the_Promise_constructor_Make_sure_you_have_a_declaration_for_t_2712", "A dynamic import call in ES5 requires the 'Promise' constructor.  Make sure you have a declaration for the 'Promise' constructor or include 'ES2015' in your '--lib' option."),
        Cannot_access_0_1_because_0_is_a_type_but_not_a_namespace_Did_you_mean_to_retrieve_the_type_of_the_property_1_in_0_with_0_1: b(2713, 1, "Cannot_access_0_1_because_0_is_a_type_but_not_a_namespace_Did_you_mean_to_retrieve_the_type_of_the_p_2713", `Cannot access '{0}.{1}' because '{0}' is a type, but not a namespace. Did you mean to retrieve the type of the property '{1}' in '{0}' with '{0}["{1}"]'?`),
        The_expression_of_an_export_assignment_must_be_an_identifier_or_qualified_name_in_an_ambient_context: b(2714, 1, "The_expression_of_an_export_assignment_must_be_an_identifier_or_qualified_name_in_an_ambient_context_2714", "The expression of an export assignment must be an identifier or qualified name in an ambient context."),
        Abstract_property_0_in_class_1_cannot_be_accessed_in_the_constructor: b(2715, 1, "Abstract_property_0_in_class_1_cannot_be_accessed_in_the_constructor_2715", "Abstract property '{0}' in class '{1}' cannot be accessed in the constructor."),
        Type_parameter_0_has_a_circular_default: b(2716, 1, "Type_parameter_0_has_a_circular_default_2716", "Type parameter '{0}' has a circular default."),
        Subsequent_property_declarations_must_have_the_same_type_Property_0_must_be_of_type_1_but_here_has_type_2: b(2717, 1, "Subsequent_property_declarations_must_have_the_same_type_Property_0_must_be_of_type_1_but_here_has_t_2717", "Subsequent property declarations must have the same type.  Property '{0}' must be of type '{1}', but here has type '{2}'."),
        Duplicate_property_0: b(2718, 1, "Duplicate_property_0_2718", "Duplicate property '{0}'."),
        Type_0_is_not_assignable_to_type_1_Two_different_types_with_this_name_exist_but_they_are_unrelated: b(2719, 1, "Type_0_is_not_assignable_to_type_1_Two_different_types_with_this_name_exist_but_they_are_unrelated_2719", "Type '{0}' is not assignable to type '{1}'. Two different types with this name exist, but they are unrelated."),
        Class_0_incorrectly_implements_class_1_Did_you_mean_to_extend_1_and_inherit_its_members_as_a_subclass: b(2720, 1, "Class_0_incorrectly_implements_class_1_Did_you_mean_to_extend_1_and_inherit_its_members_as_a_subclas_2720", "Class '{0}' incorrectly implements class '{1}'. Did you mean to extend '{1}' and inherit its members as a subclass?"),
        Cannot_invoke_an_object_which_is_possibly_null: b(2721, 1, "Cannot_invoke_an_object_which_is_possibly_null_2721", "Cannot invoke an object which is possibly 'null'."),
        Cannot_invoke_an_object_which_is_possibly_undefined: b(2722, 1, "Cannot_invoke_an_object_which_is_possibly_undefined_2722", "Cannot invoke an object which is possibly 'undefined'."),
        Cannot_invoke_an_object_which_is_possibly_null_or_undefined: b(2723, 1, "Cannot_invoke_an_object_which_is_possibly_null_or_undefined_2723", "Cannot invoke an object which is possibly 'null' or 'undefined'."),
        _0_has_no_exported_member_named_1_Did_you_mean_2: b(2724, 1, "_0_has_no_exported_member_named_1_Did_you_mean_2_2724", "'{0}' has no exported member named '{1}'. Did you mean '{2}'?"),
        Class_name_cannot_be_Object_when_targeting_ES5_with_module_0: b(2725, 1, "Class_name_cannot_be_Object_when_targeting_ES5_with_module_0_2725", "Class name cannot be 'Object' when targeting ES5 with module {0}."),
        Cannot_find_lib_definition_for_0: b(2726, 1, "Cannot_find_lib_definition_for_0_2726", "Cannot find lib definition for '{0}'."),
        Cannot_find_lib_definition_for_0_Did_you_mean_1: b(2727, 1, "Cannot_find_lib_definition_for_0_Did_you_mean_1_2727", "Cannot find lib definition for '{0}'. Did you mean '{1}'?"),
        _0_is_declared_here: b(2728, 3, "_0_is_declared_here_2728", "'{0}' is declared here."),
        Property_0_is_used_before_its_initialization: b(2729, 1, "Property_0_is_used_before_its_initialization_2729", "Property '{0}' is used before its initialization."),
        An_arrow_function_cannot_have_a_this_parameter: b(2730, 1, "An_arrow_function_cannot_have_a_this_parameter_2730", "An arrow function cannot have a 'this' parameter."),
        Implicit_conversion_of_a_symbol_to_a_string_will_fail_at_runtime_Consider_wrapping_this_expression_in_String: b(2731, 1, "Implicit_conversion_of_a_symbol_to_a_string_will_fail_at_runtime_Consider_wrapping_this_expression_i_2731", "Implicit conversion of a 'symbol' to a 'string' will fail at runtime. Consider wrapping this expression in 'String(...)'."),
        Cannot_find_module_0_Consider_using_resolveJsonModule_to_import_module_with_json_extension: b(2732, 1, "Cannot_find_module_0_Consider_using_resolveJsonModule_to_import_module_with_json_extension_2732", "Cannot find module '{0}'. Consider using '--resolveJsonModule' to import module with '.json' extension."),
        Property_0_was_also_declared_here: b(2733, 1, "Property_0_was_also_declared_here_2733", "Property '{0}' was also declared here."),
        Are_you_missing_a_semicolon: b(2734, 1, "Are_you_missing_a_semicolon_2734", "Are you missing a semicolon?"),
        Did_you_mean_for_0_to_be_constrained_to_type_new_args_Colon_any_1: b(2735, 1, "Did_you_mean_for_0_to_be_constrained_to_type_new_args_Colon_any_1_2735", "Did you mean for '{0}' to be constrained to type 'new (...args: any[]) => {1}'?"),
        Operator_0_cannot_be_applied_to_type_1: b(2736, 1, "Operator_0_cannot_be_applied_to_type_1_2736", "Operator '{0}' cannot be applied to type '{1}'."),
        BigInt_literals_are_not_available_when_targeting_lower_than_ES2020: b(2737, 1, "BigInt_literals_are_not_available_when_targeting_lower_than_ES2020_2737", "BigInt literals are not available when targeting lower than ES2020."),
        An_outer_value_of_this_is_shadowed_by_this_container: b(2738, 3, "An_outer_value_of_this_is_shadowed_by_this_container_2738", "An outer value of 'this' is shadowed by this container."),
        Type_0_is_missing_the_following_properties_from_type_1_Colon_2: b(2739, 1, "Type_0_is_missing_the_following_properties_from_type_1_Colon_2_2739", "Type '{0}' is missing the following properties from type '{1}': {2}"),
        Type_0_is_missing_the_following_properties_from_type_1_Colon_2_and_3_more: b(2740, 1, "Type_0_is_missing_the_following_properties_from_type_1_Colon_2_and_3_more_2740", "Type '{0}' is missing the following properties from type '{1}': {2}, and {3} more."),
        Property_0_is_missing_in_type_1_but_required_in_type_2: b(2741, 1, "Property_0_is_missing_in_type_1_but_required_in_type_2_2741", "Property '{0}' is missing in type '{1}' but required in type '{2}'."),
        The_inferred_type_of_0_cannot_be_named_without_a_reference_to_1_This_is_likely_not_portable_A_type_annotation_is_necessary: b(2742, 1, "The_inferred_type_of_0_cannot_be_named_without_a_reference_to_1_This_is_likely_not_portable_A_type_a_2742", "The inferred type of '{0}' cannot be named without a reference to '{1}'. This is likely not portable. A type annotation is necessary."),
        No_overload_expects_0_type_arguments_but_overloads_do_exist_that_expect_either_1_or_2_type_arguments: b(2743, 1, "No_overload_expects_0_type_arguments_but_overloads_do_exist_that_expect_either_1_or_2_type_arguments_2743", "No overload expects {0} type arguments, but overloads do exist that expect either {1} or {2} type arguments."),
        Type_parameter_defaults_can_only_reference_previously_declared_type_parameters: b(2744, 1, "Type_parameter_defaults_can_only_reference_previously_declared_type_parameters_2744", "Type parameter defaults can only reference previously declared type parameters."),
        This_JSX_tag_s_0_prop_expects_type_1_which_requires_multiple_children_but_only_a_single_child_was_provided: b(2745, 1, "This_JSX_tag_s_0_prop_expects_type_1_which_requires_multiple_children_but_only_a_single_child_was_pr_2745", "This JSX tag's '{0}' prop expects type '{1}' which requires multiple children, but only a single child was provided."),
        This_JSX_tag_s_0_prop_expects_a_single_child_of_type_1_but_multiple_children_were_provided: b(2746, 1, "This_JSX_tag_s_0_prop_expects_a_single_child_of_type_1_but_multiple_children_were_provided_2746", "This JSX tag's '{0}' prop expects a single child of type '{1}', but multiple children were provided."),
        _0_components_don_t_accept_text_as_child_elements_Text_in_JSX_has_the_type_string_but_the_expected_type_of_1_is_2: b(2747, 1, "_0_components_don_t_accept_text_as_child_elements_Text_in_JSX_has_the_type_string_but_the_expected_t_2747", "'{0}' components don't accept text as child elements. Text in JSX has the type 'string', but the expected type of '{1}' is '{2}'."),
        Cannot_access_ambient_const_enums_when_0_is_enabled: b(2748, 1, "Cannot_access_ambient_const_enums_when_0_is_enabled_2748", "Cannot access ambient const enums when '{0}' is enabled."),
        _0_refers_to_a_value_but_is_being_used_as_a_type_here_Did_you_mean_typeof_0: b(2749, 1, "_0_refers_to_a_value_but_is_being_used_as_a_type_here_Did_you_mean_typeof_0_2749", "'{0}' refers to a value, but is being used as a type here. Did you mean 'typeof {0}'?"),
        The_implementation_signature_is_declared_here: b(2750, 1, "The_implementation_signature_is_declared_here_2750", "The implementation signature is declared here."),
        Circularity_originates_in_type_at_this_location: b(2751, 1, "Circularity_originates_in_type_at_this_location_2751", "Circularity originates in type at this location."),
        The_first_export_default_is_here: b(2752, 1, "The_first_export_default_is_here_2752", "The first export default is here."),
        Another_export_default_is_here: b(2753, 1, "Another_export_default_is_here_2753", "Another export default is here."),
        super_may_not_use_type_arguments: b(2754, 1, "super_may_not_use_type_arguments_2754", "'super' may not use type arguments."),
        No_constituent_of_type_0_is_callable: b(2755, 1, "No_constituent_of_type_0_is_callable_2755", "No constituent of type '{0}' is callable."),
        Not_all_constituents_of_type_0_are_callable: b(2756, 1, "Not_all_constituents_of_type_0_are_callable_2756", "Not all constituents of type '{0}' are callable."),
        Type_0_has_no_call_signatures: b(2757, 1, "Type_0_has_no_call_signatures_2757", "Type '{0}' has no call signatures."),
        Each_member_of_the_union_type_0_has_signatures_but_none_of_those_signatures_are_compatible_with_each_other: b(2758, 1, "Each_member_of_the_union_type_0_has_signatures_but_none_of_those_signatures_are_compatible_with_each_2758", "Each member of the union type '{0}' has signatures, but none of those signatures are compatible with each other."),
        No_constituent_of_type_0_is_constructable: b(2759, 1, "No_constituent_of_type_0_is_constructable_2759", "No constituent of type '{0}' is constructable."),
        Not_all_constituents_of_type_0_are_constructable: b(2760, 1, "Not_all_constituents_of_type_0_are_constructable_2760", "Not all constituents of type '{0}' are constructable."),
        Type_0_has_no_construct_signatures: b(2761, 1, "Type_0_has_no_construct_signatures_2761", "Type '{0}' has no construct signatures."),
        Each_member_of_the_union_type_0_has_construct_signatures_but_none_of_those_signatures_are_compatible_with_each_other: b(2762, 1, "Each_member_of_the_union_type_0_has_construct_signatures_but_none_of_those_signatures_are_compatible_2762", "Each member of the union type '{0}' has construct signatures, but none of those signatures are compatible with each other."),
        Cannot_iterate_value_because_the_next_method_of_its_iterator_expects_type_1_but_for_of_will_always_send_0: b(2763, 1, "Cannot_iterate_value_because_the_next_method_of_its_iterator_expects_type_1_but_for_of_will_always_s_2763", "Cannot iterate value because the 'next' method of its iterator expects type '{1}', but for-of will always send '{0}'."),
        Cannot_iterate_value_because_the_next_method_of_its_iterator_expects_type_1_but_array_spread_will_always_send_0: b(2764, 1, "Cannot_iterate_value_because_the_next_method_of_its_iterator_expects_type_1_but_array_spread_will_al_2764", "Cannot iterate value because the 'next' method of its iterator expects type '{1}', but array spread will always send '{0}'."),
        Cannot_iterate_value_because_the_next_method_of_its_iterator_expects_type_1_but_array_destructuring_will_always_send_0: b(2765, 1, "Cannot_iterate_value_because_the_next_method_of_its_iterator_expects_type_1_but_array_destructuring__2765", "Cannot iterate value because the 'next' method of its iterator expects type '{1}', but array destructuring will always send '{0}'."),
        Cannot_delegate_iteration_to_value_because_the_next_method_of_its_iterator_expects_type_1_but_the_containing_generator_will_always_send_0: b(2766, 1, "Cannot_delegate_iteration_to_value_because_the_next_method_of_its_iterator_expects_type_1_but_the_co_2766", "Cannot delegate iteration to value because the 'next' method of its iterator expects type '{1}', but the containing generator will always send '{0}'."),
        The_0_property_of_an_iterator_must_be_a_method: b(2767, 1, "The_0_property_of_an_iterator_must_be_a_method_2767", "The '{0}' property of an iterator must be a method."),
        The_0_property_of_an_async_iterator_must_be_a_method: b(2768, 1, "The_0_property_of_an_async_iterator_must_be_a_method_2768", "The '{0}' property of an async iterator must be a method."),
        No_overload_matches_this_call: b(2769, 1, "No_overload_matches_this_call_2769", "No overload matches this call."),
        The_last_overload_gave_the_following_error: b(2770, 1, "The_last_overload_gave_the_following_error_2770", "The last overload gave the following error."),
        The_last_overload_is_declared_here: b(2771, 1, "The_last_overload_is_declared_here_2771", "The last overload is declared here."),
        Overload_0_of_1_2_gave_the_following_error: b(2772, 1, "Overload_0_of_1_2_gave_the_following_error_2772", "Overload {0} of {1}, '{2}', gave the following error."),
        Did_you_forget_to_use_await: b(2773, 1, "Did_you_forget_to_use_await_2773", "Did you forget to use 'await'?"),
        This_condition_will_always_return_true_since_this_function_is_always_defined_Did_you_mean_to_call_it_instead: b(2774, 1, "This_condition_will_always_return_true_since_this_function_is_always_defined_Did_you_mean_to_call_it_2774", "This condition will always return true since this function is always defined. Did you mean to call it instead?"),
        Assertions_require_every_name_in_the_call_target_to_be_declared_with_an_explicit_type_annotation: b(2775, 1, "Assertions_require_every_name_in_the_call_target_to_be_declared_with_an_explicit_type_annotation_2775", "Assertions require every name in the call target to be declared with an explicit type annotation."),
        Assertions_require_the_call_target_to_be_an_identifier_or_qualified_name: b(2776, 1, "Assertions_require_the_call_target_to_be_an_identifier_or_qualified_name_2776", "Assertions require the call target to be an identifier or qualified name."),
        The_operand_of_an_increment_or_decrement_operator_may_not_be_an_optional_property_access: b(2777, 1, "The_operand_of_an_increment_or_decrement_operator_may_not_be_an_optional_property_access_2777", "The operand of an increment or decrement operator may not be an optional property access."),
        The_target_of_an_object_rest_assignment_may_not_be_an_optional_property_access: b(2778, 1, "The_target_of_an_object_rest_assignment_may_not_be_an_optional_property_access_2778", "The target of an object rest assignment may not be an optional property access."),
        The_left_hand_side_of_an_assignment_expression_may_not_be_an_optional_property_access: b(2779, 1, "The_left_hand_side_of_an_assignment_expression_may_not_be_an_optional_property_access_2779", "The left-hand side of an assignment expression may not be an optional property access."),
        The_left_hand_side_of_a_for_in_statement_may_not_be_an_optional_property_access: b(2780, 1, "The_left_hand_side_of_a_for_in_statement_may_not_be_an_optional_property_access_2780", "The left-hand side of a 'for...in' statement may not be an optional property access."),
        The_left_hand_side_of_a_for_of_statement_may_not_be_an_optional_property_access: b(2781, 1, "The_left_hand_side_of_a_for_of_statement_may_not_be_an_optional_property_access_2781", "The left-hand side of a 'for...of' statement may not be an optional property access."),
        _0_needs_an_explicit_type_annotation: b(2782, 3, "_0_needs_an_explicit_type_annotation_2782", "'{0}' needs an explicit type annotation."),
        _0_is_specified_more_than_once_so_this_usage_will_be_overwritten: b(2783, 1, "_0_is_specified_more_than_once_so_this_usage_will_be_overwritten_2783", "'{0}' is specified more than once, so this usage will be overwritten."),
        get_and_set_accessors_cannot_declare_this_parameters: b(2784, 1, "get_and_set_accessors_cannot_declare_this_parameters_2784", "'get' and 'set' accessors cannot declare 'this' parameters."),
        This_spread_always_overwrites_this_property: b(2785, 1, "This_spread_always_overwrites_this_property_2785", "This spread always overwrites this property."),
        _0_cannot_be_used_as_a_JSX_component: b(2786, 1, "_0_cannot_be_used_as_a_JSX_component_2786", "'{0}' cannot be used as a JSX component."),
        Its_return_type_0_is_not_a_valid_JSX_element: b(2787, 1, "Its_return_type_0_is_not_a_valid_JSX_element_2787", "Its return type '{0}' is not a valid JSX element."),
        Its_instance_type_0_is_not_a_valid_JSX_element: b(2788, 1, "Its_instance_type_0_is_not_a_valid_JSX_element_2788", "Its instance type '{0}' is not a valid JSX element."),
        Its_element_type_0_is_not_a_valid_JSX_element: b(2789, 1, "Its_element_type_0_is_not_a_valid_JSX_element_2789", "Its element type '{0}' is not a valid JSX element."),
        The_operand_of_a_delete_operator_must_be_optional: b(2790, 1, "The_operand_of_a_delete_operator_must_be_optional_2790", "The operand of a 'delete' operator must be optional."),
        Exponentiation_cannot_be_performed_on_bigint_values_unless_the_target_option_is_set_to_es2016_or_later: b(2791, 1, "Exponentiation_cannot_be_performed_on_bigint_values_unless_the_target_option_is_set_to_es2016_or_lat_2791", "Exponentiation cannot be performed on 'bigint' values unless the 'target' option is set to 'es2016' or later."),
        Cannot_find_module_0_Did_you_mean_to_set_the_moduleResolution_option_to_nodenext_or_to_add_aliases_to_the_paths_option: b(2792, 1, "Cannot_find_module_0_Did_you_mean_to_set_the_moduleResolution_option_to_nodenext_or_to_add_aliases_t_2792", "Cannot find module '{0}'. Did you mean to set the 'moduleResolution' option to 'nodenext', or to add aliases to the 'paths' option?"),
        The_call_would_have_succeeded_against_this_implementation_but_implementation_signatures_of_overloads_are_not_externally_visible: b(2793, 1, "The_call_would_have_succeeded_against_this_implementation_but_implementation_signatures_of_overloads_2793", "The call would have succeeded against this implementation, but implementation signatures of overloads are not externally visible."),
        Expected_0_arguments_but_got_1_Did_you_forget_to_include_void_in_your_type_argument_to_Promise: b(2794, 1, "Expected_0_arguments_but_got_1_Did_you_forget_to_include_void_in_your_type_argument_to_Promise_2794", "Expected {0} arguments, but got {1}. Did you forget to include 'void' in your type argument to 'Promise'?"),
        The_intrinsic_keyword_can_only_be_used_to_declare_compiler_provided_intrinsic_types: b(2795, 1, "The_intrinsic_keyword_can_only_be_used_to_declare_compiler_provided_intrinsic_types_2795", "The 'intrinsic' keyword can only be used to declare compiler provided intrinsic types."),
        It_is_likely_that_you_are_missing_a_comma_to_separate_these_two_template_expressions_They_form_a_tagged_template_expression_which_cannot_be_invoked: b(2796, 1, "It_is_likely_that_you_are_missing_a_comma_to_separate_these_two_template_expressions_They_form_a_tag_2796", "It is likely that you are missing a comma to separate these two template expressions. They form a tagged template expression which cannot be invoked."),
        A_mixin_class_that_extends_from_a_type_variable_containing_an_abstract_construct_signature_must_also_be_declared_abstract: b(2797, 1, "A_mixin_class_that_extends_from_a_type_variable_containing_an_abstract_construct_signature_must_also_2797", "A mixin class that extends from a type variable containing an abstract construct signature must also be declared 'abstract'."),
        The_declaration_was_marked_as_deprecated_here: b(2798, 1, "The_declaration_was_marked_as_deprecated_here_2798", "The declaration was marked as deprecated here."),
        Type_produces_a_tuple_type_that_is_too_large_to_represent: b(2799, 1, "Type_produces_a_tuple_type_that_is_too_large_to_represent_2799", "Type produces a tuple type that is too large to represent."),
        Expression_produces_a_tuple_type_that_is_too_large_to_represent: b(2800, 1, "Expression_produces_a_tuple_type_that_is_too_large_to_represent_2800", "Expression produces a tuple type that is too large to represent."),
        This_condition_will_always_return_true_since_this_0_is_always_defined: b(2801, 1, "This_condition_will_always_return_true_since_this_0_is_always_defined_2801", "This condition will always return true since this '{0}' is always defined."),
        Type_0_can_only_be_iterated_through_when_using_the_downlevelIteration_flag_or_with_a_target_of_es2015_or_higher: b(2802, 1, "Type_0_can_only_be_iterated_through_when_using_the_downlevelIteration_flag_or_with_a_target_of_es201_2802", "Type '{0}' can only be iterated through when using the '--downlevelIteration' flag or with a '--target' of 'es2015' or higher."),
        Cannot_assign_to_private_method_0_Private_methods_are_not_writable: b(2803, 1, "Cannot_assign_to_private_method_0_Private_methods_are_not_writable_2803", "Cannot assign to private method '{0}'. Private methods are not writable."),
        Duplicate_identifier_0_Static_and_instance_elements_cannot_share_the_same_private_name: b(2804, 1, "Duplicate_identifier_0_Static_and_instance_elements_cannot_share_the_same_private_name_2804", "Duplicate identifier '{0}'. Static and instance elements cannot share the same private name."),
        Private_accessor_was_defined_without_a_getter: b(2806, 1, "Private_accessor_was_defined_without_a_getter_2806", "Private accessor was defined without a getter."),
        This_syntax_requires_an_imported_helper_named_1_with_2_parameters_which_is_not_compatible_with_the_one_in_0_Consider_upgrading_your_version_of_0: b(2807, 1, "This_syntax_requires_an_imported_helper_named_1_with_2_parameters_which_is_not_compatible_with_the_o_2807", "This syntax requires an imported helper named '{1}' with {2} parameters, which is not compatible with the one in '{0}'. Consider upgrading your version of '{0}'."),
        A_get_accessor_must_be_at_least_as_accessible_as_the_setter: b(2808, 1, "A_get_accessor_must_be_at_least_as_accessible_as_the_setter_2808", "A get accessor must be at least as accessible as the setter"),
        Declaration_or_statement_expected_This_follows_a_block_of_statements_so_if_you_intended_to_write_a_destructuring_assignment_you_might_need_to_wrap_the_whole_assignment_in_parentheses: b(2809, 1, "Declaration_or_statement_expected_This_follows_a_block_of_statements_so_if_you_intended_to_write_a_d_2809", "Declaration or statement expected. This '=' follows a block of statements, so if you intended to write a destructuring assignment, you might need to wrap the whole assignment in parentheses."),
        Expected_1_argument_but_got_0_new_Promise_needs_a_JSDoc_hint_to_produce_a_resolve_that_can_be_called_without_arguments: b(2810, 1, "Expected_1_argument_but_got_0_new_Promise_needs_a_JSDoc_hint_to_produce_a_resolve_that_can_be_called_2810", "Expected 1 argument, but got 0. 'new Promise()' needs a JSDoc hint to produce a 'resolve' that can be called without arguments."),
        Initializer_for_property_0: b(2811, 1, "Initializer_for_property_0_2811", "Initializer for property '{0}'"),
        Property_0_does_not_exist_on_type_1_Try_changing_the_lib_compiler_option_to_include_dom: b(2812, 1, "Property_0_does_not_exist_on_type_1_Try_changing_the_lib_compiler_option_to_include_dom_2812", "Property '{0}' does not exist on type '{1}'. Try changing the 'lib' compiler option to include 'dom'."),
        Class_declaration_cannot_implement_overload_list_for_0: b(2813, 1, "Class_declaration_cannot_implement_overload_list_for_0_2813", "Class declaration cannot implement overload list for '{0}'."),
        Function_with_bodies_can_only_merge_with_classes_that_are_ambient: b(2814, 1, "Function_with_bodies_can_only_merge_with_classes_that_are_ambient_2814", "Function with bodies can only merge with classes that are ambient."),
        arguments_cannot_be_referenced_in_property_initializers: b(2815, 1, "arguments_cannot_be_referenced_in_property_initializers_2815", "'arguments' cannot be referenced in property initializers."),
        Cannot_use_this_in_a_static_property_initializer_of_a_decorated_class: b(2816, 1, "Cannot_use_this_in_a_static_property_initializer_of_a_decorated_class_2816", "Cannot use 'this' in a static property initializer of a decorated class."),
        Property_0_has_no_initializer_and_is_not_definitely_assigned_in_a_class_static_block: b(2817, 1, "Property_0_has_no_initializer_and_is_not_definitely_assigned_in_a_class_static_block_2817", "Property '{0}' has no initializer and is not definitely assigned in a class static block."),
        Duplicate_identifier_0_Compiler_reserves_name_1_when_emitting_super_references_in_static_initializers: b(2818, 1, "Duplicate_identifier_0_Compiler_reserves_name_1_when_emitting_super_references_in_static_initializer_2818", "Duplicate identifier '{0}'. Compiler reserves name '{1}' when emitting 'super' references in static initializers."),
        Namespace_name_cannot_be_0: b(2819, 1, "Namespace_name_cannot_be_0_2819", "Namespace name cannot be '{0}'."),
        Type_0_is_not_assignable_to_type_1_Did_you_mean_2: b(2820, 1, "Type_0_is_not_assignable_to_type_1_Did_you_mean_2_2820", "Type '{0}' is not assignable to type '{1}'. Did you mean '{2}'?"),
        Import_assertions_are_only_supported_when_the_module_option_is_set_to_esnext_node18_nodenext_or_preserve: b(2821, 1, "Import_assertions_are_only_supported_when_the_module_option_is_set_to_esnext_node18_nodenext_or_pres_2821", "Import assertions are only supported when the '--module' option is set to 'esnext', 'node18', 'nodenext', or 'preserve'."),
        Import_assertions_cannot_be_used_with_type_only_imports_or_exports: b(2822, 1, "Import_assertions_cannot_be_used_with_type_only_imports_or_exports_2822", "Import assertions cannot be used with type-only imports or exports."),
        Import_attributes_are_only_supported_when_the_module_option_is_set_to_esnext_node18_nodenext_or_preserve: b(2823, 1, "Import_attributes_are_only_supported_when_the_module_option_is_set_to_esnext_node18_nodenext_or_pres_2823", "Import attributes are only supported when the '--module' option is set to 'esnext', 'node18', 'nodenext', or 'preserve'."),
        Cannot_find_namespace_0_Did_you_mean_1: b(2833, 1, "Cannot_find_namespace_0_Did_you_mean_1_2833", "Cannot find namespace '{0}'. Did you mean '{1}'?"),
        Relative_import_paths_need_explicit_file_extensions_in_ECMAScript_imports_when_moduleResolution_is_node16_or_nodenext_Consider_adding_an_extension_to_the_import_path: b(2834, 1, "Relative_import_paths_need_explicit_file_extensions_in_ECMAScript_imports_when_moduleResolution_is_n_2834", "Relative import paths need explicit file extensions in ECMAScript imports when '--moduleResolution' is 'node16' or 'nodenext'. Consider adding an extension to the import path."),
        Relative_import_paths_need_explicit_file_extensions_in_ECMAScript_imports_when_moduleResolution_is_node16_or_nodenext_Did_you_mean_0: b(2835, 1, "Relative_import_paths_need_explicit_file_extensions_in_ECMAScript_imports_when_moduleResolution_is_n_2835", "Relative import paths need explicit file extensions in ECMAScript imports when '--moduleResolution' is 'node16' or 'nodenext'. Did you mean '{0}'?"),
        Import_assertions_are_not_allowed_on_statements_that_compile_to_CommonJS_require_calls: b(2836, 1, "Import_assertions_are_not_allowed_on_statements_that_compile_to_CommonJS_require_calls_2836", "Import assertions are not allowed on statements that compile to CommonJS 'require' calls."),
        Import_assertion_values_must_be_string_literal_expressions: b(2837, 1, "Import_assertion_values_must_be_string_literal_expressions_2837", "Import assertion values must be string literal expressions."),
        All_declarations_of_0_must_have_identical_constraints: b(2838, 1, "All_declarations_of_0_must_have_identical_constraints_2838", "All declarations of '{0}' must have identical constraints."),
        This_condition_will_always_return_0_since_JavaScript_compares_objects_by_reference_not_value: b(2839, 1, "This_condition_will_always_return_0_since_JavaScript_compares_objects_by_reference_not_value_2839", "This condition will always return '{0}' since JavaScript compares objects by reference, not value."),
        An_interface_cannot_extend_a_primitive_type_like_0_It_can_only_extend_other_named_object_types: b(2840, 1, "An_interface_cannot_extend_a_primitive_type_like_0_It_can_only_extend_other_named_object_types_2840", "An interface cannot extend a primitive type like '{0}'. It can only extend other named object types."),
        _0_is_an_unused_renaming_of_1_Did_you_intend_to_use_it_as_a_type_annotation: b(2842, 1, "_0_is_an_unused_renaming_of_1_Did_you_intend_to_use_it_as_a_type_annotation_2842", "'{0}' is an unused renaming of '{1}'. Did you intend to use it as a type annotation?"),
        We_can_only_write_a_type_for_0_by_adding_a_type_for_the_entire_parameter_here: b(2843, 1, "We_can_only_write_a_type_for_0_by_adding_a_type_for_the_entire_parameter_here_2843", "We can only write a type for '{0}' by adding a type for the entire parameter here."),
        Type_of_instance_member_variable_0_cannot_reference_identifier_1_declared_in_the_constructor: b(2844, 1, "Type_of_instance_member_variable_0_cannot_reference_identifier_1_declared_in_the_constructor_2844", "Type of instance member variable '{0}' cannot reference identifier '{1}' declared in the constructor."),
        This_condition_will_always_return_0: b(2845, 1, "This_condition_will_always_return_0_2845", "This condition will always return '{0}'."),
        A_declaration_file_cannot_be_imported_without_import_type_Did_you_mean_to_import_an_implementation_file_0_instead: b(2846, 1, "A_declaration_file_cannot_be_imported_without_import_type_Did_you_mean_to_import_an_implementation_f_2846", "A declaration file cannot be imported without 'import type'. Did you mean to import an implementation file '{0}' instead?"),
        The_right_hand_side_of_an_instanceof_expression_must_not_be_an_instantiation_expression: b(2848, 1, "The_right_hand_side_of_an_instanceof_expression_must_not_be_an_instantiation_expression_2848", "The right-hand side of an 'instanceof' expression must not be an instantiation expression."),
        Target_signature_provides_too_few_arguments_Expected_0_or_more_but_got_1: b(2849, 1, "Target_signature_provides_too_few_arguments_Expected_0_or_more_but_got_1_2849", "Target signature provides too few arguments. Expected {0} or more, but got {1}."),
        The_initializer_of_a_using_declaration_must_be_either_an_object_with_a_Symbol_dispose_method_or_be_null_or_undefined: b(2850, 1, "The_initializer_of_a_using_declaration_must_be_either_an_object_with_a_Symbol_dispose_method_or_be_n_2850", "The initializer of a 'using' declaration must be either an object with a '[Symbol.dispose]()' method, or be 'null' or 'undefined'."),
        The_initializer_of_an_await_using_declaration_must_be_either_an_object_with_a_Symbol_asyncDispose_or_Symbol_dispose_method_or_be_null_or_undefined: b(2851, 1, "The_initializer_of_an_await_using_declaration_must_be_either_an_object_with_a_Symbol_asyncDispose_or_2851", "The initializer of an 'await using' declaration must be either an object with a '[Symbol.asyncDispose]()' or '[Symbol.dispose]()' method, or be 'null' or 'undefined'."),
        await_using_statements_are_only_allowed_within_async_functions_and_at_the_top_levels_of_modules: b(2852, 1, "await_using_statements_are_only_allowed_within_async_functions_and_at_the_top_levels_of_modules_2852", "'await using' statements are only allowed within async functions and at the top levels of modules."),
        await_using_statements_are_only_allowed_at_the_top_level_of_a_file_when_that_file_is_a_module_but_this_file_has_no_imports_or_exports_Consider_adding_an_empty_export_to_make_this_file_a_module: b(2853, 1, "await_using_statements_are_only_allowed_at_the_top_level_of_a_file_when_that_file_is_a_module_but_th_2853", "'await using' statements are only allowed at the top level of a file when that file is a module, but this file has no imports or exports. Consider adding an empty 'export {}' to make this file a module."),
        Top_level_await_using_statements_are_only_allowed_when_the_module_option_is_set_to_es2022_esnext_system_node16_node18_nodenext_or_preserve_and_the_target_option_is_set_to_es2017_or_higher: b(2854, 1, "Top_level_await_using_statements_are_only_allowed_when_the_module_option_is_set_to_es2022_esnext_sys_2854", "Top-level 'await using' statements are only allowed when the 'module' option is set to 'es2022', 'esnext', 'system', 'node16', 'node18', 'nodenext', or 'preserve', and the 'target' option is set to 'es2017' or higher."),
        Class_field_0_defined_by_the_parent_class_is_not_accessible_in_the_child_class_via_super: b(2855, 1, "Class_field_0_defined_by_the_parent_class_is_not_accessible_in_the_child_class_via_super_2855", "Class field '{0}' defined by the parent class is not accessible in the child class via super."),
        Import_attributes_are_not_allowed_on_statements_that_compile_to_CommonJS_require_calls: b(2856, 1, "Import_attributes_are_not_allowed_on_statements_that_compile_to_CommonJS_require_calls_2856", "Import attributes are not allowed on statements that compile to CommonJS 'require' calls."),
        Import_attributes_cannot_be_used_with_type_only_imports_or_exports: b(2857, 1, "Import_attributes_cannot_be_used_with_type_only_imports_or_exports_2857", "Import attributes cannot be used with type-only imports or exports."),
        Import_attribute_values_must_be_string_literal_expressions: b(2858, 1, "Import_attribute_values_must_be_string_literal_expressions_2858", "Import attribute values must be string literal expressions."),
        Excessive_complexity_comparing_types_0_and_1: b(2859, 1, "Excessive_complexity_comparing_types_0_and_1_2859", "Excessive complexity comparing types '{0}' and '{1}'."),
        The_left_hand_side_of_an_instanceof_expression_must_be_assignable_to_the_first_argument_of_the_right_hand_side_s_Symbol_hasInstance_method: b(2860, 1, "The_left_hand_side_of_an_instanceof_expression_must_be_assignable_to_the_first_argument_of_the_right_2860", "The left-hand side of an 'instanceof' expression must be assignable to the first argument of the right-hand side's '[Symbol.hasInstance]' method."),
        An_object_s_Symbol_hasInstance_method_must_return_a_boolean_value_for_it_to_be_used_on_the_right_hand_side_of_an_instanceof_expression: b(2861, 1, "An_object_s_Symbol_hasInstance_method_must_return_a_boolean_value_for_it_to_be_used_on_the_right_han_2861", "An object's '[Symbol.hasInstance]' method must return a boolean value for it to be used on the right-hand side of an 'instanceof' expression."),
        Type_0_is_generic_and_can_only_be_indexed_for_reading: b(2862, 1, "Type_0_is_generic_and_can_only_be_indexed_for_reading_2862", "Type '{0}' is generic and can only be indexed for reading."),
        A_class_cannot_extend_a_primitive_type_like_0_Classes_can_only_extend_constructable_values: b(2863, 1, "A_class_cannot_extend_a_primitive_type_like_0_Classes_can_only_extend_constructable_values_2863", "A class cannot extend a primitive type like '{0}'. Classes can only extend constructable values."),
        A_class_cannot_implement_a_primitive_type_like_0_It_can_only_implement_other_named_object_types: b(2864, 1, "A_class_cannot_implement_a_primitive_type_like_0_It_can_only_implement_other_named_object_types_2864", "A class cannot implement a primitive type like '{0}'. It can only implement other named object types."),
        Import_0_conflicts_with_local_value_so_must_be_declared_with_a_type_only_import_when_isolatedModules_is_enabled: b(2865, 1, "Import_0_conflicts_with_local_value_so_must_be_declared_with_a_type_only_import_when_isolatedModules_2865", "Import '{0}' conflicts with local value, so must be declared with a type-only import when 'isolatedModules' is enabled."),
        Import_0_conflicts_with_global_value_used_in_this_file_so_must_be_declared_with_a_type_only_import_when_isolatedModules_is_enabled: b(2866, 1, "Import_0_conflicts_with_global_value_used_in_this_file_so_must_be_declared_with_a_type_only_import_w_2866", "Import '{0}' conflicts with global value used in this file, so must be declared with a type-only import when 'isolatedModules' is enabled."),
        Cannot_find_name_0_Do_you_need_to_install_type_definitions_for_Bun_Try_npm_i_save_dev_types_Slashbun: b(2867, 1, "Cannot_find_name_0_Do_you_need_to_install_type_definitions_for_Bun_Try_npm_i_save_dev_types_Slashbun_2867", "Cannot find name '{0}'. Do you need to install type definitions for Bun? Try `npm i --save-dev @types/bun`."),
        Cannot_find_name_0_Do_you_need_to_install_type_definitions_for_Bun_Try_npm_i_save_dev_types_Slashbun_and_then_add_bun_to_the_types_field_in_your_tsconfig: b(2868, 1, "Cannot_find_name_0_Do_you_need_to_install_type_definitions_for_Bun_Try_npm_i_save_dev_types_Slashbun_2868", "Cannot find name '{0}'. Do you need to install type definitions for Bun? Try `npm i --save-dev @types/bun` and then add 'bun' to the types field in your tsconfig."),
        Right_operand_of_is_unreachable_because_the_left_operand_is_never_nullish: b(2869, 1, "Right_operand_of_is_unreachable_because_the_left_operand_is_never_nullish_2869", "Right operand of ?? is unreachable because the left operand is never nullish."),
        This_binary_expression_is_never_nullish_Are_you_missing_parentheses: b(2870, 1, "This_binary_expression_is_never_nullish_Are_you_missing_parentheses_2870", "This binary expression is never nullish. Are you missing parentheses?"),
        This_expression_is_always_nullish: b(2871, 1, "This_expression_is_always_nullish_2871", "This expression is always nullish."),
        This_kind_of_expression_is_always_truthy: b(2872, 1, "This_kind_of_expression_is_always_truthy_2872", "This kind of expression is always truthy."),
        This_kind_of_expression_is_always_falsy: b(2873, 1, "This_kind_of_expression_is_always_falsy_2873", "This kind of expression is always falsy."),
        This_JSX_tag_requires_0_to_be_in_scope_but_it_could_not_be_found: b(2874, 1, "This_JSX_tag_requires_0_to_be_in_scope_but_it_could_not_be_found_2874", "This JSX tag requires '{0}' to be in scope, but it could not be found."),
        This_JSX_tag_requires_the_module_path_0_to_exist_but_none_could_be_found_Make_sure_you_have_types_for_the_appropriate_package_installed: b(2875, 1, "This_JSX_tag_requires_the_module_path_0_to_exist_but_none_could_be_found_Make_sure_you_have_types_fo_2875", "This JSX tag requires the module path '{0}' to exist, but none could be found. Make sure you have types for the appropriate package installed."),
        This_relative_import_path_is_unsafe_to_rewrite_because_it_looks_like_a_file_name_but_actually_resolves_to_0: b(2876, 1, "This_relative_import_path_is_unsafe_to_rewrite_because_it_looks_like_a_file_name_but_actually_resolv_2876", 'This relative import path is unsafe to rewrite because it looks like a file name, but actually resolves to "{0}".'),
        This_import_uses_a_0_extension_to_resolve_to_an_input_TypeScript_file_but_will_not_be_rewritten_during_emit_because_it_is_not_a_relative_path: b(2877, 1, "This_import_uses_a_0_extension_to_resolve_to_an_input_TypeScript_file_but_will_not_be_rewritten_duri_2877", "This import uses a '{0}' extension to resolve to an input TypeScript file, but will not be rewritten during emit because it is not a relative path."),
        This_import_path_is_unsafe_to_rewrite_because_it_resolves_to_another_project_and_the_relative_path_between_the_projects_output_files_is_not_the_same_as_the_relative_path_between_its_input_files: b(2878, 1, "This_import_path_is_unsafe_to_rewrite_because_it_resolves_to_another_project_and_the_relative_path_b_2878", "This import path is unsafe to rewrite because it resolves to another project, and the relative path between the projects' output files is not the same as the relative path between its input files."),
        Using_JSX_fragments_requires_fragment_factory_0_to_be_in_scope_but_it_could_not_be_found: b(2879, 1, "Using_JSX_fragments_requires_fragment_factory_0_to_be_in_scope_but_it_could_not_be_found_2879", "Using JSX fragments requires fragment factory '{0}' to be in scope, but it could not be found."),
        Import_assertions_have_been_replaced_by_import_attributes_Use_with_instead_of_assert: b(2880, 1, "Import_assertions_have_been_replaced_by_import_attributes_Use_with_instead_of_assert_2880", "Import assertions have been replaced by import attributes. Use 'with' instead of 'assert'."),
        Import_declaration_0_is_using_private_name_1: b(4e3, 1, "Import_declaration_0_is_using_private_name_1_4000", "Import declaration '{0}' is using private name '{1}'."),
        Type_parameter_0_of_exported_class_has_or_is_using_private_name_1: b(4002, 1, "Type_parameter_0_of_exported_class_has_or_is_using_private_name_1_4002", "Type parameter '{0}' of exported class has or is using private name '{1}'."),
        Type_parameter_0_of_exported_interface_has_or_is_using_private_name_1: b(4004, 1, "Type_parameter_0_of_exported_interface_has_or_is_using_private_name_1_4004", "Type parameter '{0}' of exported interface has or is using private name '{1}'."),
        Type_parameter_0_of_constructor_signature_from_exported_interface_has_or_is_using_private_name_1: b(4006, 1, "Type_parameter_0_of_constructor_signature_from_exported_interface_has_or_is_using_private_name_1_4006", "Type parameter '{0}' of constructor signature from exported interface has or is using private name '{1}'."),
        Type_parameter_0_of_call_signature_from_exported_interface_has_or_is_using_private_name_1: b(4008, 1, "Type_parameter_0_of_call_signature_from_exported_interface_has_or_is_using_private_name_1_4008", "Type parameter '{0}' of call signature from exported interface has or is using private name '{1}'."),
        Type_parameter_0_of_public_static_method_from_exported_class_has_or_is_using_private_name_1: b(4010, 1, "Type_parameter_0_of_public_static_method_from_exported_class_has_or_is_using_private_name_1_4010", "Type parameter '{0}' of public static method from exported class has or is using private name '{1}'."),
        Type_parameter_0_of_public_method_from_exported_class_has_or_is_using_private_name_1: b(4012, 1, "Type_parameter_0_of_public_method_from_exported_class_has_or_is_using_private_name_1_4012", "Type parameter '{0}' of public method from exported class has or is using private name '{1}'."),
        Type_parameter_0_of_method_from_exported_interface_has_or_is_using_private_name_1: b(4014, 1, "Type_parameter_0_of_method_from_exported_interface_has_or_is_using_private_name_1_4014", "Type parameter '{0}' of method from exported interface has or is using private name '{1}'."),
        Type_parameter_0_of_exported_function_has_or_is_using_private_name_1: b(4016, 1, "Type_parameter_0_of_exported_function_has_or_is_using_private_name_1_4016", "Type parameter '{0}' of exported function has or is using private name '{1}'."),
        Implements_clause_of_exported_class_0_has_or_is_using_private_name_1: b(4019, 1, "Implements_clause_of_exported_class_0_has_or_is_using_private_name_1_4019", "Implements clause of exported class '{0}' has or is using private name '{1}'."),
        extends_clause_of_exported_class_0_has_or_is_using_private_name_1: b(4020, 1, "extends_clause_of_exported_class_0_has_or_is_using_private_name_1_4020", "'extends' clause of exported class '{0}' has or is using private name '{1}'."),
        extends_clause_of_exported_class_has_or_is_using_private_name_0: b(4021, 1, "extends_clause_of_exported_class_has_or_is_using_private_name_0_4021", "'extends' clause of exported class has or is using private name '{0}'."),
        extends_clause_of_exported_interface_0_has_or_is_using_private_name_1: b(4022, 1, "extends_clause_of_exported_interface_0_has_or_is_using_private_name_1_4022", "'extends' clause of exported interface '{0}' has or is using private name '{1}'."),
        Exported_variable_0_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named: b(4023, 1, "Exported_variable_0_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named_4023", "Exported variable '{0}' has or is using name '{1}' from external module {2} but cannot be named."),
        Exported_variable_0_has_or_is_using_name_1_from_private_module_2: b(4024, 1, "Exported_variable_0_has_or_is_using_name_1_from_private_module_2_4024", "Exported variable '{0}' has or is using name '{1}' from private module '{2}'."),
        Exported_variable_0_has_or_is_using_private_name_1: b(4025, 1, "Exported_variable_0_has_or_is_using_private_name_1_4025", "Exported variable '{0}' has or is using private name '{1}'."),
        Public_static_property_0_of_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named: b(4026, 1, "Public_static_property_0_of_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot__4026", "Public static property '{0}' of exported class has or is using name '{1}' from external module {2} but cannot be named."),
        Public_static_property_0_of_exported_class_has_or_is_using_name_1_from_private_module_2: b(4027, 1, "Public_static_property_0_of_exported_class_has_or_is_using_name_1_from_private_module_2_4027", "Public static property '{0}' of exported class has or is using name '{1}' from private module '{2}'."),
        Public_static_property_0_of_exported_class_has_or_is_using_private_name_1: b(4028, 1, "Public_static_property_0_of_exported_class_has_or_is_using_private_name_1_4028", "Public static property '{0}' of exported class has or is using private name '{1}'."),
        Public_property_0_of_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named: b(4029, 1, "Public_property_0_of_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_name_4029", "Public property '{0}' of exported class has or is using name '{1}' from external module {2} but cannot be named."),
        Public_property_0_of_exported_class_has_or_is_using_name_1_from_private_module_2: b(4030, 1, "Public_property_0_of_exported_class_has_or_is_using_name_1_from_private_module_2_4030", "Public property '{0}' of exported class has or is using name '{1}' from private module '{2}'."),
        Public_property_0_of_exported_class_has_or_is_using_private_name_1: b(4031, 1, "Public_property_0_of_exported_class_has_or_is_using_private_name_1_4031", "Public property '{0}' of exported class has or is using private name '{1}'."),
        Property_0_of_exported_interface_has_or_is_using_name_1_from_private_module_2: b(4032, 1, "Property_0_of_exported_interface_has_or_is_using_name_1_from_private_module_2_4032", "Property '{0}' of exported interface has or is using name '{1}' from private module '{2}'."),
        Property_0_of_exported_interface_has_or_is_using_private_name_1: b(4033, 1, "Property_0_of_exported_interface_has_or_is_using_private_name_1_4033", "Property '{0}' of exported interface has or is using private name '{1}'."),
        Parameter_type_of_public_static_setter_0_from_exported_class_has_or_is_using_name_1_from_private_module_2: b(4034, 1, "Parameter_type_of_public_static_setter_0_from_exported_class_has_or_is_using_name_1_from_private_mod_4034", "Parameter type of public static setter '{0}' from exported class has or is using name '{1}' from private module '{2}'."),
        Parameter_type_of_public_static_setter_0_from_exported_class_has_or_is_using_private_name_1: b(4035, 1, "Parameter_type_of_public_static_setter_0_from_exported_class_has_or_is_using_private_name_1_4035", "Parameter type of public static setter '{0}' from exported class has or is using private name '{1}'."),
        Parameter_type_of_public_setter_0_from_exported_class_has_or_is_using_name_1_from_private_module_2: b(4036, 1, "Parameter_type_of_public_setter_0_from_exported_class_has_or_is_using_name_1_from_private_module_2_4036", "Parameter type of public setter '{0}' from exported class has or is using name '{1}' from private module '{2}'."),
        Parameter_type_of_public_setter_0_from_exported_class_has_or_is_using_private_name_1: b(4037, 1, "Parameter_type_of_public_setter_0_from_exported_class_has_or_is_using_private_name_1_4037", "Parameter type of public setter '{0}' from exported class has or is using private name '{1}'."),
        Return_type_of_public_static_getter_0_from_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named: b(4038, 1, "Return_type_of_public_static_getter_0_from_exported_class_has_or_is_using_name_1_from_external_modul_4038", "Return type of public static getter '{0}' from exported class has or is using name '{1}' from external module {2} but cannot be named."),
        Return_type_of_public_static_getter_0_from_exported_class_has_or_is_using_name_1_from_private_module_2: b(4039, 1, "Return_type_of_public_static_getter_0_from_exported_class_has_or_is_using_name_1_from_private_module_4039", "Return type of public static getter '{0}' from exported class has or is using name '{1}' from private module '{2}'."),
        Return_type_of_public_static_getter_0_from_exported_class_has_or_is_using_private_name_1: b(4040, 1, "Return_type_of_public_static_getter_0_from_exported_class_has_or_is_using_private_name_1_4040", "Return type of public static getter '{0}' from exported class has or is using private name '{1}'."),
        Return_type_of_public_getter_0_from_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named: b(4041, 1, "Return_type_of_public_getter_0_from_exported_class_has_or_is_using_name_1_from_external_module_2_but_4041", "Return type of public getter '{0}' from exported class has or is using name '{1}' from external module {2} but cannot be named."),
        Return_type_of_public_getter_0_from_exported_class_has_or_is_using_name_1_from_private_module_2: b(4042, 1, "Return_type_of_public_getter_0_from_exported_class_has_or_is_using_name_1_from_private_module_2_4042", "Return type of public getter '{0}' from exported class has or is using name '{1}' from private module '{2}'."),
        Return_type_of_public_getter_0_from_exported_class_has_or_is_using_private_name_1: b(4043, 1, "Return_type_of_public_getter_0_from_exported_class_has_or_is_using_private_name_1_4043", "Return type of public getter '{0}' from exported class has or is using private name '{1}'."),
        Return_type_of_constructor_signature_from_exported_interface_has_or_is_using_name_0_from_private_module_1: b(4044, 1, "Return_type_of_constructor_signature_from_exported_interface_has_or_is_using_name_0_from_private_mod_4044", "Return type of constructor signature from exported interface has or is using name '{0}' from private module '{1}'."),
        Return_type_of_constructor_signature_from_exported_interface_has_or_is_using_private_name_0: b(4045, 1, "Return_type_of_constructor_signature_from_exported_interface_has_or_is_using_private_name_0_4045", "Return type of constructor signature from exported interface has or is using private name '{0}'."),
        Return_type_of_call_signature_from_exported_interface_has_or_is_using_name_0_from_private_module_1: b(4046, 1, "Return_type_of_call_signature_from_exported_interface_has_or_is_using_name_0_from_private_module_1_4046", "Return type of call signature from exported interface has or is using name '{0}' from private module '{1}'."),
        Return_type_of_call_signature_from_exported_interface_has_or_is_using_private_name_0: b(4047, 1, "Return_type_of_call_signature_from_exported_interface_has_or_is_using_private_name_0_4047", "Return type of call signature from exported interface has or is using private name '{0}'."),
        Return_type_of_index_signature_from_exported_interface_has_or_is_using_name_0_from_private_module_1: b(4048, 1, "Return_type_of_index_signature_from_exported_interface_has_or_is_using_name_0_from_private_module_1_4048", "Return type of index signature from exported interface has or is using name '{0}' from private module '{1}'."),
        Return_type_of_index_signature_from_exported_interface_has_or_is_using_private_name_0: b(4049, 1, "Return_type_of_index_signature_from_exported_interface_has_or_is_using_private_name_0_4049", "Return type of index signature from exported interface has or is using private name '{0}'."),
        Return_type_of_public_static_method_from_exported_class_has_or_is_using_name_0_from_external_module_1_but_cannot_be_named: b(4050, 1, "Return_type_of_public_static_method_from_exported_class_has_or_is_using_name_0_from_external_module__4050", "Return type of public static method from exported class has or is using name '{0}' from external module {1} but cannot be named."),
        Return_type_of_public_static_method_from_exported_class_has_or_is_using_name_0_from_private_module_1: b(4051, 1, "Return_type_of_public_static_method_from_exported_class_has_or_is_using_name_0_from_private_module_1_4051", "Return type of public static method from exported class has or is using name '{0}' from private module '{1}'."),
        Return_type_of_public_static_method_from_exported_class_has_or_is_using_private_name_0: b(4052, 1, "Return_type_of_public_static_method_from_exported_class_has_or_is_using_private_name_0_4052", "Return type of public static method from exported class has or is using private name '{0}'."),
        Return_type_of_public_method_from_exported_class_has_or_is_using_name_0_from_external_module_1_but_cannot_be_named: b(4053, 1, "Return_type_of_public_method_from_exported_class_has_or_is_using_name_0_from_external_module_1_but_c_4053", "Return type of public method from exported class has or is using name '{0}' from external module {1} but cannot be named."),
        Return_type_of_public_method_from_exported_class_has_or_is_using_name_0_from_private_module_1: b(4054, 1, "Return_type_of_public_method_from_exported_class_has_or_is_using_name_0_from_private_module_1_4054", "Return type of public method from exported class has or is using name '{0}' from private module '{1}'."),
        Return_type_of_public_method_from_exported_class_has_or_is_using_private_name_0: b(4055, 1, "Return_type_of_public_method_from_exported_class_has_or_is_using_private_name_0_4055", "Return type of public method from exported class has or is using private name '{0}'."),
        Return_type_of_method_from_exported_interface_has_or_is_using_name_0_from_private_module_1: b(4056, 1, "Return_type_of_method_from_exported_interface_has_or_is_using_name_0_from_private_module_1_4056", "Return type of method from exported interface has or is using name '{0}' from private module '{1}'."),
        Return_type_of_method_from_exported_interface_has_or_is_using_private_name_0: b(4057, 1, "Return_type_of_method_from_exported_interface_has_or_is_using_private_name_0_4057", "Return type of method from exported interface has or is using private name '{0}'."),
        Return_type_of_exported_function_has_or_is_using_name_0_from_external_module_1_but_cannot_be_named: b(4058, 1, "Return_type_of_exported_function_has_or_is_using_name_0_from_external_module_1_but_cannot_be_named_4058", "Return type of exported function has or is using name '{0}' from external module {1} but cannot be named."),
        Return_type_of_exported_function_has_or_is_using_name_0_from_private_module_1: b(4059, 1, "Return_type_of_exported_function_has_or_is_using_name_0_from_private_module_1_4059", "Return type of exported function has or is using name '{0}' from private module '{1}'."),
        Return_type_of_exported_function_has_or_is_using_private_name_0: b(4060, 1, "Return_type_of_exported_function_has_or_is_using_private_name_0_4060", "Return type of exported function has or is using private name '{0}'."),
        Parameter_0_of_constructor_from_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named: b(4061, 1, "Parameter_0_of_constructor_from_exported_class_has_or_is_using_name_1_from_external_module_2_but_can_4061", "Parameter '{0}' of constructor from exported class has or is using name '{1}' from external module {2} but cannot be named."),
        Parameter_0_of_constructor_from_exported_class_has_or_is_using_name_1_from_private_module_2: b(4062, 1, "Parameter_0_of_constructor_from_exported_class_has_or_is_using_name_1_from_private_module_2_4062", "Parameter '{0}' of constructor from exported class has or is using name '{1}' from private module '{2}'."),
        Parameter_0_of_constructor_from_exported_class_has_or_is_using_private_name_1: b(4063, 1, "Parameter_0_of_constructor_from_exported_class_has_or_is_using_private_name_1_4063", "Parameter '{0}' of constructor from exported class has or is using private name '{1}'."),
        Parameter_0_of_constructor_signature_from_exported_interface_has_or_is_using_name_1_from_private_module_2: b(4064, 1, "Parameter_0_of_constructor_signature_from_exported_interface_has_or_is_using_name_1_from_private_mod_4064", "Parameter '{0}' of constructor signature from exported interface has or is using name '{1}' from private module '{2}'."),
        Parameter_0_of_constructor_signature_from_exported_interface_has_or_is_using_private_name_1: b(4065, 1, "Parameter_0_of_constructor_signature_from_exported_interface_has_or_is_using_private_name_1_4065", "Parameter '{0}' of constructor signature from exported interface has or is using private name '{1}'."),
        Parameter_0_of_call_signature_from_exported_interface_has_or_is_using_name_1_from_private_module_2: b(4066, 1, "Parameter_0_of_call_signature_from_exported_interface_has_or_is_using_name_1_from_private_module_2_4066", "Parameter '{0}' of call signature from exported interface has or is using name '{1}' from private module '{2}'."),
        Parameter_0_of_call_signature_from_exported_interface_has_or_is_using_private_name_1: b(4067, 1, "Parameter_0_of_call_signature_from_exported_interface_has_or_is_using_private_name_1_4067", "Parameter '{0}' of call signature from exported interface has or is using private name '{1}'."),
        Parameter_0_of_public_static_method_from_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named: b(4068, 1, "Parameter_0_of_public_static_method_from_exported_class_has_or_is_using_name_1_from_external_module__4068", "Parameter '{0}' of public static method from exported class has or is using name '{1}' from external module {2} but cannot be named."),
        Parameter_0_of_public_static_method_from_exported_class_has_or_is_using_name_1_from_private_module_2: b(4069, 1, "Parameter_0_of_public_static_method_from_exported_class_has_or_is_using_name_1_from_private_module_2_4069", "Parameter '{0}' of public static method from exported class has or is using name '{1}' from private module '{2}'."),
        Parameter_0_of_public_static_method_from_exported_class_has_or_is_using_private_name_1: b(4070, 1, "Parameter_0_of_public_static_method_from_exported_class_has_or_is_using_private_name_1_4070", "Parameter '{0}' of public static method from exported class has or is using private name '{1}'."),
        Parameter_0_of_public_method_from_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named: b(4071, 1, "Parameter_0_of_public_method_from_exported_class_has_or_is_using_name_1_from_external_module_2_but_c_4071", "Parameter '{0}' of public method from exported class has or is using name '{1}' from external module {2} but cannot be named."),
        Parameter_0_of_public_method_from_exported_class_has_or_is_using_name_1_from_private_module_2: b(4072, 1, "Parameter_0_of_public_method_from_exported_class_has_or_is_using_name_1_from_private_module_2_4072", "Parameter '{0}' of public method from exported class has or is using name '{1}' from private module '{2}'."),
        Parameter_0_of_public_method_from_exported_class_has_or_is_using_private_name_1: b(4073, 1, "Parameter_0_of_public_method_from_exported_class_has_or_is_using_private_name_1_4073", "Parameter '{0}' of public method from exported class has or is using private name '{1}'."),
        Parameter_0_of_method_from_exported_interface_has_or_is_using_name_1_from_private_module_2: b(4074, 1, "Parameter_0_of_method_from_exported_interface_has_or_is_using_name_1_from_private_module_2_4074", "Parameter '{0}' of method from exported interface has or is using name '{1}' from private module '{2}'."),
        Parameter_0_of_method_from_exported_interface_has_or_is_using_private_name_1: b(4075, 1, "Parameter_0_of_method_from_exported_interface_has_or_is_using_private_name_1_4075", "Parameter '{0}' of method from exported interface has or is using private name '{1}'."),
        Parameter_0_of_exported_function_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named: b(4076, 1, "Parameter_0_of_exported_function_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named_4076", "Parameter '{0}' of exported function has or is using name '{1}' from external module {2} but cannot be named."),
        Parameter_0_of_exported_function_has_or_is_using_name_1_from_private_module_2: b(4077, 1, "Parameter_0_of_exported_function_has_or_is_using_name_1_from_private_module_2_4077", "Parameter '{0}' of exported function has or is using name '{1}' from private module '{2}'."),
        Parameter_0_of_exported_function_has_or_is_using_private_name_1: b(4078, 1, "Parameter_0_of_exported_function_has_or_is_using_private_name_1_4078", "Parameter '{0}' of exported function has or is using private name '{1}'."),
        Exported_type_alias_0_has_or_is_using_private_name_1: b(4081, 1, "Exported_type_alias_0_has_or_is_using_private_name_1_4081", "Exported type alias '{0}' has or is using private name '{1}'."),
        Default_export_of_the_module_has_or_is_using_private_name_0: b(4082, 1, "Default_export_of_the_module_has_or_is_using_private_name_0_4082", "Default export of the module has or is using private name '{0}'."),
        Type_parameter_0_of_exported_type_alias_has_or_is_using_private_name_1: b(4083, 1, "Type_parameter_0_of_exported_type_alias_has_or_is_using_private_name_1_4083", "Type parameter '{0}' of exported type alias has or is using private name '{1}'."),
        Exported_type_alias_0_has_or_is_using_private_name_1_from_module_2: b(4084, 1, "Exported_type_alias_0_has_or_is_using_private_name_1_from_module_2_4084", "Exported type alias '{0}' has or is using private name '{1}' from module {2}."),
        Extends_clause_for_inferred_type_0_has_or_is_using_private_name_1: b(4085, 1, "Extends_clause_for_inferred_type_0_has_or_is_using_private_name_1_4085", "Extends clause for inferred type '{0}' has or is using private name '{1}'."),
        Parameter_0_of_index_signature_from_exported_interface_has_or_is_using_name_1_from_private_module_2: b(4091, 1, "Parameter_0_of_index_signature_from_exported_interface_has_or_is_using_name_1_from_private_module_2_4091", "Parameter '{0}' of index signature from exported interface has or is using name '{1}' from private module '{2}'."),
        Parameter_0_of_index_signature_from_exported_interface_has_or_is_using_private_name_1: b(4092, 1, "Parameter_0_of_index_signature_from_exported_interface_has_or_is_using_private_name_1_4092", "Parameter '{0}' of index signature from exported interface has or is using private name '{1}'."),
        Property_0_of_exported_anonymous_class_type_may_not_be_private_or_protected: b(4094, 1, "Property_0_of_exported_anonymous_class_type_may_not_be_private_or_protected_4094", "Property '{0}' of exported anonymous class type may not be private or protected."),
        Public_static_method_0_of_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named: b(4095, 1, "Public_static_method_0_of_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_4095", "Public static method '{0}' of exported class has or is using name '{1}' from external module {2} but cannot be named."),
        Public_static_method_0_of_exported_class_has_or_is_using_name_1_from_private_module_2: b(4096, 1, "Public_static_method_0_of_exported_class_has_or_is_using_name_1_from_private_module_2_4096", "Public static method '{0}' of exported class has or is using name '{1}' from private module '{2}'."),
        Public_static_method_0_of_exported_class_has_or_is_using_private_name_1: b(4097, 1, "Public_static_method_0_of_exported_class_has_or_is_using_private_name_1_4097", "Public static method '{0}' of exported class has or is using private name '{1}'."),
        Public_method_0_of_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named: b(4098, 1, "Public_method_0_of_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named_4098", "Public method '{0}' of exported class has or is using name '{1}' from external module {2} but cannot be named."),
        Public_method_0_of_exported_class_has_or_is_using_name_1_from_private_module_2: b(4099, 1, "Public_method_0_of_exported_class_has_or_is_using_name_1_from_private_module_2_4099", "Public method '{0}' of exported class has or is using name '{1}' from private module '{2}'."),
        Public_method_0_of_exported_class_has_or_is_using_private_name_1: b(4100, 1, "Public_method_0_of_exported_class_has_or_is_using_private_name_1_4100", "Public method '{0}' of exported class has or is using private name '{1}'."),
        Method_0_of_exported_interface_has_or_is_using_name_1_from_private_module_2: b(4101, 1, "Method_0_of_exported_interface_has_or_is_using_name_1_from_private_module_2_4101", "Method '{0}' of exported interface has or is using name '{1}' from private module '{2}'."),
        Method_0_of_exported_interface_has_or_is_using_private_name_1: b(4102, 1, "Method_0_of_exported_interface_has_or_is_using_private_name_1_4102", "Method '{0}' of exported interface has or is using private name '{1}'."),
        Type_parameter_0_of_exported_mapped_object_type_is_using_private_name_1: b(4103, 1, "Type_parameter_0_of_exported_mapped_object_type_is_using_private_name_1_4103", "Type parameter '{0}' of exported mapped object type is using private name '{1}'."),
        The_type_0_is_readonly_and_cannot_be_assigned_to_the_mutable_type_1: b(4104, 1, "The_type_0_is_readonly_and_cannot_be_assigned_to_the_mutable_type_1_4104", "The type '{0}' is 'readonly' and cannot be assigned to the mutable type '{1}'."),
        Private_or_protected_member_0_cannot_be_accessed_on_a_type_parameter: b(4105, 1, "Private_or_protected_member_0_cannot_be_accessed_on_a_type_parameter_4105", "Private or protected member '{0}' cannot be accessed on a type parameter."),
        Parameter_0_of_accessor_has_or_is_using_private_name_1: b(4106, 1, "Parameter_0_of_accessor_has_or_is_using_private_name_1_4106", "Parameter '{0}' of accessor has or is using private name '{1}'."),
        Parameter_0_of_accessor_has_or_is_using_name_1_from_private_module_2: b(4107, 1, "Parameter_0_of_accessor_has_or_is_using_name_1_from_private_module_2_4107", "Parameter '{0}' of accessor has or is using name '{1}' from private module '{2}'."),
        Parameter_0_of_accessor_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named: b(4108, 1, "Parameter_0_of_accessor_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named_4108", "Parameter '{0}' of accessor has or is using name '{1}' from external module '{2}' but cannot be named."),
        Type_arguments_for_0_circularly_reference_themselves: b(4109, 1, "Type_arguments_for_0_circularly_reference_themselves_4109", "Type arguments for '{0}' circularly reference themselves."),
        Tuple_type_arguments_circularly_reference_themselves: b(4110, 1, "Tuple_type_arguments_circularly_reference_themselves_4110", "Tuple type arguments circularly reference themselves."),
        Property_0_comes_from_an_index_signature_so_it_must_be_accessed_with_0: b(4111, 1, "Property_0_comes_from_an_index_signature_so_it_must_be_accessed_with_0_4111", "Property '{0}' comes from an index signature, so it must be accessed with ['{0}']."),
        This_member_cannot_have_an_override_modifier_because_its_containing_class_0_does_not_extend_another_class: b(4112, 1, "This_member_cannot_have_an_override_modifier_because_its_containing_class_0_does_not_extend_another__4112", "This member cannot have an 'override' modifier because its containing class '{0}' does not extend another class."),
        This_member_cannot_have_an_override_modifier_because_it_is_not_declared_in_the_base_class_0: b(4113, 1, "This_member_cannot_have_an_override_modifier_because_it_is_not_declared_in_the_base_class_0_4113", "This member cannot have an 'override' modifier because it is not declared in the base class '{0}'."),
        This_member_must_have_an_override_modifier_because_it_overrides_a_member_in_the_base_class_0: b(4114, 1, "This_member_must_have_an_override_modifier_because_it_overrides_a_member_in_the_base_class_0_4114", "This member must have an 'override' modifier because it overrides a member in the base class '{0}'."),
        This_parameter_property_must_have_an_override_modifier_because_it_overrides_a_member_in_base_class_0: b(4115, 1, "This_parameter_property_must_have_an_override_modifier_because_it_overrides_a_member_in_base_class_0_4115", "This parameter property must have an 'override' modifier because it overrides a member in base class '{0}'."),
        This_member_must_have_an_override_modifier_because_it_overrides_an_abstract_method_that_is_declared_in_the_base_class_0: b(4116, 1, "This_member_must_have_an_override_modifier_because_it_overrides_an_abstract_method_that_is_declared__4116", "This member must have an 'override' modifier because it overrides an abstract method that is declared in the base class '{0}'."),
        This_member_cannot_have_an_override_modifier_because_it_is_not_declared_in_the_base_class_0_Did_you_mean_1: b(4117, 1, "This_member_cannot_have_an_override_modifier_because_it_is_not_declared_in_the_base_class_0_Did_you__4117", "This member cannot have an 'override' modifier because it is not declared in the base class '{0}'. Did you mean '{1}'?"),
        The_type_of_this_node_cannot_be_serialized_because_its_property_0_cannot_be_serialized: b(4118, 1, "The_type_of_this_node_cannot_be_serialized_because_its_property_0_cannot_be_serialized_4118", "The type of this node cannot be serialized because its property '{0}' cannot be serialized."),
        This_member_must_have_a_JSDoc_comment_with_an_override_tag_because_it_overrides_a_member_in_the_base_class_0: b(4119, 1, "This_member_must_have_a_JSDoc_comment_with_an_override_tag_because_it_overrides_a_member_in_the_base_4119", "This member must have a JSDoc comment with an '@override' tag because it overrides a member in the base class '{0}'."),
        This_parameter_property_must_have_a_JSDoc_comment_with_an_override_tag_because_it_overrides_a_member_in_the_base_class_0: b(4120, 1, "This_parameter_property_must_have_a_JSDoc_comment_with_an_override_tag_because_it_overrides_a_member_4120", "This parameter property must have a JSDoc comment with an '@override' tag because it overrides a member in the base class '{0}'."),
        This_member_cannot_have_a_JSDoc_comment_with_an_override_tag_because_its_containing_class_0_does_not_extend_another_class: b(4121, 1, "This_member_cannot_have_a_JSDoc_comment_with_an_override_tag_because_its_containing_class_0_does_not_4121", "This member cannot have a JSDoc comment with an '@override' tag because its containing class '{0}' does not extend another class."),
        This_member_cannot_have_a_JSDoc_comment_with_an_override_tag_because_it_is_not_declared_in_the_base_class_0: b(4122, 1, "This_member_cannot_have_a_JSDoc_comment_with_an_override_tag_because_it_is_not_declared_in_the_base__4122", "This member cannot have a JSDoc comment with an '@override' tag because it is not declared in the base class '{0}'."),
        This_member_cannot_have_a_JSDoc_comment_with_an_override_tag_because_it_is_not_declared_in_the_base_class_0_Did_you_mean_1: b(4123, 1, "This_member_cannot_have_a_JSDoc_comment_with_an_override_tag_because_it_is_not_declared_in_the_base__4123", "This member cannot have a JSDoc comment with an 'override' tag because it is not declared in the base class '{0}'. Did you mean '{1}'?"),
        Compiler_option_0_of_value_1_is_unstable_Use_nightly_TypeScript_to_silence_this_error_Try_updating_with_npm_install_D_typescript_next: b(4124, 1, "Compiler_option_0_of_value_1_is_unstable_Use_nightly_TypeScript_to_silence_this_error_Try_updating_w_4124", "Compiler option '{0}' of value '{1}' is unstable. Use nightly TypeScript to silence this error. Try updating with 'npm install -D typescript@next'."),
        Each_declaration_of_0_1_differs_in_its_value_where_2_was_expected_but_3_was_given: b(4125, 1, "Each_declaration_of_0_1_differs_in_its_value_where_2_was_expected_but_3_was_given_4125", "Each declaration of '{0}.{1}' differs in its value, where '{2}' was expected but '{3}' was given."),
        One_value_of_0_1_is_the_string_2_and_the_other_is_assumed_to_be_an_unknown_numeric_value: b(4126, 1, "One_value_of_0_1_is_the_string_2_and_the_other_is_assumed_to_be_an_unknown_numeric_value_4126", "One value of '{0}.{1}' is the string '{2}', and the other is assumed to be an unknown numeric value."),
        This_member_cannot_have_an_override_modifier_because_its_name_is_dynamic: b(4127, 1, "This_member_cannot_have_an_override_modifier_because_its_name_is_dynamic_4127", "This member cannot have an 'override' modifier because its name is dynamic."),
        This_member_cannot_have_a_JSDoc_comment_with_an_override_tag_because_its_name_is_dynamic: b(4128, 1, "This_member_cannot_have_a_JSDoc_comment_with_an_override_tag_because_its_name_is_dynamic_4128", "This member cannot have a JSDoc comment with an '@override' tag because its name is dynamic."),
        The_current_host_does_not_support_the_0_option: b(5001, 1, "The_current_host_does_not_support_the_0_option_5001", "The current host does not support the '{0}' option."),
        Cannot_find_the_common_subdirectory_path_for_the_input_files: b(5009, 1, "Cannot_find_the_common_subdirectory_path_for_the_input_files_5009", "Cannot find the common subdirectory path for the input files."),
        File_specification_cannot_end_in_a_recursive_directory_wildcard_Asterisk_Asterisk_Colon_0: b(5010, 1, "File_specification_cannot_end_in_a_recursive_directory_wildcard_Asterisk_Asterisk_Colon_0_5010", "File specification cannot end in a recursive directory wildcard ('**'): '{0}'."),
        Cannot_read_file_0_Colon_1: b(5012, 1, "Cannot_read_file_0_Colon_1_5012", "Cannot read file '{0}': {1}."),
        Unknown_compiler_option_0: b(5023, 1, "Unknown_compiler_option_0_5023", "Unknown compiler option '{0}'."),
        Compiler_option_0_requires_a_value_of_type_1: b(5024, 1, "Compiler_option_0_requires_a_value_of_type_1_5024", "Compiler option '{0}' requires a value of type {1}."),
        Unknown_compiler_option_0_Did_you_mean_1: b(5025, 1, "Unknown_compiler_option_0_Did_you_mean_1_5025", "Unknown compiler option '{0}'. Did you mean '{1}'?"),
        Could_not_write_file_0_Colon_1: b(5033, 1, "Could_not_write_file_0_Colon_1_5033", "Could not write file '{0}': {1}."),
        Option_project_cannot_be_mixed_with_source_files_on_a_command_line: b(5042, 1, "Option_project_cannot_be_mixed_with_source_files_on_a_command_line_5042", "Option 'project' cannot be mixed with source files on a command line."),
        Option_isolatedModules_can_only_be_used_when_either_option_module_is_provided_or_option_target_is_ES2015_or_higher: b(5047, 1, "Option_isolatedModules_can_only_be_used_when_either_option_module_is_provided_or_option_target_is_ES_5047", "Option 'isolatedModules' can only be used when either option '--module' is provided or option 'target' is 'ES2015' or higher."),
        Option_0_can_only_be_used_when_either_option_inlineSourceMap_or_option_sourceMap_is_provided: b(5051, 1, "Option_0_can_only_be_used_when_either_option_inlineSourceMap_or_option_sourceMap_is_provided_5051", "Option '{0} can only be used when either option '--inlineSourceMap' or option '--sourceMap' is provided."),
        Option_0_cannot_be_specified_without_specifying_option_1: b(5052, 1, "Option_0_cannot_be_specified_without_specifying_option_1_5052", "Option '{0}' cannot be specified without specifying option '{1}'."),
        Option_0_cannot_be_specified_with_option_1: b(5053, 1, "Option_0_cannot_be_specified_with_option_1_5053", "Option '{0}' cannot be specified with option '{1}'."),
        A_tsconfig_json_file_is_already_defined_at_Colon_0: b(5054, 1, "A_tsconfig_json_file_is_already_defined_at_Colon_0_5054", "A 'tsconfig.json' file is already defined at: '{0}'."),
        Cannot_write_file_0_because_it_would_overwrite_input_file: b(5055, 1, "Cannot_write_file_0_because_it_would_overwrite_input_file_5055", "Cannot write file '{0}' because it would overwrite input file."),
        Cannot_write_file_0_because_it_would_be_overwritten_by_multiple_input_files: b(5056, 1, "Cannot_write_file_0_because_it_would_be_overwritten_by_multiple_input_files_5056", "Cannot write file '{0}' because it would be overwritten by multiple input files."),
        Cannot_find_a_tsconfig_json_file_at_the_specified_directory_Colon_0: b(5057, 1, "Cannot_find_a_tsconfig_json_file_at_the_specified_directory_Colon_0_5057", "Cannot find a tsconfig.json file at the specified directory: '{0}'."),
        The_specified_path_does_not_exist_Colon_0: b(5058, 1, "The_specified_path_does_not_exist_Colon_0_5058", "The specified path does not exist: '{0}'."),
        Invalid_value_for_reactNamespace_0_is_not_a_valid_identifier: b(5059, 1, "Invalid_value_for_reactNamespace_0_is_not_a_valid_identifier_5059", "Invalid value for '--reactNamespace'. '{0}' is not a valid identifier."),
        Pattern_0_can_have_at_most_one_Asterisk_character: b(5061, 1, "Pattern_0_can_have_at_most_one_Asterisk_character_5061", "Pattern '{0}' can have at most one '*' character."),
        Substitution_0_in_pattern_1_can_have_at_most_one_Asterisk_character: b(5062, 1, "Substitution_0_in_pattern_1_can_have_at_most_one_Asterisk_character_5062", "Substitution '{0}' in pattern '{1}' can have at most one '*' character."),
        Substitutions_for_pattern_0_should_be_an_array: b(5063, 1, "Substitutions_for_pattern_0_should_be_an_array_5063", "Substitutions for pattern '{0}' should be an array."),
        Substitution_0_for_pattern_1_has_incorrect_type_expected_string_got_2: b(5064, 1, "Substitution_0_for_pattern_1_has_incorrect_type_expected_string_got_2_5064", "Substitution '{0}' for pattern '{1}' has incorrect type, expected 'string', got '{2}'."),
        File_specification_cannot_contain_a_parent_directory_that_appears_after_a_recursive_directory_wildcard_Asterisk_Asterisk_Colon_0: b(5065, 1, "File_specification_cannot_contain_a_parent_directory_that_appears_after_a_recursive_directory_wildca_5065", "File specification cannot contain a parent directory ('..') that appears after a recursive directory wildcard ('**'): '{0}'."),
        Substitutions_for_pattern_0_shouldn_t_be_an_empty_array: b(5066, 1, "Substitutions_for_pattern_0_shouldn_t_be_an_empty_array_5066", "Substitutions for pattern '{0}' shouldn't be an empty array."),
        Invalid_value_for_jsxFactory_0_is_not_a_valid_identifier_or_qualified_name: b(5067, 1, "Invalid_value_for_jsxFactory_0_is_not_a_valid_identifier_or_qualified_name_5067", "Invalid value for 'jsxFactory'. '{0}' is not a valid identifier or qualified-name."),
        Adding_a_tsconfig_json_file_will_help_organize_projects_that_contain_both_TypeScript_and_JavaScript_files_Learn_more_at_https_Colon_Slash_Slashaka_ms_Slashtsconfig: b(5068, 1, "Adding_a_tsconfig_json_file_will_help_organize_projects_that_contain_both_TypeScript_and_JavaScript__5068", "Adding a tsconfig.json file will help organize projects that contain both TypeScript and JavaScript files. Learn more at https://aka.ms/tsconfig."),
        Option_0_cannot_be_specified_without_specifying_option_1_or_option_2: b(5069, 1, "Option_0_cannot_be_specified_without_specifying_option_1_or_option_2_5069", "Option '{0}' cannot be specified without specifying option '{1}' or option '{2}'."),
        Option_resolveJsonModule_cannot_be_specified_when_moduleResolution_is_set_to_classic: b(5070, 1, "Option_resolveJsonModule_cannot_be_specified_when_moduleResolution_is_set_to_classic_5070", "Option '--resolveJsonModule' cannot be specified when 'moduleResolution' is set to 'classic'."),
        Option_resolveJsonModule_cannot_be_specified_when_module_is_set_to_none_system_or_umd: b(5071, 1, "Option_resolveJsonModule_cannot_be_specified_when_module_is_set_to_none_system_or_umd_5071", "Option '--resolveJsonModule' cannot be specified when 'module' is set to 'none', 'system', or 'umd'."),
        Unknown_build_option_0: b(5072, 1, "Unknown_build_option_0_5072", "Unknown build option '{0}'."),
        Build_option_0_requires_a_value_of_type_1: b(5073, 1, "Build_option_0_requires_a_value_of_type_1_5073", "Build option '{0}' requires a value of type {1}."),
        Option_incremental_can_only_be_specified_using_tsconfig_emitting_to_single_file_or_when_option_tsBuildInfoFile_is_specified: b(5074, 1, "Option_incremental_can_only_be_specified_using_tsconfig_emitting_to_single_file_or_when_option_tsBui_5074", "Option '--incremental' can only be specified using tsconfig, emitting to single file or when option '--tsBuildInfoFile' is specified."),
        _0_is_assignable_to_the_constraint_of_type_1_but_1_could_be_instantiated_with_a_different_subtype_of_constraint_2: b(5075, 1, "_0_is_assignable_to_the_constraint_of_type_1_but_1_could_be_instantiated_with_a_different_subtype_of_5075", "'{0}' is assignable to the constraint of type '{1}', but '{1}' could be instantiated with a different subtype of constraint '{2}'."),
        _0_and_1_operations_cannot_be_mixed_without_parentheses: b(5076, 1, "_0_and_1_operations_cannot_be_mixed_without_parentheses_5076", "'{0}' and '{1}' operations cannot be mixed without parentheses."),
        Unknown_build_option_0_Did_you_mean_1: b(5077, 1, "Unknown_build_option_0_Did_you_mean_1_5077", "Unknown build option '{0}'. Did you mean '{1}'?"),
        Unknown_watch_option_0: b(5078, 1, "Unknown_watch_option_0_5078", "Unknown watch option '{0}'."),
        Unknown_watch_option_0_Did_you_mean_1: b(5079, 1, "Unknown_watch_option_0_Did_you_mean_1_5079", "Unknown watch option '{0}'. Did you mean '{1}'?"),
        Watch_option_0_requires_a_value_of_type_1: b(5080, 1, "Watch_option_0_requires_a_value_of_type_1_5080", "Watch option '{0}' requires a value of type {1}."),
        Cannot_find_a_tsconfig_json_file_at_the_current_directory_Colon_0: b(5081, 1, "Cannot_find_a_tsconfig_json_file_at_the_current_directory_Colon_0_5081", "Cannot find a tsconfig.json file at the current directory: {0}."),
        _0_could_be_instantiated_with_an_arbitrary_type_which_could_be_unrelated_to_1: b(5082, 1, "_0_could_be_instantiated_with_an_arbitrary_type_which_could_be_unrelated_to_1_5082", "'{0}' could be instantiated with an arbitrary type which could be unrelated to '{1}'."),
        Cannot_read_file_0: b(5083, 1, "Cannot_read_file_0_5083", "Cannot read file '{0}'."),
        A_tuple_member_cannot_be_both_optional_and_rest: b(5085, 1, "A_tuple_member_cannot_be_both_optional_and_rest_5085", "A tuple member cannot be both optional and rest."),
        A_labeled_tuple_element_is_declared_as_optional_with_a_question_mark_after_the_name_and_before_the_colon_rather_than_after_the_type: b(5086, 1, "A_labeled_tuple_element_is_declared_as_optional_with_a_question_mark_after_the_name_and_before_the_c_5086", "A labeled tuple element is declared as optional with a question mark after the name and before the colon, rather than after the type."),
        A_labeled_tuple_element_is_declared_as_rest_with_a_before_the_name_rather_than_before_the_type: b(5087, 1, "A_labeled_tuple_element_is_declared_as_rest_with_a_before_the_name_rather_than_before_the_type_5087", "A labeled tuple element is declared as rest with a '...' before the name, rather than before the type."),
        The_inferred_type_of_0_references_a_type_with_a_cyclic_structure_which_cannot_be_trivially_serialized_A_type_annotation_is_necessary: b(5088, 1, "The_inferred_type_of_0_references_a_type_with_a_cyclic_structure_which_cannot_be_trivially_serialize_5088", "The inferred type of '{0}' references a type with a cyclic structure which cannot be trivially serialized. A type annotation is necessary."),
        Option_0_cannot_be_specified_when_option_jsx_is_1: b(5089, 1, "Option_0_cannot_be_specified_when_option_jsx_is_1_5089", "Option '{0}' cannot be specified when option 'jsx' is '{1}'."),
        Non_relative_paths_are_not_allowed_when_baseUrl_is_not_set_Did_you_forget_a_leading_Slash: b(5090, 1, "Non_relative_paths_are_not_allowed_when_baseUrl_is_not_set_Did_you_forget_a_leading_Slash_5090", "Non-relative paths are not allowed when 'baseUrl' is not set. Did you forget a leading './'?"),
        Option_preserveConstEnums_cannot_be_disabled_when_0_is_enabled: b(5091, 1, "Option_preserveConstEnums_cannot_be_disabled_when_0_is_enabled_5091", "Option 'preserveConstEnums' cannot be disabled when '{0}' is enabled."),
        The_root_value_of_a_0_file_must_be_an_object: b(5092, 1, "The_root_value_of_a_0_file_must_be_an_object_5092", "The root value of a '{0}' file must be an object."),
        Compiler_option_0_may_only_be_used_with_build: b(5093, 1, "Compiler_option_0_may_only_be_used_with_build_5093", "Compiler option '--{0}' may only be used with '--build'."),
        Compiler_option_0_may_not_be_used_with_build: b(5094, 1, "Compiler_option_0_may_not_be_used_with_build_5094", "Compiler option '--{0}' may not be used with '--build'."),
        Option_0_can_only_be_used_when_module_is_set_to_preserve_or_to_es2015_or_later: b(5095, 1, "Option_0_can_only_be_used_when_module_is_set_to_preserve_or_to_es2015_or_later_5095", "Option '{0}' can only be used when 'module' is set to 'preserve' or to 'es2015' or later."),
        Option_allowImportingTsExtensions_can_only_be_used_when_either_noEmit_or_emitDeclarationOnly_is_set: b(5096, 1, "Option_allowImportingTsExtensions_can_only_be_used_when_either_noEmit_or_emitDeclarationOnly_is_set_5096", "Option 'allowImportingTsExtensions' can only be used when either 'noEmit' or 'emitDeclarationOnly' is set."),
        An_import_path_can_only_end_with_a_0_extension_when_allowImportingTsExtensions_is_enabled: b(5097, 1, "An_import_path_can_only_end_with_a_0_extension_when_allowImportingTsExtensions_is_enabled_5097", "An import path can only end with a '{0}' extension when 'allowImportingTsExtensions' is enabled."),
        Option_0_can_only_be_used_when_moduleResolution_is_set_to_node16_nodenext_or_bundler: b(5098, 1, "Option_0_can_only_be_used_when_moduleResolution_is_set_to_node16_nodenext_or_bundler_5098", "Option '{0}' can only be used when 'moduleResolution' is set to 'node16', 'nodenext', or 'bundler'."),
        Option_0_is_deprecated_and_will_stop_functioning_in_TypeScript_1_Specify_compilerOption_ignoreDeprecations_Colon_2_to_silence_this_error: b(5101, 1, "Option_0_is_deprecated_and_will_stop_functioning_in_TypeScript_1_Specify_compilerOption_ignoreDeprec_5101", `Option '{0}' is deprecated and will stop functioning in TypeScript {1}. Specify compilerOption '"ignoreDeprecations": "{2}"' to silence this error.`),
        Option_0_has_been_removed_Please_remove_it_from_your_configuration: b(5102, 1, "Option_0_has_been_removed_Please_remove_it_from_your_configuration_5102", "Option '{0}' has been removed. Please remove it from your configuration."),
        Invalid_value_for_ignoreDeprecations: b(5103, 1, "Invalid_value_for_ignoreDeprecations_5103", "Invalid value for '--ignoreDeprecations'."),
        Option_0_is_redundant_and_cannot_be_specified_with_option_1: b(5104, 1, "Option_0_is_redundant_and_cannot_be_specified_with_option_1_5104", "Option '{0}' is redundant and cannot be specified with option '{1}'."),
        Option_verbatimModuleSyntax_cannot_be_used_when_module_is_set_to_UMD_AMD_or_System: b(5105, 1, "Option_verbatimModuleSyntax_cannot_be_used_when_module_is_set_to_UMD_AMD_or_System_5105", "Option 'verbatimModuleSyntax' cannot be used when 'module' is set to 'UMD', 'AMD', or 'System'."),
        Use_0_instead: b(5106, 3, "Use_0_instead_5106", "Use '{0}' instead."),
        Option_0_1_is_deprecated_and_will_stop_functioning_in_TypeScript_2_Specify_compilerOption_ignoreDeprecations_Colon_3_to_silence_this_error: b(5107, 1, "Option_0_1_is_deprecated_and_will_stop_functioning_in_TypeScript_2_Specify_compilerOption_ignoreDepr_5107", `Option '{0}={1}' is deprecated and will stop functioning in TypeScript {2}. Specify compilerOption '"ignoreDeprecations": "{3}"' to silence this error.`),
        Option_0_1_has_been_removed_Please_remove_it_from_your_configuration: b(5108, 1, "Option_0_1_has_been_removed_Please_remove_it_from_your_configuration_5108", "Option '{0}={1}' has been removed. Please remove it from your configuration."),
        Option_moduleResolution_must_be_set_to_0_or_left_unspecified_when_option_module_is_set_to_1: b(5109, 1, "Option_moduleResolution_must_be_set_to_0_or_left_unspecified_when_option_module_is_set_to_1_5109", "Option 'moduleResolution' must be set to '{0}' (or left unspecified) when option 'module' is set to '{1}'."),
        Option_module_must_be_set_to_0_when_option_moduleResolution_is_set_to_1: b(5110, 1, "Option_module_must_be_set_to_0_when_option_moduleResolution_is_set_to_1_5110", "Option 'module' must be set to '{0}' when option 'moduleResolution' is set to '{1}'."),
        Generates_a_sourcemap_for_each_corresponding_d_ts_file: b(6e3, 3, "Generates_a_sourcemap_for_each_corresponding_d_ts_file_6000", "Generates a sourcemap for each corresponding '.d.ts' file."),
        Concatenate_and_emit_output_to_single_file: b(6001, 3, "Concatenate_and_emit_output_to_single_file_6001", "Concatenate and emit output to single file."),
        Generates_corresponding_d_ts_file: b(6002, 3, "Generates_corresponding_d_ts_file_6002", "Generates corresponding '.d.ts' file."),
        Specify_the_location_where_debugger_should_locate_TypeScript_files_instead_of_source_locations: b(6004, 3, "Specify_the_location_where_debugger_should_locate_TypeScript_files_instead_of_source_locations_6004", "Specify the location where debugger should locate TypeScript files instead of source locations."),
        Watch_input_files: b(6005, 3, "Watch_input_files_6005", "Watch input files."),
        Redirect_output_structure_to_the_directory: b(6006, 3, "Redirect_output_structure_to_the_directory_6006", "Redirect output structure to the directory."),
        Do_not_erase_const_enum_declarations_in_generated_code: b(6007, 3, "Do_not_erase_const_enum_declarations_in_generated_code_6007", "Do not erase const enum declarations in generated code."),
        Do_not_emit_outputs_if_any_errors_were_reported: b(6008, 3, "Do_not_emit_outputs_if_any_errors_were_reported_6008", "Do not emit outputs if any errors were reported."),
        Do_not_emit_comments_to_output: b(6009, 3, "Do_not_emit_comments_to_output_6009", "Do not emit comments to output."),
        Do_not_emit_outputs: b(6010, 3, "Do_not_emit_outputs_6010", "Do not emit outputs."),
        Allow_default_imports_from_modules_with_no_default_export_This_does_not_affect_code_emit_just_typechecking: b(6011, 3, "Allow_default_imports_from_modules_with_no_default_export_This_does_not_affect_code_emit_just_typech_6011", "Allow default imports from modules with no default export. This does not affect code emit, just typechecking."),
        Skip_type_checking_of_declaration_files: b(6012, 3, "Skip_type_checking_of_declaration_files_6012", "Skip type checking of declaration files."),
        Do_not_resolve_the_real_path_of_symlinks: b(6013, 3, "Do_not_resolve_the_real_path_of_symlinks_6013", "Do not resolve the real path of symlinks."),
        Only_emit_d_ts_declaration_files: b(6014, 3, "Only_emit_d_ts_declaration_files_6014", "Only emit '.d.ts' declaration files."),
        Specify_ECMAScript_target_version: b(6015, 3, "Specify_ECMAScript_target_version_6015", "Specify ECMAScript target version."),
        Specify_module_code_generation: b(6016, 3, "Specify_module_code_generation_6016", "Specify module code generation."),
        Print_this_message: b(6017, 3, "Print_this_message_6017", "Print this message."),
        Print_the_compiler_s_version: b(6019, 3, "Print_the_compiler_s_version_6019", "Print the compiler's version."),
        Compile_the_project_given_the_path_to_its_configuration_file_or_to_a_folder_with_a_tsconfig_json: b(6020, 3, "Compile_the_project_given_the_path_to_its_configuration_file_or_to_a_folder_with_a_tsconfig_json_6020", "Compile the project given the path to its configuration file, or to a folder with a 'tsconfig.json'."),
        Syntax_Colon_0: b(6023, 3, "Syntax_Colon_0_6023", "Syntax: {0}"),
        options: b(6024, 3, "options_6024", "options"),
        file: b(6025, 3, "file_6025", "file"),
        Examples_Colon_0: b(6026, 3, "Examples_Colon_0_6026", "Examples: {0}"),
        Options_Colon: b(6027, 3, "Options_Colon_6027", "Options:"),
        Version_0: b(6029, 3, "Version_0_6029", "Version {0}"),
        Insert_command_line_options_and_files_from_a_file: b(6030, 3, "Insert_command_line_options_and_files_from_a_file_6030", "Insert command line options and files from a file."),
        Starting_compilation_in_watch_mode: b(6031, 3, "Starting_compilation_in_watch_mode_6031", "Starting compilation in watch mode..."),
        File_change_detected_Starting_incremental_compilation: b(6032, 3, "File_change_detected_Starting_incremental_compilation_6032", "File change detected. Starting incremental compilation..."),
        KIND: b(6034, 3, "KIND_6034", "KIND"),
        FILE: b(6035, 3, "FILE_6035", "FILE"),
        VERSION: b(6036, 3, "VERSION_6036", "VERSION"),
        LOCATION: b(6037, 3, "LOCATION_6037", "LOCATION"),
        DIRECTORY: b(6038, 3, "DIRECTORY_6038", "DIRECTORY"),
        STRATEGY: b(6039, 3, "STRATEGY_6039", "STRATEGY"),
        FILE_OR_DIRECTORY: b(6040, 3, "FILE_OR_DIRECTORY_6040", "FILE OR DIRECTORY"),
        Errors_Files: b(6041, 3, "Errors_Files_6041", "Errors  Files"),
        Generates_corresponding_map_file: b(6043, 3, "Generates_corresponding_map_file_6043", "Generates corresponding '.map' file."),
        Compiler_option_0_expects_an_argument: b(6044, 1, "Compiler_option_0_expects_an_argument_6044", "Compiler option '{0}' expects an argument."),
        Unterminated_quoted_string_in_response_file_0: b(6045, 1, "Unterminated_quoted_string_in_response_file_0_6045", "Unterminated quoted string in response file '{0}'."),
        Argument_for_0_option_must_be_Colon_1: b(6046, 1, "Argument_for_0_option_must_be_Colon_1_6046", "Argument for '{0}' option must be: {1}."),
        Locale_must_be_of_the_form_language_or_language_territory_For_example_0_or_1: b(6048, 1, "Locale_must_be_of_the_form_language_or_language_territory_For_example_0_or_1_6048", "Locale must be of the form <language> or <language>-<territory>. For example '{0}' or '{1}'."),
        Unable_to_open_file_0: b(6050, 1, "Unable_to_open_file_0_6050", "Unable to open file '{0}'."),
        Corrupted_locale_file_0: b(6051, 1, "Corrupted_locale_file_0_6051", "Corrupted locale file {0}."),
        Raise_error_on_expressions_and_declarations_with_an_implied_any_type: b(6052, 3, "Raise_error_on_expressions_and_declarations_with_an_implied_any_type_6052", "Raise error on expressions and declarations with an implied 'any' type."),
        File_0_not_found: b(6053, 1, "File_0_not_found_6053", "File '{0}' not found."),
        File_0_has_an_unsupported_extension_The_only_supported_extensions_are_1: b(6054, 1, "File_0_has_an_unsupported_extension_The_only_supported_extensions_are_1_6054", "File '{0}' has an unsupported extension. The only supported extensions are {1}."),
        Suppress_noImplicitAny_errors_for_indexing_objects_lacking_index_signatures: b(6055, 3, "Suppress_noImplicitAny_errors_for_indexing_objects_lacking_index_signatures_6055", "Suppress noImplicitAny errors for indexing objects lacking index signatures."),
        Do_not_emit_declarations_for_code_that_has_an_internal_annotation: b(6056, 3, "Do_not_emit_declarations_for_code_that_has_an_internal_annotation_6056", "Do not emit declarations for code that has an '@internal' annotation."),
        Specify_the_root_directory_of_input_files_Use_to_control_the_output_directory_structure_with_outDir: b(6058, 3, "Specify_the_root_directory_of_input_files_Use_to_control_the_output_directory_structure_with_outDir_6058", "Specify the root directory of input files. Use to control the output directory structure with --outDir."),
        File_0_is_not_under_rootDir_1_rootDir_is_expected_to_contain_all_source_files: b(6059, 1, "File_0_is_not_under_rootDir_1_rootDir_is_expected_to_contain_all_source_files_6059", "File '{0}' is not under 'rootDir' '{1}'. 'rootDir' is expected to contain all source files."),
        Specify_the_end_of_line_sequence_to_be_used_when_emitting_files_Colon_CRLF_dos_or_LF_unix: b(6060, 3, "Specify_the_end_of_line_sequence_to_be_used_when_emitting_files_Colon_CRLF_dos_or_LF_unix_6060", "Specify the end of line sequence to be used when emitting files: 'CRLF' (dos) or 'LF' (unix)."),
        NEWLINE: b(6061, 3, "NEWLINE_6061", "NEWLINE"),
        Option_0_can_only_be_specified_in_tsconfig_json_file_or_set_to_null_on_command_line: b(6064, 1, "Option_0_can_only_be_specified_in_tsconfig_json_file_or_set_to_null_on_command_line_6064", "Option '{0}' can only be specified in 'tsconfig.json' file or set to 'null' on command line."),
        Enables_experimental_support_for_ES7_decorators: b(6065, 3, "Enables_experimental_support_for_ES7_decorators_6065", "Enables experimental support for ES7 decorators."),
        Enables_experimental_support_for_emitting_type_metadata_for_decorators: b(6066, 3, "Enables_experimental_support_for_emitting_type_metadata_for_decorators_6066", "Enables experimental support for emitting type metadata for decorators."),
        Initializes_a_TypeScript_project_and_creates_a_tsconfig_json_file: b(6070, 3, "Initializes_a_TypeScript_project_and_creates_a_tsconfig_json_file_6070", "Initializes a TypeScript project and creates a tsconfig.json file."),
        Successfully_created_a_tsconfig_json_file: b(6071, 3, "Successfully_created_a_tsconfig_json_file_6071", "Successfully created a tsconfig.json file."),
        Suppress_excess_property_checks_for_object_literals: b(6072, 3, "Suppress_excess_property_checks_for_object_literals_6072", "Suppress excess property checks for object literals."),
        Stylize_errors_and_messages_using_color_and_context_experimental: b(6073, 3, "Stylize_errors_and_messages_using_color_and_context_experimental_6073", "Stylize errors and messages using color and context (experimental)."),
        Do_not_report_errors_on_unused_labels: b(6074, 3, "Do_not_report_errors_on_unused_labels_6074", "Do not report errors on unused labels."),
        Report_error_when_not_all_code_paths_in_function_return_a_value: b(6075, 3, "Report_error_when_not_all_code_paths_in_function_return_a_value_6075", "Report error when not all code paths in function return a value."),
        Report_errors_for_fallthrough_cases_in_switch_statement: b(6076, 3, "Report_errors_for_fallthrough_cases_in_switch_statement_6076", "Report errors for fallthrough cases in switch statement."),
        Do_not_report_errors_on_unreachable_code: b(6077, 3, "Do_not_report_errors_on_unreachable_code_6077", "Do not report errors on unreachable code."),
        Disallow_inconsistently_cased_references_to_the_same_file: b(6078, 3, "Disallow_inconsistently_cased_references_to_the_same_file_6078", "Disallow inconsistently-cased references to the same file."),
        Specify_library_files_to_be_included_in_the_compilation: b(6079, 3, "Specify_library_files_to_be_included_in_the_compilation_6079", "Specify library files to be included in the compilation."),
        Specify_JSX_code_generation: b(6080, 3, "Specify_JSX_code_generation_6080", "Specify JSX code generation."),
        Only_amd_and_system_modules_are_supported_alongside_0: b(6082, 1, "Only_amd_and_system_modules_are_supported_alongside_0_6082", "Only 'amd' and 'system' modules are supported alongside --{0}."),
        Base_directory_to_resolve_non_absolute_module_names: b(6083, 3, "Base_directory_to_resolve_non_absolute_module_names_6083", "Base directory to resolve non-absolute module names."),
        Deprecated_Use_jsxFactory_instead_Specify_the_object_invoked_for_createElement_when_targeting_react_JSX_emit: b(6084, 3, "Deprecated_Use_jsxFactory_instead_Specify_the_object_invoked_for_createElement_when_targeting_react__6084", "[Deprecated] Use '--jsxFactory' instead. Specify the object invoked for createElement when targeting 'react' JSX emit"),
        Enable_tracing_of_the_name_resolution_process: b(6085, 3, "Enable_tracing_of_the_name_resolution_process_6085", "Enable tracing of the name resolution process."),
        Resolving_module_0_from_1: b(6086, 3, "Resolving_module_0_from_1_6086", "======== Resolving module '{0}' from '{1}'. ========"),
        Explicitly_specified_module_resolution_kind_Colon_0: b(6087, 3, "Explicitly_specified_module_resolution_kind_Colon_0_6087", "Explicitly specified module resolution kind: '{0}'."),
        Module_resolution_kind_is_not_specified_using_0: b(6088, 3, "Module_resolution_kind_is_not_specified_using_0_6088", "Module resolution kind is not specified, using '{0}'."),
        Module_name_0_was_successfully_resolved_to_1: b(6089, 3, "Module_name_0_was_successfully_resolved_to_1_6089", "======== Module name '{0}' was successfully resolved to '{1}'. ========"),
        Module_name_0_was_not_resolved: b(6090, 3, "Module_name_0_was_not_resolved_6090", "======== Module name '{0}' was not resolved. ========"),
        paths_option_is_specified_looking_for_a_pattern_to_match_module_name_0: b(6091, 3, "paths_option_is_specified_looking_for_a_pattern_to_match_module_name_0_6091", "'paths' option is specified, looking for a pattern to match module name '{0}'."),
        Module_name_0_matched_pattern_1: b(6092, 3, "Module_name_0_matched_pattern_1_6092", "Module name '{0}', matched pattern '{1}'."),
        Trying_substitution_0_candidate_module_location_Colon_1: b(6093, 3, "Trying_substitution_0_candidate_module_location_Colon_1_6093", "Trying substitution '{0}', candidate module location: '{1}'."),
        Resolving_module_name_0_relative_to_base_url_1_2: b(6094, 3, "Resolving_module_name_0_relative_to_base_url_1_2_6094", "Resolving module name '{0}' relative to base url '{1}' - '{2}'."),
        Loading_module_as_file_Slash_folder_candidate_module_location_0_target_file_types_Colon_1: b(6095, 3, "Loading_module_as_file_Slash_folder_candidate_module_location_0_target_file_types_Colon_1_6095", "Loading module as file / folder, candidate module location '{0}', target file types: {1}."),
        File_0_does_not_exist: b(6096, 3, "File_0_does_not_exist_6096", "File '{0}' does not exist."),
        File_0_exists_use_it_as_a_name_resolution_result: b(6097, 3, "File_0_exists_use_it_as_a_name_resolution_result_6097", "File '{0}' exists - use it as a name resolution result."),
        Loading_module_0_from_node_modules_folder_target_file_types_Colon_1: b(6098, 3, "Loading_module_0_from_node_modules_folder_target_file_types_Colon_1_6098", "Loading module '{0}' from 'node_modules' folder, target file types: {1}."),
        Found_package_json_at_0: b(6099, 3, "Found_package_json_at_0_6099", "Found 'package.json' at '{0}'."),
        package_json_does_not_have_a_0_field: b(6100, 3, "package_json_does_not_have_a_0_field_6100", "'package.json' does not have a '{0}' field."),
        package_json_has_0_field_1_that_references_2: b(6101, 3, "package_json_has_0_field_1_that_references_2_6101", "'package.json' has '{0}' field '{1}' that references '{2}'."),
        Allow_javascript_files_to_be_compiled: b(6102, 3, "Allow_javascript_files_to_be_compiled_6102", "Allow javascript files to be compiled."),
        Checking_if_0_is_the_longest_matching_prefix_for_1_2: b(6104, 3, "Checking_if_0_is_the_longest_matching_prefix_for_1_2_6104", "Checking if '{0}' is the longest matching prefix for '{1}' - '{2}'."),
        Expected_type_of_0_field_in_package_json_to_be_1_got_2: b(6105, 3, "Expected_type_of_0_field_in_package_json_to_be_1_got_2_6105", "Expected type of '{0}' field in 'package.json' to be '{1}', got '{2}'."),
        baseUrl_option_is_set_to_0_using_this_value_to_resolve_non_relative_module_name_1: b(6106, 3, "baseUrl_option_is_set_to_0_using_this_value_to_resolve_non_relative_module_name_1_6106", "'baseUrl' option is set to '{0}', using this value to resolve non-relative module name '{1}'."),
        rootDirs_option_is_set_using_it_to_resolve_relative_module_name_0: b(6107, 3, "rootDirs_option_is_set_using_it_to_resolve_relative_module_name_0_6107", "'rootDirs' option is set, using it to resolve relative module name '{0}'."),
        Longest_matching_prefix_for_0_is_1: b(6108, 3, "Longest_matching_prefix_for_0_is_1_6108", "Longest matching prefix for '{0}' is '{1}'."),
        Loading_0_from_the_root_dir_1_candidate_location_2: b(6109, 3, "Loading_0_from_the_root_dir_1_candidate_location_2_6109", "Loading '{0}' from the root dir '{1}', candidate location '{2}'."),
        Trying_other_entries_in_rootDirs: b(6110, 3, "Trying_other_entries_in_rootDirs_6110", "Trying other entries in 'rootDirs'."),
        Module_resolution_using_rootDirs_has_failed: b(6111, 3, "Module_resolution_using_rootDirs_has_failed_6111", "Module resolution using 'rootDirs' has failed."),
        Do_not_emit_use_strict_directives_in_module_output: b(6112, 3, "Do_not_emit_use_strict_directives_in_module_output_6112", "Do not emit 'use strict' directives in module output."),
        Enable_strict_null_checks: b(6113, 3, "Enable_strict_null_checks_6113", "Enable strict null checks."),
        Unknown_option_excludes_Did_you_mean_exclude: b(6114, 1, "Unknown_option_excludes_Did_you_mean_exclude_6114", "Unknown option 'excludes'. Did you mean 'exclude'?"),
        Raise_error_on_this_expressions_with_an_implied_any_type: b(6115, 3, "Raise_error_on_this_expressions_with_an_implied_any_type_6115", "Raise error on 'this' expressions with an implied 'any' type."),
        Resolving_type_reference_directive_0_containing_file_1_root_directory_2: b(6116, 3, "Resolving_type_reference_directive_0_containing_file_1_root_directory_2_6116", "======== Resolving type reference directive '{0}', containing file '{1}', root directory '{2}'. ========"),
        Type_reference_directive_0_was_successfully_resolved_to_1_primary_Colon_2: b(6119, 3, "Type_reference_directive_0_was_successfully_resolved_to_1_primary_Colon_2_6119", "======== Type reference directive '{0}' was successfully resolved to '{1}', primary: {2}. ========"),
        Type_reference_directive_0_was_not_resolved: b(6120, 3, "Type_reference_directive_0_was_not_resolved_6120", "======== Type reference directive '{0}' was not resolved. ========"),
        Resolving_with_primary_search_path_0: b(6121, 3, "Resolving_with_primary_search_path_0_6121", "Resolving with primary search path '{0}'."),
        Root_directory_cannot_be_determined_skipping_primary_search_paths: b(6122, 3, "Root_directory_cannot_be_determined_skipping_primary_search_paths_6122", "Root directory cannot be determined, skipping primary search paths."),
        Resolving_type_reference_directive_0_containing_file_1_root_directory_not_set: b(6123, 3, "Resolving_type_reference_directive_0_containing_file_1_root_directory_not_set_6123", "======== Resolving type reference directive '{0}', containing file '{1}', root directory not set. ========"),
        Type_declaration_files_to_be_included_in_compilation: b(6124, 3, "Type_declaration_files_to_be_included_in_compilation_6124", "Type declaration files to be included in compilation."),
        Looking_up_in_node_modules_folder_initial_location_0: b(6125, 3, "Looking_up_in_node_modules_folder_initial_location_0_6125", "Looking up in 'node_modules' folder, initial location '{0}'."),
        Containing_file_is_not_specified_and_root_directory_cannot_be_determined_skipping_lookup_in_node_modules_folder: b(6126, 3, "Containing_file_is_not_specified_and_root_directory_cannot_be_determined_skipping_lookup_in_node_mod_6126", "Containing file is not specified and root directory cannot be determined, skipping lookup in 'node_modules' folder."),
        Resolving_type_reference_directive_0_containing_file_not_set_root_directory_1: b(6127, 3, "Resolving_type_reference_directive_0_containing_file_not_set_root_directory_1_6127", "======== Resolving type reference directive '{0}', containing file not set, root directory '{1}'. ========"),
        Resolving_type_reference_directive_0_containing_file_not_set_root_directory_not_set: b(6128, 3, "Resolving_type_reference_directive_0_containing_file_not_set_root_directory_not_set_6128", "======== Resolving type reference directive '{0}', containing file not set, root directory not set. ========"),
        Resolving_real_path_for_0_result_1: b(6130, 3, "Resolving_real_path_for_0_result_1_6130", "Resolving real path for '{0}', result '{1}'."),
        Cannot_compile_modules_using_option_0_unless_the_module_flag_is_amd_or_system: b(6131, 1, "Cannot_compile_modules_using_option_0_unless_the_module_flag_is_amd_or_system_6131", "Cannot compile modules using option '{0}' unless the '--module' flag is 'amd' or 'system'."),
        File_name_0_has_a_1_extension_stripping_it: b(6132, 3, "File_name_0_has_a_1_extension_stripping_it_6132", "File name '{0}' has a '{1}' extension - stripping it."),
        _0_is_declared_but_its_value_is_never_read: b(
          6133,
          1,
          "_0_is_declared_but_its_value_is_never_read_6133",
          "'{0}' is declared but its value is never read.",
          /*reportsUnnecessary*/
          !0
        ),
        Report_errors_on_unused_locals: b(6134, 3, "Report_errors_on_unused_locals_6134", "Report errors on unused locals."),
        Report_errors_on_unused_parameters: b(6135, 3, "Report_errors_on_unused_parameters_6135", "Report errors on unused parameters."),
        The_maximum_dependency_depth_to_search_under_node_modules_and_load_JavaScript_files: b(6136, 3, "The_maximum_dependency_depth_to_search_under_node_modules_and_load_JavaScript_files_6136", "The maximum dependency depth to search under node_modules and load JavaScript files."),
        Cannot_import_type_declaration_files_Consider_importing_0_instead_of_1: b(6137, 1, "Cannot_import_type_declaration_files_Consider_importing_0_instead_of_1_6137", "Cannot import type declaration files. Consider importing '{0}' instead of '{1}'."),
        Property_0_is_declared_but_its_value_is_never_read: b(
          6138,
          1,
          "Property_0_is_declared_but_its_value_is_never_read_6138",
          "Property '{0}' is declared but its value is never read.",
          /*reportsUnnecessary*/
          !0
        ),
        Import_emit_helpers_from_tslib: b(6139, 3, "Import_emit_helpers_from_tslib_6139", "Import emit helpers from 'tslib'."),
        Auto_discovery_for_typings_is_enabled_in_project_0_Running_extra_resolution_pass_for_module_1_using_cache_location_2: b(6140, 1, "Auto_discovery_for_typings_is_enabled_in_project_0_Running_extra_resolution_pass_for_module_1_using__6140", "Auto discovery for typings is enabled in project '{0}'. Running extra resolution pass for module '{1}' using cache location '{2}'."),
        Parse_in_strict_mode_and_emit_use_strict_for_each_source_file: b(6141, 3, "Parse_in_strict_mode_and_emit_use_strict_for_each_source_file_6141", 'Parse in strict mode and emit "use strict" for each source file.'),
        Module_0_was_resolved_to_1_but_jsx_is_not_set: b(6142, 1, "Module_0_was_resolved_to_1_but_jsx_is_not_set_6142", "Module '{0}' was resolved to '{1}', but '--jsx' is not set."),
        Module_0_was_resolved_as_locally_declared_ambient_module_in_file_1: b(6144, 3, "Module_0_was_resolved_as_locally_declared_ambient_module_in_file_1_6144", "Module '{0}' was resolved as locally declared ambient module in file '{1}'."),
        Specify_the_JSX_factory_function_to_use_when_targeting_react_JSX_emit_e_g_React_createElement_or_h: b(6146, 3, "Specify_the_JSX_factory_function_to_use_when_targeting_react_JSX_emit_e_g_React_createElement_or_h_6146", "Specify the JSX factory function to use when targeting 'react' JSX emit, e.g. 'React.createElement' or 'h'."),
        Resolution_for_module_0_was_found_in_cache_from_location_1: b(6147, 3, "Resolution_for_module_0_was_found_in_cache_from_location_1_6147", "Resolution for module '{0}' was found in cache from location '{1}'."),
        Directory_0_does_not_exist_skipping_all_lookups_in_it: b(6148, 3, "Directory_0_does_not_exist_skipping_all_lookups_in_it_6148", "Directory '{0}' does not exist, skipping all lookups in it."),
        Show_diagnostic_information: b(6149, 3, "Show_diagnostic_information_6149", "Show diagnostic information."),
        Show_verbose_diagnostic_information: b(6150, 3, "Show_verbose_diagnostic_information_6150", "Show verbose diagnostic information."),
        Emit_a_single_file_with_source_maps_instead_of_having_a_separate_file: b(6151, 3, "Emit_a_single_file_with_source_maps_instead_of_having_a_separate_file_6151", "Emit a single file with source maps instead of having a separate file."),
        Emit_the_source_alongside_the_sourcemaps_within_a_single_file_requires_inlineSourceMap_or_sourceMap_to_be_set: b(6152, 3, "Emit_the_source_alongside_the_sourcemaps_within_a_single_file_requires_inlineSourceMap_or_sourceMap__6152", "Emit the source alongside the sourcemaps within a single file; requires '--inlineSourceMap' or '--sourceMap' to be set."),
        Transpile_each_file_as_a_separate_module_similar_to_ts_transpileModule: b(6153, 3, "Transpile_each_file_as_a_separate_module_similar_to_ts_transpileModule_6153", "Transpile each file as a separate module (similar to 'ts.transpileModule')."),
        Print_names_of_generated_files_part_of_the_compilation: b(6154, 3, "Print_names_of_generated_files_part_of_the_compilation_6154", "Print names of generated files part of the compilation."),
        Print_names_of_files_part_of_the_compilation: b(6155, 3, "Print_names_of_files_part_of_the_compilation_6155", "Print names of files part of the compilation."),
        The_locale_used_when_displaying_messages_to_the_user_e_g_en_us: b(6156, 3, "The_locale_used_when_displaying_messages_to_the_user_e_g_en_us_6156", "The locale used when displaying messages to the user (e.g. 'en-us')"),
        Do_not_generate_custom_helper_functions_like_extends_in_compiled_output: b(6157, 3, "Do_not_generate_custom_helper_functions_like_extends_in_compiled_output_6157", "Do not generate custom helper functions like '__extends' in compiled output."),
        Do_not_include_the_default_library_file_lib_d_ts: b(6158, 3, "Do_not_include_the_default_library_file_lib_d_ts_6158", "Do not include the default library file (lib.d.ts)."),
        Do_not_add_triple_slash_references_or_imported_modules_to_the_list_of_compiled_files: b(6159, 3, "Do_not_add_triple_slash_references_or_imported_modules_to_the_list_of_compiled_files_6159", "Do not add triple-slash references or imported modules to the list of compiled files."),
        Deprecated_Use_skipLibCheck_instead_Skip_type_checking_of_default_library_declaration_files: b(6160, 3, "Deprecated_Use_skipLibCheck_instead_Skip_type_checking_of_default_library_declaration_files_6160", "[Deprecated] Use '--skipLibCheck' instead. Skip type checking of default library declaration files."),
        List_of_folders_to_include_type_definitions_from: b(6161, 3, "List_of_folders_to_include_type_definitions_from_6161", "List of folders to include type definitions from."),
        Disable_size_limitations_on_JavaScript_projects: b(6162, 3, "Disable_size_limitations_on_JavaScript_projects_6162", "Disable size limitations on JavaScript projects."),
        The_character_set_of_the_input_files: b(6163, 3, "The_character_set_of_the_input_files_6163", "The character set of the input files."),
        Skipping_module_0_that_looks_like_an_absolute_URI_target_file_types_Colon_1: b(6164, 3, "Skipping_module_0_that_looks_like_an_absolute_URI_target_file_types_Colon_1_6164", "Skipping module '{0}' that looks like an absolute URI, target file types: {1}."),
        Do_not_truncate_error_messages: b(6165, 3, "Do_not_truncate_error_messages_6165", "Do not truncate error messages."),
        Output_directory_for_generated_declaration_files: b(6166, 3, "Output_directory_for_generated_declaration_files_6166", "Output directory for generated declaration files."),
        A_series_of_entries_which_re_map_imports_to_lookup_locations_relative_to_the_baseUrl: b(6167, 3, "A_series_of_entries_which_re_map_imports_to_lookup_locations_relative_to_the_baseUrl_6167", "A series of entries which re-map imports to lookup locations relative to the 'baseUrl'."),
        List_of_root_folders_whose_combined_content_represents_the_structure_of_the_project_at_runtime: b(6168, 3, "List_of_root_folders_whose_combined_content_represents_the_structure_of_the_project_at_runtime_6168", "List of root folders whose combined content represents the structure of the project at runtime."),
        Show_all_compiler_options: b(6169, 3, "Show_all_compiler_options_6169", "Show all compiler options."),
        Deprecated_Use_outFile_instead_Concatenate_and_emit_output_to_single_file: b(6170, 3, "Deprecated_Use_outFile_instead_Concatenate_and_emit_output_to_single_file_6170", "[Deprecated] Use '--outFile' instead. Concatenate and emit output to single file"),
        Command_line_Options: b(6171, 3, "Command_line_Options_6171", "Command-line Options"),
        Provide_full_support_for_iterables_in_for_of_spread_and_destructuring_when_targeting_ES5: b(6179, 3, "Provide_full_support_for_iterables_in_for_of_spread_and_destructuring_when_targeting_ES5_6179", "Provide full support for iterables in 'for-of', spread, and destructuring when targeting 'ES5'."),
        Enable_all_strict_type_checking_options: b(6180, 3, "Enable_all_strict_type_checking_options_6180", "Enable all strict type-checking options."),
        Scoped_package_detected_looking_in_0: b(6182, 3, "Scoped_package_detected_looking_in_0_6182", "Scoped package detected, looking in '{0}'"),
        Reusing_resolution_of_module_0_from_1_of_old_program_it_was_successfully_resolved_to_2: b(6183, 3, "Reusing_resolution_of_module_0_from_1_of_old_program_it_was_successfully_resolved_to_2_6183", "Reusing resolution of module '{0}' from '{1}' of old program, it was successfully resolved to '{2}'."),
        Reusing_resolution_of_module_0_from_1_of_old_program_it_was_successfully_resolved_to_2_with_Package_ID_3: b(6184, 3, "Reusing_resolution_of_module_0_from_1_of_old_program_it_was_successfully_resolved_to_2_with_Package__6184", "Reusing resolution of module '{0}' from '{1}' of old program, it was successfully resolved to '{2}' with Package ID '{3}'."),
        Enable_strict_checking_of_function_types: b(6186, 3, "Enable_strict_checking_of_function_types_6186", "Enable strict checking of function types."),
        Enable_strict_checking_of_property_initialization_in_classes: b(6187, 3, "Enable_strict_checking_of_property_initialization_in_classes_6187", "Enable strict checking of property initialization in classes."),
        Numeric_separators_are_not_allowed_here: b(6188, 1, "Numeric_separators_are_not_allowed_here_6188", "Numeric separators are not allowed here."),
        Multiple_consecutive_numeric_separators_are_not_permitted: b(6189, 1, "Multiple_consecutive_numeric_separators_are_not_permitted_6189", "Multiple consecutive numeric separators are not permitted."),
        Whether_to_keep_outdated_console_output_in_watch_mode_instead_of_clearing_the_screen: b(6191, 3, "Whether_to_keep_outdated_console_output_in_watch_mode_instead_of_clearing_the_screen_6191", "Whether to keep outdated console output in watch mode instead of clearing the screen."),
        All_imports_in_import_declaration_are_unused: b(
          6192,
          1,
          "All_imports_in_import_declaration_are_unused_6192",
          "All imports in import declaration are unused.",
          /*reportsUnnecessary*/
          !0
        ),
        Found_1_error_Watching_for_file_changes: b(6193, 3, "Found_1_error_Watching_for_file_changes_6193", "Found 1 error. Watching for file changes."),
        Found_0_errors_Watching_for_file_changes: b(6194, 3, "Found_0_errors_Watching_for_file_changes_6194", "Found {0} errors. Watching for file changes."),
        Resolve_keyof_to_string_valued_property_names_only_no_numbers_or_symbols: b(6195, 3, "Resolve_keyof_to_string_valued_property_names_only_no_numbers_or_symbols_6195", "Resolve 'keyof' to string valued property names only (no numbers or symbols)."),
        _0_is_declared_but_never_used: b(
          6196,
          1,
          "_0_is_declared_but_never_used_6196",
          "'{0}' is declared but never used.",
          /*reportsUnnecessary*/
          !0
        ),
        Include_modules_imported_with_json_extension: b(6197, 3, "Include_modules_imported_with_json_extension_6197", "Include modules imported with '.json' extension"),
        All_destructured_elements_are_unused: b(
          6198,
          1,
          "All_destructured_elements_are_unused_6198",
          "All destructured elements are unused.",
          /*reportsUnnecessary*/
          !0
        ),
        All_variables_are_unused: b(
          6199,
          1,
          "All_variables_are_unused_6199",
          "All variables are unused.",
          /*reportsUnnecessary*/
          !0
        ),
        Definitions_of_the_following_identifiers_conflict_with_those_in_another_file_Colon_0: b(6200, 1, "Definitions_of_the_following_identifiers_conflict_with_those_in_another_file_Colon_0_6200", "Definitions of the following identifiers conflict with those in another file: {0}"),
        Conflicts_are_in_this_file: b(6201, 3, "Conflicts_are_in_this_file_6201", "Conflicts are in this file."),
        Project_references_may_not_form_a_circular_graph_Cycle_detected_Colon_0: b(6202, 1, "Project_references_may_not_form_a_circular_graph_Cycle_detected_Colon_0_6202", "Project references may not form a circular graph. Cycle detected: {0}"),
        _0_was_also_declared_here: b(6203, 3, "_0_was_also_declared_here_6203", "'{0}' was also declared here."),
        and_here: b(6204, 3, "and_here_6204", "and here."),
        All_type_parameters_are_unused: b(6205, 1, "All_type_parameters_are_unused_6205", "All type parameters are unused."),
        package_json_has_a_typesVersions_field_with_version_specific_path_mappings: b(6206, 3, "package_json_has_a_typesVersions_field_with_version_specific_path_mappings_6206", "'package.json' has a 'typesVersions' field with version-specific path mappings."),
        package_json_does_not_have_a_typesVersions_entry_that_matches_version_0: b(6207, 3, "package_json_does_not_have_a_typesVersions_entry_that_matches_version_0_6207", "'package.json' does not have a 'typesVersions' entry that matches version '{0}'."),
        package_json_has_a_typesVersions_entry_0_that_matches_compiler_version_1_looking_for_a_pattern_to_match_module_name_2: b(6208, 3, "package_json_has_a_typesVersions_entry_0_that_matches_compiler_version_1_looking_for_a_pattern_to_ma_6208", "'package.json' has a 'typesVersions' entry '{0}' that matches compiler version '{1}', looking for a pattern to match module name '{2}'."),
        package_json_has_a_typesVersions_entry_0_that_is_not_a_valid_semver_range: b(6209, 3, "package_json_has_a_typesVersions_entry_0_that_is_not_a_valid_semver_range_6209", "'package.json' has a 'typesVersions' entry '{0}' that is not a valid semver range."),
        An_argument_for_0_was_not_provided: b(6210, 3, "An_argument_for_0_was_not_provided_6210", "An argument for '{0}' was not provided."),
        An_argument_matching_this_binding_pattern_was_not_provided: b(6211, 3, "An_argument_matching_this_binding_pattern_was_not_provided_6211", "An argument matching this binding pattern was not provided."),
        Did_you_mean_to_call_this_expression: b(6212, 3, "Did_you_mean_to_call_this_expression_6212", "Did you mean to call this expression?"),
        Did_you_mean_to_use_new_with_this_expression: b(6213, 3, "Did_you_mean_to_use_new_with_this_expression_6213", "Did you mean to use 'new' with this expression?"),
        Enable_strict_bind_call_and_apply_methods_on_functions: b(6214, 3, "Enable_strict_bind_call_and_apply_methods_on_functions_6214", "Enable strict 'bind', 'call', and 'apply' methods on functions."),
        Using_compiler_options_of_project_reference_redirect_0: b(6215, 3, "Using_compiler_options_of_project_reference_redirect_0_6215", "Using compiler options of project reference redirect '{0}'."),
        Found_1_error: b(6216, 3, "Found_1_error_6216", "Found 1 error."),
        Found_0_errors: b(6217, 3, "Found_0_errors_6217", "Found {0} errors."),
        Module_name_0_was_successfully_resolved_to_1_with_Package_ID_2: b(6218, 3, "Module_name_0_was_successfully_resolved_to_1_with_Package_ID_2_6218", "======== Module name '{0}' was successfully resolved to '{1}' with Package ID '{2}'. ========"),
        Type_reference_directive_0_was_successfully_resolved_to_1_with_Package_ID_2_primary_Colon_3: b(6219, 3, "Type_reference_directive_0_was_successfully_resolved_to_1_with_Package_ID_2_primary_Colon_3_6219", "======== Type reference directive '{0}' was successfully resolved to '{1}' with Package ID '{2}', primary: {3}. ========"),
        package_json_had_a_falsy_0_field: b(6220, 3, "package_json_had_a_falsy_0_field_6220", "'package.json' had a falsy '{0}' field."),
        Disable_use_of_source_files_instead_of_declaration_files_from_referenced_projects: b(6221, 3, "Disable_use_of_source_files_instead_of_declaration_files_from_referenced_projects_6221", "Disable use of source files instead of declaration files from referenced projects."),
        Emit_class_fields_with_Define_instead_of_Set: b(6222, 3, "Emit_class_fields_with_Define_instead_of_Set_6222", "Emit class fields with Define instead of Set."),
        Generates_a_CPU_profile: b(6223, 3, "Generates_a_CPU_profile_6223", "Generates a CPU profile."),
        Disable_solution_searching_for_this_project: b(6224, 3, "Disable_solution_searching_for_this_project_6224", "Disable solution searching for this project."),
        Specify_strategy_for_watching_file_Colon_FixedPollingInterval_default_PriorityPollingInterval_DynamicPriorityPolling_FixedChunkSizePolling_UseFsEvents_UseFsEventsOnParentDirectory: b(6225, 3, "Specify_strategy_for_watching_file_Colon_FixedPollingInterval_default_PriorityPollingInterval_Dynami_6225", "Specify strategy for watching file: 'FixedPollingInterval' (default), 'PriorityPollingInterval', 'DynamicPriorityPolling', 'FixedChunkSizePolling', 'UseFsEvents', 'UseFsEventsOnParentDirectory'."),
        Specify_strategy_for_watching_directory_on_platforms_that_don_t_support_recursive_watching_natively_Colon_UseFsEvents_default_FixedPollingInterval_DynamicPriorityPolling_FixedChunkSizePolling: b(6226, 3, "Specify_strategy_for_watching_directory_on_platforms_that_don_t_support_recursive_watching_natively__6226", "Specify strategy for watching directory on platforms that don't support recursive watching natively: 'UseFsEvents' (default), 'FixedPollingInterval', 'DynamicPriorityPolling', 'FixedChunkSizePolling'."),
        Specify_strategy_for_creating_a_polling_watch_when_it_fails_to_create_using_file_system_events_Colon_FixedInterval_default_PriorityInterval_DynamicPriority_FixedChunkSize: b(6227, 3, "Specify_strategy_for_creating_a_polling_watch_when_it_fails_to_create_using_file_system_events_Colon_6227", "Specify strategy for creating a polling watch when it fails to create using file system events: 'FixedInterval' (default), 'PriorityInterval', 'DynamicPriority', 'FixedChunkSize'."),
        Tag_0_expects_at_least_1_arguments_but_the_JSX_factory_2_provides_at_most_3: b(6229, 1, "Tag_0_expects_at_least_1_arguments_but_the_JSX_factory_2_provides_at_most_3_6229", "Tag '{0}' expects at least '{1}' arguments, but the JSX factory '{2}' provides at most '{3}'."),
        Option_0_can_only_be_specified_in_tsconfig_json_file_or_set_to_false_or_null_on_command_line: b(6230, 1, "Option_0_can_only_be_specified_in_tsconfig_json_file_or_set_to_false_or_null_on_command_line_6230", "Option '{0}' can only be specified in 'tsconfig.json' file or set to 'false' or 'null' on command line."),
        Could_not_resolve_the_path_0_with_the_extensions_Colon_1: b(6231, 1, "Could_not_resolve_the_path_0_with_the_extensions_Colon_1_6231", "Could not resolve the path '{0}' with the extensions: {1}."),
        Declaration_augments_declaration_in_another_file_This_cannot_be_serialized: b(6232, 1, "Declaration_augments_declaration_in_another_file_This_cannot_be_serialized_6232", "Declaration augments declaration in another file. This cannot be serialized."),
        This_is_the_declaration_being_augmented_Consider_moving_the_augmenting_declaration_into_the_same_file: b(6233, 1, "This_is_the_declaration_being_augmented_Consider_moving_the_augmenting_declaration_into_the_same_fil_6233", "This is the declaration being augmented. Consider moving the augmenting declaration into the same file."),
        This_expression_is_not_callable_because_it_is_a_get_accessor_Did_you_mean_to_use_it_without: b(6234, 1, "This_expression_is_not_callable_because_it_is_a_get_accessor_Did_you_mean_to_use_it_without_6234", "This expression is not callable because it is a 'get' accessor. Did you mean to use it without '()'?"),
        Disable_loading_referenced_projects: b(6235, 3, "Disable_loading_referenced_projects_6235", "Disable loading referenced projects."),
        Arguments_for_the_rest_parameter_0_were_not_provided: b(6236, 1, "Arguments_for_the_rest_parameter_0_were_not_provided_6236", "Arguments for the rest parameter '{0}' were not provided."),
        Generates_an_event_trace_and_a_list_of_types: b(6237, 3, "Generates_an_event_trace_and_a_list_of_types_6237", "Generates an event trace and a list of types."),
        Specify_the_module_specifier_to_be_used_to_import_the_jsx_and_jsxs_factory_functions_from_eg_react: b(6238, 1, "Specify_the_module_specifier_to_be_used_to_import_the_jsx_and_jsxs_factory_functions_from_eg_react_6238", "Specify the module specifier to be used to import the 'jsx' and 'jsxs' factory functions from. eg, react"),
        File_0_exists_according_to_earlier_cached_lookups: b(6239, 3, "File_0_exists_according_to_earlier_cached_lookups_6239", "File '{0}' exists according to earlier cached lookups."),
        File_0_does_not_exist_according_to_earlier_cached_lookups: b(6240, 3, "File_0_does_not_exist_according_to_earlier_cached_lookups_6240", "File '{0}' does not exist according to earlier cached lookups."),
        Resolution_for_type_reference_directive_0_was_found_in_cache_from_location_1: b(6241, 3, "Resolution_for_type_reference_directive_0_was_found_in_cache_from_location_1_6241", "Resolution for type reference directive '{0}' was found in cache from location '{1}'."),
        Resolving_type_reference_directive_0_containing_file_1: b(6242, 3, "Resolving_type_reference_directive_0_containing_file_1_6242", "======== Resolving type reference directive '{0}', containing file '{1}'. ========"),
        Interpret_optional_property_types_as_written_rather_than_adding_undefined: b(6243, 3, "Interpret_optional_property_types_as_written_rather_than_adding_undefined_6243", "Interpret optional property types as written, rather than adding 'undefined'."),
        Modules: b(6244, 3, "Modules_6244", "Modules"),
        File_Management: b(6245, 3, "File_Management_6245", "File Management"),
        Emit: b(6246, 3, "Emit_6246", "Emit"),
        JavaScript_Support: b(6247, 3, "JavaScript_Support_6247", "JavaScript Support"),
        Type_Checking: b(6248, 3, "Type_Checking_6248", "Type Checking"),
        Editor_Support: b(6249, 3, "Editor_Support_6249", "Editor Support"),
        Watch_and_Build_Modes: b(6250, 3, "Watch_and_Build_Modes_6250", "Watch and Build Modes"),
        Compiler_Diagnostics: b(6251, 3, "Compiler_Diagnostics_6251", "Compiler Diagnostics"),
        Interop_Constraints: b(6252, 3, "Interop_Constraints_6252", "Interop Constraints"),
        Backwards_Compatibility: b(6253, 3, "Backwards_Compatibility_6253", "Backwards Compatibility"),
        Language_and_Environment: b(6254, 3, "Language_and_Environment_6254", "Language and Environment"),
        Projects: b(6255, 3, "Projects_6255", "Projects"),
        Output_Formatting: b(6256, 3, "Output_Formatting_6256", "Output Formatting"),
        Completeness: b(6257, 3, "Completeness_6257", "Completeness"),
        _0_should_be_set_inside_the_compilerOptions_object_of_the_config_json_file: b(6258, 1, "_0_should_be_set_inside_the_compilerOptions_object_of_the_config_json_file_6258", "'{0}' should be set inside the 'compilerOptions' object of the config json file"),
        Found_1_error_in_0: b(6259, 3, "Found_1_error_in_0_6259", "Found 1 error in {0}"),
        Found_0_errors_in_the_same_file_starting_at_Colon_1: b(6260, 3, "Found_0_errors_in_the_same_file_starting_at_Colon_1_6260", "Found {0} errors in the same file, starting at: {1}"),
        Found_0_errors_in_1_files: b(6261, 3, "Found_0_errors_in_1_files_6261", "Found {0} errors in {1} files."),
        File_name_0_has_a_1_extension_looking_up_2_instead: b(6262, 3, "File_name_0_has_a_1_extension_looking_up_2_instead_6262", "File name '{0}' has a '{1}' extension - looking up '{2}' instead."),
        Module_0_was_resolved_to_1_but_allowArbitraryExtensions_is_not_set: b(6263, 1, "Module_0_was_resolved_to_1_but_allowArbitraryExtensions_is_not_set_6263", "Module '{0}' was resolved to '{1}', but '--allowArbitraryExtensions' is not set."),
        Enable_importing_files_with_any_extension_provided_a_declaration_file_is_present: b(6264, 3, "Enable_importing_files_with_any_extension_provided_a_declaration_file_is_present_6264", "Enable importing files with any extension, provided a declaration file is present."),
        Resolving_type_reference_directive_for_program_that_specifies_custom_typeRoots_skipping_lookup_in_node_modules_folder: b(6265, 3, "Resolving_type_reference_directive_for_program_that_specifies_custom_typeRoots_skipping_lookup_in_no_6265", "Resolving type reference directive for program that specifies custom typeRoots, skipping lookup in 'node_modules' folder."),
        Option_0_can_only_be_specified_on_command_line: b(6266, 1, "Option_0_can_only_be_specified_on_command_line_6266", "Option '{0}' can only be specified on command line."),
        Directory_0_has_no_containing_package_json_scope_Imports_will_not_resolve: b(6270, 3, "Directory_0_has_no_containing_package_json_scope_Imports_will_not_resolve_6270", "Directory '{0}' has no containing package.json scope. Imports will not resolve."),
        Import_specifier_0_does_not_exist_in_package_json_scope_at_path_1: b(6271, 3, "Import_specifier_0_does_not_exist_in_package_json_scope_at_path_1_6271", "Import specifier '{0}' does not exist in package.json scope at path '{1}'."),
        Invalid_import_specifier_0_has_no_possible_resolutions: b(6272, 3, "Invalid_import_specifier_0_has_no_possible_resolutions_6272", "Invalid import specifier '{0}' has no possible resolutions."),
        package_json_scope_0_has_no_imports_defined: b(6273, 3, "package_json_scope_0_has_no_imports_defined_6273", "package.json scope '{0}' has no imports defined."),
        package_json_scope_0_explicitly_maps_specifier_1_to_null: b(6274, 3, "package_json_scope_0_explicitly_maps_specifier_1_to_null_6274", "package.json scope '{0}' explicitly maps specifier '{1}' to null."),
        package_json_scope_0_has_invalid_type_for_target_of_specifier_1: b(6275, 3, "package_json_scope_0_has_invalid_type_for_target_of_specifier_1_6275", "package.json scope '{0}' has invalid type for target of specifier '{1}'"),
        Export_specifier_0_does_not_exist_in_package_json_scope_at_path_1: b(6276, 3, "Export_specifier_0_does_not_exist_in_package_json_scope_at_path_1_6276", "Export specifier '{0}' does not exist in package.json scope at path '{1}'."),
        Resolution_of_non_relative_name_failed_trying_with_modern_Node_resolution_features_disabled_to_see_if_npm_library_needs_configuration_update: b(6277, 3, "Resolution_of_non_relative_name_failed_trying_with_modern_Node_resolution_features_disabled_to_see_i_6277", "Resolution of non-relative name failed; trying with modern Node resolution features disabled to see if npm library needs configuration update."),
        There_are_types_at_0_but_this_result_could_not_be_resolved_when_respecting_package_json_exports_The_1_library_may_need_to_update_its_package_json_or_typings: b(6278, 3, "There_are_types_at_0_but_this_result_could_not_be_resolved_when_respecting_package_json_exports_The__6278", `There are types at '{0}', but this result could not be resolved when respecting package.json "exports". The '{1}' library may need to update its package.json or typings.`),
        Resolution_of_non_relative_name_failed_trying_with_moduleResolution_bundler_to_see_if_project_may_need_configuration_update: b(6279, 3, "Resolution_of_non_relative_name_failed_trying_with_moduleResolution_bundler_to_see_if_project_may_ne_6279", "Resolution of non-relative name failed; trying with '--moduleResolution bundler' to see if project may need configuration update."),
        There_are_types_at_0_but_this_result_could_not_be_resolved_under_your_current_moduleResolution_setting_Consider_updating_to_node16_nodenext_or_bundler: b(6280, 3, "There_are_types_at_0_but_this_result_could_not_be_resolved_under_your_current_moduleResolution_setti_6280", "There are types at '{0}', but this result could not be resolved under your current 'moduleResolution' setting. Consider updating to 'node16', 'nodenext', or 'bundler'."),
        package_json_has_a_peerDependencies_field: b(6281, 3, "package_json_has_a_peerDependencies_field_6281", "'package.json' has a 'peerDependencies' field."),
        Found_peerDependency_0_with_1_version: b(6282, 3, "Found_peerDependency_0_with_1_version_6282", "Found peerDependency '{0}' with '{1}' version."),
        Failed_to_find_peerDependency_0: b(6283, 3, "Failed_to_find_peerDependency_0_6283", "Failed to find peerDependency '{0}'."),
        Enable_project_compilation: b(6302, 3, "Enable_project_compilation_6302", "Enable project compilation"),
        Composite_projects_may_not_disable_declaration_emit: b(6304, 1, "Composite_projects_may_not_disable_declaration_emit_6304", "Composite projects may not disable declaration emit."),
        Output_file_0_has_not_been_built_from_source_file_1: b(6305, 1, "Output_file_0_has_not_been_built_from_source_file_1_6305", "Output file '{0}' has not been built from source file '{1}'."),
        Referenced_project_0_must_have_setting_composite_Colon_true: b(6306, 1, "Referenced_project_0_must_have_setting_composite_Colon_true_6306", `Referenced project '{0}' must have setting "composite": true.`),
        File_0_is_not_listed_within_the_file_list_of_project_1_Projects_must_list_all_files_or_use_an_include_pattern: b(6307, 1, "File_0_is_not_listed_within_the_file_list_of_project_1_Projects_must_list_all_files_or_use_an_includ_6307", "File '{0}' is not listed within the file list of project '{1}'. Projects must list all files or use an 'include' pattern."),
        Referenced_project_0_may_not_disable_emit: b(6310, 1, "Referenced_project_0_may_not_disable_emit_6310", "Referenced project '{0}' may not disable emit."),
        Project_0_is_out_of_date_because_output_1_is_older_than_input_2: b(6350, 3, "Project_0_is_out_of_date_because_output_1_is_older_than_input_2_6350", "Project '{0}' is out of date because output '{1}' is older than input '{2}'"),
        Project_0_is_up_to_date_because_newest_input_1_is_older_than_output_2: b(6351, 3, "Project_0_is_up_to_date_because_newest_input_1_is_older_than_output_2_6351", "Project '{0}' is up to date because newest input '{1}' is older than output '{2}'"),
        Project_0_is_out_of_date_because_output_file_1_does_not_exist: b(6352, 3, "Project_0_is_out_of_date_because_output_file_1_does_not_exist_6352", "Project '{0}' is out of date because output file '{1}' does not exist"),
        Project_0_is_out_of_date_because_its_dependency_1_is_out_of_date: b(6353, 3, "Project_0_is_out_of_date_because_its_dependency_1_is_out_of_date_6353", "Project '{0}' is out of date because its dependency '{1}' is out of date"),
        Project_0_is_up_to_date_with_d_ts_files_from_its_dependencies: b(6354, 3, "Project_0_is_up_to_date_with_d_ts_files_from_its_dependencies_6354", "Project '{0}' is up to date with .d.ts files from its dependencies"),
        Projects_in_this_build_Colon_0: b(6355, 3, "Projects_in_this_build_Colon_0_6355", "Projects in this build: {0}"),
        A_non_dry_build_would_delete_the_following_files_Colon_0: b(6356, 3, "A_non_dry_build_would_delete_the_following_files_Colon_0_6356", "A non-dry build would delete the following files: {0}"),
        A_non_dry_build_would_build_project_0: b(6357, 3, "A_non_dry_build_would_build_project_0_6357", "A non-dry build would build project '{0}'"),
        Building_project_0: b(6358, 3, "Building_project_0_6358", "Building project '{0}'..."),
        Updating_output_timestamps_of_project_0: b(6359, 3, "Updating_output_timestamps_of_project_0_6359", "Updating output timestamps of project '{0}'..."),
        Project_0_is_up_to_date: b(6361, 3, "Project_0_is_up_to_date_6361", "Project '{0}' is up to date"),
        Skipping_build_of_project_0_because_its_dependency_1_has_errors: b(6362, 3, "Skipping_build_of_project_0_because_its_dependency_1_has_errors_6362", "Skipping build of project '{0}' because its dependency '{1}' has errors"),
        Project_0_can_t_be_built_because_its_dependency_1_has_errors: b(6363, 3, "Project_0_can_t_be_built_because_its_dependency_1_has_errors_6363", "Project '{0}' can't be built because its dependency '{1}' has errors"),
        Build_one_or_more_projects_and_their_dependencies_if_out_of_date: b(6364, 3, "Build_one_or_more_projects_and_their_dependencies_if_out_of_date_6364", "Build one or more projects and their dependencies, if out of date"),
        Delete_the_outputs_of_all_projects: b(6365, 3, "Delete_the_outputs_of_all_projects_6365", "Delete the outputs of all projects."),
        Show_what_would_be_built_or_deleted_if_specified_with_clean: b(6367, 3, "Show_what_would_be_built_or_deleted_if_specified_with_clean_6367", "Show what would be built (or deleted, if specified with '--clean')"),
        Option_build_must_be_the_first_command_line_argument: b(6369, 1, "Option_build_must_be_the_first_command_line_argument_6369", "Option '--build' must be the first command line argument."),
        Options_0_and_1_cannot_be_combined: b(6370, 1, "Options_0_and_1_cannot_be_combined_6370", "Options '{0}' and '{1}' cannot be combined."),
        Updating_unchanged_output_timestamps_of_project_0: b(6371, 3, "Updating_unchanged_output_timestamps_of_project_0_6371", "Updating unchanged output timestamps of project '{0}'..."),
        A_non_dry_build_would_update_timestamps_for_output_of_project_0: b(6374, 3, "A_non_dry_build_would_update_timestamps_for_output_of_project_0_6374", "A non-dry build would update timestamps for output of project '{0}'"),
        Cannot_write_file_0_because_it_will_overwrite_tsbuildinfo_file_generated_by_referenced_project_1: b(6377, 1, "Cannot_write_file_0_because_it_will_overwrite_tsbuildinfo_file_generated_by_referenced_project_1_6377", "Cannot write file '{0}' because it will overwrite '.tsbuildinfo' file generated by referenced project '{1}'"),
        Composite_projects_may_not_disable_incremental_compilation: b(6379, 1, "Composite_projects_may_not_disable_incremental_compilation_6379", "Composite projects may not disable incremental compilation."),
        Specify_file_to_store_incremental_compilation_information: b(6380, 3, "Specify_file_to_store_incremental_compilation_information_6380", "Specify file to store incremental compilation information"),
        Project_0_is_out_of_date_because_output_for_it_was_generated_with_version_1_that_differs_with_current_version_2: b(6381, 3, "Project_0_is_out_of_date_because_output_for_it_was_generated_with_version_1_that_differs_with_curren_6381", "Project '{0}' is out of date because output for it was generated with version '{1}' that differs with current version '{2}'"),
        Skipping_build_of_project_0_because_its_dependency_1_was_not_built: b(6382, 3, "Skipping_build_of_project_0_because_its_dependency_1_was_not_built_6382", "Skipping build of project '{0}' because its dependency '{1}' was not built"),
        Project_0_can_t_be_built_because_its_dependency_1_was_not_built: b(6383, 3, "Project_0_can_t_be_built_because_its_dependency_1_was_not_built_6383", "Project '{0}' can't be built because its dependency '{1}' was not built"),
        Have_recompiles_in_incremental_and_watch_assume_that_changes_within_a_file_will_only_affect_files_directly_depending_on_it: b(6384, 3, "Have_recompiles_in_incremental_and_watch_assume_that_changes_within_a_file_will_only_affect_files_di_6384", "Have recompiles in '--incremental' and '--watch' assume that changes within a file will only affect files directly depending on it."),
        _0_is_deprecated: b(
          6385,
          2,
          "_0_is_deprecated_6385",
          "'{0}' is deprecated.",
          /*reportsUnnecessary*/
          void 0,
          /*elidedInCompatabilityPyramid*/
          void 0,
          /*reportsDeprecated*/
          !0
        ),
        Performance_timings_for_diagnostics_or_extendedDiagnostics_are_not_available_in_this_session_A_native_implementation_of_the_Web_Performance_API_could_not_be_found: b(6386, 3, "Performance_timings_for_diagnostics_or_extendedDiagnostics_are_not_available_in_this_session_A_nativ_6386", "Performance timings for '--diagnostics' or '--extendedDiagnostics' are not available in this session. A native implementation of the Web Performance API could not be found."),
        The_signature_0_of_1_is_deprecated: b(
          6387,
          2,
          "The_signature_0_of_1_is_deprecated_6387",
          "The signature '{0}' of '{1}' is deprecated.",
          /*reportsUnnecessary*/
          void 0,
          /*elidedInCompatabilityPyramid*/
          void 0,
          /*reportsDeprecated*/
          !0
        ),
        Project_0_is_being_forcibly_rebuilt: b(6388, 3, "Project_0_is_being_forcibly_rebuilt_6388", "Project '{0}' is being forcibly rebuilt"),
        Reusing_resolution_of_module_0_from_1_of_old_program_it_was_not_resolved: b(6389, 3, "Reusing_resolution_of_module_0_from_1_of_old_program_it_was_not_resolved_6389", "Reusing resolution of module '{0}' from '{1}' of old program, it was not resolved."),
        Reusing_resolution_of_type_reference_directive_0_from_1_of_old_program_it_was_successfully_resolved_to_2: b(6390, 3, "Reusing_resolution_of_type_reference_directive_0_from_1_of_old_program_it_was_successfully_resolved__6390", "Reusing resolution of type reference directive '{0}' from '{1}' of old program, it was successfully resolved to '{2}'."),
        Reusing_resolution_of_type_reference_directive_0_from_1_of_old_program_it_was_successfully_resolved_to_2_with_Package_ID_3: b(6391, 3, "Reusing_resolution_of_type_reference_directive_0_from_1_of_old_program_it_was_successfully_resolved__6391", "Reusing resolution of type reference directive '{0}' from '{1}' of old program, it was successfully resolved to '{2}' with Package ID '{3}'."),
        Reusing_resolution_of_type_reference_directive_0_from_1_of_old_program_it_was_not_resolved: b(6392, 3, "Reusing_resolution_of_type_reference_directive_0_from_1_of_old_program_it_was_not_resolved_6392", "Reusing resolution of type reference directive '{0}' from '{1}' of old program, it was not resolved."),
        Reusing_resolution_of_module_0_from_1_found_in_cache_from_location_2_it_was_successfully_resolved_to_3: b(6393, 3, "Reusing_resolution_of_module_0_from_1_found_in_cache_from_location_2_it_was_successfully_resolved_to_6393", "Reusing resolution of module '{0}' from '{1}' found in cache from location '{2}', it was successfully resolved to '{3}'."),
        Reusing_resolution_of_module_0_from_1_found_in_cache_from_location_2_it_was_successfully_resolved_to_3_with_Package_ID_4: b(6394, 3, "Reusing_resolution_of_module_0_from_1_found_in_cache_from_location_2_it_was_successfully_resolved_to_6394", "Reusing resolution of module '{0}' from '{1}' found in cache from location '{2}', it was successfully resolved to '{3}' with Package ID '{4}'."),
        Reusing_resolution_of_module_0_from_1_found_in_cache_from_location_2_it_was_not_resolved: b(6395, 3, "Reusing_resolution_of_module_0_from_1_found_in_cache_from_location_2_it_was_not_resolved_6395", "Reusing resolution of module '{0}' from '{1}' found in cache from location '{2}', it was not resolved."),
        Reusing_resolution_of_type_reference_directive_0_from_1_found_in_cache_from_location_2_it_was_successfully_resolved_to_3: b(6396, 3, "Reusing_resolution_of_type_reference_directive_0_from_1_found_in_cache_from_location_2_it_was_succes_6396", "Reusing resolution of type reference directive '{0}' from '{1}' found in cache from location '{2}', it was successfully resolved to '{3}'."),
        Reusing_resolution_of_type_reference_directive_0_from_1_found_in_cache_from_location_2_it_was_successfully_resolved_to_3_with_Package_ID_4: b(6397, 3, "Reusing_resolution_of_type_reference_directive_0_from_1_found_in_cache_from_location_2_it_was_succes_6397", "Reusing resolution of type reference directive '{0}' from '{1}' found in cache from location '{2}', it was successfully resolved to '{3}' with Package ID '{4}'."),
        Reusing_resolution_of_type_reference_directive_0_from_1_found_in_cache_from_location_2_it_was_not_resolved: b(6398, 3, "Reusing_resolution_of_type_reference_directive_0_from_1_found_in_cache_from_location_2_it_was_not_re_6398", "Reusing resolution of type reference directive '{0}' from '{1}' found in cache from location '{2}', it was not resolved."),
        Project_0_is_out_of_date_because_buildinfo_file_1_indicates_that_some_of_the_changes_were_not_emitted: b(6399, 3, "Project_0_is_out_of_date_because_buildinfo_file_1_indicates_that_some_of_the_changes_were_not_emitte_6399", "Project '{0}' is out of date because buildinfo file '{1}' indicates that some of the changes were not emitted"),
        Project_0_is_up_to_date_but_needs_to_update_timestamps_of_output_files_that_are_older_than_input_files: b(6400, 3, "Project_0_is_up_to_date_but_needs_to_update_timestamps_of_output_files_that_are_older_than_input_fil_6400", "Project '{0}' is up to date but needs to update timestamps of output files that are older than input files"),
        Project_0_is_out_of_date_because_there_was_error_reading_file_1: b(6401, 3, "Project_0_is_out_of_date_because_there_was_error_reading_file_1_6401", "Project '{0}' is out of date because there was error reading file '{1}'"),
        Resolving_in_0_mode_with_conditions_1: b(6402, 3, "Resolving_in_0_mode_with_conditions_1_6402", "Resolving in {0} mode with conditions {1}."),
        Matched_0_condition_1: b(6403, 3, "Matched_0_condition_1_6403", "Matched '{0}' condition '{1}'."),
        Using_0_subpath_1_with_target_2: b(6404, 3, "Using_0_subpath_1_with_target_2_6404", "Using '{0}' subpath '{1}' with target '{2}'."),
        Saw_non_matching_condition_0: b(6405, 3, "Saw_non_matching_condition_0_6405", "Saw non-matching condition '{0}'."),
        Project_0_is_out_of_date_because_buildinfo_file_1_indicates_there_is_change_in_compilerOptions: b(6406, 3, "Project_0_is_out_of_date_because_buildinfo_file_1_indicates_there_is_change_in_compilerOptions_6406", "Project '{0}' is out of date because buildinfo file '{1}' indicates there is change in compilerOptions"),
        Allow_imports_to_include_TypeScript_file_extensions_Requires_moduleResolution_bundler_and_either_noEmit_or_emitDeclarationOnly_to_be_set: b(6407, 3, "Allow_imports_to_include_TypeScript_file_extensions_Requires_moduleResolution_bundler_and_either_noE_6407", "Allow imports to include TypeScript file extensions. Requires '--moduleResolution bundler' and either '--noEmit' or '--emitDeclarationOnly' to be set."),
        Use_the_package_json_exports_field_when_resolving_package_imports: b(6408, 3, "Use_the_package_json_exports_field_when_resolving_package_imports_6408", "Use the package.json 'exports' field when resolving package imports."),
        Use_the_package_json_imports_field_when_resolving_imports: b(6409, 3, "Use_the_package_json_imports_field_when_resolving_imports_6409", "Use the package.json 'imports' field when resolving imports."),
        Conditions_to_set_in_addition_to_the_resolver_specific_defaults_when_resolving_imports: b(6410, 3, "Conditions_to_set_in_addition_to_the_resolver_specific_defaults_when_resolving_imports_6410", "Conditions to set in addition to the resolver-specific defaults when resolving imports."),
        true_when_moduleResolution_is_node16_nodenext_or_bundler_otherwise_false: b(6411, 3, "true_when_moduleResolution_is_node16_nodenext_or_bundler_otherwise_false_6411", "`true` when 'moduleResolution' is 'node16', 'nodenext', or 'bundler'; otherwise `false`."),
        Project_0_is_out_of_date_because_buildinfo_file_1_indicates_that_file_2_was_root_file_of_compilation_but_not_any_more: b(6412, 3, "Project_0_is_out_of_date_because_buildinfo_file_1_indicates_that_file_2_was_root_file_of_compilation_6412", "Project '{0}' is out of date because buildinfo file '{1}' indicates that file '{2}' was root file of compilation but not any more."),
        Entering_conditional_exports: b(6413, 3, "Entering_conditional_exports_6413", "Entering conditional exports."),
        Resolved_under_condition_0: b(6414, 3, "Resolved_under_condition_0_6414", "Resolved under condition '{0}'."),
        Failed_to_resolve_under_condition_0: b(6415, 3, "Failed_to_resolve_under_condition_0_6415", "Failed to resolve under condition '{0}'."),
        Exiting_conditional_exports: b(6416, 3, "Exiting_conditional_exports_6416", "Exiting conditional exports."),
        Searching_all_ancestor_node_modules_directories_for_preferred_extensions_Colon_0: b(6417, 3, "Searching_all_ancestor_node_modules_directories_for_preferred_extensions_Colon_0_6417", "Searching all ancestor node_modules directories for preferred extensions: {0}."),
        Searching_all_ancestor_node_modules_directories_for_fallback_extensions_Colon_0: b(6418, 3, "Searching_all_ancestor_node_modules_directories_for_fallback_extensions_Colon_0_6418", "Searching all ancestor node_modules directories for fallback extensions: {0}."),
        Project_0_is_out_of_date_because_buildinfo_file_1_indicates_that_program_needs_to_report_errors: b(6419, 3, "Project_0_is_out_of_date_because_buildinfo_file_1_indicates_that_program_needs_to_report_errors_6419", "Project '{0}' is out of date because buildinfo file '{1}' indicates that program needs to report errors."),
        Project_0_is_out_of_date_because_1: b(6420, 3, "Project_0_is_out_of_date_because_1_6420", "Project '{0}' is out of date because {1}."),
        Rewrite_ts_tsx_mts_and_cts_file_extensions_in_relative_import_paths_to_their_JavaScript_equivalent_in_output_files: b(6421, 3, "Rewrite_ts_tsx_mts_and_cts_file_extensions_in_relative_import_paths_to_their_JavaScript_equivalent_i_6421", "Rewrite '.ts', '.tsx', '.mts', and '.cts' file extensions in relative import paths to their JavaScript equivalent in output files."),
        The_expected_type_comes_from_property_0_which_is_declared_here_on_type_1: b(6500, 3, "The_expected_type_comes_from_property_0_which_is_declared_here_on_type_1_6500", "The expected type comes from property '{0}' which is declared here on type '{1}'"),
        The_expected_type_comes_from_this_index_signature: b(6501, 3, "The_expected_type_comes_from_this_index_signature_6501", "The expected type comes from this index signature."),
        The_expected_type_comes_from_the_return_type_of_this_signature: b(6502, 3, "The_expected_type_comes_from_the_return_type_of_this_signature_6502", "The expected type comes from the return type of this signature."),
        Print_names_of_files_that_are_part_of_the_compilation_and_then_stop_processing: b(6503, 3, "Print_names_of_files_that_are_part_of_the_compilation_and_then_stop_processing_6503", "Print names of files that are part of the compilation and then stop processing."),
        File_0_is_a_JavaScript_file_Did_you_mean_to_enable_the_allowJs_option: b(6504, 1, "File_0_is_a_JavaScript_file_Did_you_mean_to_enable_the_allowJs_option_6504", "File '{0}' is a JavaScript file. Did you mean to enable the 'allowJs' option?"),
        Print_names_of_files_and_the_reason_they_are_part_of_the_compilation: b(6505, 3, "Print_names_of_files_and_the_reason_they_are_part_of_the_compilation_6505", "Print names of files and the reason they are part of the compilation."),
        Consider_adding_a_declare_modifier_to_this_class: b(6506, 3, "Consider_adding_a_declare_modifier_to_this_class_6506", "Consider adding a 'declare' modifier to this class."),
        Allow_JavaScript_files_to_be_a_part_of_your_program_Use_the_checkJS_option_to_get_errors_from_these_files: b(6600, 3, "Allow_JavaScript_files_to_be_a_part_of_your_program_Use_the_checkJS_option_to_get_errors_from_these__6600", "Allow JavaScript files to be a part of your program. Use the 'checkJS' option to get errors from these files."),
        Allow_import_x_from_y_when_a_module_doesn_t_have_a_default_export: b(6601, 3, "Allow_import_x_from_y_when_a_module_doesn_t_have_a_default_export_6601", "Allow 'import x from y' when a module doesn't have a default export."),
        Allow_accessing_UMD_globals_from_modules: b(6602, 3, "Allow_accessing_UMD_globals_from_modules_6602", "Allow accessing UMD globals from modules."),
        Disable_error_reporting_for_unreachable_code: b(6603, 3, "Disable_error_reporting_for_unreachable_code_6603", "Disable error reporting for unreachable code."),
        Disable_error_reporting_for_unused_labels: b(6604, 3, "Disable_error_reporting_for_unused_labels_6604", "Disable error reporting for unused labels."),
        Ensure_use_strict_is_always_emitted: b(6605, 3, "Ensure_use_strict_is_always_emitted_6605", "Ensure 'use strict' is always emitted."),
        Have_recompiles_in_projects_that_use_incremental_and_watch_mode_assume_that_changes_within_a_file_will_only_affect_files_directly_depending_on_it: b(6606, 3, "Have_recompiles_in_projects_that_use_incremental_and_watch_mode_assume_that_changes_within_a_file_wi_6606", "Have recompiles in projects that use 'incremental' and 'watch' mode assume that changes within a file will only affect files directly depending on it."),
        Specify_the_base_directory_to_resolve_non_relative_module_names: b(6607, 3, "Specify_the_base_directory_to_resolve_non_relative_module_names_6607", "Specify the base directory to resolve non-relative module names."),
        No_longer_supported_In_early_versions_manually_set_the_text_encoding_for_reading_files: b(6608, 3, "No_longer_supported_In_early_versions_manually_set_the_text_encoding_for_reading_files_6608", "No longer supported. In early versions, manually set the text encoding for reading files."),
        Enable_error_reporting_in_type_checked_JavaScript_files: b(6609, 3, "Enable_error_reporting_in_type_checked_JavaScript_files_6609", "Enable error reporting in type-checked JavaScript files."),
        Enable_constraints_that_allow_a_TypeScript_project_to_be_used_with_project_references: b(6611, 3, "Enable_constraints_that_allow_a_TypeScript_project_to_be_used_with_project_references_6611", "Enable constraints that allow a TypeScript project to be used with project references."),
        Generate_d_ts_files_from_TypeScript_and_JavaScript_files_in_your_project: b(6612, 3, "Generate_d_ts_files_from_TypeScript_and_JavaScript_files_in_your_project_6612", "Generate .d.ts files from TypeScript and JavaScript files in your project."),
        Specify_the_output_directory_for_generated_declaration_files: b(6613, 3, "Specify_the_output_directory_for_generated_declaration_files_6613", "Specify the output directory for generated declaration files."),
        Create_sourcemaps_for_d_ts_files: b(6614, 3, "Create_sourcemaps_for_d_ts_files_6614", "Create sourcemaps for d.ts files."),
        Output_compiler_performance_information_after_building: b(6615, 3, "Output_compiler_performance_information_after_building_6615", "Output compiler performance information after building."),
        Disables_inference_for_type_acquisition_by_looking_at_filenames_in_a_project: b(6616, 3, "Disables_inference_for_type_acquisition_by_looking_at_filenames_in_a_project_6616", "Disables inference for type acquisition by looking at filenames in a project."),
        Reduce_the_number_of_projects_loaded_automatically_by_TypeScript: b(6617, 3, "Reduce_the_number_of_projects_loaded_automatically_by_TypeScript_6617", "Reduce the number of projects loaded automatically by TypeScript."),
        Remove_the_20mb_cap_on_total_source_code_size_for_JavaScript_files_in_the_TypeScript_language_server: b(6618, 3, "Remove_the_20mb_cap_on_total_source_code_size_for_JavaScript_files_in_the_TypeScript_language_server_6618", "Remove the 20mb cap on total source code size for JavaScript files in the TypeScript language server."),
        Opt_a_project_out_of_multi_project_reference_checking_when_editing: b(6619, 3, "Opt_a_project_out_of_multi_project_reference_checking_when_editing_6619", "Opt a project out of multi-project reference checking when editing."),
        Disable_preferring_source_files_instead_of_declaration_files_when_referencing_composite_projects: b(6620, 3, "Disable_preferring_source_files_instead_of_declaration_files_when_referencing_composite_projects_6620", "Disable preferring source files instead of declaration files when referencing composite projects."),
        Emit_more_compliant_but_verbose_and_less_performant_JavaScript_for_iteration: b(6621, 3, "Emit_more_compliant_but_verbose_and_less_performant_JavaScript_for_iteration_6621", "Emit more compliant, but verbose and less performant JavaScript for iteration."),
        Emit_a_UTF_8_Byte_Order_Mark_BOM_in_the_beginning_of_output_files: b(6622, 3, "Emit_a_UTF_8_Byte_Order_Mark_BOM_in_the_beginning_of_output_files_6622", "Emit a UTF-8 Byte Order Mark (BOM) in the beginning of output files."),
        Only_output_d_ts_files_and_not_JavaScript_files: b(6623, 3, "Only_output_d_ts_files_and_not_JavaScript_files_6623", "Only output d.ts files and not JavaScript files."),
        Emit_design_type_metadata_for_decorated_declarations_in_source_files: b(6624, 3, "Emit_design_type_metadata_for_decorated_declarations_in_source_files_6624", "Emit design-type metadata for decorated declarations in source files."),
        Disable_the_type_acquisition_for_JavaScript_projects: b(6625, 3, "Disable_the_type_acquisition_for_JavaScript_projects_6625", "Disable the type acquisition for JavaScript projects"),
        Emit_additional_JavaScript_to_ease_support_for_importing_CommonJS_modules_This_enables_allowSyntheticDefaultImports_for_type_compatibility: b(6626, 3, "Emit_additional_JavaScript_to_ease_support_for_importing_CommonJS_modules_This_enables_allowSyntheti_6626", "Emit additional JavaScript to ease support for importing CommonJS modules. This enables 'allowSyntheticDefaultImports' for type compatibility."),
        Filters_results_from_the_include_option: b(6627, 3, "Filters_results_from_the_include_option_6627", "Filters results from the `include` option."),
        Remove_a_list_of_directories_from_the_watch_process: b(6628, 3, "Remove_a_list_of_directories_from_the_watch_process_6628", "Remove a list of directories from the watch process."),
        Remove_a_list_of_files_from_the_watch_mode_s_processing: b(6629, 3, "Remove_a_list_of_files_from_the_watch_mode_s_processing_6629", "Remove a list of files from the watch mode's processing."),
        Enable_experimental_support_for_legacy_experimental_decorators: b(6630, 3, "Enable_experimental_support_for_legacy_experimental_decorators_6630", "Enable experimental support for legacy experimental decorators."),
        Print_files_read_during_the_compilation_including_why_it_was_included: b(6631, 3, "Print_files_read_during_the_compilation_including_why_it_was_included_6631", "Print files read during the compilation including why it was included."),
        Output_more_detailed_compiler_performance_information_after_building: b(6632, 3, "Output_more_detailed_compiler_performance_information_after_building_6632", "Output more detailed compiler performance information after building."),
        Specify_one_or_more_path_or_node_module_references_to_base_configuration_files_from_which_settings_are_inherited: b(6633, 3, "Specify_one_or_more_path_or_node_module_references_to_base_configuration_files_from_which_settings_a_6633", "Specify one or more path or node module references to base configuration files from which settings are inherited."),
        Specify_what_approach_the_watcher_should_use_if_the_system_runs_out_of_native_file_watchers: b(6634, 3, "Specify_what_approach_the_watcher_should_use_if_the_system_runs_out_of_native_file_watchers_6634", "Specify what approach the watcher should use if the system runs out of native file watchers."),
        Include_a_list_of_files_This_does_not_support_glob_patterns_as_opposed_to_include: b(6635, 3, "Include_a_list_of_files_This_does_not_support_glob_patterns_as_opposed_to_include_6635", "Include a list of files. This does not support glob patterns, as opposed to `include`."),
        Build_all_projects_including_those_that_appear_to_be_up_to_date: b(6636, 3, "Build_all_projects_including_those_that_appear_to_be_up_to_date_6636", "Build all projects, including those that appear to be up to date."),
        Ensure_that_casing_is_correct_in_imports: b(6637, 3, "Ensure_that_casing_is_correct_in_imports_6637", "Ensure that casing is correct in imports."),
        Emit_a_v8_CPU_profile_of_the_compiler_run_for_debugging: b(6638, 3, "Emit_a_v8_CPU_profile_of_the_compiler_run_for_debugging_6638", "Emit a v8 CPU profile of the compiler run for debugging."),
        Allow_importing_helper_functions_from_tslib_once_per_project_instead_of_including_them_per_file: b(6639, 3, "Allow_importing_helper_functions_from_tslib_once_per_project_instead_of_including_them_per_file_6639", "Allow importing helper functions from tslib once per project, instead of including them per-file."),
        Skip_building_downstream_projects_on_error_in_upstream_project: b(6640, 3, "Skip_building_downstream_projects_on_error_in_upstream_project_6640", "Skip building downstream projects on error in upstream project."),
        Specify_a_list_of_glob_patterns_that_match_files_to_be_included_in_compilation: b(6641, 3, "Specify_a_list_of_glob_patterns_that_match_files_to_be_included_in_compilation_6641", "Specify a list of glob patterns that match files to be included in compilation."),
        Save_tsbuildinfo_files_to_allow_for_incremental_compilation_of_projects: b(6642, 3, "Save_tsbuildinfo_files_to_allow_for_incremental_compilation_of_projects_6642", "Save .tsbuildinfo files to allow for incremental compilation of projects."),
        Include_sourcemap_files_inside_the_emitted_JavaScript: b(6643, 3, "Include_sourcemap_files_inside_the_emitted_JavaScript_6643", "Include sourcemap files inside the emitted JavaScript."),
        Include_source_code_in_the_sourcemaps_inside_the_emitted_JavaScript: b(6644, 3, "Include_source_code_in_the_sourcemaps_inside_the_emitted_JavaScript_6644", "Include source code in the sourcemaps inside the emitted JavaScript."),
        Ensure_that_each_file_can_be_safely_transpiled_without_relying_on_other_imports: b(6645, 3, "Ensure_that_each_file_can_be_safely_transpiled_without_relying_on_other_imports_6645", "Ensure that each file can be safely transpiled without relying on other imports."),
        Specify_what_JSX_code_is_generated: b(6646, 3, "Specify_what_JSX_code_is_generated_6646", "Specify what JSX code is generated."),
        Specify_the_JSX_factory_function_used_when_targeting_React_JSX_emit_e_g_React_createElement_or_h: b(6647, 3, "Specify_the_JSX_factory_function_used_when_targeting_React_JSX_emit_e_g_React_createElement_or_h_6647", "Specify the JSX factory function used when targeting React JSX emit, e.g. 'React.createElement' or 'h'."),
        Specify_the_JSX_Fragment_reference_used_for_fragments_when_targeting_React_JSX_emit_e_g_React_Fragment_or_Fragment: b(6648, 3, "Specify_the_JSX_Fragment_reference_used_for_fragments_when_targeting_React_JSX_emit_e_g_React_Fragme_6648", "Specify the JSX Fragment reference used for fragments when targeting React JSX emit e.g. 'React.Fragment' or 'Fragment'."),
        Specify_module_specifier_used_to_import_the_JSX_factory_functions_when_using_jsx_Colon_react_jsx_Asterisk: b(6649, 3, "Specify_module_specifier_used_to_import_the_JSX_factory_functions_when_using_jsx_Colon_react_jsx_Ast_6649", "Specify module specifier used to import the JSX factory functions when using 'jsx: react-jsx*'."),
        Make_keyof_only_return_strings_instead_of_string_numbers_or_symbols_Legacy_option: b(6650, 3, "Make_keyof_only_return_strings_instead_of_string_numbers_or_symbols_Legacy_option_6650", "Make keyof only return strings instead of string, numbers or symbols. Legacy option."),
        Specify_a_set_of_bundled_library_declaration_files_that_describe_the_target_runtime_environment: b(6651, 3, "Specify_a_set_of_bundled_library_declaration_files_that_describe_the_target_runtime_environment_6651", "Specify a set of bundled library declaration files that describe the target runtime environment."),
        Print_the_names_of_emitted_files_after_a_compilation: b(6652, 3, "Print_the_names_of_emitted_files_after_a_compilation_6652", "Print the names of emitted files after a compilation."),
        Print_all_of_the_files_read_during_the_compilation: b(6653, 3, "Print_all_of_the_files_read_during_the_compilation_6653", "Print all of the files read during the compilation."),
        Set_the_language_of_the_messaging_from_TypeScript_This_does_not_affect_emit: b(6654, 3, "Set_the_language_of_the_messaging_from_TypeScript_This_does_not_affect_emit_6654", "Set the language of the messaging from TypeScript. This does not affect emit."),
        Specify_the_location_where_debugger_should_locate_map_files_instead_of_generated_locations: b(6655, 3, "Specify_the_location_where_debugger_should_locate_map_files_instead_of_generated_locations_6655", "Specify the location where debugger should locate map files instead of generated locations."),
        Specify_the_maximum_folder_depth_used_for_checking_JavaScript_files_from_node_modules_Only_applicable_with_allowJs: b(6656, 3, "Specify_the_maximum_folder_depth_used_for_checking_JavaScript_files_from_node_modules_Only_applicabl_6656", "Specify the maximum folder depth used for checking JavaScript files from 'node_modules'. Only applicable with 'allowJs'."),
        Specify_what_module_code_is_generated: b(6657, 3, "Specify_what_module_code_is_generated_6657", "Specify what module code is generated."),
        Specify_how_TypeScript_looks_up_a_file_from_a_given_module_specifier: b(6658, 3, "Specify_how_TypeScript_looks_up_a_file_from_a_given_module_specifier_6658", "Specify how TypeScript looks up a file from a given module specifier."),
        Set_the_newline_character_for_emitting_files: b(6659, 3, "Set_the_newline_character_for_emitting_files_6659", "Set the newline character for emitting files."),
        Disable_emitting_files_from_a_compilation: b(6660, 3, "Disable_emitting_files_from_a_compilation_6660", "Disable emitting files from a compilation."),
        Disable_generating_custom_helper_functions_like_extends_in_compiled_output: b(6661, 3, "Disable_generating_custom_helper_functions_like_extends_in_compiled_output_6661", "Disable generating custom helper functions like '__extends' in compiled output."),
        Disable_emitting_files_if_any_type_checking_errors_are_reported: b(6662, 3, "Disable_emitting_files_if_any_type_checking_errors_are_reported_6662", "Disable emitting files if any type checking errors are reported."),
        Disable_truncating_types_in_error_messages: b(6663, 3, "Disable_truncating_types_in_error_messages_6663", "Disable truncating types in error messages."),
        Enable_error_reporting_for_fallthrough_cases_in_switch_statements: b(6664, 3, "Enable_error_reporting_for_fallthrough_cases_in_switch_statements_6664", "Enable error reporting for fallthrough cases in switch statements."),
        Enable_error_reporting_for_expressions_and_declarations_with_an_implied_any_type: b(6665, 3, "Enable_error_reporting_for_expressions_and_declarations_with_an_implied_any_type_6665", "Enable error reporting for expressions and declarations with an implied 'any' type."),
        Ensure_overriding_members_in_derived_classes_are_marked_with_an_override_modifier: b(6666, 3, "Ensure_overriding_members_in_derived_classes_are_marked_with_an_override_modifier_6666", "Ensure overriding members in derived classes are marked with an override modifier."),
        Enable_error_reporting_for_codepaths_that_do_not_explicitly_return_in_a_function: b(6667, 3, "Enable_error_reporting_for_codepaths_that_do_not_explicitly_return_in_a_function_6667", "Enable error reporting for codepaths that do not explicitly return in a function."),
        Enable_error_reporting_when_this_is_given_the_type_any: b(6668, 3, "Enable_error_reporting_when_this_is_given_the_type_any_6668", "Enable error reporting when 'this' is given the type 'any'."),
        Disable_adding_use_strict_directives_in_emitted_JavaScript_files: b(6669, 3, "Disable_adding_use_strict_directives_in_emitted_JavaScript_files_6669", "Disable adding 'use strict' directives in emitted JavaScript files."),
        Disable_including_any_library_files_including_the_default_lib_d_ts: b(6670, 3, "Disable_including_any_library_files_including_the_default_lib_d_ts_6670", "Disable including any library files, including the default lib.d.ts."),
        Enforces_using_indexed_accessors_for_keys_declared_using_an_indexed_type: b(6671, 3, "Enforces_using_indexed_accessors_for_keys_declared_using_an_indexed_type_6671", "Enforces using indexed accessors for keys declared using an indexed type."),
        Disallow_import_s_require_s_or_reference_s_from_expanding_the_number_of_files_TypeScript_should_add_to_a_project: b(6672, 3, "Disallow_import_s_require_s_or_reference_s_from_expanding_the_number_of_files_TypeScript_should_add__6672", "Disallow 'import's, 'require's or '<reference>'s from expanding the number of files TypeScript should add to a project."),
        Disable_strict_checking_of_generic_signatures_in_function_types: b(6673, 3, "Disable_strict_checking_of_generic_signatures_in_function_types_6673", "Disable strict checking of generic signatures in function types."),
        Add_undefined_to_a_type_when_accessed_using_an_index: b(6674, 3, "Add_undefined_to_a_type_when_accessed_using_an_index_6674", "Add 'undefined' to a type when accessed using an index."),
        Enable_error_reporting_when_local_variables_aren_t_read: b(6675, 3, "Enable_error_reporting_when_local_variables_aren_t_read_6675", "Enable error reporting when local variables aren't read."),
        Raise_an_error_when_a_function_parameter_isn_t_read: b(6676, 3, "Raise_an_error_when_a_function_parameter_isn_t_read_6676", "Raise an error when a function parameter isn't read."),
        Deprecated_setting_Use_outFile_instead: b(6677, 3, "Deprecated_setting_Use_outFile_instead_6677", "Deprecated setting. Use 'outFile' instead."),
        Specify_an_output_folder_for_all_emitted_files: b(6678, 3, "Specify_an_output_folder_for_all_emitted_files_6678", "Specify an output folder for all emitted files."),
        Specify_a_file_that_bundles_all_outputs_into_one_JavaScript_file_If_declaration_is_true_also_designates_a_file_that_bundles_all_d_ts_output: b(6679, 3, "Specify_a_file_that_bundles_all_outputs_into_one_JavaScript_file_If_declaration_is_true_also_designa_6679", "Specify a file that bundles all outputs into one JavaScript file. If 'declaration' is true, also designates a file that bundles all .d.ts output."),
        Specify_a_set_of_entries_that_re_map_imports_to_additional_lookup_locations: b(6680, 3, "Specify_a_set_of_entries_that_re_map_imports_to_additional_lookup_locations_6680", "Specify a set of entries that re-map imports to additional lookup locations."),
        Specify_a_list_of_language_service_plugins_to_include: b(6681, 3, "Specify_a_list_of_language_service_plugins_to_include_6681", "Specify a list of language service plugins to include."),
        Disable_erasing_const_enum_declarations_in_generated_code: b(6682, 3, "Disable_erasing_const_enum_declarations_in_generated_code_6682", "Disable erasing 'const enum' declarations in generated code."),
        Disable_resolving_symlinks_to_their_realpath_This_correlates_to_the_same_flag_in_node: b(6683, 3, "Disable_resolving_symlinks_to_their_realpath_This_correlates_to_the_same_flag_in_node_6683", "Disable resolving symlinks to their realpath. This correlates to the same flag in node."),
        Disable_wiping_the_console_in_watch_mode: b(6684, 3, "Disable_wiping_the_console_in_watch_mode_6684", "Disable wiping the console in watch mode."),
        Enable_color_and_formatting_in_TypeScript_s_output_to_make_compiler_errors_easier_to_read: b(6685, 3, "Enable_color_and_formatting_in_TypeScript_s_output_to_make_compiler_errors_easier_to_read_6685", "Enable color and formatting in TypeScript's output to make compiler errors easier to read."),
        Specify_the_object_invoked_for_createElement_This_only_applies_when_targeting_react_JSX_emit: b(6686, 3, "Specify_the_object_invoked_for_createElement_This_only_applies_when_targeting_react_JSX_emit_6686", "Specify the object invoked for 'createElement'. This only applies when targeting 'react' JSX emit."),
        Specify_an_array_of_objects_that_specify_paths_for_projects_Used_in_project_references: b(6687, 3, "Specify_an_array_of_objects_that_specify_paths_for_projects_Used_in_project_references_6687", "Specify an array of objects that specify paths for projects. Used in project references."),
        Disable_emitting_comments: b(6688, 3, "Disable_emitting_comments_6688", "Disable emitting comments."),
        Enable_importing_json_files: b(6689, 3, "Enable_importing_json_files_6689", "Enable importing .json files."),
        Specify_the_root_folder_within_your_source_files: b(6690, 3, "Specify_the_root_folder_within_your_source_files_6690", "Specify the root folder within your source files."),
        Allow_multiple_folders_to_be_treated_as_one_when_resolving_modules: b(6691, 3, "Allow_multiple_folders_to_be_treated_as_one_when_resolving_modules_6691", "Allow multiple folders to be treated as one when resolving modules."),
        Skip_type_checking_d_ts_files_that_are_included_with_TypeScript: b(6692, 3, "Skip_type_checking_d_ts_files_that_are_included_with_TypeScript_6692", "Skip type checking .d.ts files that are included with TypeScript."),
        Skip_type_checking_all_d_ts_files: b(6693, 3, "Skip_type_checking_all_d_ts_files_6693", "Skip type checking all .d.ts files."),
        Create_source_map_files_for_emitted_JavaScript_files: b(6694, 3, "Create_source_map_files_for_emitted_JavaScript_files_6694", "Create source map files for emitted JavaScript files."),
        Specify_the_root_path_for_debuggers_to_find_the_reference_source_code: b(6695, 3, "Specify_the_root_path_for_debuggers_to_find_the_reference_source_code_6695", "Specify the root path for debuggers to find the reference source code."),
        Check_that_the_arguments_for_bind_call_and_apply_methods_match_the_original_function: b(6697, 3, "Check_that_the_arguments_for_bind_call_and_apply_methods_match_the_original_function_6697", "Check that the arguments for 'bind', 'call', and 'apply' methods match the original function."),
        When_assigning_functions_check_to_ensure_parameters_and_the_return_values_are_subtype_compatible: b(6698, 3, "When_assigning_functions_check_to_ensure_parameters_and_the_return_values_are_subtype_compatible_6698", "When assigning functions, check to ensure parameters and the return values are subtype-compatible."),
        When_type_checking_take_into_account_null_and_undefined: b(6699, 3, "When_type_checking_take_into_account_null_and_undefined_6699", "When type checking, take into account 'null' and 'undefined'."),
        Check_for_class_properties_that_are_declared_but_not_set_in_the_constructor: b(6700, 3, "Check_for_class_properties_that_are_declared_but_not_set_in_the_constructor_6700", "Check for class properties that are declared but not set in the constructor."),
        Disable_emitting_declarations_that_have_internal_in_their_JSDoc_comments: b(6701, 3, "Disable_emitting_declarations_that_have_internal_in_their_JSDoc_comments_6701", "Disable emitting declarations that have '@internal' in their JSDoc comments."),
        Disable_reporting_of_excess_property_errors_during_the_creation_of_object_literals: b(6702, 3, "Disable_reporting_of_excess_property_errors_during_the_creation_of_object_literals_6702", "Disable reporting of excess property errors during the creation of object literals."),
        Suppress_noImplicitAny_errors_when_indexing_objects_that_lack_index_signatures: b(6703, 3, "Suppress_noImplicitAny_errors_when_indexing_objects_that_lack_index_signatures_6703", "Suppress 'noImplicitAny' errors when indexing objects that lack index signatures."),
        Synchronously_call_callbacks_and_update_the_state_of_directory_watchers_on_platforms_that_don_t_support_recursive_watching_natively: b(6704, 3, "Synchronously_call_callbacks_and_update_the_state_of_directory_watchers_on_platforms_that_don_t_supp_6704", "Synchronously call callbacks and update the state of directory watchers on platforms that don`t support recursive watching natively."),
        Set_the_JavaScript_language_version_for_emitted_JavaScript_and_include_compatible_library_declarations: b(6705, 3, "Set_the_JavaScript_language_version_for_emitted_JavaScript_and_include_compatible_library_declaratio_6705", "Set the JavaScript language version for emitted JavaScript and include compatible library declarations."),
        Log_paths_used_during_the_moduleResolution_process: b(6706, 3, "Log_paths_used_during_the_moduleResolution_process_6706", "Log paths used during the 'moduleResolution' process."),
        Specify_the_path_to_tsbuildinfo_incremental_compilation_file: b(6707, 3, "Specify_the_path_to_tsbuildinfo_incremental_compilation_file_6707", "Specify the path to .tsbuildinfo incremental compilation file."),
        Specify_options_for_automatic_acquisition_of_declaration_files: b(6709, 3, "Specify_options_for_automatic_acquisition_of_declaration_files_6709", "Specify options for automatic acquisition of declaration files."),
        Specify_multiple_folders_that_act_like_Slashnode_modules_Slash_types: b(6710, 3, "Specify_multiple_folders_that_act_like_Slashnode_modules_Slash_types_6710", "Specify multiple folders that act like './node_modules/@types'."),
        Specify_type_package_names_to_be_included_without_being_referenced_in_a_source_file: b(6711, 3, "Specify_type_package_names_to_be_included_without_being_referenced_in_a_source_file_6711", "Specify type package names to be included without being referenced in a source file."),
        Emit_ECMAScript_standard_compliant_class_fields: b(6712, 3, "Emit_ECMAScript_standard_compliant_class_fields_6712", "Emit ECMAScript-standard-compliant class fields."),
        Enable_verbose_logging: b(6713, 3, "Enable_verbose_logging_6713", "Enable verbose logging."),
        Specify_how_directories_are_watched_on_systems_that_lack_recursive_file_watching_functionality: b(6714, 3, "Specify_how_directories_are_watched_on_systems_that_lack_recursive_file_watching_functionality_6714", "Specify how directories are watched on systems that lack recursive file-watching functionality."),
        Specify_how_the_TypeScript_watch_mode_works: b(6715, 3, "Specify_how_the_TypeScript_watch_mode_works_6715", "Specify how the TypeScript watch mode works."),
        Require_undeclared_properties_from_index_signatures_to_use_element_accesses: b(6717, 3, "Require_undeclared_properties_from_index_signatures_to_use_element_accesses_6717", "Require undeclared properties from index signatures to use element accesses."),
        Specify_emit_Slashchecking_behavior_for_imports_that_are_only_used_for_types: b(6718, 3, "Specify_emit_Slashchecking_behavior_for_imports_that_are_only_used_for_types_6718", "Specify emit/checking behavior for imports that are only used for types."),
        Require_sufficient_annotation_on_exports_so_other_tools_can_trivially_generate_declaration_files: b(6719, 3, "Require_sufficient_annotation_on_exports_so_other_tools_can_trivially_generate_declaration_files_6719", "Require sufficient annotation on exports so other tools can trivially generate declaration files."),
        Built_in_iterators_are_instantiated_with_a_TReturn_type_of_undefined_instead_of_any: b(6720, 3, "Built_in_iterators_are_instantiated_with_a_TReturn_type_of_undefined_instead_of_any_6720", "Built-in iterators are instantiated with a 'TReturn' type of 'undefined' instead of 'any'."),
        Do_not_allow_runtime_constructs_that_are_not_part_of_ECMAScript: b(6721, 3, "Do_not_allow_runtime_constructs_that_are_not_part_of_ECMAScript_6721", "Do not allow runtime constructs that are not part of ECMAScript."),
        Default_catch_clause_variables_as_unknown_instead_of_any: b(6803, 3, "Default_catch_clause_variables_as_unknown_instead_of_any_6803", "Default catch clause variables as 'unknown' instead of 'any'."),
        Do_not_transform_or_elide_any_imports_or_exports_not_marked_as_type_only_ensuring_they_are_written_in_the_output_file_s_format_based_on_the_module_setting: b(6804, 3, "Do_not_transform_or_elide_any_imports_or_exports_not_marked_as_type_only_ensuring_they_are_written_i_6804", "Do not transform or elide any imports or exports not marked as type-only, ensuring they are written in the output file's format based on the 'module' setting."),
        Disable_full_type_checking_only_critical_parse_and_emit_errors_will_be_reported: b(6805, 3, "Disable_full_type_checking_only_critical_parse_and_emit_errors_will_be_reported_6805", "Disable full type checking (only critical parse and emit errors will be reported)."),
        Check_side_effect_imports: b(6806, 3, "Check_side_effect_imports_6806", "Check side effect imports."),
        This_operation_can_be_simplified_This_shift_is_identical_to_0_1_2: b(6807, 1, "This_operation_can_be_simplified_This_shift_is_identical_to_0_1_2_6807", "This operation can be simplified. This shift is identical to `{0} {1} {2}`."),
        Enable_lib_replacement: b(6808, 3, "Enable_lib_replacement_6808", "Enable lib replacement."),
        one_of_Colon: b(6900, 3, "one_of_Colon_6900", "one of:"),
        one_or_more_Colon: b(6901, 3, "one_or_more_Colon_6901", "one or more:"),
        type_Colon: b(6902, 3, "type_Colon_6902", "type:"),
        default_Colon: b(6903, 3, "default_Colon_6903", "default:"),
        module_system_or_esModuleInterop: b(6904, 3, "module_system_or_esModuleInterop_6904", 'module === "system" or esModuleInterop'),
        false_unless_strict_is_set: b(6905, 3, "false_unless_strict_is_set_6905", "`false`, unless `strict` is set"),
        false_unless_composite_is_set: b(6906, 3, "false_unless_composite_is_set_6906", "`false`, unless `composite` is set"),
        node_modules_bower_components_jspm_packages_plus_the_value_of_outDir_if_one_is_specified: b(6907, 3, "node_modules_bower_components_jspm_packages_plus_the_value_of_outDir_if_one_is_specified_6907", '`["node_modules", "bower_components", "jspm_packages"]`, plus the value of `outDir` if one is specified.'),
        if_files_is_specified_otherwise_Asterisk_Asterisk_Slash_Asterisk: b(6908, 3, "if_files_is_specified_otherwise_Asterisk_Asterisk_Slash_Asterisk_6908", '`[]` if `files` is specified, otherwise `["**/*"]`'),
        true_if_composite_false_otherwise: b(6909, 3, "true_if_composite_false_otherwise_6909", "`true` if `composite`, `false` otherwise"),
        module_AMD_or_UMD_or_System_or_ES6_then_Classic_Otherwise_Node: b(69010, 3, "module_AMD_or_UMD_or_System_or_ES6_then_Classic_Otherwise_Node_69010", "module === `AMD` or `UMD` or `System` or `ES6`, then `Classic`, Otherwise `Node`"),
        Computed_from_the_list_of_input_files: b(6911, 3, "Computed_from_the_list_of_input_files_6911", "Computed from the list of input files"),
        Platform_specific: b(6912, 3, "Platform_specific_6912", "Platform specific"),
        You_can_learn_about_all_of_the_compiler_options_at_0: b(6913, 3, "You_can_learn_about_all_of_the_compiler_options_at_0_6913", "You can learn about all of the compiler options at {0}"),
        Including_watch_w_will_start_watching_the_current_project_for_the_file_changes_Once_set_you_can_config_watch_mode_with_Colon: b(6914, 3, "Including_watch_w_will_start_watching_the_current_project_for_the_file_changes_Once_set_you_can_conf_6914", "Including --watch, -w will start watching the current project for the file changes. Once set, you can config watch mode with:"),
        Using_build_b_will_make_tsc_behave_more_like_a_build_orchestrator_than_a_compiler_This_is_used_to_trigger_building_composite_projects_which_you_can_learn_more_about_at_0: b(6915, 3, "Using_build_b_will_make_tsc_behave_more_like_a_build_orchestrator_than_a_compiler_This_is_used_to_tr_6915", "Using --build, -b will make tsc behave more like a build orchestrator than a compiler. This is used to trigger building composite projects which you can learn more about at {0}"),
        COMMON_COMMANDS: b(6916, 3, "COMMON_COMMANDS_6916", "COMMON COMMANDS"),
        ALL_COMPILER_OPTIONS: b(6917, 3, "ALL_COMPILER_OPTIONS_6917", "ALL COMPILER OPTIONS"),
        WATCH_OPTIONS: b(6918, 3, "WATCH_OPTIONS_6918", "WATCH OPTIONS"),
        BUILD_OPTIONS: b(6919, 3, "BUILD_OPTIONS_6919", "BUILD OPTIONS"),
        COMMON_COMPILER_OPTIONS: b(6920, 3, "COMMON_COMPILER_OPTIONS_6920", "COMMON COMPILER OPTIONS"),
        COMMAND_LINE_FLAGS: b(6921, 3, "COMMAND_LINE_FLAGS_6921", "COMMAND LINE FLAGS"),
        tsc_Colon_The_TypeScript_Compiler: b(6922, 3, "tsc_Colon_The_TypeScript_Compiler_6922", "tsc: The TypeScript Compiler"),
        Compiles_the_current_project_tsconfig_json_in_the_working_directory: b(6923, 3, "Compiles_the_current_project_tsconfig_json_in_the_working_directory_6923", "Compiles the current project (tsconfig.json in the working directory.)"),
        Ignoring_tsconfig_json_compiles_the_specified_files_with_default_compiler_options: b(6924, 3, "Ignoring_tsconfig_json_compiles_the_specified_files_with_default_compiler_options_6924", "Ignoring tsconfig.json, compiles the specified files with default compiler options."),
        Build_a_composite_project_in_the_working_directory: b(6925, 3, "Build_a_composite_project_in_the_working_directory_6925", "Build a composite project in the working directory."),
        Creates_a_tsconfig_json_with_the_recommended_settings_in_the_working_directory: b(6926, 3, "Creates_a_tsconfig_json_with_the_recommended_settings_in_the_working_directory_6926", "Creates a tsconfig.json with the recommended settings in the working directory."),
        Compiles_the_TypeScript_project_located_at_the_specified_path: b(6927, 3, "Compiles_the_TypeScript_project_located_at_the_specified_path_6927", "Compiles the TypeScript project located at the specified path."),
        An_expanded_version_of_this_information_showing_all_possible_compiler_options: b(6928, 3, "An_expanded_version_of_this_information_showing_all_possible_compiler_options_6928", "An expanded version of this information, showing all possible compiler options"),
        Compiles_the_current_project_with_additional_settings: b(6929, 3, "Compiles_the_current_project_with_additional_settings_6929", "Compiles the current project, with additional settings."),
        true_for_ES2022_and_above_including_ESNext: b(6930, 3, "true_for_ES2022_and_above_including_ESNext_6930", "`true` for ES2022 and above, including ESNext."),
        List_of_file_name_suffixes_to_search_when_resolving_a_module: b(6931, 1, "List_of_file_name_suffixes_to_search_when_resolving_a_module_6931", "List of file name suffixes to search when resolving a module."),
        Variable_0_implicitly_has_an_1_type: b(7005, 1, "Variable_0_implicitly_has_an_1_type_7005", "Variable '{0}' implicitly has an '{1}' type."),
        Parameter_0_implicitly_has_an_1_type: b(7006, 1, "Parameter_0_implicitly_has_an_1_type_7006", "Parameter '{0}' implicitly has an '{1}' type."),
        Member_0_implicitly_has_an_1_type: b(7008, 1, "Member_0_implicitly_has_an_1_type_7008", "Member '{0}' implicitly has an '{1}' type."),
        new_expression_whose_target_lacks_a_construct_signature_implicitly_has_an_any_type: b(7009, 1, "new_expression_whose_target_lacks_a_construct_signature_implicitly_has_an_any_type_7009", "'new' expression, whose target lacks a construct signature, implicitly has an 'any' type."),
        _0_which_lacks_return_type_annotation_implicitly_has_an_1_return_type: b(7010, 1, "_0_which_lacks_return_type_annotation_implicitly_has_an_1_return_type_7010", "'{0}', which lacks return-type annotation, implicitly has an '{1}' return type."),
        Function_expression_which_lacks_return_type_annotation_implicitly_has_an_0_return_type: b(7011, 1, "Function_expression_which_lacks_return_type_annotation_implicitly_has_an_0_return_type_7011", "Function expression, which lacks return-type annotation, implicitly has an '{0}' return type."),
        This_overload_implicitly_returns_the_type_0_because_it_lacks_a_return_type_annotation: b(7012, 1, "This_overload_implicitly_returns_the_type_0_because_it_lacks_a_return_type_annotation_7012", "This overload implicitly returns the type '{0}' because it lacks a return type annotation."),
        Construct_signature_which_lacks_return_type_annotation_implicitly_has_an_any_return_type: b(7013, 1, "Construct_signature_which_lacks_return_type_annotation_implicitly_has_an_any_return_type_7013", "Construct signature, which lacks return-type annotation, implicitly has an 'any' return type."),
        Function_type_which_lacks_return_type_annotation_implicitly_has_an_0_return_type: b(7014, 1, "Function_type_which_lacks_return_type_annotation_implicitly_has_an_0_return_type_7014", "Function type, which lacks return-type annotation, implicitly has an '{0}' return type."),
        Element_implicitly_has_an_any_type_because_index_expression_is_not_of_type_number: b(7015, 1, "Element_implicitly_has_an_any_type_because_index_expression_is_not_of_type_number_7015", "Element implicitly has an 'any' type because index expression is not of type 'number'."),
        Could_not_find_a_declaration_file_for_module_0_1_implicitly_has_an_any_type: b(7016, 1, "Could_not_find_a_declaration_file_for_module_0_1_implicitly_has_an_any_type_7016", "Could not find a declaration file for module '{0}'. '{1}' implicitly has an 'any' type."),
        Element_implicitly_has_an_any_type_because_type_0_has_no_index_signature: b(7017, 1, "Element_implicitly_has_an_any_type_because_type_0_has_no_index_signature_7017", "Element implicitly has an 'any' type because type '{0}' has no index signature."),
        Object_literal_s_property_0_implicitly_has_an_1_type: b(7018, 1, "Object_literal_s_property_0_implicitly_has_an_1_type_7018", "Object literal's property '{0}' implicitly has an '{1}' type."),
        Rest_parameter_0_implicitly_has_an_any_type: b(7019, 1, "Rest_parameter_0_implicitly_has_an_any_type_7019", "Rest parameter '{0}' implicitly has an 'any[]' type."),
        Call_signature_which_lacks_return_type_annotation_implicitly_has_an_any_return_type: b(7020, 1, "Call_signature_which_lacks_return_type_annotation_implicitly_has_an_any_return_type_7020", "Call signature, which lacks return-type annotation, implicitly has an 'any' return type."),
        _0_implicitly_has_type_any_because_it_does_not_have_a_type_annotation_and_is_referenced_directly_or_indirectly_in_its_own_initializer: b(7022, 1, "_0_implicitly_has_type_any_because_it_does_not_have_a_type_annotation_and_is_referenced_directly_or__7022", "'{0}' implicitly has type 'any' because it does not have a type annotation and is referenced directly or indirectly in its own initializer."),
        _0_implicitly_has_return_type_any_because_it_does_not_have_a_return_type_annotation_and_is_referenced_directly_or_indirectly_in_one_of_its_return_expressions: b(7023, 1, "_0_implicitly_has_return_type_any_because_it_does_not_have_a_return_type_annotation_and_is_reference_7023", "'{0}' implicitly has return type 'any' because it does not have a return type annotation and is referenced directly or indirectly in one of its return expressions."),
        Function_implicitly_has_return_type_any_because_it_does_not_have_a_return_type_annotation_and_is_referenced_directly_or_indirectly_in_one_of_its_return_expressions: b(7024, 1, "Function_implicitly_has_return_type_any_because_it_does_not_have_a_return_type_annotation_and_is_ref_7024", "Function implicitly has return type 'any' because it does not have a return type annotation and is referenced directly or indirectly in one of its return expressions."),
        Generator_implicitly_has_yield_type_0_Consider_supplying_a_return_type_annotation: b(7025, 1, "Generator_implicitly_has_yield_type_0_Consider_supplying_a_return_type_annotation_7025", "Generator implicitly has yield type '{0}'. Consider supplying a return type annotation."),
        JSX_element_implicitly_has_type_any_because_no_interface_JSX_0_exists: b(7026, 1, "JSX_element_implicitly_has_type_any_because_no_interface_JSX_0_exists_7026", "JSX element implicitly has type 'any' because no interface 'JSX.{0}' exists."),
        Unreachable_code_detected: b(
          7027,
          1,
          "Unreachable_code_detected_7027",
          "Unreachable code detected.",
          /*reportsUnnecessary*/
          !0
        ),
        Unused_label: b(
          7028,
          1,
          "Unused_label_7028",
          "Unused label.",
          /*reportsUnnecessary*/
          !0
        ),
        Fallthrough_case_in_switch: b(7029, 1, "Fallthrough_case_in_switch_7029", "Fallthrough case in switch."),
        Not_all_code_paths_return_a_value: b(7030, 1, "Not_all_code_paths_return_a_value_7030", "Not all code paths return a value."),
        Binding_element_0_implicitly_has_an_1_type: b(7031, 1, "Binding_element_0_implicitly_has_an_1_type_7031", "Binding element '{0}' implicitly has an '{1}' type."),
        Property_0_implicitly_has_type_any_because_its_set_accessor_lacks_a_parameter_type_annotation: b(7032, 1, "Property_0_implicitly_has_type_any_because_its_set_accessor_lacks_a_parameter_type_annotation_7032", "Property '{0}' implicitly has type 'any', because its set accessor lacks a parameter type annotation."),
        Property_0_implicitly_has_type_any_because_its_get_accessor_lacks_a_return_type_annotation: b(7033, 1, "Property_0_implicitly_has_type_any_because_its_get_accessor_lacks_a_return_type_annotation_7033", "Property '{0}' implicitly has type 'any', because its get accessor lacks a return type annotation."),
        Variable_0_implicitly_has_type_1_in_some_locations_where_its_type_cannot_be_determined: b(7034, 1, "Variable_0_implicitly_has_type_1_in_some_locations_where_its_type_cannot_be_determined_7034", "Variable '{0}' implicitly has type '{1}' in some locations where its type cannot be determined."),
        Try_npm_i_save_dev_types_Slash_1_if_it_exists_or_add_a_new_declaration_d_ts_file_containing_declare_module_0: b(7035, 1, "Try_npm_i_save_dev_types_Slash_1_if_it_exists_or_add_a_new_declaration_d_ts_file_containing_declare__7035", "Try `npm i --save-dev @types/{1}` if it exists or add a new declaration (.d.ts) file containing `declare module '{0}';`"),
        Dynamic_import_s_specifier_must_be_of_type_string_but_here_has_type_0: b(7036, 1, "Dynamic_import_s_specifier_must_be_of_type_string_but_here_has_type_0_7036", "Dynamic import's specifier must be of type 'string', but here has type '{0}'."),
        Enables_emit_interoperability_between_CommonJS_and_ES_Modules_via_creation_of_namespace_objects_for_all_imports_Implies_allowSyntheticDefaultImports: b(7037, 3, "Enables_emit_interoperability_between_CommonJS_and_ES_Modules_via_creation_of_namespace_objects_for__7037", "Enables emit interoperability between CommonJS and ES Modules via creation of namespace objects for all imports. Implies 'allowSyntheticDefaultImports'."),
        Type_originates_at_this_import_A_namespace_style_import_cannot_be_called_or_constructed_and_will_cause_a_failure_at_runtime_Consider_using_a_default_import_or_import_require_here_instead: b(7038, 3, "Type_originates_at_this_import_A_namespace_style_import_cannot_be_called_or_constructed_and_will_cau_7038", "Type originates at this import. A namespace-style import cannot be called or constructed, and will cause a failure at runtime. Consider using a default import or import require here instead."),
        Mapped_object_type_implicitly_has_an_any_template_type: b(7039, 1, "Mapped_object_type_implicitly_has_an_any_template_type_7039", "Mapped object type implicitly has an 'any' template type."),
        If_the_0_package_actually_exposes_this_module_consider_sending_a_pull_request_to_amend_https_Colon_Slash_Slashgithub_com_SlashDefinitelyTyped_SlashDefinitelyTyped_Slashtree_Slashmaster_Slashtypes_Slash_1: b(7040, 1, "If_the_0_package_actually_exposes_this_module_consider_sending_a_pull_request_to_amend_https_Colon_S_7040", "If the '{0}' package actually exposes this module, consider sending a pull request to amend 'https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/{1}'"),
        The_containing_arrow_function_captures_the_global_value_of_this: b(7041, 1, "The_containing_arrow_function_captures_the_global_value_of_this_7041", "The containing arrow function captures the global value of 'this'."),
        Module_0_was_resolved_to_1_but_resolveJsonModule_is_not_used: b(7042, 1, "Module_0_was_resolved_to_1_but_resolveJsonModule_is_not_used_7042", "Module '{0}' was resolved to '{1}', but '--resolveJsonModule' is not used."),
        Variable_0_implicitly_has_an_1_type_but_a_better_type_may_be_inferred_from_usage: b(7043, 2, "Variable_0_implicitly_has_an_1_type_but_a_better_type_may_be_inferred_from_usage_7043", "Variable '{0}' implicitly has an '{1}' type, but a better type may be inferred from usage."),
        Parameter_0_implicitly_has_an_1_type_but_a_better_type_may_be_inferred_from_usage: b(7044, 2, "Parameter_0_implicitly_has_an_1_type_but_a_better_type_may_be_inferred_from_usage_7044", "Parameter '{0}' implicitly has an '{1}' type, but a better type may be inferred from usage."),
        Member_0_implicitly_has_an_1_type_but_a_better_type_may_be_inferred_from_usage: b(7045, 2, "Member_0_implicitly_has_an_1_type_but_a_better_type_may_be_inferred_from_usage_7045", "Member '{0}' implicitly has an '{1}' type, but a better type may be inferred from usage."),
        Variable_0_implicitly_has_type_1_in_some_locations_but_a_better_type_may_be_inferred_from_usage: b(7046, 2, "Variable_0_implicitly_has_type_1_in_some_locations_but_a_better_type_may_be_inferred_from_usage_7046", "Variable '{0}' implicitly has type '{1}' in some locations, but a better type may be inferred from usage."),
        Rest_parameter_0_implicitly_has_an_any_type_but_a_better_type_may_be_inferred_from_usage: b(7047, 2, "Rest_parameter_0_implicitly_has_an_any_type_but_a_better_type_may_be_inferred_from_usage_7047", "Rest parameter '{0}' implicitly has an 'any[]' type, but a better type may be inferred from usage."),
        Property_0_implicitly_has_type_any_but_a_better_type_for_its_get_accessor_may_be_inferred_from_usage: b(7048, 2, "Property_0_implicitly_has_type_any_but_a_better_type_for_its_get_accessor_may_be_inferred_from_usage_7048", "Property '{0}' implicitly has type 'any', but a better type for its get accessor may be inferred from usage."),
        Property_0_implicitly_has_type_any_but_a_better_type_for_its_set_accessor_may_be_inferred_from_usage: b(7049, 2, "Property_0_implicitly_has_type_any_but_a_better_type_for_its_set_accessor_may_be_inferred_from_usage_7049", "Property '{0}' implicitly has type 'any', but a better type for its set accessor may be inferred from usage."),
        _0_implicitly_has_an_1_return_type_but_a_better_type_may_be_inferred_from_usage: b(7050, 2, "_0_implicitly_has_an_1_return_type_but_a_better_type_may_be_inferred_from_usage_7050", "'{0}' implicitly has an '{1}' return type, but a better type may be inferred from usage."),
        Parameter_has_a_name_but_no_type_Did_you_mean_0_Colon_1: b(7051, 1, "Parameter_has_a_name_but_no_type_Did_you_mean_0_Colon_1_7051", "Parameter has a name but no type. Did you mean '{0}: {1}'?"),
        Element_implicitly_has_an_any_type_because_type_0_has_no_index_signature_Did_you_mean_to_call_1: b(7052, 1, "Element_implicitly_has_an_any_type_because_type_0_has_no_index_signature_Did_you_mean_to_call_1_7052", "Element implicitly has an 'any' type because type '{0}' has no index signature. Did you mean to call '{1}'?"),
        Element_implicitly_has_an_any_type_because_expression_of_type_0_can_t_be_used_to_index_type_1: b(7053, 1, "Element_implicitly_has_an_any_type_because_expression_of_type_0_can_t_be_used_to_index_type_1_7053", "Element implicitly has an 'any' type because expression of type '{0}' can't be used to index type '{1}'."),
        No_index_signature_with_a_parameter_of_type_0_was_found_on_type_1: b(7054, 1, "No_index_signature_with_a_parameter_of_type_0_was_found_on_type_1_7054", "No index signature with a parameter of type '{0}' was found on type '{1}'."),
        _0_which_lacks_return_type_annotation_implicitly_has_an_1_yield_type: b(7055, 1, "_0_which_lacks_return_type_annotation_implicitly_has_an_1_yield_type_7055", "'{0}', which lacks return-type annotation, implicitly has an '{1}' yield type."),
        The_inferred_type_of_this_node_exceeds_the_maximum_length_the_compiler_will_serialize_An_explicit_type_annotation_is_needed: b(7056, 1, "The_inferred_type_of_this_node_exceeds_the_maximum_length_the_compiler_will_serialize_An_explicit_ty_7056", "The inferred type of this node exceeds the maximum length the compiler will serialize. An explicit type annotation is needed."),
        yield_expression_implicitly_results_in_an_any_type_because_its_containing_generator_lacks_a_return_type_annotation: b(7057, 1, "yield_expression_implicitly_results_in_an_any_type_because_its_containing_generator_lacks_a_return_t_7057", "'yield' expression implicitly results in an 'any' type because its containing generator lacks a return-type annotation."),
        If_the_0_package_actually_exposes_this_module_try_adding_a_new_declaration_d_ts_file_containing_declare_module_1: b(7058, 1, "If_the_0_package_actually_exposes_this_module_try_adding_a_new_declaration_d_ts_file_containing_decl_7058", "If the '{0}' package actually exposes this module, try adding a new declaration (.d.ts) file containing `declare module '{1}';`"),
        This_syntax_is_reserved_in_files_with_the_mts_or_cts_extension_Use_an_as_expression_instead: b(7059, 1, "This_syntax_is_reserved_in_files_with_the_mts_or_cts_extension_Use_an_as_expression_instead_7059", "This syntax is reserved in files with the .mts or .cts extension. Use an `as` expression instead."),
        This_syntax_is_reserved_in_files_with_the_mts_or_cts_extension_Add_a_trailing_comma_or_explicit_constraint: b(7060, 1, "This_syntax_is_reserved_in_files_with_the_mts_or_cts_extension_Add_a_trailing_comma_or_explicit_cons_7060", "This syntax is reserved in files with the .mts or .cts extension. Add a trailing comma or explicit constraint."),
        A_mapped_type_may_not_declare_properties_or_methods: b(7061, 1, "A_mapped_type_may_not_declare_properties_or_methods_7061", "A mapped type may not declare properties or methods."),
        You_cannot_rename_this_element: b(8e3, 1, "You_cannot_rename_this_element_8000", "You cannot rename this element."),
        You_cannot_rename_elements_that_are_defined_in_the_standard_TypeScript_library: b(8001, 1, "You_cannot_rename_elements_that_are_defined_in_the_standard_TypeScript_library_8001", "You cannot rename elements that are defined in the standard TypeScript library."),
        import_can_only_be_used_in_TypeScript_files: b(8002, 1, "import_can_only_be_used_in_TypeScript_files_8002", "'import ... =' can only be used in TypeScript files."),
        export_can_only_be_used_in_TypeScript_files: b(8003, 1, "export_can_only_be_used_in_TypeScript_files_8003", "'export =' can only be used in TypeScript files."),
        Type_parameter_declarations_can_only_be_used_in_TypeScript_files: b(8004, 1, "Type_parameter_declarations_can_only_be_used_in_TypeScript_files_8004", "Type parameter declarations can only be used in TypeScript files."),
        implements_clauses_can_only_be_used_in_TypeScript_files: b(8005, 1, "implements_clauses_can_only_be_used_in_TypeScript_files_8005", "'implements' clauses can only be used in TypeScript files."),
        _0_declarations_can_only_be_used_in_TypeScript_files: b(8006, 1, "_0_declarations_can_only_be_used_in_TypeScript_files_8006", "'{0}' declarations can only be used in TypeScript files."),
        Type_aliases_can_only_be_used_in_TypeScript_files: b(8008, 1, "Type_aliases_can_only_be_used_in_TypeScript_files_8008", "Type aliases can only be used in TypeScript files."),
        The_0_modifier_can_only_be_used_in_TypeScript_files: b(8009, 1, "The_0_modifier_can_only_be_used_in_TypeScript_files_8009", "The '{0}' modifier can only be used in TypeScript files."),
        Type_annotations_can_only_be_used_in_TypeScript_files: b(8010, 1, "Type_annotations_can_only_be_used_in_TypeScript_files_8010", "Type annotations can only be used in TypeScript files."),
        Type_arguments_can_only_be_used_in_TypeScript_files: b(8011, 1, "Type_arguments_can_only_be_used_in_TypeScript_files_8011", "Type arguments can only be used in TypeScript files."),
        Parameter_modifiers_can_only_be_used_in_TypeScript_files: b(8012, 1, "Parameter_modifiers_can_only_be_used_in_TypeScript_files_8012", "Parameter modifiers can only be used in TypeScript files."),
        Non_null_assertions_can_only_be_used_in_TypeScript_files: b(8013, 1, "Non_null_assertions_can_only_be_used_in_TypeScript_files_8013", "Non-null assertions can only be used in TypeScript files."),
        Type_assertion_expressions_can_only_be_used_in_TypeScript_files: b(8016, 1, "Type_assertion_expressions_can_only_be_used_in_TypeScript_files_8016", "Type assertion expressions can only be used in TypeScript files."),
        Signature_declarations_can_only_be_used_in_TypeScript_files: b(8017, 1, "Signature_declarations_can_only_be_used_in_TypeScript_files_8017", "Signature declarations can only be used in TypeScript files."),
        Report_errors_in_js_files: b(8019, 3, "Report_errors_in_js_files_8019", "Report errors in .js files."),
        JSDoc_types_can_only_be_used_inside_documentation_comments: b(8020, 1, "JSDoc_types_can_only_be_used_inside_documentation_comments_8020", "JSDoc types can only be used inside documentation comments."),
        JSDoc_typedef_tag_should_either_have_a_type_annotation_or_be_followed_by_property_or_member_tags: b(8021, 1, "JSDoc_typedef_tag_should_either_have_a_type_annotation_or_be_followed_by_property_or_member_tags_8021", "JSDoc '@typedef' tag should either have a type annotation or be followed by '@property' or '@member' tags."),
        JSDoc_0_is_not_attached_to_a_class: b(8022, 1, "JSDoc_0_is_not_attached_to_a_class_8022", "JSDoc '@{0}' is not attached to a class."),
        JSDoc_0_1_does_not_match_the_extends_2_clause: b(8023, 1, "JSDoc_0_1_does_not_match_the_extends_2_clause_8023", "JSDoc '@{0} {1}' does not match the 'extends {2}' clause."),
        JSDoc_param_tag_has_name_0_but_there_is_no_parameter_with_that_name: b(8024, 1, "JSDoc_param_tag_has_name_0_but_there_is_no_parameter_with_that_name_8024", "JSDoc '@param' tag has name '{0}', but there is no parameter with that name."),
        Class_declarations_cannot_have_more_than_one_augments_or_extends_tag: b(8025, 1, "Class_declarations_cannot_have_more_than_one_augments_or_extends_tag_8025", "Class declarations cannot have more than one '@augments' or '@extends' tag."),
        Expected_0_type_arguments_provide_these_with_an_extends_tag: b(8026, 1, "Expected_0_type_arguments_provide_these_with_an_extends_tag_8026", "Expected {0} type arguments; provide these with an '@extends' tag."),
        Expected_0_1_type_arguments_provide_these_with_an_extends_tag: b(8027, 1, "Expected_0_1_type_arguments_provide_these_with_an_extends_tag_8027", "Expected {0}-{1} type arguments; provide these with an '@extends' tag."),
        JSDoc_may_only_appear_in_the_last_parameter_of_a_signature: b(8028, 1, "JSDoc_may_only_appear_in_the_last_parameter_of_a_signature_8028", "JSDoc '...' may only appear in the last parameter of a signature."),
        JSDoc_param_tag_has_name_0_but_there_is_no_parameter_with_that_name_It_would_match_arguments_if_it_had_an_array_type: b(8029, 1, "JSDoc_param_tag_has_name_0_but_there_is_no_parameter_with_that_name_It_would_match_arguments_if_it_h_8029", "JSDoc '@param' tag has name '{0}', but there is no parameter with that name. It would match 'arguments' if it had an array type."),
        The_type_of_a_function_declaration_must_match_the_function_s_signature: b(8030, 1, "The_type_of_a_function_declaration_must_match_the_function_s_signature_8030", "The type of a function declaration must match the function's signature."),
        You_cannot_rename_a_module_via_a_global_import: b(8031, 1, "You_cannot_rename_a_module_via_a_global_import_8031", "You cannot rename a module via a global import."),
        Qualified_name_0_is_not_allowed_without_a_leading_param_object_1: b(8032, 1, "Qualified_name_0_is_not_allowed_without_a_leading_param_object_1_8032", "Qualified name '{0}' is not allowed without a leading '@param {object} {1}'."),
        A_JSDoc_typedef_comment_may_not_contain_multiple_type_tags: b(8033, 1, "A_JSDoc_typedef_comment_may_not_contain_multiple_type_tags_8033", "A JSDoc '@typedef' comment may not contain multiple '@type' tags."),
        The_tag_was_first_specified_here: b(8034, 1, "The_tag_was_first_specified_here_8034", "The tag was first specified here."),
        You_cannot_rename_elements_that_are_defined_in_a_node_modules_folder: b(8035, 1, "You_cannot_rename_elements_that_are_defined_in_a_node_modules_folder_8035", "You cannot rename elements that are defined in a 'node_modules' folder."),
        You_cannot_rename_elements_that_are_defined_in_another_node_modules_folder: b(8036, 1, "You_cannot_rename_elements_that_are_defined_in_another_node_modules_folder_8036", "You cannot rename elements that are defined in another 'node_modules' folder."),
        Type_satisfaction_expressions_can_only_be_used_in_TypeScript_files: b(8037, 1, "Type_satisfaction_expressions_can_only_be_used_in_TypeScript_files_8037", "Type satisfaction expressions can only be used in TypeScript files."),
        Decorators_may_not_appear_after_export_or_export_default_if_they_also_appear_before_export: b(8038, 1, "Decorators_may_not_appear_after_export_or_export_default_if_they_also_appear_before_export_8038", "Decorators may not appear after 'export' or 'export default' if they also appear before 'export'."),
        A_JSDoc_template_tag_may_not_follow_a_typedef_callback_or_overload_tag: b(8039, 1, "A_JSDoc_template_tag_may_not_follow_a_typedef_callback_or_overload_tag_8039", "A JSDoc '@template' tag may not follow a '@typedef', '@callback', or '@overload' tag"),
        Declaration_emit_for_this_file_requires_using_private_name_0_An_explicit_type_annotation_may_unblock_declaration_emit: b(9005, 1, "Declaration_emit_for_this_file_requires_using_private_name_0_An_explicit_type_annotation_may_unblock_9005", "Declaration emit for this file requires using private name '{0}'. An explicit type annotation may unblock declaration emit."),
        Declaration_emit_for_this_file_requires_using_private_name_0_from_module_1_An_explicit_type_annotation_may_unblock_declaration_emit: b(9006, 1, "Declaration_emit_for_this_file_requires_using_private_name_0_from_module_1_An_explicit_type_annotati_9006", "Declaration emit for this file requires using private name '{0}' from module '{1}'. An explicit type annotation may unblock declaration emit."),
        Function_must_have_an_explicit_return_type_annotation_with_isolatedDeclarations: b(9007, 1, "Function_must_have_an_explicit_return_type_annotation_with_isolatedDeclarations_9007", "Function must have an explicit return type annotation with --isolatedDeclarations."),
        Method_must_have_an_explicit_return_type_annotation_with_isolatedDeclarations: b(9008, 1, "Method_must_have_an_explicit_return_type_annotation_with_isolatedDeclarations_9008", "Method must have an explicit return type annotation with --isolatedDeclarations."),
        At_least_one_accessor_must_have_an_explicit_type_annotation_with_isolatedDeclarations: b(9009, 1, "At_least_one_accessor_must_have_an_explicit_type_annotation_with_isolatedDeclarations_9009", "At least one accessor must have an explicit type annotation with --isolatedDeclarations."),
        Variable_must_have_an_explicit_type_annotation_with_isolatedDeclarations: b(9010, 1, "Variable_must_have_an_explicit_type_annotation_with_isolatedDeclarations_9010", "Variable must have an explicit type annotation with --isolatedDeclarations."),
        Parameter_must_have_an_explicit_type_annotation_with_isolatedDeclarations: b(9011, 1, "Parameter_must_have_an_explicit_type_annotation_with_isolatedDeclarations_9011", "Parameter must have an explicit type annotation with --isolatedDeclarations."),
        Property_must_have_an_explicit_type_annotation_with_isolatedDeclarations: b(9012, 1, "Property_must_have_an_explicit_type_annotation_with_isolatedDeclarations_9012", "Property must have an explicit type annotation with --isolatedDeclarations."),
        Expression_type_can_t_be_inferred_with_isolatedDeclarations: b(9013, 1, "Expression_type_can_t_be_inferred_with_isolatedDeclarations_9013", "Expression type can't be inferred with --isolatedDeclarations."),
        Computed_properties_must_be_number_or_string_literals_variables_or_dotted_expressions_with_isolatedDeclarations: b(9014, 1, "Computed_properties_must_be_number_or_string_literals_variables_or_dotted_expressions_with_isolatedD_9014", "Computed properties must be number or string literals, variables or dotted expressions with --isolatedDeclarations."),
        Objects_that_contain_spread_assignments_can_t_be_inferred_with_isolatedDeclarations: b(9015, 1, "Objects_that_contain_spread_assignments_can_t_be_inferred_with_isolatedDeclarations_9015", "Objects that contain spread assignments can't be inferred with --isolatedDeclarations."),
        Objects_that_contain_shorthand_properties_can_t_be_inferred_with_isolatedDeclarations: b(9016, 1, "Objects_that_contain_shorthand_properties_can_t_be_inferred_with_isolatedDeclarations_9016", "Objects that contain shorthand properties can't be inferred with --isolatedDeclarations."),
        Only_const_arrays_can_be_inferred_with_isolatedDeclarations: b(9017, 1, "Only_const_arrays_can_be_inferred_with_isolatedDeclarations_9017", "Only const arrays can be inferred with --isolatedDeclarations."),
        Arrays_with_spread_elements_can_t_inferred_with_isolatedDeclarations: b(9018, 1, "Arrays_with_spread_elements_can_t_inferred_with_isolatedDeclarations_9018", "Arrays with spread elements can't inferred with --isolatedDeclarations."),
        Binding_elements_can_t_be_exported_directly_with_isolatedDeclarations: b(9019, 1, "Binding_elements_can_t_be_exported_directly_with_isolatedDeclarations_9019", "Binding elements can't be exported directly with --isolatedDeclarations."),
        Enum_member_initializers_must_be_computable_without_references_to_external_symbols_with_isolatedDeclarations: b(9020, 1, "Enum_member_initializers_must_be_computable_without_references_to_external_symbols_with_isolatedDecl_9020", "Enum member initializers must be computable without references to external symbols with --isolatedDeclarations."),
        Extends_clause_can_t_contain_an_expression_with_isolatedDeclarations: b(9021, 1, "Extends_clause_can_t_contain_an_expression_with_isolatedDeclarations_9021", "Extends clause can't contain an expression with --isolatedDeclarations."),
        Inference_from_class_expressions_is_not_supported_with_isolatedDeclarations: b(9022, 1, "Inference_from_class_expressions_is_not_supported_with_isolatedDeclarations_9022", "Inference from class expressions is not supported with --isolatedDeclarations."),
        Assigning_properties_to_functions_without_declaring_them_is_not_supported_with_isolatedDeclarations_Add_an_explicit_declaration_for_the_properties_assigned_to_this_function: b(9023, 1, "Assigning_properties_to_functions_without_declaring_them_is_not_supported_with_isolatedDeclarations__9023", "Assigning properties to functions without declaring them is not supported with --isolatedDeclarations. Add an explicit declaration for the properties assigned to this function."),
        Declaration_emit_for_this_parameter_requires_implicitly_adding_undefined_to_its_type_This_is_not_supported_with_isolatedDeclarations: b(9025, 1, "Declaration_emit_for_this_parameter_requires_implicitly_adding_undefined_to_its_type_This_is_not_sup_9025", "Declaration emit for this parameter requires implicitly adding undefined to its type. This is not supported with --isolatedDeclarations."),
        Declaration_emit_for_this_file_requires_preserving_this_import_for_augmentations_This_is_not_supported_with_isolatedDeclarations: b(9026, 1, "Declaration_emit_for_this_file_requires_preserving_this_import_for_augmentations_This_is_not_support_9026", "Declaration emit for this file requires preserving this import for augmentations. This is not supported with --isolatedDeclarations."),
        Add_a_type_annotation_to_the_variable_0: b(9027, 1, "Add_a_type_annotation_to_the_variable_0_9027", "Add a type annotation to the variable {0}."),
        Add_a_type_annotation_to_the_parameter_0: b(9028, 1, "Add_a_type_annotation_to_the_parameter_0_9028", "Add a type annotation to the parameter {0}."),
        Add_a_type_annotation_to_the_property_0: b(9029, 1, "Add_a_type_annotation_to_the_property_0_9029", "Add a type annotation to the property {0}."),
        Add_a_return_type_to_the_function_expression: b(9030, 1, "Add_a_return_type_to_the_function_expression_9030", "Add a return type to the function expression."),
        Add_a_return_type_to_the_function_declaration: b(9031, 1, "Add_a_return_type_to_the_function_declaration_9031", "Add a return type to the function declaration."),
        Add_a_return_type_to_the_get_accessor_declaration: b(9032, 1, "Add_a_return_type_to_the_get_accessor_declaration_9032", "Add a return type to the get accessor declaration."),
        Add_a_type_to_parameter_of_the_set_accessor_declaration: b(9033, 1, "Add_a_type_to_parameter_of_the_set_accessor_declaration_9033", "Add a type to parameter of the set accessor declaration."),
        Add_a_return_type_to_the_method: b(9034, 1, "Add_a_return_type_to_the_method_9034", "Add a return type to the method"),
        Add_satisfies_and_a_type_assertion_to_this_expression_satisfies_T_as_T_to_make_the_type_explicit: b(9035, 1, "Add_satisfies_and_a_type_assertion_to_this_expression_satisfies_T_as_T_to_make_the_type_explicit_9035", "Add satisfies and a type assertion to this expression (satisfies T as T) to make the type explicit."),
        Move_the_expression_in_default_export_to_a_variable_and_add_a_type_annotation_to_it: b(9036, 1, "Move_the_expression_in_default_export_to_a_variable_and_add_a_type_annotation_to_it_9036", "Move the expression in default export to a variable and add a type annotation to it."),
        Default_exports_can_t_be_inferred_with_isolatedDeclarations: b(9037, 1, "Default_exports_can_t_be_inferred_with_isolatedDeclarations_9037", "Default exports can't be inferred with --isolatedDeclarations."),
        Computed_property_names_on_class_or_object_literals_cannot_be_inferred_with_isolatedDeclarations: b(9038, 1, "Computed_property_names_on_class_or_object_literals_cannot_be_inferred_with_isolatedDeclarations_9038", "Computed property names on class or object literals cannot be inferred with --isolatedDeclarations."),
        Type_containing_private_name_0_can_t_be_used_with_isolatedDeclarations: b(9039, 1, "Type_containing_private_name_0_can_t_be_used_with_isolatedDeclarations_9039", "Type containing private name '{0}' can't be used with --isolatedDeclarations."),
        JSX_attributes_must_only_be_assigned_a_non_empty_expression: b(17e3, 1, "JSX_attributes_must_only_be_assigned_a_non_empty_expression_17000", "JSX attributes must only be assigned a non-empty 'expression'."),
        JSX_elements_cannot_have_multiple_attributes_with_the_same_name: b(17001, 1, "JSX_elements_cannot_have_multiple_attributes_with_the_same_name_17001", "JSX elements cannot have multiple attributes with the same name."),
        Expected_corresponding_JSX_closing_tag_for_0: b(17002, 1, "Expected_corresponding_JSX_closing_tag_for_0_17002", "Expected corresponding JSX closing tag for '{0}'."),
        Cannot_use_JSX_unless_the_jsx_flag_is_provided: b(17004, 1, "Cannot_use_JSX_unless_the_jsx_flag_is_provided_17004", "Cannot use JSX unless the '--jsx' flag is provided."),
        A_constructor_cannot_contain_a_super_call_when_its_class_extends_null: b(17005, 1, "A_constructor_cannot_contain_a_super_call_when_its_class_extends_null_17005", "A constructor cannot contain a 'super' call when its class extends 'null'."),
        An_unary_expression_with_the_0_operator_is_not_allowed_in_the_left_hand_side_of_an_exponentiation_expression_Consider_enclosing_the_expression_in_parentheses: b(17006, 1, "An_unary_expression_with_the_0_operator_is_not_allowed_in_the_left_hand_side_of_an_exponentiation_ex_17006", "An unary expression with the '{0}' operator is not allowed in the left-hand side of an exponentiation expression. Consider enclosing the expression in parentheses."),
        A_type_assertion_expression_is_not_allowed_in_the_left_hand_side_of_an_exponentiation_expression_Consider_enclosing_the_expression_in_parentheses: b(17007, 1, "A_type_assertion_expression_is_not_allowed_in_the_left_hand_side_of_an_exponentiation_expression_Con_17007", "A type assertion expression is not allowed in the left-hand side of an exponentiation expression. Consider enclosing the expression in parentheses."),
        JSX_element_0_has_no_corresponding_closing_tag: b(17008, 1, "JSX_element_0_has_no_corresponding_closing_tag_17008", "JSX element '{0}' has no corresponding closing tag."),
        super_must_be_called_before_accessing_this_in_the_constructor_of_a_derived_class: b(17009, 1, "super_must_be_called_before_accessing_this_in_the_constructor_of_a_derived_class_17009", "'super' must be called before accessing 'this' in the constructor of a derived class."),
        Unknown_type_acquisition_option_0: b(17010, 1, "Unknown_type_acquisition_option_0_17010", "Unknown type acquisition option '{0}'."),
        super_must_be_called_before_accessing_a_property_of_super_in_the_constructor_of_a_derived_class: b(17011, 1, "super_must_be_called_before_accessing_a_property_of_super_in_the_constructor_of_a_derived_class_17011", "'super' must be called before accessing a property of 'super' in the constructor of a derived class."),
        _0_is_not_a_valid_meta_property_for_keyword_1_Did_you_mean_2: b(17012, 1, "_0_is_not_a_valid_meta_property_for_keyword_1_Did_you_mean_2_17012", "'{0}' is not a valid meta-property for keyword '{1}'. Did you mean '{2}'?"),
        Meta_property_0_is_only_allowed_in_the_body_of_a_function_declaration_function_expression_or_constructor: b(17013, 1, "Meta_property_0_is_only_allowed_in_the_body_of_a_function_declaration_function_expression_or_constru_17013", "Meta-property '{0}' is only allowed in the body of a function declaration, function expression, or constructor."),
        JSX_fragment_has_no_corresponding_closing_tag: b(17014, 1, "JSX_fragment_has_no_corresponding_closing_tag_17014", "JSX fragment has no corresponding closing tag."),
        Expected_corresponding_closing_tag_for_JSX_fragment: b(17015, 1, "Expected_corresponding_closing_tag_for_JSX_fragment_17015", "Expected corresponding closing tag for JSX fragment."),
        The_jsxFragmentFactory_compiler_option_must_be_provided_to_use_JSX_fragments_with_the_jsxFactory_compiler_option: b(17016, 1, "The_jsxFragmentFactory_compiler_option_must_be_provided_to_use_JSX_fragments_with_the_jsxFactory_com_17016", "The 'jsxFragmentFactory' compiler option must be provided to use JSX fragments with the 'jsxFactory' compiler option."),
        An_jsxFrag_pragma_is_required_when_using_an_jsx_pragma_with_JSX_fragments: b(17017, 1, "An_jsxFrag_pragma_is_required_when_using_an_jsx_pragma_with_JSX_fragments_17017", "An @jsxFrag pragma is required when using an @jsx pragma with JSX fragments."),
        Unknown_type_acquisition_option_0_Did_you_mean_1: b(17018, 1, "Unknown_type_acquisition_option_0_Did_you_mean_1_17018", "Unknown type acquisition option '{0}'. Did you mean '{1}'?"),
        _0_at_the_end_of_a_type_is_not_valid_TypeScript_syntax_Did_you_mean_to_write_1: b(17019, 1, "_0_at_the_end_of_a_type_is_not_valid_TypeScript_syntax_Did_you_mean_to_write_1_17019", "'{0}' at the end of a type is not valid TypeScript syntax. Did you mean to write '{1}'?"),
        _0_at_the_start_of_a_type_is_not_valid_TypeScript_syntax_Did_you_mean_to_write_1: b(17020, 1, "_0_at_the_start_of_a_type_is_not_valid_TypeScript_syntax_Did_you_mean_to_write_1_17020", "'{0}' at the start of a type is not valid TypeScript syntax. Did you mean to write '{1}'?"),
        Unicode_escape_sequence_cannot_appear_here: b(17021, 1, "Unicode_escape_sequence_cannot_appear_here_17021", "Unicode escape sequence cannot appear here."),
        Circularity_detected_while_resolving_configuration_Colon_0: b(18e3, 1, "Circularity_detected_while_resolving_configuration_Colon_0_18000", "Circularity detected while resolving configuration: {0}"),
        The_files_list_in_config_file_0_is_empty: b(18002, 1, "The_files_list_in_config_file_0_is_empty_18002", "The 'files' list in config file '{0}' is empty."),
        No_inputs_were_found_in_config_file_0_Specified_include_paths_were_1_and_exclude_paths_were_2: b(18003, 1, "No_inputs_were_found_in_config_file_0_Specified_include_paths_were_1_and_exclude_paths_were_2_18003", "No inputs were found in config file '{0}'. Specified 'include' paths were '{1}' and 'exclude' paths were '{2}'."),
        File_is_a_CommonJS_module_it_may_be_converted_to_an_ES_module: b(80001, 2, "File_is_a_CommonJS_module_it_may_be_converted_to_an_ES_module_80001", "File is a CommonJS module; it may be converted to an ES module."),
        This_constructor_function_may_be_converted_to_a_class_declaration: b(80002, 2, "This_constructor_function_may_be_converted_to_a_class_declaration_80002", "This constructor function may be converted to a class declaration."),
        Import_may_be_converted_to_a_default_import: b(80003, 2, "Import_may_be_converted_to_a_default_import_80003", "Import may be converted to a default import."),
        JSDoc_types_may_be_moved_to_TypeScript_types: b(80004, 2, "JSDoc_types_may_be_moved_to_TypeScript_types_80004", "JSDoc types may be moved to TypeScript types."),
        require_call_may_be_converted_to_an_import: b(80005, 2, "require_call_may_be_converted_to_an_import_80005", "'require' call may be converted to an import."),
        This_may_be_converted_to_an_async_function: b(80006, 2, "This_may_be_converted_to_an_async_function_80006", "This may be converted to an async function."),
        await_has_no_effect_on_the_type_of_this_expression: b(80007, 2, "await_has_no_effect_on_the_type_of_this_expression_80007", "'await' has no effect on the type of this expression."),
        Numeric_literals_with_absolute_values_equal_to_2_53_or_greater_are_too_large_to_be_represented_accurately_as_integers: b(80008, 2, "Numeric_literals_with_absolute_values_equal_to_2_53_or_greater_are_too_large_to_be_represented_accur_80008", "Numeric literals with absolute values equal to 2^53 or greater are too large to be represented accurately as integers."),
        JSDoc_typedef_may_be_converted_to_TypeScript_type: b(80009, 2, "JSDoc_typedef_may_be_converted_to_TypeScript_type_80009", "JSDoc typedef may be converted to TypeScript type."),
        JSDoc_typedefs_may_be_converted_to_TypeScript_types: b(80010, 2, "JSDoc_typedefs_may_be_converted_to_TypeScript_types_80010", "JSDoc typedefs may be converted to TypeScript types."),
        Add_missing_super_call: b(90001, 3, "Add_missing_super_call_90001", "Add missing 'super()' call"),
        Make_super_call_the_first_statement_in_the_constructor: b(90002, 3, "Make_super_call_the_first_statement_in_the_constructor_90002", "Make 'super()' call the first statement in the constructor"),
        Change_extends_to_implements: b(90003, 3, "Change_extends_to_implements_90003", "Change 'extends' to 'implements'"),
        Remove_unused_declaration_for_Colon_0: b(90004, 3, "Remove_unused_declaration_for_Colon_0_90004", "Remove unused declaration for: '{0}'"),
        Remove_import_from_0: b(90005, 3, "Remove_import_from_0_90005", "Remove import from '{0}'"),
        Implement_interface_0: b(90006, 3, "Implement_interface_0_90006", "Implement interface '{0}'"),
        Implement_inherited_abstract_class: b(90007, 3, "Implement_inherited_abstract_class_90007", "Implement inherited abstract class"),
        Add_0_to_unresolved_variable: b(90008, 3, "Add_0_to_unresolved_variable_90008", "Add '{0}.' to unresolved variable"),
        Remove_variable_statement: b(90010, 3, "Remove_variable_statement_90010", "Remove variable statement"),
        Remove_template_tag: b(90011, 3, "Remove_template_tag_90011", "Remove template tag"),
        Remove_type_parameters: b(90012, 3, "Remove_type_parameters_90012", "Remove type parameters"),
        Import_0_from_1: b(90013, 3, "Import_0_from_1_90013", `Import '{0}' from "{1}"`),
        Change_0_to_1: b(90014, 3, "Change_0_to_1_90014", "Change '{0}' to '{1}'"),
        Declare_property_0: b(90016, 3, "Declare_property_0_90016", "Declare property '{0}'"),
        Add_index_signature_for_property_0: b(90017, 3, "Add_index_signature_for_property_0_90017", "Add index signature for property '{0}'"),
        Disable_checking_for_this_file: b(90018, 3, "Disable_checking_for_this_file_90018", "Disable checking for this file"),
        Ignore_this_error_message: b(90019, 3, "Ignore_this_error_message_90019", "Ignore this error message"),
        Initialize_property_0_in_the_constructor: b(90020, 3, "Initialize_property_0_in_the_constructor_90020", "Initialize property '{0}' in the constructor"),
        Initialize_static_property_0: b(90021, 3, "Initialize_static_property_0_90021", "Initialize static property '{0}'"),
        Change_spelling_to_0: b(90022, 3, "Change_spelling_to_0_90022", "Change spelling to '{0}'"),
        Declare_method_0: b(90023, 3, "Declare_method_0_90023", "Declare method '{0}'"),
        Declare_static_method_0: b(90024, 3, "Declare_static_method_0_90024", "Declare static method '{0}'"),
        Prefix_0_with_an_underscore: b(90025, 3, "Prefix_0_with_an_underscore_90025", "Prefix '{0}' with an underscore"),
        Rewrite_as_the_indexed_access_type_0: b(90026, 3, "Rewrite_as_the_indexed_access_type_0_90026", "Rewrite as the indexed access type '{0}'"),
        Declare_static_property_0: b(90027, 3, "Declare_static_property_0_90027", "Declare static property '{0}'"),
        Call_decorator_expression: b(90028, 3, "Call_decorator_expression_90028", "Call decorator expression"),
        Add_async_modifier_to_containing_function: b(90029, 3, "Add_async_modifier_to_containing_function_90029", "Add async modifier to containing function"),
        Replace_infer_0_with_unknown: b(90030, 3, "Replace_infer_0_with_unknown_90030", "Replace 'infer {0}' with 'unknown'"),
        Replace_all_unused_infer_with_unknown: b(90031, 3, "Replace_all_unused_infer_with_unknown_90031", "Replace all unused 'infer' with 'unknown'"),
        Add_parameter_name: b(90034, 3, "Add_parameter_name_90034", "Add parameter name"),
        Declare_private_property_0: b(90035, 3, "Declare_private_property_0_90035", "Declare private property '{0}'"),
        Replace_0_with_Promise_1: b(90036, 3, "Replace_0_with_Promise_1_90036", "Replace '{0}' with 'Promise<{1}>'"),
        Fix_all_incorrect_return_type_of_an_async_functions: b(90037, 3, "Fix_all_incorrect_return_type_of_an_async_functions_90037", "Fix all incorrect return type of an async functions"),
        Declare_private_method_0: b(90038, 3, "Declare_private_method_0_90038", "Declare private method '{0}'"),
        Remove_unused_destructuring_declaration: b(90039, 3, "Remove_unused_destructuring_declaration_90039", "Remove unused destructuring declaration"),
        Remove_unused_declarations_for_Colon_0: b(90041, 3, "Remove_unused_declarations_for_Colon_0_90041", "Remove unused declarations for: '{0}'"),
        Declare_a_private_field_named_0: b(90053, 3, "Declare_a_private_field_named_0_90053", "Declare a private field named '{0}'."),
        Includes_imports_of_types_referenced_by_0: b(90054, 3, "Includes_imports_of_types_referenced_by_0_90054", "Includes imports of types referenced by '{0}'"),
        Remove_type_from_import_declaration_from_0: b(90055, 3, "Remove_type_from_import_declaration_from_0_90055", `Remove 'type' from import declaration from "{0}"`),
        Remove_type_from_import_of_0_from_1: b(90056, 3, "Remove_type_from_import_of_0_from_1_90056", `Remove 'type' from import of '{0}' from "{1}"`),
        Add_import_from_0: b(90057, 3, "Add_import_from_0_90057", 'Add import from "{0}"'),
        Update_import_from_0: b(90058, 3, "Update_import_from_0_90058", 'Update import from "{0}"'),
        Export_0_from_module_1: b(90059, 3, "Export_0_from_module_1_90059", "Export '{0}' from module '{1}'"),
        Export_all_referenced_locals: b(90060, 3, "Export_all_referenced_locals_90060", "Export all referenced locals"),
        Update_modifiers_of_0: b(90061, 3, "Update_modifiers_of_0_90061", "Update modifiers of '{0}'"),
        Add_annotation_of_type_0: b(90062, 3, "Add_annotation_of_type_0_90062", "Add annotation of type '{0}'"),
        Add_return_type_0: b(90063, 3, "Add_return_type_0_90063", "Add return type '{0}'"),
        Extract_base_class_to_variable: b(90064, 3, "Extract_base_class_to_variable_90064", "Extract base class to variable"),
        Extract_default_export_to_variable: b(90065, 3, "Extract_default_export_to_variable_90065", "Extract default export to variable"),
        Extract_binding_expressions_to_variable: b(90066, 3, "Extract_binding_expressions_to_variable_90066", "Extract binding expressions to variable"),
        Add_all_missing_type_annotations: b(90067, 3, "Add_all_missing_type_annotations_90067", "Add all missing type annotations"),
        Add_satisfies_and_an_inline_type_assertion_with_0: b(90068, 3, "Add_satisfies_and_an_inline_type_assertion_with_0_90068", "Add satisfies and an inline type assertion with '{0}'"),
        Extract_to_variable_and_replace_with_0_as_typeof_0: b(90069, 3, "Extract_to_variable_and_replace_with_0_as_typeof_0_90069", "Extract to variable and replace with '{0} as typeof {0}'"),
        Mark_array_literal_as_const: b(90070, 3, "Mark_array_literal_as_const_90070", "Mark array literal as const"),
        Annotate_types_of_properties_expando_function_in_a_namespace: b(90071, 3, "Annotate_types_of_properties_expando_function_in_a_namespace_90071", "Annotate types of properties expando function in a namespace"),
        Convert_function_to_an_ES2015_class: b(95001, 3, "Convert_function_to_an_ES2015_class_95001", "Convert function to an ES2015 class"),
        Convert_0_to_1_in_0: b(95003, 3, "Convert_0_to_1_in_0_95003", "Convert '{0}' to '{1} in {0}'"),
        Extract_to_0_in_1: b(95004, 3, "Extract_to_0_in_1_95004", "Extract to {0} in {1}"),
        Extract_function: b(95005, 3, "Extract_function_95005", "Extract function"),
        Extract_constant: b(95006, 3, "Extract_constant_95006", "Extract constant"),
        Extract_to_0_in_enclosing_scope: b(95007, 3, "Extract_to_0_in_enclosing_scope_95007", "Extract to {0} in enclosing scope"),
        Extract_to_0_in_1_scope: b(95008, 3, "Extract_to_0_in_1_scope_95008", "Extract to {0} in {1} scope"),
        Annotate_with_type_from_JSDoc: b(95009, 3, "Annotate_with_type_from_JSDoc_95009", "Annotate with type from JSDoc"),
        Infer_type_of_0_from_usage: b(95011, 3, "Infer_type_of_0_from_usage_95011", "Infer type of '{0}' from usage"),
        Infer_parameter_types_from_usage: b(95012, 3, "Infer_parameter_types_from_usage_95012", "Infer parameter types from usage"),
        Convert_to_default_import: b(95013, 3, "Convert_to_default_import_95013", "Convert to default import"),
        Install_0: b(95014, 3, "Install_0_95014", "Install '{0}'"),
        Replace_import_with_0: b(95015, 3, "Replace_import_with_0_95015", "Replace import with '{0}'."),
        Use_synthetic_default_member: b(95016, 3, "Use_synthetic_default_member_95016", "Use synthetic 'default' member."),
        Convert_to_ES_module: b(95017, 3, "Convert_to_ES_module_95017", "Convert to ES module"),
        Add_undefined_type_to_property_0: b(95018, 3, "Add_undefined_type_to_property_0_95018", "Add 'undefined' type to property '{0}'"),
        Add_initializer_to_property_0: b(95019, 3, "Add_initializer_to_property_0_95019", "Add initializer to property '{0}'"),
        Add_definite_assignment_assertion_to_property_0: b(95020, 3, "Add_definite_assignment_assertion_to_property_0_95020", "Add definite assignment assertion to property '{0}'"),
        Convert_all_type_literals_to_mapped_type: b(95021, 3, "Convert_all_type_literals_to_mapped_type_95021", "Convert all type literals to mapped type"),
        Add_all_missing_members: b(95022, 3, "Add_all_missing_members_95022", "Add all missing members"),
        Infer_all_types_from_usage: b(95023, 3, "Infer_all_types_from_usage_95023", "Infer all types from usage"),
        Delete_all_unused_declarations: b(95024, 3, "Delete_all_unused_declarations_95024", "Delete all unused declarations"),
        Prefix_all_unused_declarations_with_where_possible: b(95025, 3, "Prefix_all_unused_declarations_with_where_possible_95025", "Prefix all unused declarations with '_' where possible"),
        Fix_all_detected_spelling_errors: b(95026, 3, "Fix_all_detected_spelling_errors_95026", "Fix all detected spelling errors"),
        Add_initializers_to_all_uninitialized_properties: b(95027, 3, "Add_initializers_to_all_uninitialized_properties_95027", "Add initializers to all uninitialized properties"),
        Add_definite_assignment_assertions_to_all_uninitialized_properties: b(95028, 3, "Add_definite_assignment_assertions_to_all_uninitialized_properties_95028", "Add definite assignment assertions to all uninitialized properties"),
        Add_undefined_type_to_all_uninitialized_properties: b(95029, 3, "Add_undefined_type_to_all_uninitialized_properties_95029", "Add undefined type to all uninitialized properties"),
        Change_all_jsdoc_style_types_to_TypeScript: b(95030, 3, "Change_all_jsdoc_style_types_to_TypeScript_95030", "Change all jsdoc-style types to TypeScript"),
        Change_all_jsdoc_style_types_to_TypeScript_and_add_undefined_to_nullable_types: b(95031, 3, "Change_all_jsdoc_style_types_to_TypeScript_and_add_undefined_to_nullable_types_95031", "Change all jsdoc-style types to TypeScript (and add '| undefined' to nullable types)"),
        Implement_all_unimplemented_interfaces: b(95032, 3, "Implement_all_unimplemented_interfaces_95032", "Implement all unimplemented interfaces"),
        Install_all_missing_types_packages: b(95033, 3, "Install_all_missing_types_packages_95033", "Install all missing types packages"),
        Rewrite_all_as_indexed_access_types: b(95034, 3, "Rewrite_all_as_indexed_access_types_95034", "Rewrite all as indexed access types"),
        Convert_all_to_default_imports: b(95035, 3, "Convert_all_to_default_imports_95035", "Convert all to default imports"),
        Make_all_super_calls_the_first_statement_in_their_constructor: b(95036, 3, "Make_all_super_calls_the_first_statement_in_their_constructor_95036", "Make all 'super()' calls the first statement in their constructor"),
        Add_qualifier_to_all_unresolved_variables_matching_a_member_name: b(95037, 3, "Add_qualifier_to_all_unresolved_variables_matching_a_member_name_95037", "Add qualifier to all unresolved variables matching a member name"),
        Change_all_extended_interfaces_to_implements: b(95038, 3, "Change_all_extended_interfaces_to_implements_95038", "Change all extended interfaces to 'implements'"),
        Add_all_missing_super_calls: b(95039, 3, "Add_all_missing_super_calls_95039", "Add all missing super calls"),
        Implement_all_inherited_abstract_classes: b(95040, 3, "Implement_all_inherited_abstract_classes_95040", "Implement all inherited abstract classes"),
        Add_all_missing_async_modifiers: b(95041, 3, "Add_all_missing_async_modifiers_95041", "Add all missing 'async' modifiers"),
        Add_ts_ignore_to_all_error_messages: b(95042, 3, "Add_ts_ignore_to_all_error_messages_95042", "Add '@ts-ignore' to all error messages"),
        Annotate_everything_with_types_from_JSDoc: b(95043, 3, "Annotate_everything_with_types_from_JSDoc_95043", "Annotate everything with types from JSDoc"),
        Add_to_all_uncalled_decorators: b(95044, 3, "Add_to_all_uncalled_decorators_95044", "Add '()' to all uncalled decorators"),
        Convert_all_constructor_functions_to_classes: b(95045, 3, "Convert_all_constructor_functions_to_classes_95045", "Convert all constructor functions to classes"),
        Generate_get_and_set_accessors: b(95046, 3, "Generate_get_and_set_accessors_95046", "Generate 'get' and 'set' accessors"),
        Convert_require_to_import: b(95047, 3, "Convert_require_to_import_95047", "Convert 'require' to 'import'"),
        Convert_all_require_to_import: b(95048, 3, "Convert_all_require_to_import_95048", "Convert all 'require' to 'import'"),
        Move_to_a_new_file: b(95049, 3, "Move_to_a_new_file_95049", "Move to a new file"),
        Remove_unreachable_code: b(95050, 3, "Remove_unreachable_code_95050", "Remove unreachable code"),
        Remove_all_unreachable_code: b(95051, 3, "Remove_all_unreachable_code_95051", "Remove all unreachable code"),
        Add_missing_typeof: b(95052, 3, "Add_missing_typeof_95052", "Add missing 'typeof'"),
        Remove_unused_label: b(95053, 3, "Remove_unused_label_95053", "Remove unused label"),
        Remove_all_unused_labels: b(95054, 3, "Remove_all_unused_labels_95054", "Remove all unused labels"),
        Convert_0_to_mapped_object_type: b(95055, 3, "Convert_0_to_mapped_object_type_95055", "Convert '{0}' to mapped object type"),
        Convert_namespace_import_to_named_imports: b(95056, 3, "Convert_namespace_import_to_named_imports_95056", "Convert namespace import to named imports"),
        Convert_named_imports_to_namespace_import: b(95057, 3, "Convert_named_imports_to_namespace_import_95057", "Convert named imports to namespace import"),
        Add_or_remove_braces_in_an_arrow_function: b(95058, 3, "Add_or_remove_braces_in_an_arrow_function_95058", "Add or remove braces in an arrow function"),
        Add_braces_to_arrow_function: b(95059, 3, "Add_braces_to_arrow_function_95059", "Add braces to arrow function"),
        Remove_braces_from_arrow_function: b(95060, 3, "Remove_braces_from_arrow_function_95060", "Remove braces from arrow function"),
        Convert_default_export_to_named_export: b(95061, 3, "Convert_default_export_to_named_export_95061", "Convert default export to named export"),
        Convert_named_export_to_default_export: b(95062, 3, "Convert_named_export_to_default_export_95062", "Convert named export to default export"),
        Add_missing_enum_member_0: b(95063, 3, "Add_missing_enum_member_0_95063", "Add missing enum member '{0}'"),
        Add_all_missing_imports: b(95064, 3, "Add_all_missing_imports_95064", "Add all missing imports"),
        Convert_to_async_function: b(95065, 3, "Convert_to_async_function_95065", "Convert to async function"),
        Convert_all_to_async_functions: b(95066, 3, "Convert_all_to_async_functions_95066", "Convert all to async functions"),
        Add_missing_call_parentheses: b(95067, 3, "Add_missing_call_parentheses_95067", "Add missing call parentheses"),
        Add_all_missing_call_parentheses: b(95068, 3, "Add_all_missing_call_parentheses_95068", "Add all missing call parentheses"),
        Add_unknown_conversion_for_non_overlapping_types: b(95069, 3, "Add_unknown_conversion_for_non_overlapping_types_95069", "Add 'unknown' conversion for non-overlapping types"),
        Add_unknown_to_all_conversions_of_non_overlapping_types: b(95070, 3, "Add_unknown_to_all_conversions_of_non_overlapping_types_95070", "Add 'unknown' to all conversions of non-overlapping types"),
        Add_missing_new_operator_to_call: b(95071, 3, "Add_missing_new_operator_to_call_95071", "Add missing 'new' operator to call"),
        Add_missing_new_operator_to_all_calls: b(95072, 3, "Add_missing_new_operator_to_all_calls_95072", "Add missing 'new' operator to all calls"),
        Add_names_to_all_parameters_without_names: b(95073, 3, "Add_names_to_all_parameters_without_names_95073", "Add names to all parameters without names"),
        Enable_the_experimentalDecorators_option_in_your_configuration_file: b(95074, 3, "Enable_the_experimentalDecorators_option_in_your_configuration_file_95074", "Enable the 'experimentalDecorators' option in your configuration file"),
        Convert_parameters_to_destructured_object: b(95075, 3, "Convert_parameters_to_destructured_object_95075", "Convert parameters to destructured object"),
        Extract_type: b(95077, 3, "Extract_type_95077", "Extract type"),
        Extract_to_type_alias: b(95078, 3, "Extract_to_type_alias_95078", "Extract to type alias"),
        Extract_to_typedef: b(95079, 3, "Extract_to_typedef_95079", "Extract to typedef"),
        Infer_this_type_of_0_from_usage: b(95080, 3, "Infer_this_type_of_0_from_usage_95080", "Infer 'this' type of '{0}' from usage"),
        Add_const_to_unresolved_variable: b(95081, 3, "Add_const_to_unresolved_variable_95081", "Add 'const' to unresolved variable"),
        Add_const_to_all_unresolved_variables: b(95082, 3, "Add_const_to_all_unresolved_variables_95082", "Add 'const' to all unresolved variables"),
        Add_await: b(95083, 3, "Add_await_95083", "Add 'await'"),
        Add_await_to_initializer_for_0: b(95084, 3, "Add_await_to_initializer_for_0_95084", "Add 'await' to initializer for '{0}'"),
        Fix_all_expressions_possibly_missing_await: b(95085, 3, "Fix_all_expressions_possibly_missing_await_95085", "Fix all expressions possibly missing 'await'"),
        Remove_unnecessary_await: b(95086, 3, "Remove_unnecessary_await_95086", "Remove unnecessary 'await'"),
        Remove_all_unnecessary_uses_of_await: b(95087, 3, "Remove_all_unnecessary_uses_of_await_95087", "Remove all unnecessary uses of 'await'"),
        Enable_the_jsx_flag_in_your_configuration_file: b(95088, 3, "Enable_the_jsx_flag_in_your_configuration_file_95088", "Enable the '--jsx' flag in your configuration file"),
        Add_await_to_initializers: b(95089, 3, "Add_await_to_initializers_95089", "Add 'await' to initializers"),
        Extract_to_interface: b(95090, 3, "Extract_to_interface_95090", "Extract to interface"),
        Convert_to_a_bigint_numeric_literal: b(95091, 3, "Convert_to_a_bigint_numeric_literal_95091", "Convert to a bigint numeric literal"),
        Convert_all_to_bigint_numeric_literals: b(95092, 3, "Convert_all_to_bigint_numeric_literals_95092", "Convert all to bigint numeric literals"),
        Convert_const_to_let: b(95093, 3, "Convert_const_to_let_95093", "Convert 'const' to 'let'"),
        Prefix_with_declare: b(95094, 3, "Prefix_with_declare_95094", "Prefix with 'declare'"),
        Prefix_all_incorrect_property_declarations_with_declare: b(95095, 3, "Prefix_all_incorrect_property_declarations_with_declare_95095", "Prefix all incorrect property declarations with 'declare'"),
        Convert_to_template_string: b(95096, 3, "Convert_to_template_string_95096", "Convert to template string"),
        Add_export_to_make_this_file_into_a_module: b(95097, 3, "Add_export_to_make_this_file_into_a_module_95097", "Add 'export {}' to make this file into a module"),
        Set_the_target_option_in_your_configuration_file_to_0: b(95098, 3, "Set_the_target_option_in_your_configuration_file_to_0_95098", "Set the 'target' option in your configuration file to '{0}'"),
        Set_the_module_option_in_your_configuration_file_to_0: b(95099, 3, "Set_the_module_option_in_your_configuration_file_to_0_95099", "Set the 'module' option in your configuration file to '{0}'"),
        Convert_invalid_character_to_its_html_entity_code: b(95100, 3, "Convert_invalid_character_to_its_html_entity_code_95100", "Convert invalid character to its html entity code"),
        Convert_all_invalid_characters_to_HTML_entity_code: b(95101, 3, "Convert_all_invalid_characters_to_HTML_entity_code_95101", "Convert all invalid characters to HTML entity code"),
        Convert_all_const_to_let: b(95102, 3, "Convert_all_const_to_let_95102", "Convert all 'const' to 'let'"),
        Convert_function_expression_0_to_arrow_function: b(95105, 3, "Convert_function_expression_0_to_arrow_function_95105", "Convert function expression '{0}' to arrow function"),
        Convert_function_declaration_0_to_arrow_function: b(95106, 3, "Convert_function_declaration_0_to_arrow_function_95106", "Convert function declaration '{0}' to arrow function"),
        Fix_all_implicit_this_errors: b(95107, 3, "Fix_all_implicit_this_errors_95107", "Fix all implicit-'this' errors"),
        Wrap_invalid_character_in_an_expression_container: b(95108, 3, "Wrap_invalid_character_in_an_expression_container_95108", "Wrap invalid character in an expression container"),
        Wrap_all_invalid_characters_in_an_expression_container: b(95109, 3, "Wrap_all_invalid_characters_in_an_expression_container_95109", "Wrap all invalid characters in an expression container"),
        Visit_https_Colon_Slash_Slashaka_ms_Slashtsconfig_to_read_more_about_this_file: b(95110, 3, "Visit_https_Colon_Slash_Slashaka_ms_Slashtsconfig_to_read_more_about_this_file_95110", "Visit https://aka.ms/tsconfig to read more about this file"),
        Add_a_return_statement: b(95111, 3, "Add_a_return_statement_95111", "Add a return statement"),
        Remove_braces_from_arrow_function_body: b(95112, 3, "Remove_braces_from_arrow_function_body_95112", "Remove braces from arrow function body"),
        Wrap_the_following_body_with_parentheses_which_should_be_an_object_literal: b(95113, 3, "Wrap_the_following_body_with_parentheses_which_should_be_an_object_literal_95113", "Wrap the following body with parentheses which should be an object literal"),
        Add_all_missing_return_statement: b(95114, 3, "Add_all_missing_return_statement_95114", "Add all missing return statement"),
        Remove_braces_from_all_arrow_function_bodies_with_relevant_issues: b(95115, 3, "Remove_braces_from_all_arrow_function_bodies_with_relevant_issues_95115", "Remove braces from all arrow function bodies with relevant issues"),
        Wrap_all_object_literal_with_parentheses: b(95116, 3, "Wrap_all_object_literal_with_parentheses_95116", "Wrap all object literal with parentheses"),
        Move_labeled_tuple_element_modifiers_to_labels: b(95117, 3, "Move_labeled_tuple_element_modifiers_to_labels_95117", "Move labeled tuple element modifiers to labels"),
        Convert_overload_list_to_single_signature: b(95118, 3, "Convert_overload_list_to_single_signature_95118", "Convert overload list to single signature"),
        Generate_get_and_set_accessors_for_all_overriding_properties: b(95119, 3, "Generate_get_and_set_accessors_for_all_overriding_properties_95119", "Generate 'get' and 'set' accessors for all overriding properties"),
        Wrap_in_JSX_fragment: b(95120, 3, "Wrap_in_JSX_fragment_95120", "Wrap in JSX fragment"),
        Wrap_all_unparented_JSX_in_JSX_fragment: b(95121, 3, "Wrap_all_unparented_JSX_in_JSX_fragment_95121", "Wrap all unparented JSX in JSX fragment"),
        Convert_arrow_function_or_function_expression: b(95122, 3, "Convert_arrow_function_or_function_expression_95122", "Convert arrow function or function expression"),
        Convert_to_anonymous_function: b(95123, 3, "Convert_to_anonymous_function_95123", "Convert to anonymous function"),
        Convert_to_named_function: b(95124, 3, "Convert_to_named_function_95124", "Convert to named function"),
        Convert_to_arrow_function: b(95125, 3, "Convert_to_arrow_function_95125", "Convert to arrow function"),
        Remove_parentheses: b(95126, 3, "Remove_parentheses_95126", "Remove parentheses"),
        Could_not_find_a_containing_arrow_function: b(95127, 3, "Could_not_find_a_containing_arrow_function_95127", "Could not find a containing arrow function"),
        Containing_function_is_not_an_arrow_function: b(95128, 3, "Containing_function_is_not_an_arrow_function_95128", "Containing function is not an arrow function"),
        Could_not_find_export_statement: b(95129, 3, "Could_not_find_export_statement_95129", "Could not find export statement"),
        This_file_already_has_a_default_export: b(95130, 3, "This_file_already_has_a_default_export_95130", "This file already has a default export"),
        Could_not_find_import_clause: b(95131, 3, "Could_not_find_import_clause_95131", "Could not find import clause"),
        Could_not_find_namespace_import_or_named_imports: b(95132, 3, "Could_not_find_namespace_import_or_named_imports_95132", "Could not find namespace import or named imports"),
        Selection_is_not_a_valid_type_node: b(95133, 3, "Selection_is_not_a_valid_type_node_95133", "Selection is not a valid type node"),
        No_type_could_be_extracted_from_this_type_node: b(95134, 3, "No_type_could_be_extracted_from_this_type_node_95134", "No type could be extracted from this type node"),
        Could_not_find_property_for_which_to_generate_accessor: b(95135, 3, "Could_not_find_property_for_which_to_generate_accessor_95135", "Could not find property for which to generate accessor"),
        Name_is_not_valid: b(95136, 3, "Name_is_not_valid_95136", "Name is not valid"),
        Can_only_convert_property_with_modifier: b(95137, 3, "Can_only_convert_property_with_modifier_95137", "Can only convert property with modifier"),
        Switch_each_misused_0_to_1: b(95138, 3, "Switch_each_misused_0_to_1_95138", "Switch each misused '{0}' to '{1}'"),
        Convert_to_optional_chain_expression: b(95139, 3, "Convert_to_optional_chain_expression_95139", "Convert to optional chain expression"),
        Could_not_find_convertible_access_expression: b(95140, 3, "Could_not_find_convertible_access_expression_95140", "Could not find convertible access expression"),
        Could_not_find_matching_access_expressions: b(95141, 3, "Could_not_find_matching_access_expressions_95141", "Could not find matching access expressions"),
        Can_only_convert_logical_AND_access_chains: b(95142, 3, "Can_only_convert_logical_AND_access_chains_95142", "Can only convert logical AND access chains"),
        Add_void_to_Promise_resolved_without_a_value: b(95143, 3, "Add_void_to_Promise_resolved_without_a_value_95143", "Add 'void' to Promise resolved without a value"),
        Add_void_to_all_Promises_resolved_without_a_value: b(95144, 3, "Add_void_to_all_Promises_resolved_without_a_value_95144", "Add 'void' to all Promises resolved without a value"),
        Use_element_access_for_0: b(95145, 3, "Use_element_access_for_0_95145", "Use element access for '{0}'"),
        Use_element_access_for_all_undeclared_properties: b(95146, 3, "Use_element_access_for_all_undeclared_properties_95146", "Use element access for all undeclared properties."),
        Delete_all_unused_imports: b(95147, 3, "Delete_all_unused_imports_95147", "Delete all unused imports"),
        Infer_function_return_type: b(95148, 3, "Infer_function_return_type_95148", "Infer function return type"),
        Return_type_must_be_inferred_from_a_function: b(95149, 3, "Return_type_must_be_inferred_from_a_function_95149", "Return type must be inferred from a function"),
        Could_not_determine_function_return_type: b(95150, 3, "Could_not_determine_function_return_type_95150", "Could not determine function return type"),
        Could_not_convert_to_arrow_function: b(95151, 3, "Could_not_convert_to_arrow_function_95151", "Could not convert to arrow function"),
        Could_not_convert_to_named_function: b(95152, 3, "Could_not_convert_to_named_function_95152", "Could not convert to named function"),
        Could_not_convert_to_anonymous_function: b(95153, 3, "Could_not_convert_to_anonymous_function_95153", "Could not convert to anonymous function"),
        Can_only_convert_string_concatenations_and_string_literals: b(95154, 3, "Can_only_convert_string_concatenations_and_string_literals_95154", "Can only convert string concatenations and string literals"),
        Selection_is_not_a_valid_statement_or_statements: b(95155, 3, "Selection_is_not_a_valid_statement_or_statements_95155", "Selection is not a valid statement or statements"),
        Add_missing_function_declaration_0: b(95156, 3, "Add_missing_function_declaration_0_95156", "Add missing function declaration '{0}'"),
        Add_all_missing_function_declarations: b(95157, 3, "Add_all_missing_function_declarations_95157", "Add all missing function declarations"),
        Method_not_implemented: b(95158, 3, "Method_not_implemented_95158", "Method not implemented."),
        Function_not_implemented: b(95159, 3, "Function_not_implemented_95159", "Function not implemented."),
        Add_override_modifier: b(95160, 3, "Add_override_modifier_95160", "Add 'override' modifier"),
        Remove_override_modifier: b(95161, 3, "Remove_override_modifier_95161", "Remove 'override' modifier"),
        Add_all_missing_override_modifiers: b(95162, 3, "Add_all_missing_override_modifiers_95162", "Add all missing 'override' modifiers"),
        Remove_all_unnecessary_override_modifiers: b(95163, 3, "Remove_all_unnecessary_override_modifiers_95163", "Remove all unnecessary 'override' modifiers"),
        Can_only_convert_named_export: b(95164, 3, "Can_only_convert_named_export_95164", "Can only convert named export"),
        Add_missing_properties: b(95165, 3, "Add_missing_properties_95165", "Add missing properties"),
        Add_all_missing_properties: b(95166, 3, "Add_all_missing_properties_95166", "Add all missing properties"),
        Add_missing_attributes: b(95167, 3, "Add_missing_attributes_95167", "Add missing attributes"),
        Add_all_missing_attributes: b(95168, 3, "Add_all_missing_attributes_95168", "Add all missing attributes"),
        Add_undefined_to_optional_property_type: b(95169, 3, "Add_undefined_to_optional_property_type_95169", "Add 'undefined' to optional property type"),
        Convert_named_imports_to_default_import: b(95170, 3, "Convert_named_imports_to_default_import_95170", "Convert named imports to default import"),
        Delete_unused_param_tag_0: b(95171, 3, "Delete_unused_param_tag_0_95171", "Delete unused '@param' tag '{0}'"),
        Delete_all_unused_param_tags: b(95172, 3, "Delete_all_unused_param_tags_95172", "Delete all unused '@param' tags"),
        Rename_param_tag_name_0_to_1: b(95173, 3, "Rename_param_tag_name_0_to_1_95173", "Rename '@param' tag name '{0}' to '{1}'"),
        Use_0: b(95174, 3, "Use_0_95174", "Use `{0}`."),
        Use_Number_isNaN_in_all_conditions: b(95175, 3, "Use_Number_isNaN_in_all_conditions_95175", "Use `Number.isNaN` in all conditions."),
        Convert_typedef_to_TypeScript_type: b(95176, 3, "Convert_typedef_to_TypeScript_type_95176", "Convert typedef to TypeScript type."),
        Convert_all_typedef_to_TypeScript_types: b(95177, 3, "Convert_all_typedef_to_TypeScript_types_95177", "Convert all typedef to TypeScript types."),
        Move_to_file: b(95178, 3, "Move_to_file_95178", "Move to file"),
        Cannot_move_to_file_selected_file_is_invalid: b(95179, 3, "Cannot_move_to_file_selected_file_is_invalid_95179", "Cannot move to file, selected file is invalid"),
        Use_import_type: b(95180, 3, "Use_import_type_95180", "Use 'import type'"),
        Use_type_0: b(95181, 3, "Use_type_0_95181", "Use 'type {0}'"),
        Fix_all_with_type_only_imports: b(95182, 3, "Fix_all_with_type_only_imports_95182", "Fix all with type-only imports"),
        Cannot_move_statements_to_the_selected_file: b(95183, 3, "Cannot_move_statements_to_the_selected_file_95183", "Cannot move statements to the selected file"),
        Inline_variable: b(95184, 3, "Inline_variable_95184", "Inline variable"),
        Could_not_find_variable_to_inline: b(95185, 3, "Could_not_find_variable_to_inline_95185", "Could not find variable to inline."),
        Variables_with_multiple_declarations_cannot_be_inlined: b(95186, 3, "Variables_with_multiple_declarations_cannot_be_inlined_95186", "Variables with multiple declarations cannot be inlined."),
        Add_missing_comma_for_object_member_completion_0: b(95187, 3, "Add_missing_comma_for_object_member_completion_0_95187", "Add missing comma for object member completion '{0}'."),
        Add_missing_parameter_to_0: b(95188, 3, "Add_missing_parameter_to_0_95188", "Add missing parameter to '{0}'"),
        Add_missing_parameters_to_0: b(95189, 3, "Add_missing_parameters_to_0_95189", "Add missing parameters to '{0}'"),
        Add_all_missing_parameters: b(95190, 3, "Add_all_missing_parameters_95190", "Add all missing parameters"),
        Add_optional_parameter_to_0: b(95191, 3, "Add_optional_parameter_to_0_95191", "Add optional parameter to '{0}'"),
        Add_optional_parameters_to_0: b(95192, 3, "Add_optional_parameters_to_0_95192", "Add optional parameters to '{0}'"),
        Add_all_optional_parameters: b(95193, 3, "Add_all_optional_parameters_95193", "Add all optional parameters"),
        Wrap_in_parentheses: b(95194, 3, "Wrap_in_parentheses_95194", "Wrap in parentheses"),
        Wrap_all_invalid_decorator_expressions_in_parentheses: b(95195, 3, "Wrap_all_invalid_decorator_expressions_in_parentheses_95195", "Wrap all invalid decorator expressions in parentheses"),
        Add_resolution_mode_import_attribute: b(95196, 3, "Add_resolution_mode_import_attribute_95196", "Add 'resolution-mode' import attribute"),
        Add_resolution_mode_import_attribute_to_all_type_only_imports_that_need_it: b(95197, 3, "Add_resolution_mode_import_attribute_to_all_type_only_imports_that_need_it_95197", "Add 'resolution-mode' import attribute to all type-only imports that need it"),
        No_value_exists_in_scope_for_the_shorthand_property_0_Either_declare_one_or_provide_an_initializer: b(18004, 1, "No_value_exists_in_scope_for_the_shorthand_property_0_Either_declare_one_or_provide_an_initializer_18004", "No value exists in scope for the shorthand property '{0}'. Either declare one or provide an initializer."),
        Classes_may_not_have_a_field_named_constructor: b(18006, 1, "Classes_may_not_have_a_field_named_constructor_18006", "Classes may not have a field named 'constructor'."),
        JSX_expressions_may_not_use_the_comma_operator_Did_you_mean_to_write_an_array: b(18007, 1, "JSX_expressions_may_not_use_the_comma_operator_Did_you_mean_to_write_an_array_18007", "JSX expressions may not use the comma operator. Did you mean to write an array?"),
        Private_identifiers_cannot_be_used_as_parameters: b(18009, 1, "Private_identifiers_cannot_be_used_as_parameters_18009", "Private identifiers cannot be used as parameters."),
        An_accessibility_modifier_cannot_be_used_with_a_private_identifier: b(18010, 1, "An_accessibility_modifier_cannot_be_used_with_a_private_identifier_18010", "An accessibility modifier cannot be used with a private identifier."),
        The_operand_of_a_delete_operator_cannot_be_a_private_identifier: b(18011, 1, "The_operand_of_a_delete_operator_cannot_be_a_private_identifier_18011", "The operand of a 'delete' operator cannot be a private identifier."),
        constructor_is_a_reserved_word: b(18012, 1, "constructor_is_a_reserved_word_18012", "'#constructor' is a reserved word."),
        Property_0_is_not_accessible_outside_class_1_because_it_has_a_private_identifier: b(18013, 1, "Property_0_is_not_accessible_outside_class_1_because_it_has_a_private_identifier_18013", "Property '{0}' is not accessible outside class '{1}' because it has a private identifier."),
        The_property_0_cannot_be_accessed_on_type_1_within_this_class_because_it_is_shadowed_by_another_private_identifier_with_the_same_spelling: b(18014, 1, "The_property_0_cannot_be_accessed_on_type_1_within_this_class_because_it_is_shadowed_by_another_priv_18014", "The property '{0}' cannot be accessed on type '{1}' within this class because it is shadowed by another private identifier with the same spelling."),
        Property_0_in_type_1_refers_to_a_different_member_that_cannot_be_accessed_from_within_type_2: b(18015, 1, "Property_0_in_type_1_refers_to_a_different_member_that_cannot_be_accessed_from_within_type_2_18015", "Property '{0}' in type '{1}' refers to a different member that cannot be accessed from within type '{2}'."),
        Private_identifiers_are_not_allowed_outside_class_bodies: b(18016, 1, "Private_identifiers_are_not_allowed_outside_class_bodies_18016", "Private identifiers are not allowed outside class bodies."),
        The_shadowing_declaration_of_0_is_defined_here: b(18017, 1, "The_shadowing_declaration_of_0_is_defined_here_18017", "The shadowing declaration of '{0}' is defined here"),
        The_declaration_of_0_that_you_probably_intended_to_use_is_defined_here: b(18018, 1, "The_declaration_of_0_that_you_probably_intended_to_use_is_defined_here_18018", "The declaration of '{0}' that you probably intended to use is defined here"),
        _0_modifier_cannot_be_used_with_a_private_identifier: b(18019, 1, "_0_modifier_cannot_be_used_with_a_private_identifier_18019", "'{0}' modifier cannot be used with a private identifier."),
        An_enum_member_cannot_be_named_with_a_private_identifier: b(18024, 1, "An_enum_member_cannot_be_named_with_a_private_identifier_18024", "An enum member cannot be named with a private identifier."),
        can_only_be_used_at_the_start_of_a_file: b(18026, 1, "can_only_be_used_at_the_start_of_a_file_18026", "'#!' can only be used at the start of a file."),
        Compiler_reserves_name_0_when_emitting_private_identifier_downlevel: b(18027, 1, "Compiler_reserves_name_0_when_emitting_private_identifier_downlevel_18027", "Compiler reserves name '{0}' when emitting private identifier downlevel."),
        Private_identifiers_are_only_available_when_targeting_ECMAScript_2015_and_higher: b(18028, 1, "Private_identifiers_are_only_available_when_targeting_ECMAScript_2015_and_higher_18028", "Private identifiers are only available when targeting ECMAScript 2015 and higher."),
        Private_identifiers_are_not_allowed_in_variable_declarations: b(18029, 1, "Private_identifiers_are_not_allowed_in_variable_declarations_18029", "Private identifiers are not allowed in variable declarations."),
        An_optional_chain_cannot_contain_private_identifiers: b(18030, 1, "An_optional_chain_cannot_contain_private_identifiers_18030", "An optional chain cannot contain private identifiers."),
        The_intersection_0_was_reduced_to_never_because_property_1_has_conflicting_types_in_some_constituents: b(18031, 1, "The_intersection_0_was_reduced_to_never_because_property_1_has_conflicting_types_in_some_constituent_18031", "The intersection '{0}' was reduced to 'never' because property '{1}' has conflicting types in some constituents."),
        The_intersection_0_was_reduced_to_never_because_property_1_exists_in_multiple_constituents_and_is_private_in_some: b(18032, 1, "The_intersection_0_was_reduced_to_never_because_property_1_exists_in_multiple_constituents_and_is_pr_18032", "The intersection '{0}' was reduced to 'never' because property '{1}' exists in multiple constituents and is private in some."),
        Type_0_is_not_assignable_to_type_1_as_required_for_computed_enum_member_values: b(18033, 1, "Type_0_is_not_assignable_to_type_1_as_required_for_computed_enum_member_values_18033", "Type '{0}' is not assignable to type '{1}' as required for computed enum member values."),
        Specify_the_JSX_fragment_factory_function_to_use_when_targeting_react_JSX_emit_with_jsxFactory_compiler_option_is_specified_e_g_Fragment: b(18034, 3, "Specify_the_JSX_fragment_factory_function_to_use_when_targeting_react_JSX_emit_with_jsxFactory_compi_18034", "Specify the JSX fragment factory function to use when targeting 'react' JSX emit with 'jsxFactory' compiler option is specified, e.g. 'Fragment'."),
        Invalid_value_for_jsxFragmentFactory_0_is_not_a_valid_identifier_or_qualified_name: b(18035, 1, "Invalid_value_for_jsxFragmentFactory_0_is_not_a_valid_identifier_or_qualified_name_18035", "Invalid value for 'jsxFragmentFactory'. '{0}' is not a valid identifier or qualified-name."),
        Class_decorators_can_t_be_used_with_static_private_identifier_Consider_removing_the_experimental_decorator: b(18036, 1, "Class_decorators_can_t_be_used_with_static_private_identifier_Consider_removing_the_experimental_dec_18036", "Class decorators can't be used with static private identifier. Consider removing the experimental decorator."),
        await_expression_cannot_be_used_inside_a_class_static_block: b(18037, 1, "await_expression_cannot_be_used_inside_a_class_static_block_18037", "'await' expression cannot be used inside a class static block."),
        for_await_loops_cannot_be_used_inside_a_class_static_block: b(18038, 1, "for_await_loops_cannot_be_used_inside_a_class_static_block_18038", "'for await' loops cannot be used inside a class static block."),
        Invalid_use_of_0_It_cannot_be_used_inside_a_class_static_block: b(18039, 1, "Invalid_use_of_0_It_cannot_be_used_inside_a_class_static_block_18039", "Invalid use of '{0}'. It cannot be used inside a class static block."),
        A_return_statement_cannot_be_used_inside_a_class_static_block: b(18041, 1, "A_return_statement_cannot_be_used_inside_a_class_static_block_18041", "A 'return' statement cannot be used inside a class static block."),
        _0_is_a_type_and_cannot_be_imported_in_JavaScript_files_Use_1_in_a_JSDoc_type_annotation: b(18042, 1, "_0_is_a_type_and_cannot_be_imported_in_JavaScript_files_Use_1_in_a_JSDoc_type_annotation_18042", "'{0}' is a type and cannot be imported in JavaScript files. Use '{1}' in a JSDoc type annotation."),
        Types_cannot_appear_in_export_declarations_in_JavaScript_files: b(18043, 1, "Types_cannot_appear_in_export_declarations_in_JavaScript_files_18043", "Types cannot appear in export declarations in JavaScript files."),
        _0_is_automatically_exported_here: b(18044, 3, "_0_is_automatically_exported_here_18044", "'{0}' is automatically exported here."),
        Properties_with_the_accessor_modifier_are_only_available_when_targeting_ECMAScript_2015_and_higher: b(18045, 1, "Properties_with_the_accessor_modifier_are_only_available_when_targeting_ECMAScript_2015_and_higher_18045", "Properties with the 'accessor' modifier are only available when targeting ECMAScript 2015 and higher."),
        _0_is_of_type_unknown: b(18046, 1, "_0_is_of_type_unknown_18046", "'{0}' is of type 'unknown'."),
        _0_is_possibly_null: b(18047, 1, "_0_is_possibly_null_18047", "'{0}' is possibly 'null'."),
        _0_is_possibly_undefined: b(18048, 1, "_0_is_possibly_undefined_18048", "'{0}' is possibly 'undefined'."),
        _0_is_possibly_null_or_undefined: b(18049, 1, "_0_is_possibly_null_or_undefined_18049", "'{0}' is possibly 'null' or 'undefined'."),
        The_value_0_cannot_be_used_here: b(18050, 1, "The_value_0_cannot_be_used_here_18050", "The value '{0}' cannot be used here."),
        Compiler_option_0_cannot_be_given_an_empty_string: b(18051, 1, "Compiler_option_0_cannot_be_given_an_empty_string_18051", "Compiler option '{0}' cannot be given an empty string."),
        Its_type_0_is_not_a_valid_JSX_element_type: b(18053, 1, "Its_type_0_is_not_a_valid_JSX_element_type_18053", "Its type '{0}' is not a valid JSX element type."),
        await_using_statements_cannot_be_used_inside_a_class_static_block: b(18054, 1, "await_using_statements_cannot_be_used_inside_a_class_static_block_18054", "'await using' statements cannot be used inside a class static block."),
        _0_has_a_string_type_but_must_have_syntactically_recognizable_string_syntax_when_isolatedModules_is_enabled: b(18055, 1, "_0_has_a_string_type_but_must_have_syntactically_recognizable_string_syntax_when_isolatedModules_is__18055", "'{0}' has a string type, but must have syntactically recognizable string syntax when 'isolatedModules' is enabled."),
        Enum_member_following_a_non_literal_numeric_member_must_have_an_initializer_when_isolatedModules_is_enabled: b(18056, 1, "Enum_member_following_a_non_literal_numeric_member_must_have_an_initializer_when_isolatedModules_is__18056", "Enum member following a non-literal numeric member must have an initializer when 'isolatedModules' is enabled."),
        String_literal_import_and_export_names_are_not_supported_when_the_module_flag_is_set_to_es2015_or_es2020: b(18057, 1, "String_literal_import_and_export_names_are_not_supported_when_the_module_flag_is_set_to_es2015_or_es_18057", "String literal import and export names are not supported when the '--module' flag is set to 'es2015' or 'es2020'.")
      };
      function l_(e) {
        return e >= 80;
      }
      function DY(e) {
        return e === 32 || l_(e);
      }
      var s7 = {
        abstract: 128,
        accessor: 129,
        any: 133,
        as: 130,
        asserts: 131,
        assert: 132,
        bigint: 163,
        boolean: 136,
        break: 83,
        case: 84,
        catch: 85,
        class: 86,
        continue: 88,
        const: 87,
        constructor: 137,
        debugger: 89,
        declare: 138,
        default: 90,
        delete: 91,
        do: 92,
        else: 93,
        enum: 94,
        export: 95,
        extends: 96,
        false: 97,
        finally: 98,
        for: 99,
        from: 161,
        function: 100,
        get: 139,
        if: 101,
        implements: 119,
        import: 102,
        in: 103,
        infer: 140,
        instanceof: 104,
        interface: 120,
        intrinsic: 141,
        is: 142,
        keyof: 143,
        let: 121,
        module: 144,
        namespace: 145,
        never: 146,
        new: 105,
        null: 106,
        number: 150,
        object: 151,
        package: 122,
        private: 123,
        protected: 124,
        public: 125,
        override: 164,
        out: 147,
        readonly: 148,
        require: 149,
        global: 162,
        return: 107,
        satisfies: 152,
        set: 153,
        static: 126,
        string: 154,
        super: 108,
        switch: 109,
        symbol: 155,
        this: 110,
        throw: 111,
        true: 112,
        try: 113,
        type: 156,
        typeof: 114,
        undefined: 157,
        unique: 158,
        unknown: 159,
        using: 160,
        var: 115,
        void: 116,
        while: 117,
        with: 118,
        yield: 127,
        async: 134,
        await: 135,
        of: 165
        /* OfKeyword */
      }, TFe = new Map(Object.entries(s7)), Lge = new Map(Object.entries({
        ...s7,
        "{": 19,
        "}": 20,
        "(": 21,
        ")": 22,
        "[": 23,
        "]": 24,
        ".": 25,
        "...": 26,
        ";": 27,
        ",": 28,
        "<": 30,
        ">": 32,
        "<=": 33,
        ">=": 34,
        "==": 35,
        "!=": 36,
        "===": 37,
        "!==": 38,
        "=>": 39,
        "+": 40,
        "-": 41,
        "**": 43,
        "*": 42,
        "/": 44,
        "%": 45,
        "++": 46,
        "--": 47,
        "<<": 48,
        "</": 31,
        ">>": 49,
        ">>>": 50,
        "&": 51,
        "|": 52,
        "^": 53,
        "!": 54,
        "~": 55,
        "&&": 56,
        "||": 57,
        "?": 58,
        "??": 61,
        "?.": 29,
        ":": 59,
        "=": 64,
        "+=": 65,
        "-=": 66,
        "*=": 67,
        "**=": 68,
        "/=": 69,
        "%=": 70,
        "<<=": 71,
        ">>=": 72,
        ">>>=": 73,
        "&=": 74,
        "|=": 75,
        "^=": 79,
        "||=": 76,
        "&&=": 77,
        "??=": 78,
        "@": 60,
        "#": 63,
        "`": 62
        /* BacktickToken */
      })), Mge = /* @__PURE__ */ new Map([
        [
          100,
          1
          /* HasIndices */
        ],
        [
          103,
          2
          /* Global */
        ],
        [
          105,
          4
          /* IgnoreCase */
        ],
        [
          109,
          8
          /* Multiline */
        ],
        [
          115,
          16
          /* DotAll */
        ],
        [
          117,
          32
          /* Unicode */
        ],
        [
          118,
          64
          /* UnicodeSets */
        ],
        [
          121,
          128
          /* Sticky */
        ]
      ]), xFe = /* @__PURE__ */ new Map([
        [1, kl.RegularExpressionFlagsHasIndices],
        [16, kl.RegularExpressionFlagsDotAll],
        [32, kl.RegularExpressionFlagsUnicode],
        [64, kl.RegularExpressionFlagsUnicodeSets],
        [128, kl.RegularExpressionFlagsSticky]
      ]), kFe = [170, 170, 181, 181, 186, 186, 192, 214, 216, 246, 248, 705, 710, 721, 736, 740, 748, 748, 750, 750, 880, 884, 886, 887, 890, 893, 902, 902, 904, 906, 908, 908, 910, 929, 931, 1013, 1015, 1153, 1162, 1319, 1329, 1366, 1369, 1369, 1377, 1415, 1488, 1514, 1520, 1522, 1568, 1610, 1646, 1647, 1649, 1747, 1749, 1749, 1765, 1766, 1774, 1775, 1786, 1788, 1791, 1791, 1808, 1808, 1810, 1839, 1869, 1957, 1969, 1969, 1994, 2026, 2036, 2037, 2042, 2042, 2048, 2069, 2074, 2074, 2084, 2084, 2088, 2088, 2112, 2136, 2208, 2208, 2210, 2220, 2308, 2361, 2365, 2365, 2384, 2384, 2392, 2401, 2417, 2423, 2425, 2431, 2437, 2444, 2447, 2448, 2451, 2472, 2474, 2480, 2482, 2482, 2486, 2489, 2493, 2493, 2510, 2510, 2524, 2525, 2527, 2529, 2544, 2545, 2565, 2570, 2575, 2576, 2579, 2600, 2602, 2608, 2610, 2611, 2613, 2614, 2616, 2617, 2649, 2652, 2654, 2654, 2674, 2676, 2693, 2701, 2703, 2705, 2707, 2728, 2730, 2736, 2738, 2739, 2741, 2745, 2749, 2749, 2768, 2768, 2784, 2785, 2821, 2828, 2831, 2832, 2835, 2856, 2858, 2864, 2866, 2867, 2869, 2873, 2877, 2877, 2908, 2909, 2911, 2913, 2929, 2929, 2947, 2947, 2949, 2954, 2958, 2960, 2962, 2965, 2969, 2970, 2972, 2972, 2974, 2975, 2979, 2980, 2984, 2986, 2990, 3001, 3024, 3024, 3077, 3084, 3086, 3088, 3090, 3112, 3114, 3123, 3125, 3129, 3133, 3133, 3160, 3161, 3168, 3169, 3205, 3212, 3214, 3216, 3218, 3240, 3242, 3251, 3253, 3257, 3261, 3261, 3294, 3294, 3296, 3297, 3313, 3314, 3333, 3340, 3342, 3344, 3346, 3386, 3389, 3389, 3406, 3406, 3424, 3425, 3450, 3455, 3461, 3478, 3482, 3505, 3507, 3515, 3517, 3517, 3520, 3526, 3585, 3632, 3634, 3635, 3648, 3654, 3713, 3714, 3716, 3716, 3719, 3720, 3722, 3722, 3725, 3725, 3732, 3735, 3737, 3743, 3745, 3747, 3749, 3749, 3751, 3751, 3754, 3755, 3757, 3760, 3762, 3763, 3773, 3773, 3776, 3780, 3782, 3782, 3804, 3807, 3840, 3840, 3904, 3911, 3913, 3948, 3976, 3980, 4096, 4138, 4159, 4159, 4176, 4181, 4186, 4189, 4193, 4193, 4197, 4198, 4206, 4208, 4213, 4225, 4238, 4238, 4256, 4293, 4295, 4295, 4301, 4301, 4304, 4346, 4348, 4680, 4682, 4685, 4688, 4694, 4696, 4696, 4698, 4701, 4704, 4744, 4746, 4749, 4752, 4784, 4786, 4789, 4792, 4798, 4800, 4800, 4802, 4805, 4808, 4822, 4824, 4880, 4882, 4885, 4888, 4954, 4992, 5007, 5024, 5108, 5121, 5740, 5743, 5759, 5761, 5786, 5792, 5866, 5870, 5872, 5888, 5900, 5902, 5905, 5920, 5937, 5952, 5969, 5984, 5996, 5998, 6e3, 6016, 6067, 6103, 6103, 6108, 6108, 6176, 6263, 6272, 6312, 6314, 6314, 6320, 6389, 6400, 6428, 6480, 6509, 6512, 6516, 6528, 6571, 6593, 6599, 6656, 6678, 6688, 6740, 6823, 6823, 6917, 6963, 6981, 6987, 7043, 7072, 7086, 7087, 7098, 7141, 7168, 7203, 7245, 7247, 7258, 7293, 7401, 7404, 7406, 7409, 7413, 7414, 7424, 7615, 7680, 7957, 7960, 7965, 7968, 8005, 8008, 8013, 8016, 8023, 8025, 8025, 8027, 8027, 8029, 8029, 8031, 8061, 8064, 8116, 8118, 8124, 8126, 8126, 8130, 8132, 8134, 8140, 8144, 8147, 8150, 8155, 8160, 8172, 8178, 8180, 8182, 8188, 8305, 8305, 8319, 8319, 8336, 8348, 8450, 8450, 8455, 8455, 8458, 8467, 8469, 8469, 8473, 8477, 8484, 8484, 8486, 8486, 8488, 8488, 8490, 8493, 8495, 8505, 8508, 8511, 8517, 8521, 8526, 8526, 8544, 8584, 11264, 11310, 11312, 11358, 11360, 11492, 11499, 11502, 11506, 11507, 11520, 11557, 11559, 11559, 11565, 11565, 11568, 11623, 11631, 11631, 11648, 11670, 11680, 11686, 11688, 11694, 11696, 11702, 11704, 11710, 11712, 11718, 11720, 11726, 11728, 11734, 11736, 11742, 11823, 11823, 12293, 12295, 12321, 12329, 12337, 12341, 12344, 12348, 12353, 12438, 12445, 12447, 12449, 12538, 12540, 12543, 12549, 12589, 12593, 12686, 12704, 12730, 12784, 12799, 13312, 19893, 19968, 40908, 40960, 42124, 42192, 42237, 42240, 42508, 42512, 42527, 42538, 42539, 42560, 42606, 42623, 42647, 42656, 42735, 42775, 42783, 42786, 42888, 42891, 42894, 42896, 42899, 42912, 42922, 43e3, 43009, 43011, 43013, 43015, 43018, 43020, 43042, 43072, 43123, 43138, 43187, 43250, 43255, 43259, 43259, 43274, 43301, 43312, 43334, 43360, 43388, 43396, 43442, 43471, 43471, 43520, 43560, 43584, 43586, 43588, 43595, 43616, 43638, 43642, 43642, 43648, 43695, 43697, 43697, 43701, 43702, 43705, 43709, 43712, 43712, 43714, 43714, 43739, 43741, 43744, 43754, 43762, 43764, 43777, 43782, 43785, 43790, 43793, 43798, 43808, 43814, 43816, 43822, 43968, 44002, 44032, 55203, 55216, 55238, 55243, 55291, 63744, 64109, 64112, 64217, 64256, 64262, 64275, 64279, 64285, 64285, 64287, 64296, 64298, 64310, 64312, 64316, 64318, 64318, 64320, 64321, 64323, 64324, 64326, 64433, 64467, 64829, 64848, 64911, 64914, 64967, 65008, 65019, 65136, 65140, 65142, 65276, 65313, 65338, 65345, 65370, 65382, 65470, 65474, 65479, 65482, 65487, 65490, 65495, 65498, 65500], CFe = [170, 170, 181, 181, 186, 186, 192, 214, 216, 246, 248, 705, 710, 721, 736, 740, 748, 748, 750, 750, 768, 884, 886, 887, 890, 893, 902, 902, 904, 906, 908, 908, 910, 929, 931, 1013, 1015, 1153, 1155, 1159, 1162, 1319, 1329, 1366, 1369, 1369, 1377, 1415, 1425, 1469, 1471, 1471, 1473, 1474, 1476, 1477, 1479, 1479, 1488, 1514, 1520, 1522, 1552, 1562, 1568, 1641, 1646, 1747, 1749, 1756, 1759, 1768, 1770, 1788, 1791, 1791, 1808, 1866, 1869, 1969, 1984, 2037, 2042, 2042, 2048, 2093, 2112, 2139, 2208, 2208, 2210, 2220, 2276, 2302, 2304, 2403, 2406, 2415, 2417, 2423, 2425, 2431, 2433, 2435, 2437, 2444, 2447, 2448, 2451, 2472, 2474, 2480, 2482, 2482, 2486, 2489, 2492, 2500, 2503, 2504, 2507, 2510, 2519, 2519, 2524, 2525, 2527, 2531, 2534, 2545, 2561, 2563, 2565, 2570, 2575, 2576, 2579, 2600, 2602, 2608, 2610, 2611, 2613, 2614, 2616, 2617, 2620, 2620, 2622, 2626, 2631, 2632, 2635, 2637, 2641, 2641, 2649, 2652, 2654, 2654, 2662, 2677, 2689, 2691, 2693, 2701, 2703, 2705, 2707, 2728, 2730, 2736, 2738, 2739, 2741, 2745, 2748, 2757, 2759, 2761, 2763, 2765, 2768, 2768, 2784, 2787, 2790, 2799, 2817, 2819, 2821, 2828, 2831, 2832, 2835, 2856, 2858, 2864, 2866, 2867, 2869, 2873, 2876, 2884, 2887, 2888, 2891, 2893, 2902, 2903, 2908, 2909, 2911, 2915, 2918, 2927, 2929, 2929, 2946, 2947, 2949, 2954, 2958, 2960, 2962, 2965, 2969, 2970, 2972, 2972, 2974, 2975, 2979, 2980, 2984, 2986, 2990, 3001, 3006, 3010, 3014, 3016, 3018, 3021, 3024, 3024, 3031, 3031, 3046, 3055, 3073, 3075, 3077, 3084, 3086, 3088, 3090, 3112, 3114, 3123, 3125, 3129, 3133, 3140, 3142, 3144, 3146, 3149, 3157, 3158, 3160, 3161, 3168, 3171, 3174, 3183, 3202, 3203, 3205, 3212, 3214, 3216, 3218, 3240, 3242, 3251, 3253, 3257, 3260, 3268, 3270, 3272, 3274, 3277, 3285, 3286, 3294, 3294, 3296, 3299, 3302, 3311, 3313, 3314, 3330, 3331, 3333, 3340, 3342, 3344, 3346, 3386, 3389, 3396, 3398, 3400, 3402, 3406, 3415, 3415, 3424, 3427, 3430, 3439, 3450, 3455, 3458, 3459, 3461, 3478, 3482, 3505, 3507, 3515, 3517, 3517, 3520, 3526, 3530, 3530, 3535, 3540, 3542, 3542, 3544, 3551, 3570, 3571, 3585, 3642, 3648, 3662, 3664, 3673, 3713, 3714, 3716, 3716, 3719, 3720, 3722, 3722, 3725, 3725, 3732, 3735, 3737, 3743, 3745, 3747, 3749, 3749, 3751, 3751, 3754, 3755, 3757, 3769, 3771, 3773, 3776, 3780, 3782, 3782, 3784, 3789, 3792, 3801, 3804, 3807, 3840, 3840, 3864, 3865, 3872, 3881, 3893, 3893, 3895, 3895, 3897, 3897, 3902, 3911, 3913, 3948, 3953, 3972, 3974, 3991, 3993, 4028, 4038, 4038, 4096, 4169, 4176, 4253, 4256, 4293, 4295, 4295, 4301, 4301, 4304, 4346, 4348, 4680, 4682, 4685, 4688, 4694, 4696, 4696, 4698, 4701, 4704, 4744, 4746, 4749, 4752, 4784, 4786, 4789, 4792, 4798, 4800, 4800, 4802, 4805, 4808, 4822, 4824, 4880, 4882, 4885, 4888, 4954, 4957, 4959, 4992, 5007, 5024, 5108, 5121, 5740, 5743, 5759, 5761, 5786, 5792, 5866, 5870, 5872, 5888, 5900, 5902, 5908, 5920, 5940, 5952, 5971, 5984, 5996, 5998, 6e3, 6002, 6003, 6016, 6099, 6103, 6103, 6108, 6109, 6112, 6121, 6155, 6157, 6160, 6169, 6176, 6263, 6272, 6314, 6320, 6389, 6400, 6428, 6432, 6443, 6448, 6459, 6470, 6509, 6512, 6516, 6528, 6571, 6576, 6601, 6608, 6617, 6656, 6683, 6688, 6750, 6752, 6780, 6783, 6793, 6800, 6809, 6823, 6823, 6912, 6987, 6992, 7001, 7019, 7027, 7040, 7155, 7168, 7223, 7232, 7241, 7245, 7293, 7376, 7378, 7380, 7414, 7424, 7654, 7676, 7957, 7960, 7965, 7968, 8005, 8008, 8013, 8016, 8023, 8025, 8025, 8027, 8027, 8029, 8029, 8031, 8061, 8064, 8116, 8118, 8124, 8126, 8126, 8130, 8132, 8134, 8140, 8144, 8147, 8150, 8155, 8160, 8172, 8178, 8180, 8182, 8188, 8204, 8205, 8255, 8256, 8276, 8276, 8305, 8305, 8319, 8319, 8336, 8348, 8400, 8412, 8417, 8417, 8421, 8432, 8450, 8450, 8455, 8455, 8458, 8467, 8469, 8469, 8473, 8477, 8484, 8484, 8486, 8486, 8488, 8488, 8490, 8493, 8495, 8505, 8508, 8511, 8517, 8521, 8526, 8526, 8544, 8584, 11264, 11310, 11312, 11358, 11360, 11492, 11499, 11507, 11520, 11557, 11559, 11559, 11565, 11565, 11568, 11623, 11631, 11631, 11647, 11670, 11680, 11686, 11688, 11694, 11696, 11702, 11704, 11710, 11712, 11718, 11720, 11726, 11728, 11734, 11736, 11742, 11744, 11775, 11823, 11823, 12293, 12295, 12321, 12335, 12337, 12341, 12344, 12348, 12353, 12438, 12441, 12442, 12445, 12447, 12449, 12538, 12540, 12543, 12549, 12589, 12593, 12686, 12704, 12730, 12784, 12799, 13312, 19893, 19968, 40908, 40960, 42124, 42192, 42237, 42240, 42508, 42512, 42539, 42560, 42607, 42612, 42621, 42623, 42647, 42655, 42737, 42775, 42783, 42786, 42888, 42891, 42894, 42896, 42899, 42912, 42922, 43e3, 43047, 43072, 43123, 43136, 43204, 43216, 43225, 43232, 43255, 43259, 43259, 43264, 43309, 43312, 43347, 43360, 43388, 43392, 43456, 43471, 43481, 43520, 43574, 43584, 43597, 43600, 43609, 43616, 43638, 43642, 43643, 43648, 43714, 43739, 43741, 43744, 43759, 43762, 43766, 43777, 43782, 43785, 43790, 43793, 43798, 43808, 43814, 43816, 43822, 43968, 44010, 44012, 44013, 44016, 44025, 44032, 55203, 55216, 55238, 55243, 55291, 63744, 64109, 64112, 64217, 64256, 64262, 64275, 64279, 64285, 64296, 64298, 64310, 64312, 64316, 64318, 64318, 64320, 64321, 64323, 64324, 64326, 64433, 64467, 64829, 64848, 64911, 64914, 64967, 65008, 65019, 65024, 65039, 65056, 65062, 65075, 65076, 65101, 65103, 65136, 65140, 65142, 65276, 65296, 65305, 65313, 65338, 65343, 65343, 65345, 65370, 65382, 65470, 65474, 65479, 65482, 65487, 65490, 65495, 65498, 65500], EFe = [65, 90, 97, 122, 170, 170, 181, 181, 186, 186, 192, 214, 216, 246, 248, 705, 710, 721, 736, 740, 748, 748, 750, 750, 880, 884, 886, 887, 890, 893, 895, 895, 902, 902, 904, 906, 908, 908, 910, 929, 931, 1013, 1015, 1153, 1162, 1327, 1329, 1366, 1369, 1369, 1376, 1416, 1488, 1514, 1519, 1522, 1568, 1610, 1646, 1647, 1649, 1747, 1749, 1749, 1765, 1766, 1774, 1775, 1786, 1788, 1791, 1791, 1808, 1808, 1810, 1839, 1869, 1957, 1969, 1969, 1994, 2026, 2036, 2037, 2042, 2042, 2048, 2069, 2074, 2074, 2084, 2084, 2088, 2088, 2112, 2136, 2144, 2154, 2160, 2183, 2185, 2190, 2208, 2249, 2308, 2361, 2365, 2365, 2384, 2384, 2392, 2401, 2417, 2432, 2437, 2444, 2447, 2448, 2451, 2472, 2474, 2480, 2482, 2482, 2486, 2489, 2493, 2493, 2510, 2510, 2524, 2525, 2527, 2529, 2544, 2545, 2556, 2556, 2565, 2570, 2575, 2576, 2579, 2600, 2602, 2608, 2610, 2611, 2613, 2614, 2616, 2617, 2649, 2652, 2654, 2654, 2674, 2676, 2693, 2701, 2703, 2705, 2707, 2728, 2730, 2736, 2738, 2739, 2741, 2745, 2749, 2749, 2768, 2768, 2784, 2785, 2809, 2809, 2821, 2828, 2831, 2832, 2835, 2856, 2858, 2864, 2866, 2867, 2869, 2873, 2877, 2877, 2908, 2909, 2911, 2913, 2929, 2929, 2947, 2947, 2949, 2954, 2958, 2960, 2962, 2965, 2969, 2970, 2972, 2972, 2974, 2975, 2979, 2980, 2984, 2986, 2990, 3001, 3024, 3024, 3077, 3084, 3086, 3088, 3090, 3112, 3114, 3129, 3133, 3133, 3160, 3162, 3165, 3165, 3168, 3169, 3200, 3200, 3205, 3212, 3214, 3216, 3218, 3240, 3242, 3251, 3253, 3257, 3261, 3261, 3293, 3294, 3296, 3297, 3313, 3314, 3332, 3340, 3342, 3344, 3346, 3386, 3389, 3389, 3406, 3406, 3412, 3414, 3423, 3425, 3450, 3455, 3461, 3478, 3482, 3505, 3507, 3515, 3517, 3517, 3520, 3526, 3585, 3632, 3634, 3635, 3648, 3654, 3713, 3714, 3716, 3716, 3718, 3722, 3724, 3747, 3749, 3749, 3751, 3760, 3762, 3763, 3773, 3773, 3776, 3780, 3782, 3782, 3804, 3807, 3840, 3840, 3904, 3911, 3913, 3948, 3976, 3980, 4096, 4138, 4159, 4159, 4176, 4181, 4186, 4189, 4193, 4193, 4197, 4198, 4206, 4208, 4213, 4225, 4238, 4238, 4256, 4293, 4295, 4295, 4301, 4301, 4304, 4346, 4348, 4680, 4682, 4685, 4688, 4694, 4696, 4696, 4698, 4701, 4704, 4744, 4746, 4749, 4752, 4784, 4786, 4789, 4792, 4798, 4800, 4800, 4802, 4805, 4808, 4822, 4824, 4880, 4882, 4885, 4888, 4954, 4992, 5007, 5024, 5109, 5112, 5117, 5121, 5740, 5743, 5759, 5761, 5786, 5792, 5866, 5870, 5880, 5888, 5905, 5919, 5937, 5952, 5969, 5984, 5996, 5998, 6e3, 6016, 6067, 6103, 6103, 6108, 6108, 6176, 6264, 6272, 6312, 6314, 6314, 6320, 6389, 6400, 6430, 6480, 6509, 6512, 6516, 6528, 6571, 6576, 6601, 6656, 6678, 6688, 6740, 6823, 6823, 6917, 6963, 6981, 6988, 7043, 7072, 7086, 7087, 7098, 7141, 7168, 7203, 7245, 7247, 7258, 7293, 7296, 7304, 7312, 7354, 7357, 7359, 7401, 7404, 7406, 7411, 7413, 7414, 7418, 7418, 7424, 7615, 7680, 7957, 7960, 7965, 7968, 8005, 8008, 8013, 8016, 8023, 8025, 8025, 8027, 8027, 8029, 8029, 8031, 8061, 8064, 8116, 8118, 8124, 8126, 8126, 8130, 8132, 8134, 8140, 8144, 8147, 8150, 8155, 8160, 8172, 8178, 8180, 8182, 8188, 8305, 8305, 8319, 8319, 8336, 8348, 8450, 8450, 8455, 8455, 8458, 8467, 8469, 8469, 8472, 8477, 8484, 8484, 8486, 8486, 8488, 8488, 8490, 8505, 8508, 8511, 8517, 8521, 8526, 8526, 8544, 8584, 11264, 11492, 11499, 11502, 11506, 11507, 11520, 11557, 11559, 11559, 11565, 11565, 11568, 11623, 11631, 11631, 11648, 11670, 11680, 11686, 11688, 11694, 11696, 11702, 11704, 11710, 11712, 11718, 11720, 11726, 11728, 11734, 11736, 11742, 12293, 12295, 12321, 12329, 12337, 12341, 12344, 12348, 12353, 12438, 12443, 12447, 12449, 12538, 12540, 12543, 12549, 12591, 12593, 12686, 12704, 12735, 12784, 12799, 13312, 19903, 19968, 42124, 42192, 42237, 42240, 42508, 42512, 42527, 42538, 42539, 42560, 42606, 42623, 42653, 42656, 42735, 42775, 42783, 42786, 42888, 42891, 42954, 42960, 42961, 42963, 42963, 42965, 42969, 42994, 43009, 43011, 43013, 43015, 43018, 43020, 43042, 43072, 43123, 43138, 43187, 43250, 43255, 43259, 43259, 43261, 43262, 43274, 43301, 43312, 43334, 43360, 43388, 43396, 43442, 43471, 43471, 43488, 43492, 43494, 43503, 43514, 43518, 43520, 43560, 43584, 43586, 43588, 43595, 43616, 43638, 43642, 43642, 43646, 43695, 43697, 43697, 43701, 43702, 43705, 43709, 43712, 43712, 43714, 43714, 43739, 43741, 43744, 43754, 43762, 43764, 43777, 43782, 43785, 43790, 43793, 43798, 43808, 43814, 43816, 43822, 43824, 43866, 43868, 43881, 43888, 44002, 44032, 55203, 55216, 55238, 55243, 55291, 63744, 64109, 64112, 64217, 64256, 64262, 64275, 64279, 64285, 64285, 64287, 64296, 64298, 64310, 64312, 64316, 64318, 64318, 64320, 64321, 64323, 64324, 64326, 64433, 64467, 64829, 64848, 64911, 64914, 64967, 65008, 65019, 65136, 65140, 65142, 65276, 65313, 65338, 65345, 65370, 65382, 65470, 65474, 65479, 65482, 65487, 65490, 65495, 65498, 65500, 65536, 65547, 65549, 65574, 65576, 65594, 65596, 65597, 65599, 65613, 65616, 65629, 65664, 65786, 65856, 65908, 66176, 66204, 66208, 66256, 66304, 66335, 66349, 66378, 66384, 66421, 66432, 66461, 66464, 66499, 66504, 66511, 66513, 66517, 66560, 66717, 66736, 66771, 66776, 66811, 66816, 66855, 66864, 66915, 66928, 66938, 66940, 66954, 66956, 66962, 66964, 66965, 66967, 66977, 66979, 66993, 66995, 67001, 67003, 67004, 67072, 67382, 67392, 67413, 67424, 67431, 67456, 67461, 67463, 67504, 67506, 67514, 67584, 67589, 67592, 67592, 67594, 67637, 67639, 67640, 67644, 67644, 67647, 67669, 67680, 67702, 67712, 67742, 67808, 67826, 67828, 67829, 67840, 67861, 67872, 67897, 67968, 68023, 68030, 68031, 68096, 68096, 68112, 68115, 68117, 68119, 68121, 68149, 68192, 68220, 68224, 68252, 68288, 68295, 68297, 68324, 68352, 68405, 68416, 68437, 68448, 68466, 68480, 68497, 68608, 68680, 68736, 68786, 68800, 68850, 68864, 68899, 69248, 69289, 69296, 69297, 69376, 69404, 69415, 69415, 69424, 69445, 69488, 69505, 69552, 69572, 69600, 69622, 69635, 69687, 69745, 69746, 69749, 69749, 69763, 69807, 69840, 69864, 69891, 69926, 69956, 69956, 69959, 69959, 69968, 70002, 70006, 70006, 70019, 70066, 70081, 70084, 70106, 70106, 70108, 70108, 70144, 70161, 70163, 70187, 70207, 70208, 70272, 70278, 70280, 70280, 70282, 70285, 70287, 70301, 70303, 70312, 70320, 70366, 70405, 70412, 70415, 70416, 70419, 70440, 70442, 70448, 70450, 70451, 70453, 70457, 70461, 70461, 70480, 70480, 70493, 70497, 70656, 70708, 70727, 70730, 70751, 70753, 70784, 70831, 70852, 70853, 70855, 70855, 71040, 71086, 71128, 71131, 71168, 71215, 71236, 71236, 71296, 71338, 71352, 71352, 71424, 71450, 71488, 71494, 71680, 71723, 71840, 71903, 71935, 71942, 71945, 71945, 71948, 71955, 71957, 71958, 71960, 71983, 71999, 71999, 72001, 72001, 72096, 72103, 72106, 72144, 72161, 72161, 72163, 72163, 72192, 72192, 72203, 72242, 72250, 72250, 72272, 72272, 72284, 72329, 72349, 72349, 72368, 72440, 72704, 72712, 72714, 72750, 72768, 72768, 72818, 72847, 72960, 72966, 72968, 72969, 72971, 73008, 73030, 73030, 73056, 73061, 73063, 73064, 73066, 73097, 73112, 73112, 73440, 73458, 73474, 73474, 73476, 73488, 73490, 73523, 73648, 73648, 73728, 74649, 74752, 74862, 74880, 75075, 77712, 77808, 77824, 78895, 78913, 78918, 82944, 83526, 92160, 92728, 92736, 92766, 92784, 92862, 92880, 92909, 92928, 92975, 92992, 92995, 93027, 93047, 93053, 93071, 93760, 93823, 93952, 94026, 94032, 94032, 94099, 94111, 94176, 94177, 94179, 94179, 94208, 100343, 100352, 101589, 101632, 101640, 110576, 110579, 110581, 110587, 110589, 110590, 110592, 110882, 110898, 110898, 110928, 110930, 110933, 110933, 110948, 110951, 110960, 111355, 113664, 113770, 113776, 113788, 113792, 113800, 113808, 113817, 119808, 119892, 119894, 119964, 119966, 119967, 119970, 119970, 119973, 119974, 119977, 119980, 119982, 119993, 119995, 119995, 119997, 120003, 120005, 120069, 120071, 120074, 120077, 120084, 120086, 120092, 120094, 120121, 120123, 120126, 120128, 120132, 120134, 120134, 120138, 120144, 120146, 120485, 120488, 120512, 120514, 120538, 120540, 120570, 120572, 120596, 120598, 120628, 120630, 120654, 120656, 120686, 120688, 120712, 120714, 120744, 120746, 120770, 120772, 120779, 122624, 122654, 122661, 122666, 122928, 122989, 123136, 123180, 123191, 123197, 123214, 123214, 123536, 123565, 123584, 123627, 124112, 124139, 124896, 124902, 124904, 124907, 124909, 124910, 124912, 124926, 124928, 125124, 125184, 125251, 125259, 125259, 126464, 126467, 126469, 126495, 126497, 126498, 126500, 126500, 126503, 126503, 126505, 126514, 126516, 126519, 126521, 126521, 126523, 126523, 126530, 126530, 126535, 126535, 126537, 126537, 126539, 126539, 126541, 126543, 126545, 126546, 126548, 126548, 126551, 126551, 126553, 126553, 126555, 126555, 126557, 126557, 126559, 126559, 126561, 126562, 126564, 126564, 126567, 126570, 126572, 126578, 126580, 126583, 126585, 126588, 126590, 126590, 126592, 126601, 126603, 126619, 126625, 126627, 126629, 126633, 126635, 126651, 131072, 173791, 173824, 177977, 177984, 178205, 178208, 183969, 183984, 191456, 191472, 192093, 194560, 195101, 196608, 201546, 201552, 205743], DFe = [48, 57, 65, 90, 95, 95, 97, 122, 170, 170, 181, 181, 183, 183, 186, 186, 192, 214, 216, 246, 248, 705, 710, 721, 736, 740, 748, 748, 750, 750, 768, 884, 886, 887, 890, 893, 895, 895, 902, 906, 908, 908, 910, 929, 931, 1013, 1015, 1153, 1155, 1159, 1162, 1327, 1329, 1366, 1369, 1369, 1376, 1416, 1425, 1469, 1471, 1471, 1473, 1474, 1476, 1477, 1479, 1479, 1488, 1514, 1519, 1522, 1552, 1562, 1568, 1641, 1646, 1747, 1749, 1756, 1759, 1768, 1770, 1788, 1791, 1791, 1808, 1866, 1869, 1969, 1984, 2037, 2042, 2042, 2045, 2045, 2048, 2093, 2112, 2139, 2144, 2154, 2160, 2183, 2185, 2190, 2200, 2273, 2275, 2403, 2406, 2415, 2417, 2435, 2437, 2444, 2447, 2448, 2451, 2472, 2474, 2480, 2482, 2482, 2486, 2489, 2492, 2500, 2503, 2504, 2507, 2510, 2519, 2519, 2524, 2525, 2527, 2531, 2534, 2545, 2556, 2556, 2558, 2558, 2561, 2563, 2565, 2570, 2575, 2576, 2579, 2600, 2602, 2608, 2610, 2611, 2613, 2614, 2616, 2617, 2620, 2620, 2622, 2626, 2631, 2632, 2635, 2637, 2641, 2641, 2649, 2652, 2654, 2654, 2662, 2677, 2689, 2691, 2693, 2701, 2703, 2705, 2707, 2728, 2730, 2736, 2738, 2739, 2741, 2745, 2748, 2757, 2759, 2761, 2763, 2765, 2768, 2768, 2784, 2787, 2790, 2799, 2809, 2815, 2817, 2819, 2821, 2828, 2831, 2832, 2835, 2856, 2858, 2864, 2866, 2867, 2869, 2873, 2876, 2884, 2887, 2888, 2891, 2893, 2901, 2903, 2908, 2909, 2911, 2915, 2918, 2927, 2929, 2929, 2946, 2947, 2949, 2954, 2958, 2960, 2962, 2965, 2969, 2970, 2972, 2972, 2974, 2975, 2979, 2980, 2984, 2986, 2990, 3001, 3006, 3010, 3014, 3016, 3018, 3021, 3024, 3024, 3031, 3031, 3046, 3055, 3072, 3084, 3086, 3088, 3090, 3112, 3114, 3129, 3132, 3140, 3142, 3144, 3146, 3149, 3157, 3158, 3160, 3162, 3165, 3165, 3168, 3171, 3174, 3183, 3200, 3203, 3205, 3212, 3214, 3216, 3218, 3240, 3242, 3251, 3253, 3257, 3260, 3268, 3270, 3272, 3274, 3277, 3285, 3286, 3293, 3294, 3296, 3299, 3302, 3311, 3313, 3315, 3328, 3340, 3342, 3344, 3346, 3396, 3398, 3400, 3402, 3406, 3412, 3415, 3423, 3427, 3430, 3439, 3450, 3455, 3457, 3459, 3461, 3478, 3482, 3505, 3507, 3515, 3517, 3517, 3520, 3526, 3530, 3530, 3535, 3540, 3542, 3542, 3544, 3551, 3558, 3567, 3570, 3571, 3585, 3642, 3648, 3662, 3664, 3673, 3713, 3714, 3716, 3716, 3718, 3722, 3724, 3747, 3749, 3749, 3751, 3773, 3776, 3780, 3782, 3782, 3784, 3790, 3792, 3801, 3804, 3807, 3840, 3840, 3864, 3865, 3872, 3881, 3893, 3893, 3895, 3895, 3897, 3897, 3902, 3911, 3913, 3948, 3953, 3972, 3974, 3991, 3993, 4028, 4038, 4038, 4096, 4169, 4176, 4253, 4256, 4293, 4295, 4295, 4301, 4301, 4304, 4346, 4348, 4680, 4682, 4685, 4688, 4694, 4696, 4696, 4698, 4701, 4704, 4744, 4746, 4749, 4752, 4784, 4786, 4789, 4792, 4798, 4800, 4800, 4802, 4805, 4808, 4822, 4824, 4880, 4882, 4885, 4888, 4954, 4957, 4959, 4969, 4977, 4992, 5007, 5024, 5109, 5112, 5117, 5121, 5740, 5743, 5759, 5761, 5786, 5792, 5866, 5870, 5880, 5888, 5909, 5919, 5940, 5952, 5971, 5984, 5996, 5998, 6e3, 6002, 6003, 6016, 6099, 6103, 6103, 6108, 6109, 6112, 6121, 6155, 6157, 6159, 6169, 6176, 6264, 6272, 6314, 6320, 6389, 6400, 6430, 6432, 6443, 6448, 6459, 6470, 6509, 6512, 6516, 6528, 6571, 6576, 6601, 6608, 6618, 6656, 6683, 6688, 6750, 6752, 6780, 6783, 6793, 6800, 6809, 6823, 6823, 6832, 6845, 6847, 6862, 6912, 6988, 6992, 7001, 7019, 7027, 7040, 7155, 7168, 7223, 7232, 7241, 7245, 7293, 7296, 7304, 7312, 7354, 7357, 7359, 7376, 7378, 7380, 7418, 7424, 7957, 7960, 7965, 7968, 8005, 8008, 8013, 8016, 8023, 8025, 8025, 8027, 8027, 8029, 8029, 8031, 8061, 8064, 8116, 8118, 8124, 8126, 8126, 8130, 8132, 8134, 8140, 8144, 8147, 8150, 8155, 8160, 8172, 8178, 8180, 8182, 8188, 8204, 8205, 8255, 8256, 8276, 8276, 8305, 8305, 8319, 8319, 8336, 8348, 8400, 8412, 8417, 8417, 8421, 8432, 8450, 8450, 8455, 8455, 8458, 8467, 8469, 8469, 8472, 8477, 8484, 8484, 8486, 8486, 8488, 8488, 8490, 8505, 8508, 8511, 8517, 8521, 8526, 8526, 8544, 8584, 11264, 11492, 11499, 11507, 11520, 11557, 11559, 11559, 11565, 11565, 11568, 11623, 11631, 11631, 11647, 11670, 11680, 11686, 11688, 11694, 11696, 11702, 11704, 11710, 11712, 11718, 11720, 11726, 11728, 11734, 11736, 11742, 11744, 11775, 12293, 12295, 12321, 12335, 12337, 12341, 12344, 12348, 12353, 12438, 12441, 12447, 12449, 12543, 12549, 12591, 12593, 12686, 12704, 12735, 12784, 12799, 13312, 19903, 19968, 42124, 42192, 42237, 42240, 42508, 42512, 42539, 42560, 42607, 42612, 42621, 42623, 42737, 42775, 42783, 42786, 42888, 42891, 42954, 42960, 42961, 42963, 42963, 42965, 42969, 42994, 43047, 43052, 43052, 43072, 43123, 43136, 43205, 43216, 43225, 43232, 43255, 43259, 43259, 43261, 43309, 43312, 43347, 43360, 43388, 43392, 43456, 43471, 43481, 43488, 43518, 43520, 43574, 43584, 43597, 43600, 43609, 43616, 43638, 43642, 43714, 43739, 43741, 43744, 43759, 43762, 43766, 43777, 43782, 43785, 43790, 43793, 43798, 43808, 43814, 43816, 43822, 43824, 43866, 43868, 43881, 43888, 44010, 44012, 44013, 44016, 44025, 44032, 55203, 55216, 55238, 55243, 55291, 63744, 64109, 64112, 64217, 64256, 64262, 64275, 64279, 64285, 64296, 64298, 64310, 64312, 64316, 64318, 64318, 64320, 64321, 64323, 64324, 64326, 64433, 64467, 64829, 64848, 64911, 64914, 64967, 65008, 65019, 65024, 65039, 65056, 65071, 65075, 65076, 65101, 65103, 65136, 65140, 65142, 65276, 65296, 65305, 65313, 65338, 65343, 65343, 65345, 65370, 65381, 65470, 65474, 65479, 65482, 65487, 65490, 65495, 65498, 65500, 65536, 65547, 65549, 65574, 65576, 65594, 65596, 65597, 65599, 65613, 65616, 65629, 65664, 65786, 65856, 65908, 66045, 66045, 66176, 66204, 66208, 66256, 66272, 66272, 66304, 66335, 66349, 66378, 66384, 66426, 66432, 66461, 66464, 66499, 66504, 66511, 66513, 66517, 66560, 66717, 66720, 66729, 66736, 66771, 66776, 66811, 66816, 66855, 66864, 66915, 66928, 66938, 66940, 66954, 66956, 66962, 66964, 66965, 66967, 66977, 66979, 66993, 66995, 67001, 67003, 67004, 67072, 67382, 67392, 67413, 67424, 67431, 67456, 67461, 67463, 67504, 67506, 67514, 67584, 67589, 67592, 67592, 67594, 67637, 67639, 67640, 67644, 67644, 67647, 67669, 67680, 67702, 67712, 67742, 67808, 67826, 67828, 67829, 67840, 67861, 67872, 67897, 67968, 68023, 68030, 68031, 68096, 68099, 68101, 68102, 68108, 68115, 68117, 68119, 68121, 68149, 68152, 68154, 68159, 68159, 68192, 68220, 68224, 68252, 68288, 68295, 68297, 68326, 68352, 68405, 68416, 68437, 68448, 68466, 68480, 68497, 68608, 68680, 68736, 68786, 68800, 68850, 68864, 68903, 68912, 68921, 69248, 69289, 69291, 69292, 69296, 69297, 69373, 69404, 69415, 69415, 69424, 69456, 69488, 69509, 69552, 69572, 69600, 69622, 69632, 69702, 69734, 69749, 69759, 69818, 69826, 69826, 69840, 69864, 69872, 69881, 69888, 69940, 69942, 69951, 69956, 69959, 69968, 70003, 70006, 70006, 70016, 70084, 70089, 70092, 70094, 70106, 70108, 70108, 70144, 70161, 70163, 70199, 70206, 70209, 70272, 70278, 70280, 70280, 70282, 70285, 70287, 70301, 70303, 70312, 70320, 70378, 70384, 70393, 70400, 70403, 70405, 70412, 70415, 70416, 70419, 70440, 70442, 70448, 70450, 70451, 70453, 70457, 70459, 70468, 70471, 70472, 70475, 70477, 70480, 70480, 70487, 70487, 70493, 70499, 70502, 70508, 70512, 70516, 70656, 70730, 70736, 70745, 70750, 70753, 70784, 70853, 70855, 70855, 70864, 70873, 71040, 71093, 71096, 71104, 71128, 71133, 71168, 71232, 71236, 71236, 71248, 71257, 71296, 71352, 71360, 71369, 71424, 71450, 71453, 71467, 71472, 71481, 71488, 71494, 71680, 71738, 71840, 71913, 71935, 71942, 71945, 71945, 71948, 71955, 71957, 71958, 71960, 71989, 71991, 71992, 71995, 72003, 72016, 72025, 72096, 72103, 72106, 72151, 72154, 72161, 72163, 72164, 72192, 72254, 72263, 72263, 72272, 72345, 72349, 72349, 72368, 72440, 72704, 72712, 72714, 72758, 72760, 72768, 72784, 72793, 72818, 72847, 72850, 72871, 72873, 72886, 72960, 72966, 72968, 72969, 72971, 73014, 73018, 73018, 73020, 73021, 73023, 73031, 73040, 73049, 73056, 73061, 73063, 73064, 73066, 73102, 73104, 73105, 73107, 73112, 73120, 73129, 73440, 73462, 73472, 73488, 73490, 73530, 73534, 73538, 73552, 73561, 73648, 73648, 73728, 74649, 74752, 74862, 74880, 75075, 77712, 77808, 77824, 78895, 78912, 78933, 82944, 83526, 92160, 92728, 92736, 92766, 92768, 92777, 92784, 92862, 92864, 92873, 92880, 92909, 92912, 92916, 92928, 92982, 92992, 92995, 93008, 93017, 93027, 93047, 93053, 93071, 93760, 93823, 93952, 94026, 94031, 94087, 94095, 94111, 94176, 94177, 94179, 94180, 94192, 94193, 94208, 100343, 100352, 101589, 101632, 101640, 110576, 110579, 110581, 110587, 110589, 110590, 110592, 110882, 110898, 110898, 110928, 110930, 110933, 110933, 110948, 110951, 110960, 111355, 113664, 113770, 113776, 113788, 113792, 113800, 113808, 113817, 113821, 113822, 118528, 118573, 118576, 118598, 119141, 119145, 119149, 119154, 119163, 119170, 119173, 119179, 119210, 119213, 119362, 119364, 119808, 119892, 119894, 119964, 119966, 119967, 119970, 119970, 119973, 119974, 119977, 119980, 119982, 119993, 119995, 119995, 119997, 120003, 120005, 120069, 120071, 120074, 120077, 120084, 120086, 120092, 120094, 120121, 120123, 120126, 120128, 120132, 120134, 120134, 120138, 120144, 120146, 120485, 120488, 120512, 120514, 120538, 120540, 120570, 120572, 120596, 120598, 120628, 120630, 120654, 120656, 120686, 120688, 120712, 120714, 120744, 120746, 120770, 120772, 120779, 120782, 120831, 121344, 121398, 121403, 121452, 121461, 121461, 121476, 121476, 121499, 121503, 121505, 121519, 122624, 122654, 122661, 122666, 122880, 122886, 122888, 122904, 122907, 122913, 122915, 122916, 122918, 122922, 122928, 122989, 123023, 123023, 123136, 123180, 123184, 123197, 123200, 123209, 123214, 123214, 123536, 123566, 123584, 123641, 124112, 124153, 124896, 124902, 124904, 124907, 124909, 124910, 124912, 124926, 124928, 125124, 125136, 125142, 125184, 125259, 125264, 125273, 126464, 126467, 126469, 126495, 126497, 126498, 126500, 126500, 126503, 126503, 126505, 126514, 126516, 126519, 126521, 126521, 126523, 126523, 126530, 126530, 126535, 126535, 126537, 126537, 126539, 126539, 126541, 126543, 126545, 126546, 126548, 126548, 126551, 126551, 126553, 126553, 126555, 126555, 126557, 126557, 126559, 126559, 126561, 126562, 126564, 126564, 126567, 126570, 126572, 126578, 126580, 126583, 126585, 126588, 126590, 126590, 126592, 126601, 126603, 126619, 126625, 126627, 126629, 126633, 126635, 126651, 130032, 130041, 131072, 173791, 173824, 177977, 177984, 178205, 178208, 183969, 183984, 191456, 191472, 192093, 194560, 195101, 196608, 201546, 201552, 205743, 917760, 917999], wFe = /^\/\/\/?\s*@(ts-expect-error|ts-ignore)/, PFe = /^(?:\/|\*)*\s*@(ts-expect-error|ts-ignore)/, NFe = /@(?:see|link)/i;
      function gj(e, t) {
        if (e < t[0])
          return !1;
        let n = 0, i = t.length, s;
        for (; n + 1 < i; ) {
          if (s = n + (i - n) / 2, s -= s % 2, t[s] <= e && e <= t[s + 1])
            return !0;
          e < t[s] ? i = s : n = s + 2;
        }
        return !1;
      }
      function a7(e, t) {
        return t >= 2 ? gj(e, EFe) : gj(e, kFe);
      }
      function AFe(e, t) {
        return t >= 2 ? gj(e, DFe) : gj(e, CFe);
      }
      function Rge(e) {
        const t = [];
        return e.forEach((n, i) => {
          t[n] = i;
        }), t;
      }
      var IFe = Rge(Lge);
      function Qs(e) {
        return IFe[e];
      }
      function iS(e) {
        return Lge.get(e);
      }
      var FFe = Rge(Mge);
      function jge(e) {
        return FFe[e];
      }
      function hj(e) {
        return Mge.get(e);
      }
      function ZT(e) {
        const t = [];
        let n = 0, i = 0;
        for (; n < e.length; ) {
          const s = e.charCodeAt(n);
          switch (n++, s) {
            case 13:
              e.charCodeAt(n) === 10 && n++;
            // falls through
            case 10:
              t.push(i), i = n;
              break;
            default:
              s > 127 && gu(s) && (t.push(i), i = n);
              break;
          }
        }
        return t.push(i), t;
      }
      function OP(e, t, n, i) {
        return e.getPositionOfLineAndCharacter ? e.getPositionOfLineAndCharacter(t, n, i) : o7(Eg(e), t, n, e.text, i);
      }
      function o7(e, t, n, i, s) {
        (t < 0 || t >= e.length) && (s ? t = t < 0 ? 0 : t >= e.length ? e.length - 1 : t : E.fail(`Bad line number. Line: ${t}, lineStarts.length: ${e.length} , line map is correct? ${i !== void 0 ? Cf(e, ZT(i)) : "unknown"}`));
        const o = e[t] + n;
        return s ? o > e[t + 1] ? e[t + 1] : typeof i == "string" && o > i.length ? i.length : o : (t < e.length - 1 ? E.assert(o < e[t + 1]) : i !== void 0 && E.assert(o <= i.length), o);
      }
      function Eg(e) {
        return e.lineMap || (e.lineMap = ZT(e.text));
      }
      function CC(e, t) {
        const n = g4(e, t);
        return {
          line: n,
          character: t - e[n]
        };
      }
      function g4(e, t, n) {
        let i = ky(e, t, mo, go, n);
        return i < 0 && (i = ~i - 1, E.assert(i !== -1, "position cannot precede the beginning of the file")), i;
      }
      function h4(e, t, n) {
        if (t === n) return 0;
        const i = Eg(e), s = Math.min(t, n), o = s === n, c = o ? t : n, _ = g4(i, s), u = g4(i, c, _);
        return o ? _ - u : u - _;
      }
      function Js(e, t) {
        return CC(Eg(e), t);
      }
      function Dg(e) {
        return Hd(e) || gu(e);
      }
      function Hd(e) {
        return e === 32 || e === 9 || e === 11 || e === 12 || e === 160 || e === 133 || e === 5760 || e >= 8192 && e <= 8203 || e === 8239 || e === 8287 || e === 12288 || e === 65279;
      }
      function gu(e) {
        return e === 10 || e === 13 || e === 8232 || e === 8233;
      }
      function EC(e) {
        return e >= 48 && e <= 57;
      }
      function wY(e) {
        return EC(e) || e >= 65 && e <= 70 || e >= 97 && e <= 102;
      }
      function PY(e) {
        return e >= 65 && e <= 90 || e >= 97 && e <= 122;
      }
      function Bge(e) {
        return PY(e) || EC(e) || e === 95;
      }
      function NY(e) {
        return e >= 48 && e <= 55;
      }
      function AY(e, t) {
        const n = e.charCodeAt(t);
        switch (n) {
          case 13:
          case 10:
          case 9:
          case 11:
          case 12:
          case 32:
          case 47:
          // starts of normal trivia
          // falls through
          case 60:
          case 124:
          case 61:
          case 62:
            return !0;
          case 35:
            return t === 0;
          default:
            return n > 127;
        }
      }
      function ca(e, t, n, i, s) {
        if (gd(t))
          return t;
        let o = !1;
        for (; ; ) {
          const c = e.charCodeAt(t);
          switch (c) {
            case 13:
              e.charCodeAt(t + 1) === 10 && t++;
            // falls through
            case 10:
              if (t++, n)
                return t;
              o = !!s;
              continue;
            case 9:
            case 11:
            case 12:
            case 32:
              t++;
              continue;
            case 47:
              if (i)
                break;
              if (e.charCodeAt(t + 1) === 47) {
                for (t += 2; t < e.length && !gu(e.charCodeAt(t)); )
                  t++;
                o = !1;
                continue;
              }
              if (e.charCodeAt(t + 1) === 42) {
                for (t += 2; t < e.length; ) {
                  if (e.charCodeAt(t) === 42 && e.charCodeAt(t + 1) === 47) {
                    t += 2;
                    break;
                  }
                  t++;
                }
                o = !1;
                continue;
              }
              break;
            case 60:
            case 124:
            case 61:
            case 62:
              if (y4(e, t)) {
                t = LP(e, t), o = !1;
                continue;
              }
              break;
            case 35:
              if (t === 0 && Jge(e, t)) {
                t = zge(e, t), o = !1;
                continue;
              }
              break;
            case 42:
              if (o) {
                t++, o = !1;
                continue;
              }
              break;
            default:
              if (c > 127 && Dg(c)) {
                t++;
                continue;
              }
              break;
          }
          return t;
        }
      }
      var yj = 7;
      function y4(e, t) {
        if (E.assert(t >= 0), t === 0 || gu(e.charCodeAt(t - 1))) {
          const n = e.charCodeAt(t);
          if (t + yj < e.length) {
            for (let i = 0; i < yj; i++)
              if (e.charCodeAt(t + i) !== n)
                return !1;
            return n === 61 || e.charCodeAt(t + yj) === 32;
          }
        }
        return !1;
      }
      function LP(e, t, n) {
        n && n(p.Merge_conflict_marker_encountered, t, yj);
        const i = e.charCodeAt(t), s = e.length;
        if (i === 60 || i === 62)
          for (; t < s && !gu(e.charCodeAt(t)); )
            t++;
        else
          for (E.assert(
            i === 124 || i === 61
            /* equals */
          ); t < s; ) {
            const o = e.charCodeAt(t);
            if ((o === 61 || o === 62) && o !== i && y4(e, t))
              break;
            t++;
          }
        return t;
      }
      var IY = /^#!.*/;
      function Jge(e, t) {
        return E.assert(t === 0), IY.test(e);
      }
      function zge(e, t) {
        const n = IY.exec(e)[0];
        return t = t + n.length, t;
      }
      function vj(e, t, n, i, s, o, c) {
        let _, u, g, m, h = !1, S = i, T = c;
        if (n === 0) {
          S = !0;
          const k = c7(t);
          k && (n = k.length);
        }
        e:
          for (; n >= 0 && n < t.length; ) {
            const k = t.charCodeAt(n);
            switch (k) {
              case 13:
                t.charCodeAt(n + 1) === 10 && n++;
              // falls through
              case 10:
                if (n++, i)
                  break e;
                S = !0, h && (m = !0);
                continue;
              case 9:
              case 11:
              case 12:
              case 32:
                n++;
                continue;
              case 47:
                const D = t.charCodeAt(n + 1);
                let w = !1;
                if (D === 47 || D === 42) {
                  const A = D === 47 ? 2 : 3, O = n;
                  if (n += 2, D === 47)
                    for (; n < t.length; ) {
                      if (gu(t.charCodeAt(n))) {
                        w = !0;
                        break;
                      }
                      n++;
                    }
                  else
                    for (; n < t.length; ) {
                      if (t.charCodeAt(n) === 42 && t.charCodeAt(n + 1) === 47) {
                        n += 2;
                        break;
                      }
                      n++;
                    }
                  if (S) {
                    if (h && (T = s(_, u, g, m, o, T), !e && T))
                      return T;
                    _ = O, u = n, g = A, m = w, h = !0;
                  }
                  continue;
                }
                break e;
              default:
                if (k > 127 && Dg(k)) {
                  h && gu(k) && (m = !0), n++;
                  continue;
                }
                break e;
            }
          }
        return h && (T = s(_, u, g, m, o, T)), T;
      }
      function MP(e, t, n, i) {
        return vj(
          /*reduce*/
          !1,
          e,
          t,
          /*trailing*/
          !1,
          n,
          i
        );
      }
      function RP(e, t, n, i) {
        return vj(
          /*reduce*/
          !1,
          e,
          t,
          /*trailing*/
          !0,
          n,
          i
        );
      }
      function FY(e, t, n, i, s) {
        return vj(
          /*reduce*/
          !0,
          e,
          t,
          /*trailing*/
          !1,
          n,
          i,
          s
        );
      }
      function OY(e, t, n, i, s) {
        return vj(
          /*reduce*/
          !0,
          e,
          t,
          /*trailing*/
          !0,
          n,
          i,
          s
        );
      }
      function Wge(e, t, n, i, s, o = []) {
        return o.push({ kind: n, pos: e, end: t, hasTrailingNewLine: i }), o;
      }
      function wg(e, t) {
        return FY(
          e,
          t,
          Wge,
          /*state*/
          void 0,
          /*initial*/
          void 0
        );
      }
      function Iy(e, t) {
        return OY(
          e,
          t,
          Wge,
          /*state*/
          void 0,
          /*initial*/
          void 0
        );
      }
      function c7(e) {
        const t = IY.exec(e);
        if (t)
          return t[0];
      }
      function Um(e, t) {
        return PY(e) || e === 36 || e === 95 || e > 127 && a7(e, t);
      }
      function kh(e, t, n) {
        return Bge(e) || e === 36 || // "-" and ":" are valid in JSX Identifiers
        (n === 1 ? e === 45 || e === 58 : !1) || e > 127 && AFe(e, t);
      }
      function C_(e, t, n) {
        let i = v4(e, 0);
        if (!Um(i, t))
          return !1;
        for (let s = _d(i); s < e.length; s += _d(i))
          if (!kh(i = v4(e, s), t, n))
            return !1;
        return !0;
      }
      function Pg(e, t, n = 0, i, s, o, c) {
        var _ = i, u, g, m, h, S, T, k, D, w = 0, A = 0, O = 0;
        ks(_, o, c);
        var F = {
          getTokenFullStart: () => m,
          getStartPos: () => m,
          getTokenEnd: () => u,
          getTextPos: () => u,
          getToken: () => S,
          getTokenStart: () => h,
          getTokenPos: () => h,
          getTokenText: () => _.substring(h, u),
          getTokenValue: () => T,
          hasUnicodeEscape: () => (k & 1024) !== 0,
          hasExtendedUnicodeEscape: () => (k & 8) !== 0,
          hasPrecedingLineBreak: () => (k & 1) !== 0,
          hasPrecedingJSDocComment: () => (k & 2) !== 0,
          hasPrecedingJSDocLeadingAsterisks: () => (k & 32768) !== 0,
          isIdentifier: () => S === 80 || S > 118,
          isReservedWord: () => S >= 83 && S <= 118,
          isUnterminated: () => (k & 4) !== 0,
          getCommentDirectives: () => D,
          getNumericLiteralFlags: () => k & 25584,
          getTokenFlags: () => k,
          reScanGreaterToken: Ee,
          reScanAsteriskEqualsToken: Ce,
          reScanSlashToken: ze,
          reScanTemplateToken: it,
          reScanTemplateHeadOrNoSubstitutionTemplate: Wt,
          scanJsxIdentifier: ii,
          scanJsxAttributeValue: li,
          reScanJsxAttributeValue: cn,
          reScanJsxToken: Wr,
          reScanLessThanToken: ai,
          reScanHashToken: zi,
          reScanQuestionToken: Pt,
          reScanInvalidIdentifier: se,
          scanJsxToken: Fn,
          scanJsDocToken: je,
          scanJSDocCommentTextToken: ci,
          scan: oe,
          getText: Wn,
          clearCommentDirectives: bi,
          setText: ks,
          setScriptTarget: gr,
          setLanguageVariant: ms,
          setScriptKind: He,
          setJSDocParsingMode: Et,
          setOnError: ta,
          resetTokenState: ne,
          setTextPos: ne,
          setSkipJsDocLeadingAsterisks: rt,
          tryScan: zn,
          lookAhead: Vr,
          scanRange: er
        };
        return E.isDebugging && Object.defineProperty(F, "__debugShowCurrentPositionInText", {
          get: () => {
            const Q = F.getText();
            return Q.slice(0, F.getTokenFullStart()) + "║" + Q.slice(F.getTokenFullStart());
          }
        }), F;
        function j(Q) {
          return v4(_, Q);
        }
        function z(Q) {
          return Q >= 0 && Q < g ? j(Q) : -1;
        }
        function V(Q) {
          return _.charCodeAt(Q);
        }
        function G(Q) {
          return Q >= 0 && Q < g ? V(Q) : -1;
        }
        function W(Q, Ne = u, qe, Ze) {
          if (s) {
            const bt = u;
            u = Ne, s(Q, qe || 0, Ze), u = bt;
          }
        }
        function pe() {
          let Q = u, Ne = !1, qe = !1, Ze = "";
          for (; ; ) {
            const bt = V(u);
            if (bt === 95) {
              k |= 512, Ne ? (Ne = !1, qe = !0, Ze += _.substring(Q, u)) : (k |= 16384, W(qe ? p.Multiple_consecutive_numeric_separators_are_not_permitted : p.Numeric_separators_are_not_allowed_here, u, 1)), u++, Q = u;
              continue;
            }
            if (EC(bt)) {
              Ne = !0, qe = !1, u++;
              continue;
            }
            break;
          }
          return V(u - 1) === 95 && (k |= 16384, W(p.Numeric_separators_are_not_allowed_here, u - 1, 1)), Ze + _.substring(Q, u);
        }
        function K() {
          let Q = u, Ne;
          if (V(u) === 48)
            if (u++, V(u) === 95)
              k |= 16896, W(p.Numeric_separators_are_not_allowed_here, u, 1), u--, Ne = pe();
            else if (!ee())
              k |= 8192, Ne = "" + +T;
            else if (!T)
              Ne = "0";
            else {
              T = "" + parseInt(T, 8), k |= 32;
              const ft = S === 41, _t = (ft ? "-" : "") + "0o" + (+T).toString(8);
              return ft && Q--, W(p.Octal_literals_are_not_allowed_Use_the_syntax_0, Q, u - Q, _t), 9;
            }
          else
            Ne = pe();
          let qe, Ze;
          V(u) === 46 && (u++, qe = pe());
          let bt = u;
          if (V(u) === 69 || V(u) === 101) {
            u++, k |= 16, (V(u) === 43 || V(u) === 45) && u++;
            const ft = u, _t = pe();
            _t ? (Ze = _.substring(bt, ft) + _t, bt = u) : W(p.Digit_expected);
          }
          let Ie;
          if (k & 512 ? (Ie = Ne, qe && (Ie += "." + qe), Ze && (Ie += Ze)) : Ie = _.substring(Q, bt), k & 8192)
            return W(p.Decimals_with_leading_zeros_are_not_allowed, Q, bt - Q), T = "" + +Ie, 9;
          if (qe !== void 0 || k & 16)
            return U(Q, qe === void 0 && !!(k & 16)), T = "" + +Ie, 9;
          {
            T = Ie;
            const ft = nt();
            return U(Q), ft;
          }
        }
        function U(Q, Ne) {
          if (!Um(j(u), e))
            return;
          const qe = u, { length: Ze } = xe();
          Ze === 1 && _[qe] === "n" ? W(Ne ? p.A_bigint_literal_cannot_use_exponential_notation : p.A_bigint_literal_must_be_an_integer, Q, qe - Q + 1) : (W(p.An_identifier_or_keyword_cannot_immediately_follow_a_numeric_literal, qe, Ze), u = qe);
        }
        function ee() {
          const Q = u;
          let Ne = !0;
          for (; EC(G(u)); )
            NY(V(u)) || (Ne = !1), u++;
          return T = _.substring(Q, u), Ne;
        }
        function te(Q, Ne) {
          const qe = fe(
            /*minCount*/
            Q,
            /*scanAsManyAsPossible*/
            !1,
            Ne
          );
          return qe ? parseInt(qe, 16) : -1;
        }
        function ie(Q, Ne) {
          return fe(
            /*minCount*/
            Q,
            /*scanAsManyAsPossible*/
            !0,
            Ne
          );
        }
        function fe(Q, Ne, qe) {
          let Ze = [], bt = !1, Ie = !1;
          for (; Ze.length < Q || Ne; ) {
            let ft = V(u);
            if (qe && ft === 95) {
              k |= 512, bt ? (bt = !1, Ie = !0) : W(Ie ? p.Multiple_consecutive_numeric_separators_are_not_permitted : p.Numeric_separators_are_not_allowed_here, u, 1), u++;
              continue;
            }
            if (bt = qe, ft >= 65 && ft <= 70)
              ft += 32;
            else if (!(ft >= 48 && ft <= 57 || ft >= 97 && ft <= 102))
              break;
            Ze.push(ft), u++, Ie = !1;
          }
          return Ze.length < Q && (Ze = []), V(u - 1) === 95 && W(p.Numeric_separators_are_not_allowed_here, u - 1, 1), String.fromCharCode(...Ze);
        }
        function me(Q = !1) {
          const Ne = V(u);
          u++;
          let qe = "", Ze = u;
          for (; ; ) {
            if (u >= g) {
              qe += _.substring(Ze, u), k |= 4, W(p.Unterminated_string_literal);
              break;
            }
            const bt = V(u);
            if (bt === Ne) {
              qe += _.substring(Ze, u), u++;
              break;
            }
            if (bt === 92 && !Q) {
              qe += _.substring(Ze, u), qe += he(
                3
                /* ReportErrors */
              ), Ze = u;
              continue;
            }
            if ((bt === 10 || bt === 13) && !Q) {
              qe += _.substring(Ze, u), k |= 4, W(p.Unterminated_string_literal);
              break;
            }
            u++;
          }
          return qe;
        }
        function q(Q) {
          const Ne = V(u) === 96;
          u++;
          let qe = u, Ze = "", bt;
          for (; ; ) {
            if (u >= g) {
              Ze += _.substring(qe, u), k |= 4, W(p.Unterminated_template_literal), bt = Ne ? 15 : 18;
              break;
            }
            const Ie = V(u);
            if (Ie === 96) {
              Ze += _.substring(qe, u), u++, bt = Ne ? 15 : 18;
              break;
            }
            if (Ie === 36 && u + 1 < g && V(u + 1) === 123) {
              Ze += _.substring(qe, u), u += 2, bt = Ne ? 16 : 17;
              break;
            }
            if (Ie === 92) {
              Ze += _.substring(qe, u), Ze += he(1 | (Q ? 2 : 0)), qe = u;
              continue;
            }
            if (Ie === 13) {
              Ze += _.substring(qe, u), u++, u < g && V(u) === 10 && u++, Ze += `
`, qe = u;
              continue;
            }
            u++;
          }
          return E.assert(bt !== void 0), T = Ze, bt;
        }
        function he(Q) {
          const Ne = u;
          if (u++, u >= g)
            return W(p.Unexpected_end_of_text), "";
          const qe = V(u);
          switch (u++, qe) {
            case 48:
              if (u >= g || !EC(V(u)))
                return "\0";
            // '\01', '\011'
            // falls through
            case 49:
            case 50:
            case 51:
              u < g && NY(V(u)) && u++;
            // '\17', '\177'
            // falls through
            case 52:
            case 53:
            case 54:
            case 55:
              if (u < g && NY(V(u)) && u++, k |= 2048, Q & 6) {
                const Ie = parseInt(_.substring(Ne + 1, u), 8);
                return Q & 4 && !(Q & 32) && qe !== 48 ? W(p.Octal_escape_sequences_and_backreferences_are_not_allowed_in_a_character_class_If_this_was_intended_as_an_escape_sequence_use_the_syntax_0_instead, Ne, u - Ne, "\\x" + Ie.toString(16).padStart(2, "0")) : W(p.Octal_escape_sequences_are_not_allowed_Use_the_syntax_0, Ne, u - Ne, "\\x" + Ie.toString(16).padStart(2, "0")), String.fromCharCode(Ie);
              }
              return _.substring(Ne, u);
            case 56:
            case 57:
              return k |= 2048, Q & 6 ? (Q & 4 && !(Q & 32) ? W(p.Decimal_escape_sequences_and_backreferences_are_not_allowed_in_a_character_class, Ne, u - Ne) : W(p.Escape_sequence_0_is_not_allowed, Ne, u - Ne, _.substring(Ne, u)), String.fromCharCode(qe)) : _.substring(Ne, u);
            case 98:
              return "\b";
            case 116:
              return "	";
            case 110:
              return `
`;
            case 118:
              return "\v";
            case 102:
              return "\f";
            case 114:
              return "\r";
            case 39:
              return "'";
            case 34:
              return '"';
            case 117:
              if (u < g && V(u) === 123) {
                u -= 2;
                const Ie = Me(!!(Q & 6));
                return Q & 17 || (k |= 2048, Q & 6 && W(p.Unicode_escape_sequences_are_only_available_when_the_Unicode_u_flag_or_the_Unicode_Sets_v_flag_is_set, Ne, u - Ne)), Ie;
              }
              for (; u < Ne + 6; u++)
                if (!(u < g && wY(V(u))))
                  return k |= 2048, Q & 6 && W(p.Hexadecimal_digit_expected), _.substring(Ne, u);
              k |= 1024;
              const Ze = parseInt(_.substring(Ne + 2, u), 16), bt = String.fromCharCode(Ze);
              if (Q & 16 && Ze >= 55296 && Ze <= 56319 && u + 6 < g && _.substring(u, u + 2) === "\\u" && V(u + 2) !== 123) {
                const Ie = u;
                let ft = u + 2;
                for (; ft < Ie + 6; ft++)
                  if (!wY(V(ft)))
                    return bt;
                const _t = parseInt(_.substring(Ie + 2, ft), 16);
                if (_t >= 56320 && _t <= 57343)
                  return u = ft, bt + String.fromCharCode(_t);
              }
              return bt;
            case 120:
              for (; u < Ne + 4; u++)
                if (!(u < g && wY(V(u))))
                  return k |= 2048, Q & 6 && W(p.Hexadecimal_digit_expected), _.substring(Ne, u);
              return k |= 4096, String.fromCharCode(parseInt(_.substring(Ne + 2, u), 16));
            // when encountering a LineContinuation (i.e. a backslash and a line terminator sequence),
            // the line terminator is interpreted to be "the empty code unit sequence".
            case 13:
              u < g && V(u) === 10 && u++;
            // falls through
            case 10:
            case 8232:
            case 8233:
              return "";
            default:
              return (Q & 16 || Q & 4 && !(Q & 8) && kh(qe, e)) && W(p.This_character_cannot_be_escaped_in_a_regular_expression, u - 2, 2), String.fromCharCode(qe);
          }
        }
        function Me(Q) {
          const Ne = u;
          u += 3;
          const qe = u, Ze = ie(
            1,
            /*canHaveSeparators*/
            !1
          ), bt = Ze ? parseInt(Ze, 16) : -1;
          let Ie = !1;
          return bt < 0 ? (Q && W(p.Hexadecimal_digit_expected), Ie = !0) : bt > 1114111 && (Q && W(p.An_extended_Unicode_escape_value_must_be_between_0x0_and_0x10FFFF_inclusive, qe, u - qe), Ie = !0), u >= g ? (Q && W(p.Unexpected_end_of_text), Ie = !0) : V(u) === 125 ? u++ : (Q && W(p.Unterminated_Unicode_escape_sequence), Ie = !0), Ie ? (k |= 2048, _.substring(Ne, u)) : (k |= 8, b4(bt));
        }
        function De() {
          if (u + 5 < g && V(u + 1) === 117) {
            const Q = u;
            u += 2;
            const Ne = te(
              4,
              /*canHaveSeparators*/
              !1
            );
            return u = Q, Ne;
          }
          return -1;
        }
        function re() {
          if (j(u + 1) === 117 && j(u + 2) === 123) {
            const Q = u;
            u += 3;
            const Ne = ie(
              1,
              /*canHaveSeparators*/
              !1
            ), qe = Ne ? parseInt(Ne, 16) : -1;
            return u = Q, qe;
          }
          return -1;
        }
        function xe() {
          let Q = "", Ne = u;
          for (; u < g; ) {
            let qe = j(u);
            if (kh(qe, e))
              u += _d(qe);
            else if (qe === 92) {
              if (qe = re(), qe >= 0 && kh(qe, e)) {
                Q += Me(
                  /*shouldEmitInvalidEscapeError*/
                  !0
                ), Ne = u;
                continue;
              }
              if (qe = De(), !(qe >= 0 && kh(qe, e)))
                break;
              k |= 1024, Q += _.substring(Ne, u), Q += b4(qe), u += 6, Ne = u;
            } else
              break;
          }
          return Q += _.substring(Ne, u), Q;
        }
        function ue() {
          const Q = T.length;
          if (Q >= 2 && Q <= 12) {
            const Ne = T.charCodeAt(0);
            if (Ne >= 97 && Ne <= 122) {
              const qe = TFe.get(T);
              if (qe !== void 0)
                return S = qe;
            }
          }
          return S = 80;
        }
        function Xe(Q) {
          let Ne = "", qe = !1, Ze = !1;
          for (; ; ) {
            const bt = V(u);
            if (bt === 95) {
              k |= 512, qe ? (qe = !1, Ze = !0) : W(Ze ? p.Multiple_consecutive_numeric_separators_are_not_permitted : p.Numeric_separators_are_not_allowed_here, u, 1), u++;
              continue;
            }
            if (qe = !0, !EC(bt) || bt - 48 >= Q)
              break;
            Ne += _[u], u++, Ze = !1;
          }
          return V(u - 1) === 95 && W(p.Numeric_separators_are_not_allowed_here, u - 1, 1), Ne;
        }
        function nt() {
          return V(u) === 110 ? (T += "n", k & 384 && (T = mD(T) + "n"), u++, 10) : (T = "" + (k & 128 ? parseInt(T.slice(2), 2) : k & 256 ? parseInt(T.slice(2), 8) : +T), 9);
        }
        function oe() {
          for (m = u, k = 0; ; ) {
            if (h = u, u >= g)
              return S = 1;
            const Q = j(u);
            if (u === 0 && Q === 35 && Jge(_, u)) {
              if (u = zge(_, u), t)
                continue;
              return S = 6;
            }
            switch (Q) {
              case 10:
              case 13:
                if (k |= 1, t) {
                  u++;
                  continue;
                } else
                  return Q === 13 && u + 1 < g && V(u + 1) === 10 ? u += 2 : u++, S = 4;
              case 9:
              case 11:
              case 12:
              case 32:
              case 160:
              case 5760:
              case 8192:
              case 8193:
              case 8194:
              case 8195:
              case 8196:
              case 8197:
              case 8198:
              case 8199:
              case 8200:
              case 8201:
              case 8202:
              case 8203:
              case 8239:
              case 8287:
              case 12288:
              case 65279:
                if (t) {
                  u++;
                  continue;
                } else {
                  for (; u < g && Hd(V(u)); )
                    u++;
                  return S = 5;
                }
              case 33:
                return V(u + 1) === 61 ? V(u + 2) === 61 ? (u += 3, S = 38) : (u += 2, S = 36) : (u++, S = 54);
              case 34:
              case 39:
                return T = me(), S = 11;
              case 96:
                return S = q(
                  /*shouldEmitInvalidEscapeError*/
                  !1
                );
              case 37:
                return V(u + 1) === 61 ? (u += 2, S = 70) : (u++, S = 45);
              case 38:
                return V(u + 1) === 38 ? V(u + 2) === 61 ? (u += 3, S = 77) : (u += 2, S = 56) : V(u + 1) === 61 ? (u += 2, S = 74) : (u++, S = 51);
              case 40:
                return u++, S = 21;
              case 41:
                return u++, S = 22;
              case 42:
                if (V(u + 1) === 61)
                  return u += 2, S = 67;
                if (V(u + 1) === 42)
                  return V(u + 2) === 61 ? (u += 3, S = 68) : (u += 2, S = 43);
                if (u++, w && (k & 32768) === 0 && k & 1) {
                  k |= 32768;
                  continue;
                }
                return S = 42;
              case 43:
                return V(u + 1) === 43 ? (u += 2, S = 46) : V(u + 1) === 61 ? (u += 2, S = 65) : (u++, S = 40);
              case 44:
                return u++, S = 28;
              case 45:
                return V(u + 1) === 45 ? (u += 2, S = 47) : V(u + 1) === 61 ? (u += 2, S = 66) : (u++, S = 41);
              case 46:
                return EC(V(u + 1)) ? (K(), S = 9) : V(u + 1) === 46 && V(u + 2) === 46 ? (u += 3, S = 26) : (u++, S = 25);
              case 47:
                if (V(u + 1) === 47) {
                  for (u += 2; u < g && !gu(V(u)); )
                    u++;
                  if (D = tr(
                    D,
                    _.slice(h, u),
                    wFe,
                    h
                  ), t)
                    continue;
                  return S = 2;
                }
                if (V(u + 1) === 42) {
                  u += 2;
                  const ft = V(u) === 42 && V(u + 1) !== 47;
                  let _t = !1, kt = h;
                  for (; u < g; ) {
                    const Ve = V(u);
                    if (Ve === 42 && V(u + 1) === 47) {
                      u += 2, _t = !0;
                      break;
                    }
                    u++, gu(Ve) && (kt = u, k |= 1);
                  }
                  if (ft && ve() && (k |= 2), D = tr(D, _.slice(kt, u), PFe, kt), _t || W(p.Asterisk_Slash_expected), t)
                    continue;
                  return _t || (k |= 4), S = 3;
                }
                return V(u + 1) === 61 ? (u += 2, S = 69) : (u++, S = 44);
              case 48:
                if (u + 2 < g && (V(u + 1) === 88 || V(u + 1) === 120))
                  return u += 2, T = ie(
                    1,
                    /*canHaveSeparators*/
                    !0
                  ), T || (W(p.Hexadecimal_digit_expected), T = "0"), T = "0x" + T, k |= 64, S = nt();
                if (u + 2 < g && (V(u + 1) === 66 || V(u + 1) === 98))
                  return u += 2, T = Xe(
                    /* base */
                    2
                  ), T || (W(p.Binary_digit_expected), T = "0"), T = "0b" + T, k |= 128, S = nt();
                if (u + 2 < g && (V(u + 1) === 79 || V(u + 1) === 111))
                  return u += 2, T = Xe(
                    /* base */
                    8
                  ), T || (W(p.Octal_digit_expected), T = "0"), T = "0o" + T, k |= 256, S = nt();
              // falls through
              case 49:
              case 50:
              case 51:
              case 52:
              case 53:
              case 54:
              case 55:
              case 56:
              case 57:
                return S = K();
              case 58:
                return u++, S = 59;
              case 59:
                return u++, S = 27;
              case 60:
                if (y4(_, u)) {
                  if (u = LP(_, u, W), t)
                    continue;
                  return S = 7;
                }
                return V(u + 1) === 60 ? V(u + 2) === 61 ? (u += 3, S = 71) : (u += 2, S = 48) : V(u + 1) === 61 ? (u += 2, S = 33) : n === 1 && V(u + 1) === 47 && V(u + 2) !== 42 ? (u += 2, S = 31) : (u++, S = 30);
              case 61:
                if (y4(_, u)) {
                  if (u = LP(_, u, W), t)
                    continue;
                  return S = 7;
                }
                return V(u + 1) === 61 ? V(u + 2) === 61 ? (u += 3, S = 37) : (u += 2, S = 35) : V(u + 1) === 62 ? (u += 2, S = 39) : (u++, S = 64);
              case 62:
                if (y4(_, u)) {
                  if (u = LP(_, u, W), t)
                    continue;
                  return S = 7;
                }
                return u++, S = 32;
              case 63:
                return V(u + 1) === 46 && !EC(V(u + 2)) ? (u += 2, S = 29) : V(u + 1) === 63 ? V(u + 2) === 61 ? (u += 3, S = 78) : (u += 2, S = 61) : (u++, S = 58);
              case 91:
                return u++, S = 23;
              case 93:
                return u++, S = 24;
              case 94:
                return V(u + 1) === 61 ? (u += 2, S = 79) : (u++, S = 53);
              case 123:
                return u++, S = 19;
              case 124:
                if (y4(_, u)) {
                  if (u = LP(_, u, W), t)
                    continue;
                  return S = 7;
                }
                return V(u + 1) === 124 ? V(u + 2) === 61 ? (u += 3, S = 76) : (u += 2, S = 57) : V(u + 1) === 61 ? (u += 2, S = 75) : (u++, S = 52);
              case 125:
                return u++, S = 20;
              case 126:
                return u++, S = 55;
              case 64:
                return u++, S = 60;
              case 92:
                const Ne = re();
                if (Ne >= 0 && Um(Ne, e))
                  return T = Me(
                    /*shouldEmitInvalidEscapeError*/
                    !0
                  ) + xe(), S = ue();
                const qe = De();
                return qe >= 0 && Um(qe, e) ? (u += 6, k |= 1024, T = String.fromCharCode(qe) + xe(), S = ue()) : (W(p.Invalid_character), u++, S = 0);
              case 35:
                if (u !== 0 && _[u + 1] === "!")
                  return W(p.can_only_be_used_at_the_start_of_a_file, u, 2), u++, S = 0;
                const Ze = j(u + 1);
                if (Ze === 92) {
                  u++;
                  const ft = re();
                  if (ft >= 0 && Um(ft, e))
                    return T = "#" + Me(
                      /*shouldEmitInvalidEscapeError*/
                      !0
                    ) + xe(), S = 81;
                  const _t = De();
                  if (_t >= 0 && Um(_t, e))
                    return u += 6, k |= 1024, T = "#" + String.fromCharCode(_t) + xe(), S = 81;
                  u--;
                }
                return Um(Ze, e) ? (u++, Pe(Ze, e)) : (T = "#", W(p.Invalid_character, u++, _d(Q))), S = 81;
              case 65533:
                return W(p.File_appears_to_be_binary, 0, 0), u = g, S = 8;
              default:
                const bt = Pe(Q, e);
                if (bt)
                  return S = bt;
                if (Hd(Q)) {
                  u += _d(Q);
                  continue;
                } else if (gu(Q)) {
                  k |= 1, u += _d(Q);
                  continue;
                }
                const Ie = _d(Q);
                return W(p.Invalid_character, u, Ie), u += Ie, S = 0;
            }
          }
        }
        function ve() {
          switch (O) {
            case 0:
              return !0;
            case 1:
              return !1;
          }
          return A !== 3 && A !== 4 ? !0 : O === 3 ? !1 : NFe.test(_.slice(m, u));
        }
        function se() {
          E.assert(S === 0, "'reScanInvalidIdentifier' should only be called when the current token is 'SyntaxKind.Unknown'."), u = h = m, k = 0;
          const Q = j(u), Ne = Pe(
            Q,
            99
            /* ESNext */
          );
          return Ne ? S = Ne : (u += _d(Q), S);
        }
        function Pe(Q, Ne) {
          let qe = Q;
          if (Um(qe, Ne)) {
            for (u += _d(qe); u < g && kh(qe = j(u), Ne); ) u += _d(qe);
            return T = _.substring(h, u), qe === 92 && (T += xe()), ue();
          }
        }
        function Ee() {
          if (S === 32) {
            if (V(u) === 62)
              return V(u + 1) === 62 ? V(u + 2) === 61 ? (u += 3, S = 73) : (u += 2, S = 50) : V(u + 1) === 61 ? (u += 2, S = 72) : (u++, S = 49);
            if (V(u) === 61)
              return u++, S = 34;
          }
          return S;
        }
        function Ce() {
          return E.assert(S === 67, "'reScanAsteriskEqualsToken' should only be called on a '*='"), u = h + 1, S = 64;
        }
        function ze(Q) {
          if (S === 44 || S === 69) {
            const Ne = h + 1;
            u = Ne;
            let qe = !1, Ze = !1, bt = !1;
            for (; ; ) {
              const ft = G(u);
              if (ft === -1 || gu(ft)) {
                k |= 4;
                break;
              }
              if (qe)
                qe = !1;
              else {
                if (ft === 47 && !bt)
                  break;
                ft === 91 ? bt = !0 : ft === 92 ? qe = !0 : ft === 93 ? bt = !1 : !bt && ft === 40 && G(u + 1) === 63 && G(u + 2) === 60 && G(u + 3) !== 61 && G(u + 3) !== 33 && (Ze = !0);
              }
              u++;
            }
            const Ie = u;
            if (k & 4) {
              u = Ne, qe = !1;
              let ft = 0, _t = !1, kt = 0;
              for (; u < Ie; ) {
                const Ve = V(u);
                if (qe)
                  qe = !1;
                else if (Ve === 92)
                  qe = !0;
                else if (Ve === 91)
                  ft++;
                else if (Ve === 93 && ft)
                  ft--;
                else if (!ft) {
                  if (Ve === 123)
                    _t = !0;
                  else if (Ve === 125 && _t)
                    _t = !1;
                  else if (!_t) {
                    if (Ve === 40)
                      kt++;
                    else if (Ve === 41 && kt)
                      kt--;
                    else if (Ve === 41 || Ve === 93 || Ve === 125)
                      break;
                  }
                }
                u++;
              }
              for (; Dg(G(u - 1)) || G(u - 1) === 59; ) u--;
              W(p.Unterminated_regular_expression_literal, h, u - h);
            } else {
              u++;
              let ft = 0;
              for (; ; ) {
                const _t = z(u);
                if (_t === -1 || !kh(_t, e))
                  break;
                const kt = _d(_t);
                if (Q) {
                  const Ve = hj(_t);
                  Ve === void 0 ? W(p.Unknown_regular_expression_flag, u, kt) : ft & Ve ? W(p.Duplicate_regular_expression_flag, u, kt) : ((ft | Ve) & 96) === 96 ? W(p.The_Unicode_u_flag_and_the_Unicode_Sets_v_flag_cannot_be_set_simultaneously, u, kt) : (ft |= Ve, Bt(Ve, kt));
                }
                u += kt;
              }
              Q && er(Ne, Ie - Ne, () => {
                St(
                  ft,
                  /*annexB*/
                  !0,
                  Ze
                );
              });
            }
            T = _.substring(h, u), S = 14;
          }
          return S;
        }
        function St(Q, Ne, qe) {
          var Ze = !!(Q & 64), bt = !!(Q & 96), Ie = bt || !1, ft = !1, _t = 0, kt, Ve, Rt, Zr = [], we;
          function mt(Mt) {
            for (; ; ) {
              if (Zr.push(we), we = void 0, _e(Mt), we = Zr.pop(), G(u) !== 124)
                return;
              u++;
            }
          }
          function _e(Mt) {
            let cr = !1;
            for (; ; ) {
              const lr = u, br = G(u);
              switch (br) {
                case -1:
                  return;
                case 94:
                case 36:
                  u++, cr = !1;
                  break;
                case 92:
                  switch (u++, G(u)) {
                    case 98:
                    case 66:
                      u++, cr = !1;
                      break;
                    default:
                      ye(), cr = !0;
                      break;
                  }
                  break;
                case 40:
                  if (u++, G(u) === 63)
                    switch (u++, G(u)) {
                      case 61:
                      case 33:
                        u++, cr = !Ie;
                        break;
                      case 60:
                        const Ns = u;
                        switch (u++, G(u)) {
                          case 61:
                          case 33:
                            u++, cr = !1;
                            break;
                          default:
                            jt(
                              /*isReference*/
                              !1
                            ), Kt(
                              62
                              /* greaterThan */
                            ), e < 5 && W(p.Named_capturing_groups_are_only_available_when_targeting_ES2018_or_later, Ns, u - Ns), _t++, cr = !0;
                            break;
                        }
                        break;
                      default:
                        const $s = u, Es = M(
                          0
                          /* None */
                        );
                        G(u) === 45 && (u++, M(Es), u === $s + 1 && W(p.Subpattern_flags_must_be_present_when_there_is_a_minus_sign, $s, u - $s)), Kt(
                          58
                          /* colon */
                        ), cr = !0;
                        break;
                    }
                  else
                    _t++, cr = !0;
                  mt(
                    /*isInGroup*/
                    !0
                  ), Kt(
                    41
                    /* closeParen */
                  );
                  break;
                case 123:
                  u++;
                  const $t = u;
                  ee();
                  const Qn = T;
                  if (!Ie && !Qn) {
                    cr = !0;
                    break;
                  }
                  if (G(u) === 44) {
                    u++, ee();
                    const Ns = T;
                    if (Qn)
                      Ns && Number.parseInt(Qn) > Number.parseInt(Ns) && (Ie || G(u) === 125) && W(p.Numbers_out_of_order_in_quantifier, $t, u - $t);
                    else if (Ns || G(u) === 125)
                      W(p.Incomplete_quantifier_Digit_expected, $t, 0);
                    else {
                      W(p.Unexpected_0_Did_you_mean_to_escape_it_with_backslash, lr, 1, String.fromCharCode(br)), cr = !0;
                      break;
                    }
                  } else if (!Qn) {
                    Ie && W(p.Unexpected_0_Did_you_mean_to_escape_it_with_backslash, lr, 1, String.fromCharCode(br)), cr = !0;
                    break;
                  }
                  if (G(u) !== 125)
                    if (Ie)
                      W(p._0_expected, u, 0, "}"), u--;
                    else {
                      cr = !0;
                      break;
                    }
                // falls through
                case 42:
                case 43:
                case 63:
                  u++, G(u) === 63 && u++, cr || W(p.There_is_nothing_available_for_repetition, lr, u - lr), cr = !1;
                  break;
                case 46:
                  u++, cr = !0;
                  break;
                case 91:
                  u++, Ze ? At() : st(), Kt(
                    93
                    /* closeBracket */
                  ), cr = !0;
                  break;
                case 41:
                  if (Mt)
                    return;
                // falls through
                case 93:
                case 125:
                  (Ie || br === 41) && W(p.Unexpected_0_Did_you_mean_to_escape_it_with_backslash, u, 1, String.fromCharCode(br)), u++, cr = !0;
                  break;
                case 47:
                case 124:
                  return;
                default:
                  dr(), cr = !0;
                  break;
              }
            }
          }
          function M(Mt) {
            for (; ; ) {
              const cr = z(u);
              if (cr === -1 || !kh(cr, e))
                break;
              const lr = _d(cr), br = hj(cr);
              br === void 0 ? W(p.Unknown_regular_expression_flag, u, lr) : Mt & br ? W(p.Duplicate_regular_expression_flag, u, lr) : br & 28 ? (Mt |= br, Bt(br, lr)) : W(p.This_regular_expression_flag_cannot_be_toggled_within_a_subpattern, u, lr), u += lr;
            }
            return Mt;
          }
          function ye() {
            switch (E.assertEqual(
              V(u - 1),
              92
              /* backslash */
            ), G(u)) {
              case 107:
                u++, G(u) === 60 ? (u++, jt(
                  /*isReference*/
                  !0
                ), Kt(
                  62
                  /* greaterThan */
                )) : (Ie || qe) && W(p.k_must_be_followed_by_a_capturing_group_name_enclosed_in_angle_brackets, u - 2, 2);
                break;
              case 113:
                if (Ze) {
                  u++, W(p.q_is_only_available_inside_character_class, u - 2, 2);
                  break;
                }
              // falls through
              default:
                E.assert(Jt() || X() || pt(
                  /*atomEscape*/
                  !0
                ));
                break;
            }
          }
          function X() {
            E.assertEqual(
              V(u - 1),
              92
              /* backslash */
            );
            const Mt = G(u);
            if (Mt >= 49 && Mt <= 57) {
              const cr = u;
              return ee(), Rt = Dr(Rt, { pos: cr, end: u, value: +T }), !0;
            }
            return !1;
          }
          function pt(Mt) {
            E.assertEqual(
              V(u - 1),
              92
              /* backslash */
            );
            let cr = G(u);
            switch (cr) {
              case -1:
                return W(p.Undetermined_character_escape, u - 1, 1), "\\";
              case 99:
                if (u++, cr = G(u), PY(cr))
                  return u++, String.fromCharCode(cr & 31);
                if (Ie)
                  W(p.c_must_be_followed_by_an_ASCII_letter, u - 2, 2);
                else if (Mt)
                  return u--, "\\";
                return String.fromCharCode(cr);
              case 94:
              case 36:
              case 47:
              case 92:
              case 46:
              case 42:
              case 43:
              case 63:
              case 40:
              case 41:
              case 91:
              case 93:
              case 123:
              case 125:
              case 124:
                return u++, String.fromCharCode(cr);
              default:
                return u--, he(
                  12 | (bt ? 16 : 0) | (Mt ? 32 : 0)
                );
            }
          }
          function jt(Mt) {
            E.assertEqual(
              V(u - 1),
              60
              /* lessThan */
            ), h = u, Pe(z(u), e), u === h ? W(p.Expected_a_capturing_group_name) : Mt ? Ve = Dr(Ve, { pos: h, end: u, name: T }) : we?.has(T) || Zr.some((cr) => cr?.has(T)) ? W(p.Named_capturing_groups_with_the_same_name_must_be_mutually_exclusive_to_each_other, h, u - h) : (we ?? (we = /* @__PURE__ */ new Set()), we.add(T), kt ?? (kt = /* @__PURE__ */ new Set()), kt.add(T));
          }
          function ke(Mt) {
            return Mt === 93 || Mt === -1 || u >= g;
          }
          function st() {
            for (E.assertEqual(
              V(u - 1),
              91
              /* openBracket */
            ), G(u) === 94 && u++; ; ) {
              const Mt = G(u);
              if (ke(Mt))
                return;
              const cr = u, lr = gt();
              if (G(u) === 45) {
                u++;
                const br = G(u);
                if (ke(br))
                  return;
                !lr && Ie && W(p.A_character_class_range_must_not_be_bounded_by_another_character_class, cr, u - 1 - cr);
                const $t = u, Qn = gt();
                if (!Qn && Ie) {
                  W(p.A_character_class_range_must_not_be_bounded_by_another_character_class, $t, u - $t);
                  continue;
                }
                if (!lr)
                  continue;
                const Ns = v4(lr, 0), $s = v4(Qn, 0);
                lr.length === _d(Ns) && Qn.length === _d($s) && Ns > $s && W(p.Range_out_of_order_in_character_class, cr, u - cr);
              }
            }
          }
          function At() {
            E.assertEqual(
              V(u - 1),
              91
              /* openBracket */
            );
            let Mt = !1;
            G(u) === 94 && (u++, Mt = !0);
            let cr = !1, lr = G(u);
            if (ke(lr))
              return;
            let br = u, $t;
            switch (_.slice(u, u + 2)) {
              // TODO: don't use slice
              case "--":
              case "&&":
                W(p.Expected_a_class_set_operand), ft = !1;
                break;
              default:
                $t = Mr();
                break;
            }
            switch (G(u)) {
              case 45:
                if (G(u + 1) === 45) {
                  Mt && ft && W(p.Anything_that_would_possibly_match_more_than_a_single_character_is_invalid_inside_a_negated_character_class, br, u - br), cr = ft, Yr(
                    3
                    /* ClassSubtraction */
                  ), ft = !Mt && cr;
                  return;
                }
                break;
              case 38:
                if (G(u + 1) === 38) {
                  Yr(
                    2
                    /* ClassIntersection */
                  ), Mt && ft && W(p.Anything_that_would_possibly_match_more_than_a_single_character_is_invalid_inside_a_negated_character_class, br, u - br), cr = ft, ft = !Mt && cr;
                  return;
                } else
                  W(p.Unexpected_0_Did_you_mean_to_escape_it_with_backslash, u, 1, String.fromCharCode(lr));
                break;
              default:
                Mt && ft && W(p.Anything_that_would_possibly_match_more_than_a_single_character_is_invalid_inside_a_negated_character_class, br, u - br), cr = ft;
                break;
            }
            for (; lr = G(u), lr !== -1; ) {
              switch (lr) {
                case 45:
                  if (u++, lr = G(u), ke(lr)) {
                    ft = !Mt && cr;
                    return;
                  }
                  if (lr === 45) {
                    u++, W(p.Operators_must_not_be_mixed_within_a_character_class_Wrap_it_in_a_nested_class_instead, u - 2, 2), br = u - 2, $t = _.slice(br, u);
                    continue;
                  } else {
                    $t || W(p.A_character_class_range_must_not_be_bounded_by_another_character_class, br, u - 1 - br);
                    const Qn = u, Ns = Mr();
                    if (Mt && ft && W(p.Anything_that_would_possibly_match_more_than_a_single_character_is_invalid_inside_a_negated_character_class, Qn, u - Qn), cr || (cr = ft), !Ns) {
                      W(p.A_character_class_range_must_not_be_bounded_by_another_character_class, Qn, u - Qn);
                      break;
                    }
                    if (!$t)
                      break;
                    const $s = v4($t, 0), Es = v4(Ns, 0);
                    $t.length === _d($s) && Ns.length === _d(Es) && $s > Es && W(p.Range_out_of_order_in_character_class, br, u - br);
                  }
                  break;
                case 38:
                  br = u, u++, G(u) === 38 ? (u++, W(p.Operators_must_not_be_mixed_within_a_character_class_Wrap_it_in_a_nested_class_instead, u - 2, 2), G(u) === 38 && (W(p.Unexpected_0_Did_you_mean_to_escape_it_with_backslash, u, 1, String.fromCharCode(lr)), u++)) : W(p.Unexpected_0_Did_you_mean_to_escape_it_with_backslash, u - 1, 1, String.fromCharCode(lr)), $t = _.slice(br, u);
                  continue;
              }
              if (ke(G(u)))
                break;
              switch (br = u, _.slice(u, u + 2)) {
                // TODO: don't use slice
                case "--":
                case "&&":
                  W(p.Operators_must_not_be_mixed_within_a_character_class_Wrap_it_in_a_nested_class_instead, u, 2), u += 2, $t = _.slice(br, u);
                  break;
                default:
                  $t = Mr();
                  break;
              }
            }
            ft = !Mt && cr;
          }
          function Yr(Mt) {
            let cr = ft;
            for (; ; ) {
              let lr = G(u);
              if (ke(lr))
                break;
              switch (lr) {
                case 45:
                  u++, G(u) === 45 ? (u++, Mt !== 3 && W(p.Operators_must_not_be_mixed_within_a_character_class_Wrap_it_in_a_nested_class_instead, u - 2, 2)) : W(p.Operators_must_not_be_mixed_within_a_character_class_Wrap_it_in_a_nested_class_instead, u - 1, 1);
                  break;
                case 38:
                  u++, G(u) === 38 ? (u++, Mt !== 2 && W(p.Operators_must_not_be_mixed_within_a_character_class_Wrap_it_in_a_nested_class_instead, u - 2, 2), G(u) === 38 && (W(p.Unexpected_0_Did_you_mean_to_escape_it_with_backslash, u, 1, String.fromCharCode(lr)), u++)) : W(p.Unexpected_0_Did_you_mean_to_escape_it_with_backslash, u - 1, 1, String.fromCharCode(lr));
                  break;
                default:
                  switch (Mt) {
                    case 3:
                      W(p._0_expected, u, 0, "--");
                      break;
                    case 2:
                      W(p._0_expected, u, 0, "&&");
                      break;
                  }
                  break;
              }
              if (lr = G(u), ke(lr)) {
                W(p.Expected_a_class_set_operand);
                break;
              }
              Mr(), cr && (cr = ft);
            }
            ft = cr;
          }
          function Mr() {
            switch (ft = !1, G(u)) {
              case -1:
                return "";
              case 91:
                return u++, At(), Kt(
                  93
                  /* closeBracket */
                ), "";
              case 92:
                if (u++, Jt())
                  return "";
                if (G(u) === 113)
                  return u++, G(u) === 123 ? (u++, Rr(), Kt(
                    125
                    /* closeBrace */
                  ), "") : (W(p.q_must_be_followed_by_string_alternatives_enclosed_in_braces, u - 2, 2), "q");
                u--;
              // falls through
              default:
                return Ye();
            }
          }
          function Rr() {
            E.assertEqual(
              V(u - 1),
              123
              /* openBrace */
            );
            let Mt = 0;
            for (; ; )
              switch (G(u)) {
                case -1:
                  return;
                case 125:
                  Mt !== 1 && (ft = !0);
                  return;
                case 124:
                  Mt !== 1 && (ft = !0), u++, o = u, Mt = 0;
                  break;
                default:
                  Ye(), Mt++;
                  break;
              }
          }
          function Ye() {
            const Mt = G(u);
            if (Mt === -1)
              return "";
            if (Mt === 92) {
              u++;
              const cr = G(u);
              switch (cr) {
                case 98:
                  return u++, "\b";
                case 38:
                case 45:
                case 33:
                case 35:
                case 37:
                case 44:
                case 58:
                case 59:
                case 60:
                case 61:
                case 62:
                case 64:
                case 96:
                case 126:
                  return u++, String.fromCharCode(cr);
                default:
                  return pt(
                    /*atomEscape*/
                    !1
                  );
              }
            } else if (Mt === G(u + 1))
              switch (Mt) {
                case 38:
                case 33:
                case 35:
                case 37:
                case 42:
                case 43:
                case 44:
                case 46:
                case 58:
                case 59:
                case 60:
                case 61:
                case 62:
                case 63:
                case 64:
                case 96:
                case 126:
                  return W(p.A_character_class_must_not_contain_a_reserved_double_punctuator_Did_you_mean_to_escape_it_with_backslash, u, 2), u += 2, _.substring(u - 2, u);
              }
            switch (Mt) {
              case 47:
              case 40:
              case 41:
              case 91:
              case 93:
              case 123:
              case 125:
              case 45:
              case 124:
                return W(p.Unexpected_0_Did_you_mean_to_escape_it_with_backslash, u, 1, String.fromCharCode(Mt)), u++, String.fromCharCode(Mt);
            }
            return dr();
          }
          function gt() {
            if (G(u) === 92) {
              u++;
              const Mt = G(u);
              switch (Mt) {
                case 98:
                  return u++, "\b";
                case 45:
                  return u++, String.fromCharCode(Mt);
                default:
                  return Jt() ? "" : pt(
                    /*atomEscape*/
                    !1
                  );
              }
            } else
              return dr();
          }
          function Jt() {
            E.assertEqual(
              V(u - 1),
              92
              /* backslash */
            );
            let Mt = !1;
            const cr = u - 1, lr = G(u);
            switch (lr) {
              case 100:
              case 68:
              case 115:
              case 83:
              case 119:
              case 87:
                return u++, !0;
              case 80:
                Mt = !0;
              // falls through
              case 112:
                if (u++, G(u) === 123) {
                  u++;
                  const br = u, $t = wt();
                  if (G(u) === 61) {
                    const Qn = Vge.get($t);
                    if (u === br)
                      W(p.Expected_a_Unicode_property_name);
                    else if (Qn === void 0) {
                      W(p.Unknown_Unicode_property_name, br, u - br);
                      const Es = hb($t, Vge.keys(), mo);
                      Es && W(p.Did_you_mean_0, br, u - br, Es);
                    }
                    u++;
                    const Ns = u, $s = wt();
                    if (u === Ns)
                      W(p.Expected_a_Unicode_property_value);
                    else if (Qn !== void 0 && !jP[Qn].has($s)) {
                      W(p.Unknown_Unicode_property_value, Ns, u - Ns);
                      const Es = hb($s, jP[Qn], mo);
                      Es && W(p.Did_you_mean_0, Ns, u - Ns, Es);
                    }
                  } else if (u === br)
                    W(p.Expected_a_Unicode_property_name_or_value);
                  else if (qge.has($t))
                    Ze ? Mt ? W(p.Anything_that_would_possibly_match_more_than_a_single_character_is_invalid_inside_a_negated_character_class, br, u - br) : ft = !0 : W(p.Any_Unicode_property_that_would_possibly_match_more_than_a_single_character_is_only_available_when_the_Unicode_Sets_v_flag_is_set, br, u - br);
                  else if (!jP.General_Category.has($t) && !Uge.has($t)) {
                    W(p.Unknown_Unicode_property_name_or_value, br, u - br);
                    const Qn = hb($t, [...jP.General_Category, ...Uge, ...qge], mo);
                    Qn && W(p.Did_you_mean_0, br, u - br, Qn);
                  }
                  Kt(
                    125
                    /* closeBrace */
                  ), bt || W(p.Unicode_property_value_expressions_are_only_available_when_the_Unicode_u_flag_or_the_Unicode_Sets_v_flag_is_set, cr, u - cr);
                } else if (Ie)
                  W(p._0_must_be_followed_by_a_Unicode_property_value_expression_enclosed_in_braces, u - 2, 2, String.fromCharCode(lr));
                else
                  return u--, !1;
                return !0;
            }
            return !1;
          }
          function wt() {
            let Mt = "";
            for (; ; ) {
              const cr = G(u);
              if (cr === -1 || !Bge(cr))
                break;
              Mt += String.fromCharCode(cr), u++;
            }
            return Mt;
          }
          function dr() {
            const Mt = bt ? _d(z(u)) : 1;
            return u += Mt, Mt > 0 ? _.substring(u - Mt, u) : "";
          }
          function Kt(Mt) {
            G(u) === Mt ? u++ : W(p._0_expected, u, 0, String.fromCharCode(Mt));
          }
          mt(
            /*isInGroup*/
            !1
          ), ar(Ve, (Mt) => {
            if (!kt?.has(Mt.name) && (W(p.There_is_no_capturing_group_named_0_in_this_regular_expression, Mt.pos, Mt.end - Mt.pos, Mt.name), kt)) {
              const cr = hb(Mt.name, kt, mo);
              cr && W(p.Did_you_mean_0, Mt.pos, Mt.end - Mt.pos, cr);
            }
          }), ar(Rt, (Mt) => {
            Mt.value > _t && (_t ? W(p.This_backreference_refers_to_a_group_that_does_not_exist_There_are_only_0_capturing_groups_in_this_regular_expression, Mt.pos, Mt.end - Mt.pos, _t) : W(p.This_backreference_refers_to_a_group_that_does_not_exist_There_are_no_capturing_groups_in_this_regular_expression, Mt.pos, Mt.end - Mt.pos));
          });
        }
        function Bt(Q, Ne) {
          const qe = xFe.get(Q);
          qe && e < qe && W(p.This_regular_expression_flag_is_only_available_when_targeting_0_or_later, u, Ne, B5(qe));
        }
        function tr(Q, Ne, qe, Ze) {
          const bt = Fr(Ne.trimStart(), qe);
          return bt === void 0 ? Q : Dr(
            Q,
            {
              range: { pos: Ze, end: u },
              type: bt
            }
          );
        }
        function Fr(Q, Ne) {
          const qe = Ne.exec(Q);
          if (qe)
            switch (qe[1]) {
              case "ts-expect-error":
                return 0;
              case "ts-ignore":
                return 1;
            }
        }
        function it(Q) {
          return u = h, S = q(!Q);
        }
        function Wt() {
          return u = h, S = q(
            /*shouldEmitInvalidEscapeError*/
            !0
          );
        }
        function Wr(Q = !0) {
          return u = h = m, S = Fn(Q);
        }
        function ai() {
          return S === 48 ? (u = h + 1, S = 30) : S;
        }
        function zi() {
          return S === 81 ? (u = h + 1, S = 63) : S;
        }
        function Pt() {
          return E.assert(S === 61, "'reScanQuestionToken' should only be called on a '??'"), u = h + 1, S = 58;
        }
        function Fn(Q = !0) {
          if (m = h = u, u >= g)
            return S = 1;
          let Ne = V(u);
          if (Ne === 60)
            return V(u + 1) === 47 ? (u += 2, S = 31) : (u++, S = 30);
          if (Ne === 123)
            return u++, S = 19;
          let qe = 0;
          for (; u < g && (Ne = V(u), Ne !== 123); ) {
            if (Ne === 60) {
              if (y4(_, u))
                return u = LP(_, u, W), S = 7;
              break;
            }
            if (Ne === 62 && W(p.Unexpected_token_Did_you_mean_or_gt, u, 1), Ne === 125 && W(p.Unexpected_token_Did_you_mean_or_rbrace, u, 1), gu(Ne) && qe === 0)
              qe = -1;
            else {
              if (!Q && gu(Ne) && qe > 0)
                break;
              Dg(Ne) || (qe = u);
            }
            u++;
          }
          return T = _.substring(m, u), qe === -1 ? 13 : 12;
        }
        function ii() {
          if (l_(S)) {
            for (; u < g; ) {
              if (V(u) === 45) {
                T += "-", u++;
                continue;
              }
              const Ne = u;
              if (T += xe(), u === Ne)
                break;
            }
            return ue();
          }
          return S;
        }
        function li() {
          switch (m = u, V(u)) {
            case 34:
            case 39:
              return T = me(
                /*jsxAttributeString*/
                !0
              ), S = 11;
            default:
              return oe();
          }
        }
        function cn() {
          return u = h = m, li();
        }
        function ci(Q) {
          if (m = h = u, k = 0, u >= g)
            return S = 1;
          for (let Ne = V(u); u < g && !gu(Ne) && Ne !== 96; Ne = j(++u))
            if (!Q) {
              if (Ne === 123)
                break;
              if (Ne === 64 && u - 1 >= 0 && Hd(V(u - 1)) && !(u + 1 < g && Dg(V(u + 1))))
                break;
            }
          return u === h ? je() : (T = _.substring(h, u), S = 82);
        }
        function je() {
          if (m = h = u, k = 0, u >= g)
            return S = 1;
          const Q = j(u);
          switch (u += _d(Q), Q) {
            case 9:
            case 11:
            case 12:
            case 32:
              for (; u < g && Hd(V(u)); )
                u++;
              return S = 5;
            case 64:
              return S = 60;
            case 13:
              V(u) === 10 && u++;
            // falls through
            case 10:
              return k |= 1, S = 4;
            case 42:
              return S = 42;
            case 123:
              return S = 19;
            case 125:
              return S = 20;
            case 91:
              return S = 23;
            case 93:
              return S = 24;
            case 40:
              return S = 21;
            case 41:
              return S = 22;
            case 60:
              return S = 30;
            case 62:
              return S = 32;
            case 61:
              return S = 64;
            case 44:
              return S = 28;
            case 46:
              return S = 25;
            case 96:
              return S = 62;
            case 35:
              return S = 63;
            case 92:
              u--;
              const Ne = re();
              if (Ne >= 0 && Um(Ne, e))
                return T = Me(
                  /*shouldEmitInvalidEscapeError*/
                  !0
                ) + xe(), S = ue();
              const qe = De();
              return qe >= 0 && Um(qe, e) ? (u += 6, k |= 1024, T = String.fromCharCode(qe) + xe(), S = ue()) : (u++, S = 0);
          }
          if (Um(Q, e)) {
            let Ne = Q;
            for (; u < g && kh(Ne = j(u), e) || Ne === 45; ) u += _d(Ne);
            return T = _.substring(h, u), Ne === 92 && (T += xe()), S = ue();
          } else
            return S = 0;
        }
        function ut(Q, Ne) {
          const qe = u, Ze = m, bt = h, Ie = S, ft = T, _t = k, kt = Q();
          return (!kt || Ne) && (u = qe, m = Ze, h = bt, S = Ie, T = ft, k = _t), kt;
        }
        function er(Q, Ne, qe) {
          const Ze = g, bt = u, Ie = m, ft = h, _t = S, kt = T, Ve = k, Rt = D;
          ks(_, Q, Ne);
          const Zr = qe();
          return g = Ze, u = bt, m = Ie, h = ft, S = _t, T = kt, k = Ve, D = Rt, Zr;
        }
        function Vr(Q) {
          return ut(
            Q,
            /*isLookahead*/
            !0
          );
        }
        function zn(Q) {
          return ut(
            Q,
            /*isLookahead*/
            !1
          );
        }
        function Wn() {
          return _;
        }
        function bi() {
          D = void 0;
        }
        function ks(Q, Ne, qe) {
          _ = Q || "", g = qe === void 0 ? _.length : Ne + qe, ne(Ne || 0);
        }
        function ta(Q) {
          s = Q;
        }
        function gr(Q) {
          e = Q;
        }
        function ms(Q) {
          n = Q;
        }
        function He(Q) {
          A = Q;
        }
        function Et(Q) {
          O = Q;
        }
        function ne(Q) {
          E.assert(Q >= 0), u = Q, m = Q, h = Q, S = 0, T = void 0, k = 0;
        }
        function rt(Q) {
          w += Q ? 1 : -1;
        }
      }
      function v4(e, t) {
        return e.codePointAt(t);
      }
      function _d(e) {
        return e >= 65536 ? 2 : e === -1 ? 0 : 1;
      }
      function OFe(e) {
        if (E.assert(0 <= e && e <= 1114111), e <= 65535)
          return String.fromCharCode(e);
        const t = Math.floor((e - 65536) / 1024) + 55296, n = (e - 65536) % 1024 + 56320;
        return String.fromCharCode(t, n);
      }
      var LFe = String.fromCodePoint ? (e) => String.fromCodePoint(e) : OFe;
      function b4(e) {
        return LFe(e);
      }
      var Vge = new Map(Object.entries({
        General_Category: "General_Category",
        gc: "General_Category",
        Script: "Script",
        sc: "Script",
        Script_Extensions: "Script_Extensions",
        scx: "Script_Extensions"
      })), Uge = /* @__PURE__ */ new Set(["ASCII", "ASCII_Hex_Digit", "AHex", "Alphabetic", "Alpha", "Any", "Assigned", "Bidi_Control", "Bidi_C", "Bidi_Mirrored", "Bidi_M", "Case_Ignorable", "CI", "Cased", "Changes_When_Casefolded", "CWCF", "Changes_When_Casemapped", "CWCM", "Changes_When_Lowercased", "CWL", "Changes_When_NFKC_Casefolded", "CWKCF", "Changes_When_Titlecased", "CWT", "Changes_When_Uppercased", "CWU", "Dash", "Default_Ignorable_Code_Point", "DI", "Deprecated", "Dep", "Diacritic", "Dia", "Emoji", "Emoji_Component", "EComp", "Emoji_Modifier", "EMod", "Emoji_Modifier_Base", "EBase", "Emoji_Presentation", "EPres", "Extended_Pictographic", "ExtPict", "Extender", "Ext", "Grapheme_Base", "Gr_Base", "Grapheme_Extend", "Gr_Ext", "Hex_Digit", "Hex", "IDS_Binary_Operator", "IDSB", "IDS_Trinary_Operator", "IDST", "ID_Continue", "IDC", "ID_Start", "IDS", "Ideographic", "Ideo", "Join_Control", "Join_C", "Logical_Order_Exception", "LOE", "Lowercase", "Lower", "Math", "Noncharacter_Code_Point", "NChar", "Pattern_Syntax", "Pat_Syn", "Pattern_White_Space", "Pat_WS", "Quotation_Mark", "QMark", "Radical", "Regional_Indicator", "RI", "Sentence_Terminal", "STerm", "Soft_Dotted", "SD", "Terminal_Punctuation", "Term", "Unified_Ideograph", "UIdeo", "Uppercase", "Upper", "Variation_Selector", "VS", "White_Space", "space", "XID_Continue", "XIDC", "XID_Start", "XIDS"]), qge = /* @__PURE__ */ new Set(["Basic_Emoji", "Emoji_Keycap_Sequence", "RGI_Emoji_Modifier_Sequence", "RGI_Emoji_Flag_Sequence", "RGI_Emoji_Tag_Sequence", "RGI_Emoji_ZWJ_Sequence", "RGI_Emoji"]), jP = {
        General_Category: /* @__PURE__ */ new Set(["C", "Other", "Cc", "Control", "cntrl", "Cf", "Format", "Cn", "Unassigned", "Co", "Private_Use", "Cs", "Surrogate", "L", "Letter", "LC", "Cased_Letter", "Ll", "Lowercase_Letter", "Lm", "Modifier_Letter", "Lo", "Other_Letter", "Lt", "Titlecase_Letter", "Lu", "Uppercase_Letter", "M", "Mark", "Combining_Mark", "Mc", "Spacing_Mark", "Me", "Enclosing_Mark", "Mn", "Nonspacing_Mark", "N", "Number", "Nd", "Decimal_Number", "digit", "Nl", "Letter_Number", "No", "Other_Number", "P", "Punctuation", "punct", "Pc", "Connector_Punctuation", "Pd", "Dash_Punctuation", "Pe", "Close_Punctuation", "Pf", "Final_Punctuation", "Pi", "Initial_Punctuation", "Po", "Other_Punctuation", "Ps", "Open_Punctuation", "S", "Symbol", "Sc", "Currency_Symbol", "Sk", "Modifier_Symbol", "Sm", "Math_Symbol", "So", "Other_Symbol", "Z", "Separator", "Zl", "Line_Separator", "Zp", "Paragraph_Separator", "Zs", "Space_Separator"]),
        Script: /* @__PURE__ */ new Set(["Adlm", "Adlam", "Aghb", "Caucasian_Albanian", "Ahom", "Arab", "Arabic", "Armi", "Imperial_Aramaic", "Armn", "Armenian", "Avst", "Avestan", "Bali", "Balinese", "Bamu", "Bamum", "Bass", "Bassa_Vah", "Batk", "Batak", "Beng", "Bengali", "Bhks", "Bhaiksuki", "Bopo", "Bopomofo", "Brah", "Brahmi", "Brai", "Braille", "Bugi", "Buginese", "Buhd", "Buhid", "Cakm", "Chakma", "Cans", "Canadian_Aboriginal", "Cari", "Carian", "Cham", "Cher", "Cherokee", "Chrs", "Chorasmian", "Copt", "Coptic", "Qaac", "Cpmn", "Cypro_Minoan", "Cprt", "Cypriot", "Cyrl", "Cyrillic", "Deva", "Devanagari", "Diak", "Dives_Akuru", "Dogr", "Dogra", "Dsrt", "Deseret", "Dupl", "Duployan", "Egyp", "Egyptian_Hieroglyphs", "Elba", "Elbasan", "Elym", "Elymaic", "Ethi", "Ethiopic", "Geor", "Georgian", "Glag", "Glagolitic", "Gong", "Gunjala_Gondi", "Gonm", "Masaram_Gondi", "Goth", "Gothic", "Gran", "Grantha", "Grek", "Greek", "Gujr", "Gujarati", "Guru", "Gurmukhi", "Hang", "Hangul", "Hani", "Han", "Hano", "Hanunoo", "Hatr", "Hatran", "Hebr", "Hebrew", "Hira", "Hiragana", "Hluw", "Anatolian_Hieroglyphs", "Hmng", "Pahawh_Hmong", "Hmnp", "Nyiakeng_Puachue_Hmong", "Hrkt", "Katakana_Or_Hiragana", "Hung", "Old_Hungarian", "Ital", "Old_Italic", "Java", "Javanese", "Kali", "Kayah_Li", "Kana", "Katakana", "Kawi", "Khar", "Kharoshthi", "Khmr", "Khmer", "Khoj", "Khojki", "Kits", "Khitan_Small_Script", "Knda", "Kannada", "Kthi", "Kaithi", "Lana", "Tai_Tham", "Laoo", "Lao", "Latn", "Latin", "Lepc", "Lepcha", "Limb", "Limbu", "Lina", "Linear_A", "Linb", "Linear_B", "Lisu", "Lyci", "Lycian", "Lydi", "Lydian", "Mahj", "Mahajani", "Maka", "Makasar", "Mand", "Mandaic", "Mani", "Manichaean", "Marc", "Marchen", "Medf", "Medefaidrin", "Mend", "Mende_Kikakui", "Merc", "Meroitic_Cursive", "Mero", "Meroitic_Hieroglyphs", "Mlym", "Malayalam", "Modi", "Mong", "Mongolian", "Mroo", "Mro", "Mtei", "Meetei_Mayek", "Mult", "Multani", "Mymr", "Myanmar", "Nagm", "Nag_Mundari", "Nand", "Nandinagari", "Narb", "Old_North_Arabian", "Nbat", "Nabataean", "Newa", "Nkoo", "Nko", "Nshu", "Nushu", "Ogam", "Ogham", "Olck", "Ol_Chiki", "Orkh", "Old_Turkic", "Orya", "Oriya", "Osge", "Osage", "Osma", "Osmanya", "Ougr", "Old_Uyghur", "Palm", "Palmyrene", "Pauc", "Pau_Cin_Hau", "Perm", "Old_Permic", "Phag", "Phags_Pa", "Phli", "Inscriptional_Pahlavi", "Phlp", "Psalter_Pahlavi", "Phnx", "Phoenician", "Plrd", "Miao", "Prti", "Inscriptional_Parthian", "Rjng", "Rejang", "Rohg", "Hanifi_Rohingya", "Runr", "Runic", "Samr", "Samaritan", "Sarb", "Old_South_Arabian", "Saur", "Saurashtra", "Sgnw", "SignWriting", "Shaw", "Shavian", "Shrd", "Sharada", "Sidd", "Siddham", "Sind", "Khudawadi", "Sinh", "Sinhala", "Sogd", "Sogdian", "Sogo", "Old_Sogdian", "Sora", "Sora_Sompeng", "Soyo", "Soyombo", "Sund", "Sundanese", "Sylo", "Syloti_Nagri", "Syrc", "Syriac", "Tagb", "Tagbanwa", "Takr", "Takri", "Tale", "Tai_Le", "Talu", "New_Tai_Lue", "Taml", "Tamil", "Tang", "Tangut", "Tavt", "Tai_Viet", "Telu", "Telugu", "Tfng", "Tifinagh", "Tglg", "Tagalog", "Thaa", "Thaana", "Thai", "Tibt", "Tibetan", "Tirh", "Tirhuta", "Tnsa", "Tangsa", "Toto", "Ugar", "Ugaritic", "Vaii", "Vai", "Vith", "Vithkuqi", "Wara", "Warang_Citi", "Wcho", "Wancho", "Xpeo", "Old_Persian", "Xsux", "Cuneiform", "Yezi", "Yezidi", "Yiii", "Yi", "Zanb", "Zanabazar_Square", "Zinh", "Inherited", "Qaai", "Zyyy", "Common", "Zzzz", "Unknown"]),
        Script_Extensions: void 0
      };
      jP.Script_Extensions = jP.Script;
      function Cl(e) {
        return ff(e) || V_(e);
      }
      function DC(e) {
        return n4(e, oD, M5);
      }
      var LY = /* @__PURE__ */ new Map([
        [99, "lib.esnext.full.d.ts"],
        [11, "lib.es2024.full.d.ts"],
        [10, "lib.es2023.full.d.ts"],
        [9, "lib.es2022.full.d.ts"],
        [8, "lib.es2021.full.d.ts"],
        [7, "lib.es2020.full.d.ts"],
        [6, "lib.es2019.full.d.ts"],
        [5, "lib.es2018.full.d.ts"],
        [4, "lib.es2017.full.d.ts"],
        [3, "lib.es2016.full.d.ts"],
        [2, "lib.es6.d.ts"]
        // We don't use lib.es2015.full.d.ts due to breaking change.
      ]);
      function BP(e) {
        const t = ga(e);
        switch (t) {
          case 99:
          case 11:
          case 10:
          case 9:
          case 8:
          case 7:
          case 6:
          case 5:
          case 4:
          case 3:
          case 2:
            return LY.get(t);
          default:
            return "lib.d.ts";
        }
      }
      function Ko(e) {
        return e.start + e.length;
      }
      function MY(e) {
        return e.length === 0;
      }
      function bj(e, t) {
        return t >= e.start && t < Ko(e);
      }
      function JP(e, t) {
        return t >= e.pos && t <= e.end;
      }
      function RY(e, t) {
        return t.start >= e.start && Ko(t) <= Ko(e);
      }
      function Sj(e, t) {
        return t.pos >= e.start && t.end <= Ko(e);
      }
      function jY(e, t) {
        return t.start >= e.pos && Ko(t) <= e.end;
      }
      function Hge(e, t) {
        return BY(e, t) !== void 0;
      }
      function BY(e, t) {
        const n = VY(e, t);
        return n && n.length === 0 ? void 0 : n;
      }
      function JY(e, t) {
        return WP(e.start, e.length, t.start, t.length);
      }
      function zP(e, t, n) {
        return WP(e.start, e.length, t, n);
      }
      function WP(e, t, n, i) {
        const s = e + t, o = n + i;
        return n <= s && o >= e;
      }
      function zY(e, t) {
        return t <= Ko(e) && t >= e.start;
      }
      function WY(e, t) {
        return zP(t, e.pos, e.end - e.pos);
      }
      function VY(e, t) {
        const n = Math.max(e.start, t.start), i = Math.min(Ko(e), Ko(t));
        return n <= i ? wc(n, i) : void 0;
      }
      function Tj(e) {
        e = e.filter((i) => i.length > 0).sort((i, s) => i.start !== s.start ? i.start - s.start : i.length - s.length);
        const t = [];
        let n = 0;
        for (; n < e.length; ) {
          let i = e[n], s = n + 1;
          for (; s < e.length && JY(i, e[s]); ) {
            const o = Math.min(i.start, e[s].start), c = Math.max(Ko(i), Ko(e[s]));
            i = wc(o, c), s++;
          }
          n = s, t.push(i);
        }
        return t;
      }
      function Gl(e, t) {
        if (e < 0)
          throw new Error("start < 0");
        if (t < 0)
          throw new Error("length < 0");
        return { start: e, length: t };
      }
      function wc(e, t) {
        return Gl(e, t - e);
      }
      function S4(e) {
        return Gl(e.span.start, e.newLength);
      }
      function UY(e) {
        return MY(e.span) && e.newLength === 0;
      }
      function VP(e, t) {
        if (t < 0)
          throw new Error("newLength < 0");
        return { span: e, newLength: t };
      }
      var l7 = VP(Gl(0, 0), 0);
      function qY(e) {
        if (e.length === 0)
          return l7;
        if (e.length === 1)
          return e[0];
        const t = e[0];
        let n = t.span.start, i = Ko(t.span), s = n + t.newLength;
        for (let o = 1; o < e.length; o++) {
          const c = e[o], _ = n, u = i, g = s, m = c.span.start, h = Ko(c.span), S = m + c.newLength;
          n = Math.min(_, m), i = Math.max(u, u + (h - g)), s = Math.max(S, S + (g - h));
        }
        return VP(
          wc(n, i),
          /*newLength*/
          s - n
        );
      }
      function Gge(e) {
        if (e && e.kind === 168) {
          for (let t = e; t; t = t.parent)
            if (Ts(t) || Xn(t) || t.kind === 264)
              return t;
        }
      }
      function U_(e, t) {
        return Ni(e) && qn(
          e,
          31
          /* ParameterPropertyModifier */
        ) && t.kind === 176;
      }
      function HY(e) {
        return Ps(e) ? Pi(e.elements, GY) : !1;
      }
      function GY(e) {
        return vl(e) ? !0 : HY(e.name);
      }
      function KT(e) {
        let t = e.parent;
        for (; ya(t.parent); )
          t = t.parent.parent;
        return t.parent;
      }
      function $Y(e, t) {
        ya(e) && (e = KT(e));
        let n = t(e);
        return e.kind === 260 && (e = e.parent), e && e.kind === 261 && (n |= t(e), e = e.parent), e && e.kind === 243 && (n |= t(e)), n;
      }
      function W1(e) {
        return $Y(e, Lu);
      }
      function xj(e) {
        return $Y(e, qK);
      }
      function Ch(e) {
        return $Y(e, MFe);
      }
      function MFe(e) {
        return e.flags;
      }
      var XY = ["cs", "de", "es", "fr", "it", "ja", "ko", "pl", "pt-br", "ru", "tr", "zh-cn", "zh-tw"];
      function kj(e, t, n) {
        const i = e.toLowerCase(), s = /^([a-z]+)(?:[_-]([a-z]+))?$/.exec(i);
        if (!s) {
          n && n.push($o(p.Locale_must_be_of_the_form_language_or_language_territory_For_example_0_or_1, "en", "ja-jp"));
          return;
        }
        const o = s[1], c = s[2];
        _s(XY, i) && !_(o, c, n) && _(
          o,
          /*territory*/
          void 0,
          n
        ), rQ(e);
        function _(u, g, m) {
          const h = Gs(t.getExecutingFilePath()), S = Un(h);
          let T = An(S, u);
          if (g && (T = T + "-" + g), T = t.resolvePath(An(T, "diagnosticMessages.generated.json")), !t.fileExists(T))
            return !1;
          let k = "";
          try {
            k = t.readFile(T);
          } catch {
            return m && m.push($o(p.Unable_to_open_file_0, T)), !1;
          }
          try {
            uee(JSON.parse(k));
          } catch {
            return m && m.push($o(p.Corrupted_locale_file_0, T)), !1;
          }
          return !0;
        }
      }
      function Vo(e, t) {
        if (e)
          for (; e.original !== void 0; )
            e = e.original;
        return !e || !t || t(e) ? e : void 0;
      }
      function _r(e, t) {
        for (; e; ) {
          const n = t(e);
          if (n === "quit")
            return;
          if (n)
            return e;
          e = e.parent;
        }
      }
      function T4(e) {
        return (e.flags & 16) === 0;
      }
      function ds(e, t) {
        if (e === void 0 || T4(e))
          return e;
        for (e = e.original; e; ) {
          if (T4(e))
            return !t || t(e) ? e : void 0;
          e = e.original;
        }
      }
      function ec(e) {
        return e.length >= 2 && e.charCodeAt(0) === 95 && e.charCodeAt(1) === 95 ? "_" + e : e;
      }
      function Ei(e) {
        const t = e;
        return t.length >= 3 && t.charCodeAt(0) === 95 && t.charCodeAt(1) === 95 && t.charCodeAt(2) === 95 ? t.substr(1) : t;
      }
      function Pn(e) {
        return Ei(e.escapedText);
      }
      function sS(e) {
        const t = iS(e.escapedText);
        return t ? Mn(t, p_) : void 0;
      }
      function bc(e) {
        return e.valueDeclaration && Iu(e.valueDeclaration) ? Pn(e.valueDeclaration.name) : Ei(e.escapedName);
      }
      function $ge(e) {
        const t = e.parent.parent;
        if (t) {
          if (Dl(t))
            return Cj(t);
          switch (t.kind) {
            case 243:
              if (t.declarationList && t.declarationList.declarations[0])
                return Cj(t.declarationList.declarations[0]);
              break;
            case 244:
              let n = t.expression;
              switch (n.kind === 226 && n.operatorToken.kind === 64 && (n = n.left), n.kind) {
                case 211:
                  return n.name;
                case 212:
                  const i = n.argumentExpression;
                  if (Fe(i))
                    return i;
              }
              break;
            case 217:
              return Cj(t.expression);
            case 256: {
              if (Dl(t.statement) || lt(t.statement))
                return Cj(t.statement);
              break;
            }
          }
        }
      }
      function Cj(e) {
        const t = ls(e);
        return t && Fe(t) ? t : void 0;
      }
      function UP(e, t) {
        return !!(El(e) && Fe(e.name) && Pn(e.name) === Pn(t) || Sc(e) && at(e.declarationList.declarations, (n) => UP(n, t)));
      }
      function QY(e) {
        return e.name || $ge(e);
      }
      function El(e) {
        return !!e.name;
      }
      function u7(e) {
        switch (e.kind) {
          case 80:
            return e;
          case 348:
          case 341: {
            const { name: n } = e;
            if (n.kind === 166)
              return n.right;
            break;
          }
          case 213:
          case 226: {
            const n = e;
            switch (Pc(n)) {
              case 1:
              case 4:
              case 5:
              case 3:
                return a5(n.left);
              case 7:
              case 8:
              case 9:
                return n.arguments[1];
              default:
                return;
            }
          }
          case 346:
            return QY(e);
          case 340:
            return $ge(e);
          case 277: {
            const { expression: n } = e;
            return Fe(n) ? n : void 0;
          }
          case 212:
            const t = e;
            if (s5(t))
              return t.argumentExpression;
        }
        return e.name;
      }
      function ls(e) {
        if (e !== void 0)
          return u7(e) || (ho(e) || Co(e) || Kc(e) ? _7(e) : void 0);
      }
      function _7(e) {
        if (e.parent) {
          if (tl(e.parent) || ya(e.parent))
            return e.parent.name;
          if (_n(e.parent) && e === e.parent.right) {
            if (Fe(e.parent.left))
              return e.parent.left;
            if (ko(e.parent.left))
              return a5(e.parent.left);
          } else if (Zn(e.parent) && Fe(e.parent.name))
            return e.parent.name;
        } else return;
      }
      function Fy(e) {
        if (Pf(e))
          return Tn(e.modifiers, yl);
      }
      function yb(e) {
        if (qn(
          e,
          98303
          /* Modifier */
        ))
          return Tn(e.modifiers, Ks);
      }
      function Xge(e, t) {
        if (e.name)
          if (Fe(e.name)) {
            const n = e.name.escapedText;
            return p7(e.parent, t).filter((i) => Af(i) && Fe(i.name) && i.name.escapedText === n);
          } else {
            const n = e.parent.parameters.indexOf(e);
            E.assert(n > -1, "Parameters should always be in their parents' parameter list");
            const i = p7(e.parent, t).filter(Af);
            if (n < i.length)
              return [i[n]];
          }
        return Ue;
      }
      function wC(e) {
        return Xge(
          e,
          /*noCache*/
          !1
        );
      }
      function YY(e) {
        return Xge(
          e,
          /*noCache*/
          !0
        );
      }
      function Qge(e, t) {
        const n = e.name.escapedText;
        return p7(e.parent, t).filter((i) => Ip(i) && i.typeParameters.some((s) => s.name.escapedText === n));
      }
      function ZY(e) {
        return Qge(
          e,
          /*noCache*/
          !1
        );
      }
      function KY(e) {
        return Qge(
          e,
          /*noCache*/
          !0
        );
      }
      function eZ(e) {
        return !!kp(e, Af);
      }
      function tZ(e) {
        return kp(e, Gx);
      }
      function rZ(e) {
        return d7(e, NF);
      }
      function Ej(e) {
        return kp(e, Bte);
      }
      function Yge(e) {
        return kp(e, fz);
      }
      function nZ(e) {
        return kp(
          e,
          fz,
          /*noCache*/
          !0
        );
      }
      function Zge(e) {
        return kp(e, pz);
      }
      function iZ(e) {
        return kp(
          e,
          pz,
          /*noCache*/
          !0
        );
      }
      function Kge(e) {
        return kp(e, dz);
      }
      function sZ(e) {
        return kp(
          e,
          dz,
          /*noCache*/
          !0
        );
      }
      function ehe(e) {
        return kp(e, mz);
      }
      function aZ(e) {
        return kp(
          e,
          mz,
          /*noCache*/
          !0
        );
      }
      function oZ(e) {
        return kp(
          e,
          wF,
          /*noCache*/
          !0
        );
      }
      function Dj(e) {
        return kp(e, gz);
      }
      function cZ(e) {
        return kp(
          e,
          gz,
          /*noCache*/
          !0
        );
      }
      function wj(e) {
        return kp(e, NN);
      }
      function f7(e) {
        return kp(e, hz);
      }
      function lZ(e) {
        return kp(e, PF);
      }
      function the(e) {
        return kp(e, Ip);
      }
      function Pj(e) {
        return kp(e, AF);
      }
      function V1(e) {
        const t = kp(e, RD);
        if (t && t.typeExpression && t.typeExpression.type)
          return t;
      }
      function Oy(e) {
        let t = kp(e, RD);
        return !t && Ni(e) && (t = Dn(wC(e), (n) => !!n.typeExpression)), t && t.typeExpression && t.typeExpression.type;
      }
      function qP(e) {
        const t = lZ(e);
        if (t && t.typeExpression)
          return t.typeExpression.type;
        const n = V1(e);
        if (n && n.typeExpression) {
          const i = n.typeExpression.type;
          if (Yu(i)) {
            const s = Dn(i.members, Bx);
            return s && s.type;
          }
          if (Ym(i) || v6(i))
            return i.type;
        }
      }
      function p7(e, t) {
        var n;
        if (!L3(e)) return Ue;
        let i = (n = e.jsDoc) == null ? void 0 : n.jsDocCache;
        if (i === void 0 || t) {
          const s = xB(e, t);
          E.assert(s.length < 2 || s[0] !== s[1]), i = oa(s, (o) => bd(o) ? o.tags : o), t || (e.jsDoc ?? (e.jsDoc = []), e.jsDoc.jsDocCache = i);
        }
        return i;
      }
      function U1(e) {
        return p7(
          e,
          /*noCache*/
          !1
        );
      }
      function kp(e, t, n) {
        return Dn(p7(e, n), t);
      }
      function d7(e, t) {
        return U1(e).filter(t);
      }
      function rhe(e, t) {
        return U1(e).filter((n) => n.kind === t);
      }
      function HP(e) {
        return typeof e == "string" ? e : e?.map((t) => t.kind === 321 ? t.text : RFe(t)).join("");
      }
      function RFe(e) {
        const t = e.kind === 324 ? "link" : e.kind === 325 ? "linkcode" : "linkplain", n = e.name ? q_(e.name) : "", i = e.name && (e.text === "" || e.text.startsWith("://")) ? "" : " ";
        return `{@${t} ${n}${i}${e.text}}`;
      }
      function Ly(e) {
        if (I0(e)) {
          if (b6(e.parent)) {
            const t = GC(e.parent);
            if (t && Ar(t.tags))
              return oa(t.tags, (n) => Ip(n) ? n.typeParameters : void 0);
          }
          return Ue;
        }
        if (Dp(e))
          return E.assert(
            e.parent.kind === 320
            /* JSDoc */
          ), oa(e.parent.tags, (t) => Ip(t) ? t.typeParameters : void 0);
        if (e.typeParameters || Yte(e) && e.typeParameters)
          return e.typeParameters;
        if (tn(e)) {
          const t = T5(e);
          if (t.length)
            return t;
          const n = Oy(e);
          if (n && Ym(n) && n.typeParameters)
            return n.typeParameters;
        }
        return Ue;
      }
      function PC(e) {
        return e.constraint ? e.constraint : Ip(e.parent) && e === e.parent.typeParameters[0] ? e.parent.constraint : void 0;
      }
      function Ng(e) {
        return e.kind === 80 || e.kind === 81;
      }
      function GP(e) {
        return e.kind === 178 || e.kind === 177;
      }
      function m7(e) {
        return kn(e) && !!(e.flags & 64);
      }
      function Nj(e) {
        return fo(e) && !!(e.flags & 64);
      }
      function aS(e) {
        return Ms(e) && !!(e.flags & 64);
      }
      function hu(e) {
        const t = e.kind;
        return !!(e.flags & 64) && (t === 211 || t === 212 || t === 213 || t === 235);
      }
      function x4(e) {
        return hu(e) && !Ux(e) && !!e.questionDotToken;
      }
      function g7(e) {
        return x4(e.parent) && e.parent.expression === e;
      }
      function k4(e) {
        return !hu(e.parent) || x4(e.parent) || e !== e.parent.expression;
      }
      function Aj(e) {
        return e.kind === 226 && e.operatorToken.kind === 61;
      }
      function Up(e) {
        return X_(e) && Fe(e.typeName) && e.typeName.escapedText === "const" && !e.typeArguments;
      }
      function qp(e) {
        return xc(
          e,
          8
          /* PartiallyEmittedExpressions */
        );
      }
      function h7(e) {
        return Ux(e) && !!(e.flags & 64);
      }
      function C4(e) {
        return e.kind === 252 || e.kind === 251;
      }
      function Ij(e) {
        return e.kind === 280 || e.kind === 279;
      }
      function E4(e) {
        return e.kind === 348 || e.kind === 341;
      }
      function y7(e) {
        return e >= 166;
      }
      function Fj(e) {
        return e >= 0 && e <= 165;
      }
      function ex(e) {
        return Fj(e.kind);
      }
      function vb(e) {
        return ao(e, "pos") && ao(e, "end");
      }
      function D4(e) {
        return 9 <= e && e <= 15;
      }
      function oS(e) {
        return D4(e.kind);
      }
      function Oj(e) {
        switch (e.kind) {
          case 210:
          case 209:
          case 14:
          case 218:
          case 231:
            return !0;
        }
        return !1;
      }
      function My(e) {
        return 15 <= e && e <= 18;
      }
      function uZ(e) {
        return My(e.kind);
      }
      function v7(e) {
        const t = e.kind;
        return t === 17 || t === 18;
      }
      function Ry(e) {
        return Bu(e) || bu(e);
      }
      function NC(e) {
        switch (e.kind) {
          case 276:
            return e.isTypeOnly || e.parent.parent.isTypeOnly;
          case 274:
            return e.parent.isTypeOnly;
          case 273:
          case 271:
            return e.isTypeOnly;
        }
        return !1;
      }
      function _Z(e) {
        switch (e.kind) {
          case 281:
            return e.isTypeOnly || e.parent.parent.isTypeOnly;
          case 278:
            return e.isTypeOnly && !!e.moduleSpecifier && !e.exportClause;
          case 280:
            return e.parent.isTypeOnly;
        }
        return !1;
      }
      function h0(e) {
        return NC(e) || _Z(e);
      }
      function fZ(e) {
        return _r(e, h0) !== void 0;
      }
      function Lj(e) {
        return e.kind === 11 || My(e.kind);
      }
      function pZ(e) {
        return la(e) || Fe(e);
      }
      function Mo(e) {
        var t;
        return Fe(e) && ((t = e.emitNode) == null ? void 0 : t.autoGenerate) !== void 0;
      }
      function cS(e) {
        var t;
        return Di(e) && ((t = e.emitNode) == null ? void 0 : t.autoGenerate) !== void 0;
      }
      function $P(e) {
        const t = e.emitNode.autoGenerate.flags;
        return !!(t & 32) && !!(t & 16) && !!(t & 8);
      }
      function Iu(e) {
        return (is(e) || rx(e)) && Di(e.name);
      }
      function AC(e) {
        return kn(e) && Di(e.name);
      }
      function jy(e) {
        switch (e) {
          case 128:
          case 129:
          case 134:
          case 87:
          case 138:
          case 90:
          case 95:
          case 103:
          case 125:
          case 123:
          case 124:
          case 148:
          case 126:
          case 147:
          case 164:
            return !0;
        }
        return !1;
      }
      function w4(e) {
        return !!(bx(e) & 31);
      }
      function Mj(e) {
        return w4(e) || e === 126 || e === 164 || e === 129;
      }
      function Ks(e) {
        return jy(e.kind);
      }
      function Gu(e) {
        const t = e.kind;
        return t === 166 || t === 80;
      }
      function Bc(e) {
        const t = e.kind;
        return t === 80 || t === 81 || t === 11 || t === 9 || t === 167;
      }
      function lS(e) {
        const t = e.kind;
        return t === 80 || t === 206 || t === 207;
      }
      function Ts(e) {
        return !!e && tx(e.kind);
      }
      function IC(e) {
        return !!e && (tx(e.kind) || hc(e));
      }
      function uo(e) {
        return e && nhe(e.kind);
      }
      function P4(e) {
        return e.kind === 112 || e.kind === 97;
      }
      function nhe(e) {
        switch (e) {
          case 262:
          case 174:
          case 176:
          case 177:
          case 178:
          case 218:
          case 219:
            return !0;
          default:
            return !1;
        }
      }
      function tx(e) {
        switch (e) {
          case 173:
          case 179:
          case 323:
          case 180:
          case 181:
          case 184:
          case 317:
          case 185:
            return !0;
          default:
            return nhe(e);
        }
      }
      function Rj(e) {
        return xi(e) || om(e) || Cs(e) && Ts(e.parent);
      }
      function Jc(e) {
        const t = e.kind;
        return t === 176 || t === 172 || t === 174 || t === 177 || t === 178 || t === 181 || t === 175 || t === 240;
      }
      function Xn(e) {
        return e && (e.kind === 263 || e.kind === 231);
      }
      function By(e) {
        return e && (e.kind === 177 || e.kind === 178);
      }
      function u_(e) {
        return is(e) && tm(e);
      }
      function dZ(e) {
        return tn(e) && Ix(e) ? (!Pb(e) || !Qy(e.expression)) && !yS(
          e,
          /*excludeThisKeyword*/
          !0
        ) : e.parent && Xn(e.parent) && is(e) && !tm(e);
      }
      function rx(e) {
        switch (e.kind) {
          case 174:
          case 177:
          case 178:
            return !0;
          default:
            return !1;
        }
      }
      function Ro(e) {
        return Ks(e) || yl(e);
      }
      function bb(e) {
        const t = e.kind;
        return t === 180 || t === 179 || t === 171 || t === 173 || t === 181 || t === 177 || t === 178 || t === 354;
      }
      function b7(e) {
        return bb(e) || Jc(e);
      }
      function Eh(e) {
        const t = e.kind;
        return t === 303 || t === 304 || t === 305 || t === 174 || t === 177 || t === 178;
      }
      function si(e) {
        return _J(e.kind);
      }
      function mZ(e) {
        switch (e.kind) {
          case 184:
          case 185:
            return !0;
        }
        return !1;
      }
      function Ps(e) {
        if (e) {
          const t = e.kind;
          return t === 207 || t === 206;
        }
        return !1;
      }
      function N4(e) {
        const t = e.kind;
        return t === 209 || t === 210;
      }
      function S7(e) {
        const t = e.kind;
        return t === 208 || t === 232;
      }
      function XP(e) {
        switch (e.kind) {
          case 260:
          case 169:
          case 208:
            return !0;
        }
        return !1;
      }
      function gZ(e) {
        return Zn(e) || Ni(e) || YP(e) || ZP(e);
      }
      function QP(e) {
        return jj(e) || Bj(e);
      }
      function jj(e) {
        switch (e.kind) {
          case 206:
          case 210:
            return !0;
        }
        return !1;
      }
      function YP(e) {
        switch (e.kind) {
          case 208:
          case 303:
          // AssignmentProperty
          case 304:
          // AssignmentProperty
          case 305:
            return !0;
        }
        return !1;
      }
      function Bj(e) {
        switch (e.kind) {
          case 207:
          case 209:
            return !0;
        }
        return !1;
      }
      function ZP(e) {
        switch (e.kind) {
          case 208:
          case 232:
          // Elision
          case 230:
          // AssignmentRestElement
          case 209:
          // ArrayAssignmentPattern
          case 210:
          // ObjectAssignmentPattern
          case 80:
          // DestructuringAssignmentTarget
          case 211:
          // DestructuringAssignmentTarget
          case 212:
            return !0;
        }
        return wl(
          e,
          /*excludeCompoundAssignment*/
          !0
        );
      }
      function hZ(e) {
        const t = e.kind;
        return t === 211 || t === 166 || t === 205;
      }
      function KP(e) {
        const t = e.kind;
        return t === 211 || t === 166;
      }
      function Jj(e) {
        return Sb(e) || Ky(e);
      }
      function Sb(e) {
        switch (e.kind) {
          case 213:
          case 214:
          case 215:
          case 170:
          case 286:
          case 285:
          case 289:
            return !0;
          case 226:
            return e.operatorToken.kind === 104;
          default:
            return !1;
        }
      }
      function Gd(e) {
        return e.kind === 213 || e.kind === 214;
      }
      function nx(e) {
        const t = e.kind;
        return t === 228 || t === 15;
      }
      function __(e) {
        return ihe(qp(e).kind);
      }
      function ihe(e) {
        switch (e) {
          case 211:
          case 212:
          case 214:
          case 213:
          case 284:
          case 285:
          case 288:
          case 215:
          case 209:
          case 217:
          case 210:
          case 231:
          case 218:
          case 80:
          case 81:
          // technically this is only an Expression if it's in a `#field in expr` BinaryExpression
          case 14:
          case 9:
          case 10:
          case 11:
          case 15:
          case 228:
          case 97:
          case 106:
          case 110:
          case 112:
          case 108:
          case 235:
          case 233:
          case 236:
          case 102:
          // technically this is only an Expression if it's in a CallExpression
          case 282:
            return !0;
          default:
            return !1;
        }
      }
      function zj(e) {
        return she(qp(e).kind);
      }
      function she(e) {
        switch (e) {
          case 224:
          case 225:
          case 220:
          case 221:
          case 222:
          case 223:
          case 216:
            return !0;
          default:
            return ihe(e);
        }
      }
      function yZ(e) {
        switch (e.kind) {
          case 225:
            return !0;
          case 224:
            return e.operator === 46 || e.operator === 47;
          default:
            return !1;
        }
      }
      function vZ(e) {
        switch (e.kind) {
          case 106:
          case 112:
          case 97:
          case 224:
            return !0;
          default:
            return oS(e);
        }
      }
      function lt(e) {
        return jFe(qp(e).kind);
      }
      function jFe(e) {
        switch (e) {
          case 227:
          case 229:
          case 219:
          case 226:
          case 230:
          case 234:
          case 232:
          case 356:
          case 355:
          case 238:
            return !0;
          default:
            return she(e);
        }
      }
      function Tb(e) {
        const t = e.kind;
        return t === 216 || t === 234;
      }
      function Jy(e, t) {
        switch (e.kind) {
          case 248:
          case 249:
          case 250:
          case 246:
          case 247:
            return !0;
          case 256:
            return t && Jy(e.statement, t);
        }
        return !1;
      }
      function BFe(e) {
        return Oo(e) || Oc(e);
      }
      function bZ(e) {
        return at(e, BFe);
      }
      function T7(e) {
        return !l3(e) && !Oo(e) && !qn(
          e,
          32
          /* Export */
        ) && !Fu(e);
      }
      function e3(e) {
        return l3(e) || Oo(e) || qn(
          e,
          32
          /* Export */
        );
      }
      function uS(e) {
        return e.kind === 249 || e.kind === 250;
      }
      function x7(e) {
        return Cs(e) || lt(e);
      }
      function Wj(e) {
        return Cs(e);
      }
      function Yf(e) {
        return zl(e) || lt(e);
      }
      function SZ(e) {
        const t = e.kind;
        return t === 268 || t === 267 || t === 80;
      }
      function ahe(e) {
        const t = e.kind;
        return t === 268 || t === 267;
      }
      function ohe(e) {
        const t = e.kind;
        return t === 80 || t === 267;
      }
      function Vj(e) {
        const t = e.kind;
        return t === 275 || t === 274;
      }
      function t3(e) {
        return e.kind === 267 || e.kind === 266;
      }
      function fd(e) {
        switch (e.kind) {
          case 219:
          case 226:
          case 208:
          case 213:
          case 179:
          case 263:
          case 231:
          case 175:
          case 176:
          case 185:
          case 180:
          case 212:
          case 266:
          case 306:
          case 277:
          case 278:
          case 281:
          case 262:
          case 218:
          case 184:
          case 177:
          case 80:
          case 273:
          case 271:
          case 276:
          case 181:
          case 264:
          case 338:
          case 340:
          case 317:
          case 341:
          case 348:
          case 323:
          case 346:
          case 322:
          case 291:
          case 292:
          case 293:
          case 200:
          case 174:
          case 173:
          case 267:
          case 202:
          case 280:
          case 270:
          case 274:
          case 214:
          case 15:
          case 9:
          case 210:
          case 169:
          case 211:
          case 303:
          case 172:
          case 171:
          case 178:
          case 304:
          case 307:
          case 305:
          case 11:
          case 265:
          case 187:
          case 168:
          case 260:
            return !0;
          default:
            return !1;
        }
      }
      function qm(e) {
        switch (e.kind) {
          case 219:
          case 241:
          case 179:
          case 269:
          case 299:
          case 175:
          case 194:
          case 176:
          case 185:
          case 180:
          case 248:
          case 249:
          case 250:
          case 262:
          case 218:
          case 184:
          case 177:
          case 181:
          case 338:
          case 340:
          case 317:
          case 323:
          case 346:
          case 200:
          case 174:
          case 173:
          case 267:
          case 178:
          case 307:
          case 265:
            return !0;
          default:
            return !1;
        }
      }
      function JFe(e) {
        return e === 219 || e === 208 || e === 263 || e === 231 || e === 175 || e === 176 || e === 266 || e === 306 || e === 281 || e === 262 || e === 218 || e === 177 || e === 273 || e === 271 || e === 276 || e === 264 || e === 291 || e === 174 || e === 173 || e === 267 || e === 270 || e === 274 || e === 280 || e === 169 || e === 303 || e === 172 || e === 171 || e === 178 || e === 304 || e === 265 || e === 168 || e === 260 || e === 346 || e === 338 || e === 348 || e === 202;
      }
      function TZ(e) {
        return e === 262 || e === 282 || e === 263 || e === 264 || e === 265 || e === 266 || e === 267 || e === 272 || e === 271 || e === 278 || e === 277 || e === 270;
      }
      function xZ(e) {
        return e === 252 || e === 251 || e === 259 || e === 246 || e === 244 || e === 242 || e === 249 || e === 250 || e === 248 || e === 245 || e === 256 || e === 253 || e === 255 || e === 257 || e === 258 || e === 243 || e === 247 || e === 254 || e === 353;
      }
      function Dl(e) {
        return e.kind === 168 ? e.parent && e.parent.kind !== 345 || tn(e) : JFe(e.kind);
      }
      function kZ(e) {
        return TZ(e.kind);
      }
      function r3(e) {
        return xZ(e.kind);
      }
      function yi(e) {
        const t = e.kind;
        return xZ(t) || TZ(t) || zFe(e);
      }
      function zFe(e) {
        return e.kind !== 241 || e.parent !== void 0 && (e.parent.kind === 258 || e.parent.kind === 299) ? !1 : !Eb(e);
      }
      function CZ(e) {
        const t = e.kind;
        return xZ(t) || TZ(t) || t === 241;
      }
      function EZ(e) {
        const t = e.kind;
        return t === 283 || t === 166 || t === 80;
      }
      function A4(e) {
        const t = e.kind;
        return t === 110 || t === 80 || t === 211 || t === 295;
      }
      function n3(e) {
        const t = e.kind;
        return t === 284 || t === 294 || t === 285 || t === 12 || t === 288;
      }
      function k7(e) {
        const t = e.kind;
        return t === 291 || t === 293;
      }
      function DZ(e) {
        const t = e.kind;
        return t === 11 || t === 294;
      }
      function yu(e) {
        const t = e.kind;
        return t === 286 || t === 285;
      }
      function wZ(e) {
        const t = e.kind;
        return t === 286 || t === 285 || t === 289;
      }
      function C7(e) {
        const t = e.kind;
        return t === 296 || t === 297;
      }
      function FC(e) {
        return e.kind >= 309 && e.kind <= 351;
      }
      function E7(e) {
        return e.kind === 320 || e.kind === 319 || e.kind === 321 || ix(e) || OC(e) || RS(e) || I0(e);
      }
      function OC(e) {
        return e.kind >= 327 && e.kind <= 351;
      }
      function $d(e) {
        return e.kind === 178;
      }
      function Ag(e) {
        return e.kind === 177;
      }
      function pf(e) {
        if (!L3(e)) return !1;
        const { jsDoc: t } = e;
        return !!t && t.length > 0;
      }
      function D7(e) {
        return !!e.type;
      }
      function y0(e) {
        return !!e.initializer;
      }
      function _S(e) {
        switch (e.kind) {
          case 260:
          case 169:
          case 208:
          case 172:
          case 303:
          case 306:
            return !0;
          default:
            return !1;
        }
      }
      function Uj(e) {
        return e.kind === 291 || e.kind === 293 || Eh(e);
      }
      function w7(e) {
        return e.kind === 183 || e.kind === 233;
      }
      var che = 1073741823;
      function PZ(e) {
        let t = che;
        for (const n of e) {
          if (!n.length)
            continue;
          let i = 0;
          for (; i < n.length && i < t && Dg(n.charCodeAt(i)); i++)
            ;
          if (i < t && (t = i), t === 0)
            return 0;
        }
        return t === che ? void 0 : t;
      }
      function Ba(e) {
        return e.kind === 11 || e.kind === 15;
      }
      function ix(e) {
        return e.kind === 324 || e.kind === 325 || e.kind === 326;
      }
      function qj(e) {
        const t = Po(e.parameters);
        return !!t && Hm(t);
      }
      function Hm(e) {
        const t = Af(e) ? e.typeExpression && e.typeExpression.type : e.type;
        return e.dotDotDotToken !== void 0 || !!t && t.kind === 318;
      }
      function lhe(e, t) {
        return t.text.substring(e.pos, e.end).includes("@internal");
      }
      function NZ(e, t) {
        t ?? (t = Er(e));
        const n = ds(e);
        if (n && n.kind === 169) {
          const s = n.parent.parameters.indexOf(n), o = s > 0 ? n.parent.parameters[s - 1] : void 0, c = t.text, _ = o ? Ji(
            // to handle
            // ... parameters, /** @internal */
            // public param: string
            Iy(c, ca(
              c,
              o.end + 1,
              /*stopAfterLineBreak*/
              !1,
              /*stopAtComments*/
              !0
            )),
            wg(c, e.pos)
          ) : Iy(c, ca(
            c,
            e.pos,
            /*stopAfterLineBreak*/
            !1,
            /*stopAtComments*/
            !0
          ));
          return at(_) && lhe(pa(_), t);
        }
        const i = n && fB(n, t);
        return !!ar(i, (s) => lhe(s, t));
      }
      var Hj = [], zy = "tslib", I4 = 160, Gj = 1e6;
      function jo(e, t) {
        const n = e.declarations;
        if (n) {
          for (const i of n)
            if (i.kind === t)
              return i;
        }
      }
      function AZ(e, t) {
        return Tn(e.declarations || Ue, (n) => n.kind === t);
      }
      function qs(e) {
        const t = /* @__PURE__ */ new Map();
        if (e)
          for (const n of e)
            t.set(n.escapedName, n);
        return t;
      }
      function Ig(e) {
        return (e.flags & 33554432) !== 0;
      }
      function sx(e) {
        return !!(e.flags & 1536) && e.escapedName.charCodeAt(0) === 34;
      }
      var P7 = WFe();
      function WFe() {
        var e = "";
        const t = (n) => e += n;
        return {
          getText: () => e,
          write: t,
          rawWrite: t,
          writeKeyword: t,
          writeOperator: t,
          writePunctuation: t,
          writeSpace: t,
          writeStringLiteral: t,
          writeLiteral: t,
          writeParameter: t,
          writeProperty: t,
          writeSymbol: (n, i) => t(n),
          writeTrailingSemicolon: t,
          writeComment: t,
          getTextPos: () => e.length,
          getLine: () => 0,
          getColumn: () => 0,
          getIndent: () => 0,
          isAtStartOfLine: () => !1,
          hasTrailingComment: () => !1,
          hasTrailingWhitespace: () => !!e.length && Dg(e.charCodeAt(e.length - 1)),
          // Completely ignore indentation for string writers.  And map newlines to
          // a single space.
          writeLine: () => e += " ",
          increaseIndent: Ua,
          decreaseIndent: Ua,
          clear: () => e = ""
        };
      }
      function N7(e, t) {
        return e.configFilePath !== t.configFilePath || VFe(e, t);
      }
      function VFe(e, t) {
        return ax(e, t, Bz);
      }
      function IZ(e, t) {
        return ax(e, t, bre);
      }
      function ax(e, t, n) {
        return e !== t && n.some((i) => !Z5(J5(e, i), J5(t, i)));
      }
      function FZ(e, t) {
        for (; ; ) {
          const n = t(e);
          if (n === "quit") return;
          if (n !== void 0) return n;
          if (xi(e)) return;
          e = e.parent;
        }
      }
      function gl(e, t) {
        const n = e.entries();
        for (const [i, s] of n) {
          const o = t(s, i);
          if (o)
            return o;
        }
      }
      function Fg(e, t) {
        const n = e.keys();
        for (const i of n) {
          const s = t(i);
          if (s)
            return s;
        }
      }
      function A7(e, t) {
        e.forEach((n, i) => {
          t.set(i, n);
        });
      }
      function LC(e) {
        const t = P7.getText();
        try {
          return e(P7), P7.getText();
        } finally {
          P7.clear(), P7.writeKeyword(t);
        }
      }
      function i3(e) {
        return e.end - e.pos;
      }
      function $j(e, t) {
        return e.path === t.path && !e.prepend == !t.prepend && !e.circular == !t.circular;
      }
      function OZ(e, t) {
        return e === t || e.resolvedModule === t.resolvedModule || !!e.resolvedModule && !!t.resolvedModule && e.resolvedModule.isExternalLibraryImport === t.resolvedModule.isExternalLibraryImport && e.resolvedModule.extension === t.resolvedModule.extension && e.resolvedModule.resolvedFileName === t.resolvedModule.resolvedFileName && e.resolvedModule.originalPath === t.resolvedModule.originalPath && UFe(e.resolvedModule.packageId, t.resolvedModule.packageId) && e.alternateResult === t.alternateResult;
      }
      function ox(e) {
        return e.resolvedModule;
      }
      function I7(e) {
        return e.resolvedTypeReferenceDirective;
      }
      function F7(e, t, n, i, s) {
        var o;
        const c = (o = t.getResolvedModule(e, n, i)) == null ? void 0 : o.alternateResult, _ = c && (vu(t.getCompilerOptions()) === 2 ? [p.There_are_types_at_0_but_this_result_could_not_be_resolved_under_your_current_moduleResolution_setting_Consider_updating_to_node16_nodenext_or_bundler, [c]] : [
          p.There_are_types_at_0_but_this_result_could_not_be_resolved_when_respecting_package_json_exports_The_1_library_may_need_to_update_its_package_json_or_typings,
          [c, c.includes($g + "@types/") ? `@types/${I6(s)}` : s]
        ]), u = _ ? vs(
          /*details*/
          void 0,
          _[0],
          ..._[1]
        ) : t.typesPackageExists(s) ? vs(
          /*details*/
          void 0,
          p.If_the_0_package_actually_exposes_this_module_consider_sending_a_pull_request_to_amend_https_Colon_Slash_Slashgithub_com_SlashDefinitelyTyped_SlashDefinitelyTyped_Slashtree_Slashmaster_Slashtypes_Slash_1,
          s,
          I6(s)
        ) : t.packageBundlesTypes(s) ? vs(
          /*details*/
          void 0,
          p.If_the_0_package_actually_exposes_this_module_try_adding_a_new_declaration_d_ts_file_containing_declare_module_1,
          s,
          n
        ) : vs(
          /*details*/
          void 0,
          p.Try_npm_i_save_dev_types_Slash_1_if_it_exists_or_add_a_new_declaration_d_ts_file_containing_declare_module_0,
          n,
          I6(s)
        );
        return u && (u.repopulateInfo = () => ({ moduleReference: n, mode: i, packageName: s === n ? void 0 : s })), u;
      }
      function Xj(e) {
        const t = Vg(e.fileName), n = e.packageJsonScope, i = t === ".ts" ? ".mts" : t === ".js" ? ".mjs" : void 0, s = n && !n.contents.packageJsonContent.type ? i ? vs(
          /*details*/
          void 0,
          p.To_convert_this_file_to_an_ECMAScript_module_change_its_file_extension_to_0_or_add_the_field_type_Colon_module_to_1,
          i,
          An(n.packageDirectory, "package.json")
        ) : vs(
          /*details*/
          void 0,
          p.To_convert_this_file_to_an_ECMAScript_module_add_the_field_type_Colon_module_to_0,
          An(n.packageDirectory, "package.json")
        ) : i ? vs(
          /*details*/
          void 0,
          p.To_convert_this_file_to_an_ECMAScript_module_change_its_file_extension_to_0_or_create_a_local_package_json_file_with_type_Colon_module,
          i
        ) : vs(
          /*details*/
          void 0,
          p.To_convert_this_file_to_an_ECMAScript_module_create_a_local_package_json_file_with_type_Colon_module
        );
        return s.repopulateInfo = () => !0, s;
      }
      function UFe(e, t) {
        return e === t || !!e && !!t && e.name === t.name && e.subModuleName === t.subModuleName && e.version === t.version && e.peerDependencies === t.peerDependencies;
      }
      function O7({ name: e, subModuleName: t }) {
        return t ? `${e}/${t}` : e;
      }
      function q1(e) {
        return `${O7(e)}@${e.version}${e.peerDependencies ?? ""}`;
      }
      function LZ(e, t) {
        return e === t || e.resolvedTypeReferenceDirective === t.resolvedTypeReferenceDirective || !!e.resolvedTypeReferenceDirective && !!t.resolvedTypeReferenceDirective && e.resolvedTypeReferenceDirective.resolvedFileName === t.resolvedTypeReferenceDirective.resolvedFileName && !!e.resolvedTypeReferenceDirective.primary == !!t.resolvedTypeReferenceDirective.primary && e.resolvedTypeReferenceDirective.originalPath === t.resolvedTypeReferenceDirective.originalPath;
      }
      function Qj(e, t, n, i) {
        E.assert(e.length === t.length);
        for (let s = 0; s < e.length; s++) {
          const o = t[s], c = e[s], _ = n(c);
          if (_ ? !o || !i(_, o) : o)
            return !0;
        }
        return !1;
      }
      function cx(e) {
        return qFe(e), (e.flags & 1048576) !== 0;
      }
      function qFe(e) {
        e.flags & 2097152 || (((e.flags & 262144) !== 0 || Ss(e, cx)) && (e.flags |= 1048576), e.flags |= 2097152);
      }
      function Er(e) {
        for (; e && e.kind !== 307; )
          e = e.parent;
        return e;
      }
      function s3(e) {
        return Er(e.valueDeclaration || sB(e));
      }
      function F4(e, t) {
        return !!e && (e.scriptKind === 1 || e.scriptKind === 2) && !e.checkJsDirective && t === void 0;
      }
      function MZ(e) {
        switch (e.kind) {
          case 241:
          case 269:
          case 248:
          case 249:
          case 250:
            return !0;
        }
        return !1;
      }
      function Wy(e, t) {
        return E.assert(e >= 0), Eg(t)[e];
      }
      function uhe(e) {
        const t = Er(e), n = Js(t, e.pos);
        return `${t.fileName}(${n.line + 1},${n.character + 1})`;
      }
      function a3(e, t) {
        E.assert(e >= 0);
        const n = Eg(t), i = e, s = t.text;
        if (i + 1 === n.length)
          return s.length - 1;
        {
          const o = n[i];
          let c = n[i + 1] - 1;
          for (E.assert(gu(s.charCodeAt(c))); o <= c && gu(s.charCodeAt(c)); )
            c--;
          return c;
        }
      }
      function L7(e, t, n) {
        return !(n && n(t)) && !e.identifiers.has(t);
      }
      function cc(e) {
        return e === void 0 ? !0 : e.pos === e.end && e.pos >= 0 && e.kind !== 1;
      }
      function Cp(e) {
        return !cc(e);
      }
      function RZ(e, t) {
        return Fo(e) ? t === e.expression : hc(e) ? t === e.modifiers : ju(e) ? t === e.initializer : is(e) ? t === e.questionToken && u_(e) : tl(e) ? t === e.modifiers || t === e.questionToken || t === e.exclamationToken || o3(e.modifiers, t, Ro) : _u(e) ? t === e.equalsToken || t === e.modifiers || t === e.questionToken || t === e.exclamationToken || o3(e.modifiers, t, Ro) : uc(e) ? t === e.exclamationToken : Xo(e) ? t === e.typeParameters || t === e.type || o3(e.typeParameters, t, Fo) : ap(e) ? t === e.typeParameters || o3(e.typeParameters, t, Fo) : P_(e) ? t === e.typeParameters || t === e.type || o3(e.typeParameters, t, Fo) : PN(e) ? t === e.modifiers || o3(e.modifiers, t, Ro) : !1;
      }
      function o3(e, t, n) {
        return !e || fs(t) || !n(t) ? !1 : _s(e, t);
      }
      function _he(e, t, n) {
        if (t === void 0 || t.length === 0) return e;
        let i = 0;
        for (; i < e.length && n(e[i]); ++i)
          ;
        return e.splice(i, 0, ...t), e;
      }
      function fhe(e, t, n) {
        if (t === void 0) return e;
        let i = 0;
        for (; i < e.length && n(e[i]); ++i)
          ;
        return e.splice(i, 0, t), e;
      }
      function phe(e) {
        return Qd(e) || !!(ka(e) & 2097152);
      }
      function Og(e, t) {
        return _he(e, t, Qd);
      }
      function Yj(e, t) {
        return _he(e, t, phe);
      }
      function dhe(e, t) {
        return fhe(e, t, Qd);
      }
      function fS(e, t) {
        return fhe(e, t, phe);
      }
      function Zj(e, t, n) {
        if (e.charCodeAt(t + 1) === 47 && t + 2 < n && e.charCodeAt(t + 2) === 47) {
          const i = e.substring(t, n);
          return !!(eOe.test(i) || nOe.test(i) || iOe.test(i) || tOe.test(i) || rOe.test(i) || sOe.test(i));
        }
        return !1;
      }
      function M7(e, t) {
        return e.charCodeAt(t + 1) === 42 && e.charCodeAt(t + 2) === 33;
      }
      function jZ(e, t) {
        const n = new Map(
          t.map((c) => [
            `${Js(e, c.range.end).line}`,
            c
          ])
        ), i = /* @__PURE__ */ new Map();
        return { getUnusedExpectations: s, markUsed: o };
        function s() {
          return rs(n.entries()).filter(([c, _]) => _.type === 0 && !i.get(c)).map(([c, _]) => _);
        }
        function o(c) {
          return n.has(`${c}`) ? (i.set(`${c}`, !0), !0) : !1;
        }
      }
      function Vy(e, t, n) {
        if (cc(e))
          return e.pos;
        if (FC(e) || e.kind === 12)
          return ca(
            (t ?? Er(e)).text,
            e.pos,
            /*stopAfterLineBreak*/
            !1,
            /*stopAtComments*/
            !0
          );
        if (n && pf(e))
          return Vy(e.jsDoc[0], t);
        if (e.kind === 352) {
          t ?? (t = Er(e));
          const i = Xc(yz(e, t));
          if (i)
            return Vy(i, t, n);
        }
        return ca(
          (t ?? Er(e)).text,
          e.pos,
          /*stopAfterLineBreak*/
          !1,
          /*stopAtComments*/
          !1,
          T3(e)
        );
      }
      function Kj(e, t) {
        const n = !cc(e) && Fp(e) ? fb(e.modifiers, yl) : void 0;
        return n ? ca((t || Er(e)).text, n.end) : Vy(e, t);
      }
      function BZ(e, t) {
        const n = !cc(e) && Fp(e) && e.modifiers ? pa(e.modifiers) : void 0;
        return n ? ca((t || Er(e)).text, n.end) : Vy(e, t);
      }
      function xb(e, t, n = !1) {
        return O4(e.text, t, n);
      }
      function HFe(e) {
        return !!_r(e, lv);
      }
      function R7(e) {
        return !!(Oc(e) && e.exportClause && Zm(e.exportClause) && Gm(e.exportClause.name));
      }
      function Uy(e) {
        return e.kind === 11 ? e.text : Ei(e.escapedText);
      }
      function kb(e) {
        return e.kind === 11 ? ec(e.text) : e.escapedText;
      }
      function Gm(e) {
        return (e.kind === 11 ? e.text : e.escapedText) === "default";
      }
      function O4(e, t, n = !1) {
        if (cc(t))
          return "";
        let i = e.substring(n ? t.pos : ca(e, t.pos), t.end);
        return HFe(t) && (i = i.split(/\r\n|\n|\r/).map((s) => s.replace(/^\s*\*/, "").trimStart()).join(`
`)), i;
      }
      function Go(e, t = !1) {
        return xb(Er(e), e, t);
      }
      function GFe(e) {
        return e.pos;
      }
      function MC(e, t) {
        return ky(e, t, GFe, go);
      }
      function ka(e) {
        const t = e.emitNode;
        return t && t.flags || 0;
      }
      function Hp(e) {
        const t = e.emitNode;
        return t && t.internalFlags || 0;
      }
      var eB = /* @__PURE__ */ Au(
        () => new Map(Object.entries({
          Array: new Map(Object.entries({
            es2015: [
              "find",
              "findIndex",
              "fill",
              "copyWithin",
              "entries",
              "keys",
              "values"
            ],
            es2016: [
              "includes"
            ],
            es2019: [
              "flat",
              "flatMap"
            ],
            es2022: [
              "at"
            ],
            es2023: [
              "findLastIndex",
              "findLast",
              "toReversed",
              "toSorted",
              "toSpliced",
              "with"
            ]
          })),
          Iterator: new Map(Object.entries({
            es2015: Ue
          })),
          AsyncIterator: new Map(Object.entries({
            es2015: Ue
          })),
          ArrayBuffer: new Map(Object.entries({
            es2024: [
              "maxByteLength",
              "resizable",
              "resize",
              "detached",
              "transfer",
              "transferToFixedLength"
            ]
          })),
          Atomics: new Map(Object.entries({
            es2017: [
              "add",
              "and",
              "compareExchange",
              "exchange",
              "isLockFree",
              "load",
              "or",
              "store",
              "sub",
              "wait",
              "notify",
              "xor"
            ],
            es2024: [
              "waitAsync"
            ]
          })),
          SharedArrayBuffer: new Map(Object.entries({
            es2017: [
              "byteLength",
              "slice"
            ],
            es2024: [
              "growable",
              "maxByteLength",
              "grow"
            ]
          })),
          AsyncIterable: new Map(Object.entries({
            es2018: Ue
          })),
          AsyncIterableIterator: new Map(Object.entries({
            es2018: Ue
          })),
          AsyncGenerator: new Map(Object.entries({
            es2018: Ue
          })),
          AsyncGeneratorFunction: new Map(Object.entries({
            es2018: Ue
          })),
          RegExp: new Map(Object.entries({
            es2015: [
              "flags",
              "sticky",
              "unicode"
            ],
            es2018: [
              "dotAll"
            ],
            es2024: [
              "unicodeSets"
            ]
          })),
          Reflect: new Map(Object.entries({
            es2015: [
              "apply",
              "construct",
              "defineProperty",
              "deleteProperty",
              "get",
              "getOwnPropertyDescriptor",
              "getPrototypeOf",
              "has",
              "isExtensible",
              "ownKeys",
              "preventExtensions",
              "set",
              "setPrototypeOf"
            ]
          })),
          ArrayConstructor: new Map(Object.entries({
            es2015: [
              "from",
              "of"
            ],
            esnext: [
              "fromAsync"
            ]
          })),
          ObjectConstructor: new Map(Object.entries({
            es2015: [
              "assign",
              "getOwnPropertySymbols",
              "keys",
              "is",
              "setPrototypeOf"
            ],
            es2017: [
              "values",
              "entries",
              "getOwnPropertyDescriptors"
            ],
            es2019: [
              "fromEntries"
            ],
            es2022: [
              "hasOwn"
            ],
            es2024: [
              "groupBy"
            ]
          })),
          NumberConstructor: new Map(Object.entries({
            es2015: [
              "isFinite",
              "isInteger",
              "isNaN",
              "isSafeInteger",
              "parseFloat",
              "parseInt"
            ]
          })),
          Math: new Map(Object.entries({
            es2015: [
              "clz32",
              "imul",
              "sign",
              "log10",
              "log2",
              "log1p",
              "expm1",
              "cosh",
              "sinh",
              "tanh",
              "acosh",
              "asinh",
              "atanh",
              "hypot",
              "trunc",
              "fround",
              "cbrt"
            ],
            esnext: [
              "f16round"
            ]
          })),
          Map: new Map(Object.entries({
            es2015: [
              "entries",
              "keys",
              "values"
            ]
          })),
          MapConstructor: new Map(Object.entries({
            es2024: [
              "groupBy"
            ]
          })),
          Set: new Map(Object.entries({
            es2015: [
              "entries",
              "keys",
              "values"
            ],
            esnext: [
              "union",
              "intersection",
              "difference",
              "symmetricDifference",
              "isSubsetOf",
              "isSupersetOf",
              "isDisjointFrom"
            ]
          })),
          PromiseConstructor: new Map(Object.entries({
            es2015: [
              "all",
              "race",
              "reject",
              "resolve"
            ],
            es2020: [
              "allSettled"
            ],
            es2021: [
              "any"
            ],
            es2024: [
              "withResolvers"
            ]
          })),
          Symbol: new Map(Object.entries({
            es2015: [
              "for",
              "keyFor"
            ],
            es2019: [
              "description"
            ]
          })),
          WeakMap: new Map(Object.entries({
            es2015: [
              "entries",
              "keys",
              "values"
            ]
          })),
          WeakSet: new Map(Object.entries({
            es2015: [
              "entries",
              "keys",
              "values"
            ]
          })),
          String: new Map(Object.entries({
            es2015: [
              "codePointAt",
              "includes",
              "endsWith",
              "normalize",
              "repeat",
              "startsWith",
              "anchor",
              "big",
              "blink",
              "bold",
              "fixed",
              "fontcolor",
              "fontsize",
              "italics",
              "link",
              "small",
              "strike",
              "sub",
              "sup"
            ],
            es2017: [
              "padStart",
              "padEnd"
            ],
            es2019: [
              "trimStart",
              "trimEnd",
              "trimLeft",
              "trimRight"
            ],
            es2020: [
              "matchAll"
            ],
            es2021: [
              "replaceAll"
            ],
            es2022: [
              "at"
            ],
            es2024: [
              "isWellFormed",
              "toWellFormed"
            ]
          })),
          StringConstructor: new Map(Object.entries({
            es2015: [
              "fromCodePoint",
              "raw"
            ]
          })),
          DateTimeFormat: new Map(Object.entries({
            es2017: [
              "formatToParts"
            ]
          })),
          Promise: new Map(Object.entries({
            es2015: Ue,
            es2018: [
              "finally"
            ]
          })),
          RegExpMatchArray: new Map(Object.entries({
            es2018: [
              "groups"
            ]
          })),
          RegExpExecArray: new Map(Object.entries({
            es2018: [
              "groups"
            ]
          })),
          Intl: new Map(Object.entries({
            es2018: [
              "PluralRules"
            ]
          })),
          NumberFormat: new Map(Object.entries({
            es2018: [
              "formatToParts"
            ]
          })),
          SymbolConstructor: new Map(Object.entries({
            es2020: [
              "matchAll"
            ],
            esnext: [
              "metadata",
              "dispose",
              "asyncDispose"
            ]
          })),
          DataView: new Map(Object.entries({
            es2020: [
              "setBigInt64",
              "setBigUint64",
              "getBigInt64",
              "getBigUint64"
            ],
            esnext: [
              "setFloat16",
              "getFloat16"
            ]
          })),
          BigInt: new Map(Object.entries({
            es2020: Ue
          })),
          RelativeTimeFormat: new Map(Object.entries({
            es2020: [
              "format",
              "formatToParts",
              "resolvedOptions"
            ]
          })),
          Int8Array: new Map(Object.entries({
            es2022: [
              "at"
            ],
            es2023: [
              "findLastIndex",
              "findLast",
              "toReversed",
              "toSorted",
              "toSpliced",
              "with"
            ]
          })),
          Uint8Array: new Map(Object.entries({
            es2022: [
              "at"
            ],
            es2023: [
              "findLastIndex",
              "findLast",
              "toReversed",
              "toSorted",
              "toSpliced",
              "with"
            ]
          })),
          Uint8ClampedArray: new Map(Object.entries({
            es2022: [
              "at"
            ],
            es2023: [
              "findLastIndex",
              "findLast",
              "toReversed",
              "toSorted",
              "toSpliced",
              "with"
            ]
          })),
          Int16Array: new Map(Object.entries({
            es2022: [
              "at"
            ],
            es2023: [
              "findLastIndex",
              "findLast",
              "toReversed",
              "toSorted",
              "toSpliced",
              "with"
            ]
          })),
          Uint16Array: new Map(Object.entries({
            es2022: [
              "at"
            ],
            es2023: [
              "findLastIndex",
              "findLast",
              "toReversed",
              "toSorted",
              "toSpliced",
              "with"
            ]
          })),
          Int32Array: new Map(Object.entries({
            es2022: [
              "at"
            ],
            es2023: [
              "findLastIndex",
              "findLast",
              "toReversed",
              "toSorted",
              "toSpliced",
              "with"
            ]
          })),
          Uint32Array: new Map(Object.entries({
            es2022: [
              "at"
            ],
            es2023: [
              "findLastIndex",
              "findLast",
              "toReversed",
              "toSorted",
              "toSpliced",
              "with"
            ]
          })),
          Float16Array: new Map(Object.entries({
            esnext: Ue
          })),
          Float32Array: new Map(Object.entries({
            es2022: [
              "at"
            ],
            es2023: [
              "findLastIndex",
              "findLast",
              "toReversed",
              "toSorted",
              "toSpliced",
              "with"
            ]
          })),
          Float64Array: new Map(Object.entries({
            es2022: [
              "at"
            ],
            es2023: [
              "findLastIndex",
              "findLast",
              "toReversed",
              "toSorted",
              "toSpliced",
              "with"
            ]
          })),
          BigInt64Array: new Map(Object.entries({
            es2020: Ue,
            es2022: [
              "at"
            ],
            es2023: [
              "findLastIndex",
              "findLast",
              "toReversed",
              "toSorted",
              "toSpliced",
              "with"
            ]
          })),
          BigUint64Array: new Map(Object.entries({
            es2020: Ue,
            es2022: [
              "at"
            ],
            es2023: [
              "findLastIndex",
              "findLast",
              "toReversed",
              "toSorted",
              "toSpliced",
              "with"
            ]
          })),
          Error: new Map(Object.entries({
            es2022: [
              "cause"
            ]
          }))
        }))
      ), JZ = /* @__PURE__ */ ((e) => (e[e.None = 0] = "None", e[e.NeverAsciiEscape = 1] = "NeverAsciiEscape", e[e.JsxAttributeEscape = 2] = "JsxAttributeEscape", e[e.TerminateUnterminatedLiterals = 4] = "TerminateUnterminatedLiterals", e[e.AllowNumericSeparator = 8] = "AllowNumericSeparator", e))(JZ || {});
      function zZ(e, t, n) {
        if (t && $Fe(e, n))
          return xb(t, e);
        switch (e.kind) {
          case 11: {
            const i = n & 2 ? JB : n & 1 || ka(e) & 16777216 ? Qm : d5;
            return e.singleQuote ? "'" + i(
              e.text,
              39
              /* singleQuote */
            ) + "'" : '"' + i(
              e.text,
              34
              /* doubleQuote */
            ) + '"';
          }
          case 15:
          case 16:
          case 17:
          case 18: {
            const i = n & 1 || ka(e) & 16777216 ? Qm : d5, s = e.rawText ?? jB(i(
              e.text,
              96
              /* backtick */
            ));
            switch (e.kind) {
              case 15:
                return "`" + s + "`";
              case 16:
                return "`" + s + "${";
              case 17:
                return "}" + s + "${";
              case 18:
                return "}" + s + "`";
            }
            break;
          }
          case 9:
          case 10:
            return e.text;
          case 14:
            return n & 4 && e.isUnterminated ? e.text + (e.text.charCodeAt(e.text.length - 1) === 92 ? " /" : "/") : e.text;
        }
        return E.fail(`Literal kind '${e.kind}' not accounted for.`);
      }
      function $Fe(e, t) {
        if (oo(e) || !e.parent || t & 4 && e.isUnterminated)
          return !1;
        if (m_(e)) {
          if (e.numericLiteralFlags & 26656)
            return !1;
          if (e.numericLiteralFlags & 512)
            return !!(t & 8);
        }
        return !ED(e);
      }
      function WZ(e) {
        return cs(e) ? `"${Qm(e)}"` : "" + e;
      }
      function VZ(e) {
        return Qc(e).replace(/^(\d)/, "_$1").replace(/\W/g, "_");
      }
      function tB(e) {
        return (Ch(e) & 7) !== 0 || rB(e);
      }
      function rB(e) {
        const t = em(e);
        return t.kind === 260 && t.parent.kind === 299;
      }
      function Fu(e) {
        return zc(e) && (e.name.kind === 11 || $m(e));
      }
      function j7(e) {
        return zc(e) && e.name.kind === 11;
      }
      function nB(e) {
        return zc(e) && la(e.name);
      }
      function XFe(e) {
        return zc(e) || Fe(e);
      }
      function c3(e) {
        return QFe(e.valueDeclaration);
      }
      function QFe(e) {
        return !!e && e.kind === 267 && !e.body;
      }
      function UZ(e) {
        return e.kind === 307 || e.kind === 267 || IC(e);
      }
      function $m(e) {
        return !!(e.flags & 2048);
      }
      function Cb(e) {
        return Fu(e) && iB(e);
      }
      function iB(e) {
        switch (e.parent.kind) {
          case 307:
            return ol(e.parent);
          case 268:
            return Fu(e.parent.parent) && xi(e.parent.parent.parent) && !ol(e.parent.parent.parent);
        }
        return !1;
      }
      function sB(e) {
        var t;
        return (t = e.declarations) == null ? void 0 : t.find((n) => !Cb(n) && !(zc(n) && $m(n)));
      }
      function YFe(e) {
        return e === 1 || 100 <= e && e <= 199;
      }
      function RC(e, t) {
        return ol(e) || YFe(Mu(t)) && !!e.commonJsModuleIndicator;
      }
      function aB(e, t) {
        switch (e.scriptKind) {
          case 1:
          case 3:
          case 2:
          case 4:
            break;
          default:
            return !1;
        }
        return e.isDeclarationFile ? !1 : !!(lu(t, "alwaysStrict") || $te(e.statements) || ol(e) || Np(t));
      }
      function oB(e) {
        return !!(e.flags & 33554432) || qn(
          e,
          128
          /* Ambient */
        );
      }
      function cB(e, t) {
        switch (e.kind) {
          case 307:
          case 269:
          case 299:
          case 267:
          case 248:
          case 249:
          case 250:
          case 176:
          case 174:
          case 177:
          case 178:
          case 262:
          case 218:
          case 219:
          case 172:
          case 175:
            return !0;
          case 241:
            return !IC(t);
        }
        return !1;
      }
      function lB(e) {
        switch (E.type(e), e.kind) {
          case 338:
          case 346:
          case 323:
            return !0;
          default:
            return uB(e);
        }
      }
      function uB(e) {
        switch (E.type(e), e.kind) {
          case 179:
          case 180:
          case 173:
          case 181:
          case 184:
          case 185:
          case 317:
          case 263:
          case 231:
          case 264:
          case 265:
          case 345:
          case 262:
          case 174:
          case 176:
          case 177:
          case 178:
          case 218:
          case 219:
            return !0;
          default:
            return !1;
        }
      }
      function lx(e) {
        switch (e.kind) {
          case 272:
          case 271:
            return !0;
          default:
            return !1;
        }
      }
      function qZ(e) {
        return lx(e) || wb(e);
      }
      function HZ(e) {
        return lx(e) || k3(e);
      }
      function B7(e) {
        switch (e.kind) {
          case 272:
          case 271:
          case 243:
          case 263:
          case 262:
          case 267:
          case 265:
          case 264:
          case 266:
            return !0;
          default:
            return !1;
        }
      }
      function GZ(e) {
        return l3(e) || zc(e) || am(e) || df(e);
      }
      function l3(e) {
        return lx(e) || Oc(e);
      }
      function J7(e) {
        return _r(e.parent, (t) => !!(dW(t) & 1));
      }
      function pd(e) {
        return _r(e.parent, (t) => cB(t, t.parent));
      }
      function $Z(e, t) {
        let n = pd(e);
        for (; n; )
          t(n), n = pd(n);
      }
      function _o(e) {
        return !e || i3(e) === 0 ? "(Missing)" : Go(e);
      }
      function XZ(e) {
        return e.declaration ? _o(e.declaration.parameters[0].name) : void 0;
      }
      function u3(e) {
        return e.kind === 167 && !wf(e.expression);
      }
      function L4(e) {
        var t;
        switch (e.kind) {
          case 80:
          case 81:
            return (t = e.emitNode) != null && t.autoGenerate ? void 0 : e.escapedText;
          case 11:
          case 9:
          case 10:
          case 15:
            return ec(e.text);
          case 167:
            return wf(e.expression) ? ec(e.expression.text) : void 0;
          case 295:
            return Ax(e);
          default:
            return E.assertNever(e);
        }
      }
      function ux(e) {
        return E.checkDefined(L4(e));
      }
      function q_(e) {
        switch (e.kind) {
          case 110:
            return "this";
          case 81:
          case 80:
            return i3(e) === 0 ? Pn(e) : Go(e);
          case 166:
            return q_(e.left) + "." + q_(e.right);
          case 211:
            return Fe(e.name) || Di(e.name) ? q_(e.expression) + "." + q_(e.name) : E.assertNever(e.name);
          case 311:
            return q_(e.left) + "#" + q_(e.right);
          case 295:
            return q_(e.namespace) + ":" + q_(e.name);
          default:
            return E.assertNever(e);
        }
      }
      function Kr(e, t, ...n) {
        const i = Er(e);
        return Zf(i, e, t, ...n);
      }
      function jC(e, t, n, ...i) {
        const s = ca(e.text, t.pos);
        return al(e, s, t.end - s, n, ...i);
      }
      function Zf(e, t, n, ...i) {
        const s = pS(e, t);
        return al(e, s.start, s.length, n, ...i);
      }
      function Lg(e, t, n, i) {
        const s = pS(e, t);
        return z7(e, s.start, s.length, n, i);
      }
      function _3(e, t, n, i) {
        const s = ca(e.text, t.pos);
        return z7(e, s, t.end - s, n, i);
      }
      function QZ(e, t, n) {
        E.assertGreaterThanOrEqual(t, 0), E.assertGreaterThanOrEqual(n, 0), E.assertLessThanOrEqual(t, e.length), E.assertLessThanOrEqual(t + n, e.length);
      }
      function z7(e, t, n, i, s) {
        return QZ(e.text, t, n), {
          file: e,
          start: t,
          length: n,
          code: i.code,
          category: i.category,
          messageText: i.next ? i : i.messageText,
          relatedInformation: s,
          canonicalHead: i.canonicalHead
        };
      }
      function _B(e, t, n) {
        return {
          file: e,
          start: 0,
          length: 0,
          code: t.code,
          category: t.category,
          messageText: t.next ? t : t.messageText,
          relatedInformation: n
        };
      }
      function YZ(e) {
        return typeof e.messageText == "string" ? {
          code: e.code,
          category: e.category,
          messageText: e.messageText,
          next: e.next
        } : e.messageText;
      }
      function ZZ(e, t, n) {
        return {
          file: e,
          start: t.pos,
          length: t.end - t.pos,
          code: n.code,
          category: n.category,
          messageText: n.message
        };
      }
      function KZ(e, ...t) {
        return {
          code: e.code,
          messageText: Ex(e, ...t)
        };
      }
      function Xd(e, t) {
        const n = Pg(
          e.languageVersion,
          /*skipTrivia*/
          !0,
          e.languageVariant,
          e.text,
          /*onError*/
          void 0,
          t
        );
        n.scan();
        const i = n.getTokenStart();
        return wc(i, n.getTokenEnd());
      }
      function eK(e, t) {
        const n = Pg(
          e.languageVersion,
          /*skipTrivia*/
          !0,
          e.languageVariant,
          e.text,
          /*onError*/
          void 0,
          t
        );
        return n.scan(), n.getToken();
      }
      function ZFe(e, t) {
        const n = ca(e.text, t.pos);
        if (t.body && t.body.kind === 241) {
          const { line: i } = Js(e, t.body.pos), { line: s } = Js(e, t.body.end);
          if (i < s)
            return Gl(n, a3(i, e) - n + 1);
        }
        return wc(n, t.end);
      }
      function pS(e, t) {
        let n = t;
        switch (t.kind) {
          case 307: {
            const o = ca(
              e.text,
              0,
              /*stopAfterLineBreak*/
              !1
            );
            return o === e.text.length ? Gl(0, 0) : Xd(e, o);
          }
          // This list is a work in progress. Add missing node kinds to improve their error
          // spans.
          case 260:
          case 208:
          case 263:
          case 231:
          case 264:
          case 267:
          case 266:
          case 306:
          case 262:
          case 218:
          case 174:
          case 177:
          case 178:
          case 265:
          case 172:
          case 171:
          case 274:
            n = t.name;
            break;
          case 219:
            return ZFe(e, t);
          case 296:
          case 297: {
            const o = ca(e.text, t.pos), c = t.statements.length > 0 ? t.statements[0].pos : t.end;
            return wc(o, c);
          }
          case 253:
          case 229: {
            const o = ca(e.text, t.pos);
            return Xd(e, o);
          }
          case 238: {
            const o = ca(e.text, t.expression.end);
            return Xd(e, o);
          }
          case 350: {
            const o = ca(e.text, t.tagName.pos);
            return Xd(e, o);
          }
          case 176: {
            const o = t, c = ca(e.text, o.pos), _ = Pg(
              e.languageVersion,
              /*skipTrivia*/
              !0,
              e.languageVariant,
              e.text,
              /*onError*/
              void 0,
              c
            );
            let u = _.scan();
            for (; u !== 137 && u !== 1; )
              u = _.scan();
            const g = _.getTokenEnd();
            return wc(c, g);
          }
        }
        if (n === void 0)
          return Xd(e, t.pos);
        E.assert(!bd(n));
        const i = cc(n), s = i || Lx(t) ? n.pos : ca(e.text, n.pos);
        return i ? (E.assert(s === n.pos, "This failure could trigger https://github.com/Microsoft/TypeScript/issues/20809"), E.assert(s === n.end, "This failure could trigger https://github.com/Microsoft/TypeScript/issues/20809")) : (E.assert(s >= n.pos, "This failure could trigger https://github.com/Microsoft/TypeScript/issues/20809"), E.assert(s <= n.end, "This failure could trigger https://github.com/Microsoft/TypeScript/issues/20809")), wc(s, n.end);
      }
      function v0(e) {
        return e.kind === 307 && !H_(e);
      }
      function H_(e) {
        return (e.externalModuleIndicator || e.commonJsModuleIndicator) !== void 0;
      }
      function Kf(e) {
        return e.scriptKind === 6;
      }
      function H1(e) {
        return !!(W1(e) & 4096);
      }
      function f3(e) {
        return !!(W1(e) & 8 && !U_(e, e.parent));
      }
      function p3(e) {
        return (Ch(e) & 7) === 6;
      }
      function d3(e) {
        return (Ch(e) & 7) === 4;
      }
      function BC(e) {
        return (Ch(e) & 7) === 2;
      }
      function tK(e) {
        const t = Ch(e) & 7;
        return t === 2 || t === 4 || t === 6;
      }
      function W7(e) {
        return (Ch(e) & 7) === 1;
      }
      function dS(e) {
        return e.kind === 213 && e.expression.kind === 108;
      }
      function df(e) {
        return e.kind === 213 && e.expression.kind === 102;
      }
      function JC(e) {
        return AD(e) && e.keywordToken === 102 && e.name.escapedText === "meta";
      }
      function Dh(e) {
        return am(e) && P0(e.argument) && la(e.argument.literal);
      }
      function Qd(e) {
        return e.kind === 244 && e.expression.kind === 11;
      }
      function m3(e) {
        return !!(ka(e) & 2097152);
      }
      function V7(e) {
        return m3(e) && Tc(e);
      }
      function KFe(e) {
        return Fe(e.name) && !e.initializer;
      }
      function U7(e) {
        return m3(e) && Sc(e) && Pi(e.declarationList.declarations, KFe);
      }
      function fB(e, t) {
        return e.kind !== 12 ? wg(t.text, e.pos) : void 0;
      }
      function pB(e, t) {
        const n = e.kind === 169 || e.kind === 168 || e.kind === 218 || e.kind === 219 || e.kind === 217 || e.kind === 260 || e.kind === 281 ? Ji(Iy(t, e.pos), wg(t, e.pos)) : wg(t, e.pos);
        return Tn(
          n,
          (i) => i.end <= e.end && // Due to parse errors sometime empty parameter may get comments assigned to it that end up not in parameter range
          t.charCodeAt(i.pos + 1) === 42 && t.charCodeAt(i.pos + 2) === 42 && t.charCodeAt(i.pos + 3) !== 47
          /* slash */
        );
      }
      var eOe = /^\/\/\/\s*<reference\s+path\s*=\s*(?:'[^']*'|"[^"]*").*?\/>/, tOe = /^\/\/\/\s*<reference\s+types\s*=\s*(?:'[^']*'|"[^"]*").*?\/>/, rOe = /^\/\/\/\s*<reference\s+lib\s*=\s*(?:'[^']*'|"[^"]*").*?\/>/, nOe = /^\/\/\/\s*<amd-dependency\s+path\s*=\s*(?:'[^']*'|"[^"]*").*?\/>/, iOe = /^\/\/\/\s*<amd-module\s+(?:\S.*?)??\/>/, sOe = /^\/\/\/\s*<reference\s+no-default-lib\s*=\s*(?:'[^']*'|"[^"]*")\s*\/>/;
      function Yd(e) {
        if (182 <= e.kind && e.kind <= 205)
          return !0;
        switch (e.kind) {
          case 133:
          case 159:
          case 150:
          case 163:
          case 154:
          case 136:
          case 155:
          case 151:
          case 157:
          case 106:
          case 146:
            return !0;
          case 116:
            return e.parent.kind !== 222;
          case 233:
            return mhe(e);
          case 168:
            return e.parent.kind === 200 || e.parent.kind === 195;
          // Identifiers and qualified names may be type nodes, depending on their context. Climb
          // above them to find the lowest container
          case 80:
            (e.parent.kind === 166 && e.parent.right === e || e.parent.kind === 211 && e.parent.name === e) && (e = e.parent), E.assert(e.kind === 80 || e.kind === 166 || e.kind === 211, "'node' was expected to be a qualified name, identifier or property access in 'isPartOfTypeNode'.");
          // falls through
          case 166:
          case 211:
          case 110: {
            const { parent: t } = e;
            if (t.kind === 186)
              return !1;
            if (t.kind === 205)
              return !t.isTypeOf;
            if (182 <= t.kind && t.kind <= 205)
              return !0;
            switch (t.kind) {
              case 233:
                return mhe(t);
              case 168:
                return e === t.constraint;
              case 345:
                return e === t.constraint;
              case 172:
              case 171:
              case 169:
              case 260:
                return e === t.type;
              case 262:
              case 218:
              case 219:
              case 176:
              case 174:
              case 173:
              case 177:
              case 178:
                return e === t.type;
              case 179:
              case 180:
              case 181:
                return e === t.type;
              case 216:
                return e === t.type;
              case 213:
              case 214:
              case 215:
                return _s(t.typeArguments, e);
            }
          }
        }
        return !1;
      }
      function mhe(e) {
        return NF(e.parent) || Gx(e.parent) || Q_(e.parent) && !C5(e);
      }
      function qy(e, t) {
        return n(e);
        function n(i) {
          switch (i.kind) {
            case 253:
              return t(i);
            case 269:
            case 241:
            case 245:
            case 246:
            case 247:
            case 248:
            case 249:
            case 250:
            case 254:
            case 255:
            case 296:
            case 297:
            case 256:
            case 258:
            case 299:
              return Ss(i, n);
          }
        }
      }
      function rK(e, t) {
        return n(e);
        function n(i) {
          switch (i.kind) {
            case 229:
              t(i);
              const s = i.expression;
              s && n(s);
              return;
            case 266:
            case 264:
            case 267:
            case 265:
              return;
            default:
              if (Ts(i)) {
                if (i.name && i.name.kind === 167) {
                  n(i.name.expression);
                  return;
                }
              } else Yd(i) || Ss(i, n);
          }
        }
      }
      function dB(e) {
        return e && e.kind === 188 ? e.elementType : e && e.kind === 183 ? zm(e.typeArguments) : void 0;
      }
      function nK(e) {
        switch (e.kind) {
          case 264:
          case 263:
          case 231:
          case 187:
            return e.members;
          case 210:
            return e.properties;
        }
      }
      function M4(e) {
        if (e)
          switch (e.kind) {
            case 208:
            case 306:
            case 169:
            case 303:
            case 172:
            case 171:
            case 304:
            case 260:
              return !0;
          }
        return !1;
      }
      function R4(e) {
        return e.parent.kind === 261 && e.parent.parent.kind === 243;
      }
      function iK(e) {
        return tn(e) ? ua(e.parent) && _n(e.parent.parent) && Pc(e.parent.parent) === 2 || q7(e.parent) : !1;
      }
      function q7(e) {
        return tn(e) ? _n(e) && Pc(e) === 1 : !1;
      }
      function sK(e) {
        return (Zn(e) ? BC(e) && Fe(e.name) && R4(e) : is(e) ? xS(e) && sl(e) : ju(e) && xS(e)) || q7(e);
      }
      function aK(e) {
        switch (e.kind) {
          case 174:
          case 173:
          case 176:
          case 177:
          case 178:
          case 262:
          case 218:
            return !0;
        }
        return !1;
      }
      function mB(e, t) {
        for (; ; ) {
          if (t && t(e), e.statement.kind !== 256)
            return e.statement;
          e = e.statement;
        }
      }
      function Eb(e) {
        return e && e.kind === 241 && Ts(e.parent);
      }
      function Ep(e) {
        return e && e.kind === 174 && e.parent.kind === 210;
      }
      function H7(e) {
        return (e.kind === 174 || e.kind === 177 || e.kind === 178) && (e.parent.kind === 210 || e.parent.kind === 231);
      }
      function oK(e) {
        return e && e.kind === 1;
      }
      function cK(e) {
        return e && e.kind === 0;
      }
      function zC(e, t, n, i) {
        return ar(e?.properties, (s) => {
          if (!tl(s)) return;
          const o = L4(s.name);
          return t === o || i && i === o ? n(s) : void 0;
        });
      }
      function j4(e) {
        if (e && e.statements.length) {
          const t = e.statements[0].expression;
          return Mn(t, ua);
        }
      }
      function G7(e, t, n) {
        return g3(e, t, (i) => Ql(i.initializer) ? Dn(i.initializer.elements, (s) => la(s) && s.text === n) : void 0);
      }
      function g3(e, t, n) {
        return zC(j4(e), t, n);
      }
      function Df(e) {
        return _r(e.parent, Ts);
      }
      function lK(e) {
        return _r(e.parent, uo);
      }
      function Jl(e) {
        return _r(e.parent, Xn);
      }
      function uK(e) {
        return _r(e.parent, (t) => Xn(t) || Ts(t) ? "quit" : hc(t));
      }
      function $7(e) {
        return _r(e.parent, IC);
      }
      function X7(e) {
        const t = _r(e.parent, (n) => Xn(n) ? "quit" : yl(n));
        return t && Xn(t.parent) ? Jl(t.parent) : Jl(t ?? e);
      }
      function Ou(e, t, n) {
        for (E.assert(
          e.kind !== 307
          /* SourceFile */
        ); ; ) {
          if (e = e.parent, !e)
            return E.fail();
          switch (e.kind) {
            case 167:
              if (n && Xn(e.parent.parent))
                return e;
              e = e.parent.parent;
              break;
            case 170:
              e.parent.kind === 169 && Jc(e.parent.parent) ? e = e.parent.parent : Jc(e.parent) && (e = e.parent);
              break;
            case 219:
              if (!t)
                continue;
            // falls through
            case 262:
            case 218:
            case 267:
            case 175:
            case 172:
            case 171:
            case 174:
            case 173:
            case 176:
            case 177:
            case 178:
            case 179:
            case 180:
            case 181:
            case 266:
            case 307:
              return e;
          }
        }
      }
      function _K(e) {
        switch (e.kind) {
          // Arrow functions use the same scope, but may do so in a "delayed" manner
          // For example, `const getThis = () => this` may be before a super() call in a derived constructor
          case 219:
          case 262:
          case 218:
          case 172:
            return !0;
          case 241:
            switch (e.parent.kind) {
              case 176:
              case 174:
              case 177:
              case 178:
                return !0;
              default:
                return !1;
            }
          default:
            return !1;
        }
      }
      function Q7(e) {
        Fe(e) && (el(e.parent) || Tc(e.parent)) && e.parent.name === e && (e = e.parent);
        const t = Ou(
          e,
          /*includeArrowFunctions*/
          !0,
          /*includeClassComputedPropertyName*/
          !1
        );
        return xi(t);
      }
      function fK(e) {
        const t = Ou(
          e,
          /*includeArrowFunctions*/
          !1,
          /*includeClassComputedPropertyName*/
          !1
        );
        if (t)
          switch (t.kind) {
            case 176:
            case 262:
            case 218:
              return t;
          }
      }
      function h3(e, t) {
        for (; ; ) {
          if (e = e.parent, !e)
            return;
          switch (e.kind) {
            case 167:
              e = e.parent;
              break;
            case 262:
            case 218:
            case 219:
              if (!t)
                continue;
            // falls through
            case 172:
            case 171:
            case 174:
            case 173:
            case 176:
            case 177:
            case 178:
            case 175:
              return e;
            case 170:
              e.parent.kind === 169 && Jc(e.parent.parent) ? e = e.parent.parent : Jc(e.parent) && (e = e.parent);
              break;
          }
        }
      }
      function Db(e) {
        if (e.kind === 218 || e.kind === 219) {
          let t = e, n = e.parent;
          for (; n.kind === 217; )
            t = n, n = n.parent;
          if (n.kind === 213 && n.expression === t)
            return n;
        }
      }
      function E_(e) {
        const t = e.kind;
        return (t === 211 || t === 212) && e.expression.kind === 108;
      }
      function y3(e) {
        const t = e.kind;
        return (t === 211 || t === 212) && e.expression.kind === 110;
      }
      function Y7(e) {
        var t;
        return !!e && Zn(e) && ((t = e.initializer) == null ? void 0 : t.kind) === 110;
      }
      function pK(e) {
        return !!e && (_u(e) || tl(e)) && _n(e.parent.parent) && e.parent.parent.operatorToken.kind === 64 && e.parent.parent.right.kind === 110;
      }
      function v3(e) {
        switch (e.kind) {
          case 183:
            return e.typeName;
          case 233:
            return to(e.expression) ? e.expression : void 0;
          // TODO(rbuckton): These aren't valid TypeNodes, but we treat them as such because of `isPartOfTypeNode`, which returns `true` for things that aren't `TypeNode`s.
          case 80:
          case 166:
            return e;
        }
      }
      function Z7(e) {
        switch (e.kind) {
          case 215:
            return e.tag;
          case 286:
          case 285:
            return e.tagName;
          case 226:
            return e.right;
          case 289:
            return e;
          default:
            return e.expression;
        }
      }
      function b3(e, t, n, i) {
        if (e && El(t) && Di(t.name))
          return !1;
        switch (t.kind) {
          case 263:
            return !0;
          case 231:
            return !e;
          case 172:
            return n !== void 0 && (e ? el(n) : Xn(n) && !Rb(t) && !QB(t));
          case 177:
          case 178:
          case 174:
            return t.body !== void 0 && n !== void 0 && (e ? el(n) : Xn(n));
          case 169:
            return e ? n !== void 0 && n.body !== void 0 && (n.kind === 176 || n.kind === 174 || n.kind === 178) && Ob(n) !== t && i !== void 0 && i.kind === 263 : !1;
        }
        return !1;
      }
      function WC(e, t, n, i) {
        return Pf(t) && b3(e, t, n, i);
      }
      function S3(e, t, n, i) {
        return WC(e, t, n, i) || B4(e, t, n);
      }
      function B4(e, t, n) {
        switch (t.kind) {
          case 263:
            return at(t.members, (i) => S3(e, i, t, n));
          case 231:
            return !e && at(t.members, (i) => S3(e, i, t, n));
          case 174:
          case 178:
          case 176:
            return at(t.parameters, (i) => WC(e, i, t, n));
          default:
            return !1;
        }
      }
      function b0(e, t) {
        if (WC(e, t)) return !0;
        const n = jg(t);
        return !!n && B4(e, n, t);
      }
      function gB(e, t, n) {
        let i;
        if (By(t)) {
          const { firstAccessor: s, secondAccessor: o, setAccessor: c } = Mb(n.members, t), _ = Pf(s) ? s : o && Pf(o) ? o : void 0;
          if (!_ || t !== _)
            return !1;
          i = c?.parameters;
        } else uc(t) && (i = t.parameters);
        if (WC(e, t, n))
          return !0;
        if (i) {
          for (const s of i)
            if (!$y(s) && WC(e, s, t, n))
              return !0;
        }
        return !1;
      }
      function hB(e) {
        if (e.textSourceNode) {
          switch (e.textSourceNode.kind) {
            case 11:
              return hB(e.textSourceNode);
            case 15:
              return e.text === "";
          }
          return !1;
        }
        return e.text === "";
      }
      function VC(e) {
        const { parent: t } = e;
        return t.kind === 286 || t.kind === 285 || t.kind === 287 ? t.tagName === e : !1;
      }
      function dd(e) {
        switch (e.kind) {
          case 108:
          case 106:
          case 112:
          case 97:
          case 14:
          case 209:
          case 210:
          case 211:
          case 212:
          case 213:
          case 214:
          case 215:
          case 234:
          case 216:
          case 238:
          case 235:
          case 217:
          case 218:
          case 231:
          case 219:
          case 222:
          case 220:
          case 221:
          case 224:
          case 225:
          case 226:
          case 227:
          case 230:
          case 228:
          case 232:
          case 284:
          case 285:
          case 288:
          case 229:
          case 223:
          case 236:
            return !0;
          case 233:
            return !Q_(e.parent) && !Gx(e.parent);
          case 166:
            for (; e.parent.kind === 166; )
              e = e.parent;
            return e.parent.kind === 186 || ix(e.parent) || MD(e.parent) || uv(e.parent) || VC(e);
          case 311:
            for (; uv(e.parent); )
              e = e.parent;
            return e.parent.kind === 186 || ix(e.parent) || MD(e.parent) || uv(e.parent) || VC(e);
          case 81:
            return _n(e.parent) && e.parent.left === e && e.parent.operatorToken.kind === 103;
          case 80:
            if (e.parent.kind === 186 || ix(e.parent) || MD(e.parent) || uv(e.parent) || VC(e))
              return !0;
          // falls through
          case 9:
          case 10:
          case 11:
          case 15:
          case 110:
            return K7(e);
          default:
            return !1;
        }
      }
      function K7(e) {
        const { parent: t } = e;
        switch (t.kind) {
          case 260:
          case 169:
          case 172:
          case 171:
          case 306:
          case 303:
          case 208:
            return t.initializer === e;
          case 244:
          case 245:
          case 246:
          case 247:
          case 253:
          case 254:
          case 255:
          case 296:
          case 257:
            return t.expression === e;
          case 248:
            const n = t;
            return n.initializer === e && n.initializer.kind !== 261 || n.condition === e || n.incrementor === e;
          case 249:
          case 250:
            const i = t;
            return i.initializer === e && i.initializer.kind !== 261 || i.expression === e;
          case 216:
          case 234:
            return e === t.expression;
          case 239:
            return e === t.expression;
          case 167:
            return e === t.expression;
          case 170:
          case 294:
          case 293:
          case 305:
            return !0;
          case 233:
            return t.expression === e && !Yd(t);
          case 304:
            return t.objectAssignmentInitializer === e;
          case 238:
            return e === t.expression;
          default:
            return dd(t);
        }
      }
      function e5(e) {
        for (; e.kind === 166 || e.kind === 80; )
          e = e.parent;
        return e.kind === 186;
      }
      function dK(e) {
        return Zm(e) && !!e.parent.moduleSpecifier;
      }
      function G1(e) {
        return e.kind === 271 && e.moduleReference.kind === 283;
      }
      function J4(e) {
        return E.assert(G1(e)), e.moduleReference.expression;
      }
      function yB(e) {
        return wb(e) && r6(e.initializer).arguments[0];
      }
      function mS(e) {
        return e.kind === 271 && e.moduleReference.kind !== 283;
      }
      function Mg(e) {
        return e?.kind === 307;
      }
      function $u(e) {
        return tn(e);
      }
      function tn(e) {
        return !!e && !!(e.flags & 524288);
      }
      function t5(e) {
        return !!e && !!(e.flags & 134217728);
      }
      function r5(e) {
        return !Kf(e);
      }
      function T3(e) {
        return !!e && !!(e.flags & 16777216);
      }
      function n5(e) {
        return X_(e) && Fe(e.typeName) && e.typeName.escapedText === "Object" && e.typeArguments && e.typeArguments.length === 2 && (e.typeArguments[0].kind === 154 || e.typeArguments[0].kind === 150);
      }
      function f_(e, t) {
        if (e.kind !== 213)
          return !1;
        const { expression: n, arguments: i } = e;
        if (n.kind !== 80 || n.escapedText !== "require" || i.length !== 1)
          return !1;
        const s = i[0];
        return !t || Ba(s);
      }
      function x3(e) {
        return ghe(
          e,
          /*allowAccessedRequire*/
          !1
        );
      }
      function wb(e) {
        return ghe(
          e,
          /*allowAccessedRequire*/
          !0
        );
      }
      function mK(e) {
        return ya(e) && wb(e.parent.parent);
      }
      function ghe(e, t) {
        return Zn(e) && !!e.initializer && f_(
          t ? r6(e.initializer) : e.initializer,
          /*requireStringLiteralLikeArgument*/
          !0
        );
      }
      function k3(e) {
        return Sc(e) && e.declarationList.declarations.length > 0 && Pi(e.declarationList.declarations, (t) => x3(t));
      }
      function C3(e) {
        return e === 39 || e === 34;
      }
      function i5(e, t) {
        return xb(t, e).charCodeAt(0) === 34;
      }
      function z4(e) {
        return _n(e) || ko(e) || Fe(e) || Ms(e);
      }
      function E3(e) {
        return tn(e) && e.initializer && _n(e.initializer) && (e.initializer.operatorToken.kind === 57 || e.initializer.operatorToken.kind === 61) && e.name && to(e.name) && UC(e.name, e.initializer.left) ? e.initializer.right : e.initializer;
      }
      function W4(e) {
        const t = E3(e);
        return t && $1(t, Qy(e.name));
      }
      function aOe(e, t) {
        return ar(e.properties, (n) => tl(n) && Fe(n.name) && n.name.escapedText === "value" && n.initializer && $1(n.initializer, t));
      }
      function _x(e) {
        if (e && e.parent && _n(e.parent) && e.parent.operatorToken.kind === 64) {
          const t = Qy(e.parent.left);
          return $1(e.parent.right, t) || oOe(e.parent.left, e.parent.right, t);
        }
        if (e && Ms(e) && hS(e)) {
          const t = aOe(e.arguments[2], e.arguments[1].text === "prototype");
          if (t)
            return t;
        }
      }
      function $1(e, t) {
        if (Ms(e)) {
          const n = za(e.expression);
          return n.kind === 218 || n.kind === 219 ? e : void 0;
        }
        if (e.kind === 218 || e.kind === 231 || e.kind === 219 || ua(e) && (e.properties.length === 0 || t))
          return e;
      }
      function oOe(e, t, n) {
        const i = _n(t) && (t.operatorToken.kind === 57 || t.operatorToken.kind === 61) && $1(t.right, n);
        if (i && UC(e, t.left))
          return i;
      }
      function gK(e) {
        const t = Zn(e.parent) ? e.parent.name : _n(e.parent) && e.parent.operatorToken.kind === 64 ? e.parent.left : void 0;
        return t && $1(e.right, Qy(t)) && to(t) && UC(t, e.left);
      }
      function vB(e) {
        if (_n(e.parent)) {
          const t = (e.parent.operatorToken.kind === 57 || e.parent.operatorToken.kind === 61) && _n(e.parent.parent) ? e.parent.parent : e.parent;
          if (t.operatorToken.kind === 64 && Fe(t.left))
            return t.left;
        } else if (Zn(e.parent))
          return e.parent.name;
      }
      function UC(e, t) {
        return Kd(e) && Kd(t) ? ep(e) === ep(t) : Ng(e) && hK(t) && (t.expression.kind === 110 || Fe(t.expression) && (t.expression.escapedText === "window" || t.expression.escapedText === "self" || t.expression.escapedText === "global")) ? UC(e, w3(t)) : hK(e) && hK(t) ? wh(e) === wh(t) && UC(e.expression, t.expression) : !1;
      }
      function D3(e) {
        for (; wl(
          e,
          /*excludeCompoundAssignment*/
          !0
        ); )
          e = e.right;
        return e;
      }
      function gS(e) {
        return Fe(e) && e.escapedText === "exports";
      }
      function bB(e) {
        return Fe(e) && e.escapedText === "module";
      }
      function Rg(e) {
        return (kn(e) || SB(e)) && bB(e.expression) && wh(e) === "exports";
      }
      function Pc(e) {
        const t = cOe(e);
        return t === 5 || tn(e) ? t : 0;
      }
      function hS(e) {
        return Ar(e.arguments) === 3 && kn(e.expression) && Fe(e.expression.expression) && Pn(e.expression.expression) === "Object" && Pn(e.expression.name) === "defineProperty" && wf(e.arguments[1]) && yS(
          e.arguments[0],
          /*excludeThisKeyword*/
          !0
        );
      }
      function hK(e) {
        return kn(e) || SB(e);
      }
      function SB(e) {
        return fo(e) && wf(e.argumentExpression);
      }
      function Pb(e, t) {
        return kn(e) && (!t && e.expression.kind === 110 || Fe(e.name) && yS(
          e.expression,
          /*excludeThisKeyword*/
          !0
        )) || s5(e, t);
      }
      function s5(e, t) {
        return SB(e) && (!t && e.expression.kind === 110 || to(e.expression) || Pb(
          e.expression,
          /*excludeThisKeyword*/
          !0
        ));
      }
      function yS(e, t) {
        return to(e) || Pb(e, t);
      }
      function w3(e) {
        return kn(e) ? e.name : e.argumentExpression;
      }
      function cOe(e) {
        if (Ms(e)) {
          if (!hS(e))
            return 0;
          const t = e.arguments[0];
          return gS(t) || Rg(t) ? 8 : Pb(t) && wh(t) === "prototype" ? 9 : 7;
        }
        return e.operatorToken.kind !== 64 || !ko(e.left) || lOe(D3(e)) ? 0 : yS(
          e.left.expression,
          /*excludeThisKeyword*/
          !0
        ) && wh(e.left) === "prototype" && ua(TB(e)) ? 6 : P3(e.left);
      }
      function lOe(e) {
        return Vx(e) && m_(e.expression) && e.expression.text === "0";
      }
      function a5(e) {
        if (kn(e))
          return e.name;
        const t = za(e.argumentExpression);
        return m_(t) || Ba(t) ? t : e;
      }
      function wh(e) {
        const t = a5(e);
        if (t) {
          if (Fe(t))
            return t.escapedText;
          if (Ba(t) || m_(t))
            return ec(t.text);
        }
      }
      function P3(e) {
        if (e.expression.kind === 110)
          return 4;
        if (Rg(e))
          return 2;
        if (yS(
          e.expression,
          /*excludeThisKeyword*/
          !0
        )) {
          if (Qy(e.expression))
            return 3;
          let t = e;
          for (; !Fe(t.expression); )
            t = t.expression;
          const n = t.expression;
          if ((n.escapedText === "exports" || n.escapedText === "module" && wh(t) === "exports") && // ExportsProperty does not support binding with computed names
          Pb(e))
            return 1;
          if (yS(
            e,
            /*excludeThisKeyword*/
            !0
          ) || fo(e) && f5(e))
            return 5;
        }
        return 0;
      }
      function TB(e) {
        for (; _n(e.right); )
          e = e.right;
        return e.right;
      }
      function N3(e) {
        return _n(e) && Pc(e) === 3;
      }
      function yK(e) {
        return tn(e) && e.parent && e.parent.kind === 244 && (!fo(e) || SB(e)) && !!V1(e.parent);
      }
      function A3(e, t) {
        const { valueDeclaration: n } = e;
        (!n || !(t.flags & 33554432 && !tn(t) && !(n.flags & 33554432)) && z4(n) && !z4(t) || n.kind !== t.kind && XFe(n)) && (e.valueDeclaration = t);
      }
      function vK(e) {
        if (!e || !e.valueDeclaration)
          return !1;
        const t = e.valueDeclaration;
        return t.kind === 262 || Zn(t) && t.initializer && Ts(t.initializer);
      }
      function bK(e) {
        switch (e?.kind) {
          case 260:
          case 208:
          case 272:
          case 278:
          case 271:
          case 273:
          case 280:
          case 274:
          case 281:
          case 276:
          case 205:
            return !0;
        }
        return !1;
      }
      function fx(e) {
        var t, n;
        switch (e.kind) {
          case 260:
          case 208:
            return (t = _r(e.initializer, (i) => f_(
              i,
              /*requireStringLiteralLikeArgument*/
              !0
            ))) == null ? void 0 : t.arguments[0];
          case 272:
          case 278:
          case 351:
            return Mn(e.moduleSpecifier, Ba);
          case 271:
            return Mn((n = Mn(e.moduleReference, Mh)) == null ? void 0 : n.expression, Ba);
          case 273:
          case 280:
            return Mn(e.parent.moduleSpecifier, Ba);
          case 274:
          case 281:
            return Mn(e.parent.parent.moduleSpecifier, Ba);
          case 276:
            return Mn(e.parent.parent.parent.moduleSpecifier, Ba);
          case 205:
            return Dh(e) ? e.argument.literal : void 0;
          default:
            E.assertNever(e);
        }
      }
      function V4(e) {
        return I3(e) || E.failBadSyntaxKind(e.parent);
      }
      function I3(e) {
        switch (e.parent.kind) {
          case 272:
          case 278:
          case 351:
            return e.parent;
          case 283:
            return e.parent.parent;
          case 213:
            return df(e.parent) || f_(
              e.parent,
              /*requireStringLiteralLikeArgument*/
              !1
            ) ? e.parent : void 0;
          case 201:
            if (!la(e))
              break;
            return Mn(e.parent.parent, am);
          default:
            return;
        }
      }
      function F3(e, t) {
        return !!t.rewriteRelativeImportExtensions && ff(e) && !Sl(e) && CS(e);
      }
      function px(e) {
        switch (e.kind) {
          case 272:
          case 278:
          case 351:
            return e.moduleSpecifier;
          case 271:
            return e.moduleReference.kind === 283 ? e.moduleReference.expression : void 0;
          case 205:
            return Dh(e) ? e.argument.literal : void 0;
          case 213:
            return e.arguments[0];
          case 267:
            return e.name.kind === 11 ? e.name : void 0;
          default:
            return E.assertNever(e);
        }
      }
      function qC(e) {
        switch (e.kind) {
          case 272:
            return e.importClause && Mn(e.importClause.namedBindings, Hg);
          case 271:
            return e;
          case 278:
            return e.exportClause && Mn(e.exportClause, Zm);
          default:
            return E.assertNever(e);
        }
      }
      function vS(e) {
        return (e.kind === 272 || e.kind === 351) && !!e.importClause && !!e.importClause.name;
      }
      function SK(e, t) {
        if (e.name) {
          const n = t(e);
          if (n) return n;
        }
        if (e.namedBindings) {
          const n = Hg(e.namedBindings) ? t(e.namedBindings) : ar(e.namedBindings.elements, t);
          if (n) return n;
        }
      }
      function dx(e) {
        switch (e.kind) {
          case 169:
          case 174:
          case 173:
          case 304:
          case 303:
          case 172:
          case 171:
            return e.questionToken !== void 0;
        }
        return !1;
      }
      function mx(e) {
        const t = v6(e) ? Xc(e.parameters) : void 0, n = Mn(t && t.name, Fe);
        return !!n && n.escapedText === "new";
      }
      function Dp(e) {
        return e.kind === 346 || e.kind === 338 || e.kind === 340;
      }
      function O3(e) {
        return Dp(e) || Ap(e);
      }
      function uOe(e) {
        return Pl(e) && _n(e.expression) && e.expression.operatorToken.kind === 64 ? D3(e.expression) : void 0;
      }
      function hhe(e) {
        return Pl(e) && _n(e.expression) && Pc(e.expression) !== 0 && _n(e.expression.right) && (e.expression.right.operatorToken.kind === 57 || e.expression.right.operatorToken.kind === 61) ? e.expression.right.right : void 0;
      }
      function yhe(e) {
        switch (e.kind) {
          case 243:
            const t = gx(e);
            return t && t.initializer;
          case 172:
            return e.initializer;
          case 303:
            return e.initializer;
        }
      }
      function gx(e) {
        return Sc(e) ? Xc(e.declarationList.declarations) : void 0;
      }
      function vhe(e) {
        return zc(e) && e.body && e.body.kind === 267 ? e.body : void 0;
      }
      function HC(e) {
        if (e.kind >= 243 && e.kind <= 259)
          return !0;
        switch (e.kind) {
          case 80:
          case 110:
          case 108:
          case 166:
          case 236:
          case 212:
          case 211:
          case 208:
          case 218:
          case 219:
          case 174:
          case 177:
          case 178:
            return !0;
          default:
            return !1;
        }
      }
      function L3(e) {
        switch (e.kind) {
          case 219:
          case 226:
          case 241:
          case 252:
          case 179:
          case 296:
          case 263:
          case 231:
          case 175:
          case 176:
          case 185:
          case 180:
          case 251:
          case 259:
          case 246:
          case 212:
          case 242:
          case 1:
          case 266:
          case 306:
          case 277:
          case 278:
          case 281:
          case 244:
          case 249:
          case 250:
          case 248:
          case 262:
          case 218:
          case 184:
          case 177:
          case 80:
          case 245:
          case 272:
          case 271:
          case 181:
          case 264:
          case 317:
          case 323:
          case 256:
          case 174:
          case 173:
          case 267:
          case 202:
          case 270:
          case 210:
          case 169:
          case 217:
          case 211:
          case 303:
          case 172:
          case 171:
          case 253:
          case 240:
          case 178:
          case 304:
          case 305:
          case 255:
          case 257:
          case 258:
          case 265:
          case 168:
          case 260:
          case 243:
          case 247:
          case 254:
            return !0;
          default:
            return !1;
        }
      }
      function xB(e, t) {
        let n;
        M4(e) && y0(e) && pf(e.initializer) && (n = wn(n, bhe(e, e.initializer.jsDoc)));
        let i = e;
        for (; i && i.parent; ) {
          if (pf(i) && (n = wn(n, bhe(e, i.jsDoc))), i.kind === 169) {
            n = wn(n, (t ? YY : wC)(i));
            break;
          }
          if (i.kind === 168) {
            n = wn(n, (t ? KY : ZY)(i));
            break;
          }
          i = kB(i);
        }
        return n || Ue;
      }
      function bhe(e, t) {
        const n = pa(t);
        return oa(t, (i) => {
          if (i === n) {
            const s = Tn(i.tags, (o) => _Oe(e, o));
            return i.tags === s ? [i] : s;
          } else
            return Tn(i.tags, b6);
        });
      }
      function _Oe(e, t) {
        return !(RD(t) || AF(t)) || !t.parent || !bd(t.parent) || !Zu(t.parent.parent) || t.parent.parent === e;
      }
      function kB(e) {
        const t = e.parent;
        if (t.kind === 303 || t.kind === 277 || t.kind === 172 || t.kind === 244 && e.kind === 211 || t.kind === 253 || vhe(t) || wl(e))
          return t;
        if (t.parent && (gx(t.parent) === e || wl(t)))
          return t.parent;
        if (t.parent && t.parent.parent && (gx(t.parent.parent) || yhe(t.parent.parent) === e || hhe(t.parent.parent)))
          return t.parent.parent;
      }
      function M3(e) {
        if (e.symbol)
          return e.symbol;
        if (!Fe(e.name))
          return;
        const t = e.name.escapedText, n = X1(e);
        if (!n)
          return;
        const i = Dn(n.parameters, (s) => s.name.kind === 80 && s.name.escapedText === t);
        return i && i.symbol;
      }
      function o5(e) {
        if (bd(e.parent) && e.parent.tags) {
          const t = Dn(e.parent.tags, Dp);
          if (t)
            return t;
        }
        return X1(e);
      }
      function CB(e) {
        return d7(e, b6);
      }
      function X1(e) {
        const t = Q1(e);
        if (t)
          return ju(t) && t.type && Ts(t.type) ? t.type : Ts(t) ? t : void 0;
      }
      function Q1(e) {
        const t = Nb(e);
        if (t)
          return hhe(t) || uOe(t) || yhe(t) || gx(t) || vhe(t) || t;
      }
      function Nb(e) {
        const t = GC(e);
        if (!t)
          return;
        const n = t.parent;
        if (n && n.jsDoc && t === Po(n.jsDoc))
          return n;
      }
      function GC(e) {
        return _r(e.parent, bd);
      }
      function TK(e) {
        const t = e.name.escapedText, { typeParameters: n } = e.parent.parent.parent;
        return n && Dn(n, (i) => i.name.escapedText === t);
      }
      function She(e) {
        return !!e.typeArguments;
      }
      var xK = /* @__PURE__ */ ((e) => (e[e.None = 0] = "None", e[e.Definite = 1] = "Definite", e[e.Compound = 2] = "Compound", e))(xK || {});
      function kK(e) {
        let t = e.parent;
        for (; ; ) {
          switch (t.kind) {
            case 226:
              const n = t, i = n.operatorToken.kind;
              return Ah(i) && n.left === e ? n : void 0;
            case 224:
            case 225:
              const s = t, o = s.operator;
              return o === 46 || o === 47 ? s : void 0;
            case 249:
            case 250:
              const c = t;
              return c.initializer === e ? c : void 0;
            case 217:
            case 209:
            case 230:
            case 235:
              e = t;
              break;
            case 305:
              e = t.parent;
              break;
            case 304:
              if (t.name !== e)
                return;
              e = t.parent;
              break;
            case 303:
              if (t.name === e)
                return;
              e = t.parent;
              break;
            default:
              return;
          }
          t = e.parent;
        }
      }
      function Hy(e) {
        const t = kK(e);
        if (!t)
          return 0;
        switch (t.kind) {
          case 226:
            const n = t.operatorToken.kind;
            return n === 64 || eD(n) ? 1 : 2;
          case 224:
          case 225:
            return 2;
          case 249:
          case 250:
            return 1;
        }
      }
      function Gy(e) {
        return !!kK(e);
      }
      function fOe(e) {
        const t = za(e.right);
        return t.kind === 226 && Pz(t.operatorToken.kind);
      }
      function EB(e) {
        const t = kK(e);
        return !!t && wl(
          t,
          /*excludeCompoundAssignment*/
          !0
        ) && fOe(t);
      }
      function CK(e) {
        switch (e.kind) {
          case 241:
          case 243:
          case 254:
          case 245:
          case 255:
          case 269:
          case 296:
          case 297:
          case 256:
          case 248:
          case 249:
          case 250:
          case 246:
          case 247:
          case 258:
          case 299:
            return !0;
        }
        return !1;
      }
      function bS(e) {
        return ho(e) || Co(e) || rx(e) || Tc(e) || Xo(e);
      }
      function The(e, t) {
        for (; e && e.kind === t; )
          e = e.parent;
        return e;
      }
      function R3(e) {
        return The(
          e,
          196
          /* ParenthesizedType */
        );
      }
      function Gp(e) {
        return The(
          e,
          217
          /* ParenthesizedExpression */
        );
      }
      function EK(e) {
        let t;
        for (; e && e.kind === 196; )
          t = e, e = e.parent;
        return [t, e];
      }
      function U4(e) {
        for (; AS(e); ) e = e.type;
        return e;
      }
      function za(e, t) {
        return xc(e, t ? -2147483647 : 1);
      }
      function DB(e) {
        return e.kind !== 211 && e.kind !== 212 ? !1 : (e = Gp(e.parent), e && e.kind === 220);
      }
      function Ab(e, t) {
        for (; e; ) {
          if (e === t) return !0;
          e = e.parent;
        }
        return !1;
      }
      function Xm(e) {
        return !xi(e) && !Ps(e) && Dl(e.parent) && e.parent.name === e;
      }
      function q4(e) {
        const t = e.parent;
        switch (e.kind) {
          case 11:
          case 15:
          case 9:
            if (ia(t)) return t.parent;
          // falls through
          case 80:
            if (Dl(t))
              return t.name === e ? t : void 0;
            if (Qu(t)) {
              const n = t.parent;
              return Af(n) && n.name === t ? n : void 0;
            } else {
              const n = t.parent;
              return _n(n) && Pc(n) !== 0 && (n.left.symbol || n.symbol) && ls(n) === e ? n : void 0;
            }
          case 81:
            return Dl(t) && t.name === e ? t : void 0;
          default:
            return;
        }
      }
      function j3(e) {
        return wf(e) && e.parent.kind === 167 && Dl(e.parent.parent);
      }
      function DK(e) {
        const t = e.parent;
        switch (t.kind) {
          case 172:
          case 171:
          case 174:
          case 173:
          case 177:
          case 178:
          case 306:
          case 303:
          case 211:
            return t.name === e;
          case 166:
            return t.right === e;
          case 208:
          case 276:
            return t.propertyName === e;
          case 281:
          case 291:
          case 285:
          case 286:
          case 287:
            return !0;
        }
        return !1;
      }
      function wB(e) {
        switch (e.parent.kind) {
          case 273:
          case 276:
          case 274:
          case 281:
          case 277:
          case 271:
          case 280:
            return e.parent;
          case 166:
            do
              e = e.parent;
            while (e.parent.kind === 166);
            return wB(e);
        }
      }
      function c5(e) {
        return to(e) || Kc(e);
      }
      function B3(e) {
        const t = PB(e);
        return c5(t);
      }
      function PB(e) {
        return Oo(e) ? e.expression : e.right;
      }
      function wK(e) {
        return e.kind === 304 ? e.name : e.kind === 303 ? e.initializer : e.parent.right;
      }
      function Zd(e) {
        const t = Ib(e);
        if (t && tn(e)) {
          const n = tZ(e);
          if (n)
            return n.class;
        }
        return t;
      }
      function Ib(e) {
        const t = J3(
          e.heritageClauses,
          96
          /* ExtendsKeyword */
        );
        return t && t.types.length > 0 ? t.types[0] : void 0;
      }
      function $C(e) {
        if (tn(e))
          return rZ(e).map((t) => t.class);
        {
          const t = J3(
            e.heritageClauses,
            119
            /* ImplementsKeyword */
          );
          return t?.types;
        }
      }
      function H4(e) {
        return Yl(e) ? G4(e) || Ue : Xn(e) && Ji(GT(Zd(e)), $C(e)) || Ue;
      }
      function G4(e) {
        const t = J3(
          e.heritageClauses,
          96
          /* ExtendsKeyword */
        );
        return t ? t.types : void 0;
      }
      function J3(e, t) {
        if (e) {
          for (const n of e)
            if (n.token === t)
              return n;
        }
      }
      function Y1(e, t) {
        for (; e; ) {
          if (e.kind === t)
            return e;
          e = e.parent;
        }
      }
      function p_(e) {
        return 83 <= e && e <= 165;
      }
      function NB(e) {
        return 19 <= e && e <= 79;
      }
      function l5(e) {
        return p_(e) || NB(e);
      }
      function u5(e) {
        return 128 <= e && e <= 165;
      }
      function AB(e) {
        return p_(e) && !u5(e);
      }
      function hx(e) {
        const t = iS(e);
        return t !== void 0 && AB(t);
      }
      function IB(e) {
        const t = sS(e);
        return !!t && !u5(t);
      }
      function XC(e) {
        return 2 <= e && e <= 7;
      }
      var PK = /* @__PURE__ */ ((e) => (e[e.Normal = 0] = "Normal", e[e.Generator = 1] = "Generator", e[e.Async = 2] = "Async", e[e.Invalid = 4] = "Invalid", e[e.AsyncGenerator = 3] = "AsyncGenerator", e))(PK || {});
      function Fc(e) {
        if (!e)
          return 4;
        let t = 0;
        switch (e.kind) {
          case 262:
          case 218:
          case 174:
            e.asteriskToken && (t |= 1);
          // falls through
          case 219:
            qn(
              e,
              1024
              /* Async */
            ) && (t |= 2);
            break;
        }
        return e.body || (t |= 4), t;
      }
      function $4(e) {
        switch (e.kind) {
          case 262:
          case 218:
          case 219:
          case 174:
            return e.body !== void 0 && e.asteriskToken === void 0 && qn(
              e,
              1024
              /* Async */
            );
        }
        return !1;
      }
      function wf(e) {
        return Ba(e) || m_(e);
      }
      function _5(e) {
        return sv(e) && (e.operator === 40 || e.operator === 41) && m_(e.operand);
      }
      function Ph(e) {
        const t = ls(e);
        return !!t && f5(t);
      }
      function f5(e) {
        if (!(e.kind === 167 || e.kind === 212))
          return !1;
        const t = fo(e) ? za(e.argumentExpression) : e.expression;
        return !wf(t) && !_5(t);
      }
      function SS(e) {
        switch (e.kind) {
          case 80:
          case 81:
            return e.escapedText;
          case 11:
          case 15:
          case 9:
          case 10:
            return ec(e.text);
          case 167:
            const t = e.expression;
            return wf(t) ? ec(t.text) : _5(t) ? t.operator === 41 ? Qs(t.operator) + t.operand.text : t.operand.text : void 0;
          case 295:
            return Ax(e);
          default:
            return E.assertNever(e);
        }
      }
      function Kd(e) {
        switch (e.kind) {
          case 80:
          case 11:
          case 15:
          case 9:
            return !0;
          default:
            return !1;
        }
      }
      function ep(e) {
        return Ng(e) ? Pn(e) : vd(e) ? SD(e) : e.text;
      }
      function X4(e) {
        return Ng(e) ? e.escapedText : vd(e) ? Ax(e) : ec(e.text);
      }
      function z3(e, t) {
        return `__#${ea(e)}@${t}`;
      }
      function W3(e) {
        return Wi(e.escapedName, "__@");
      }
      function NK(e) {
        return Wi(e.escapedName, "__#");
      }
      function pOe(e) {
        return Fe(e) ? Pn(e) === "__proto__" : la(e) && e.text === "__proto__";
      }
      function p5(e, t) {
        switch (e = xc(e), e.kind) {
          case 231:
            if (RW(e))
              return !1;
            break;
          case 218:
            if (e.name)
              return !1;
            break;
          case 219:
            break;
          default:
            return !1;
        }
        return typeof t == "function" ? t(e) : !0;
      }
      function FB(e) {
        switch (e.kind) {
          case 303:
            return !pOe(e.name);
          case 304:
            return !!e.objectAssignmentInitializer;
          case 260:
            return Fe(e.name) && !!e.initializer;
          case 169:
            return Fe(e.name) && !!e.initializer && !e.dotDotDotToken;
          case 208:
            return Fe(e.name) && !!e.initializer && !e.dotDotDotToken;
          case 172:
            return !!e.initializer;
          case 226:
            switch (e.operatorToken.kind) {
              case 64:
              case 77:
              case 76:
              case 78:
                return Fe(e.left);
            }
            break;
          case 277:
            return !0;
        }
        return !1;
      }
      function G_(e, t) {
        if (!FB(e)) return !1;
        switch (e.kind) {
          case 303:
            return p5(e.initializer, t);
          case 304:
            return p5(e.objectAssignmentInitializer, t);
          case 260:
          case 169:
          case 208:
          case 172:
            return p5(e.initializer, t);
          case 226:
            return p5(e.right, t);
          case 277:
            return p5(e.expression, t);
        }
      }
      function OB(e) {
        return e.escapedText === "push" || e.escapedText === "unshift";
      }
      function Z1(e) {
        return em(e).kind === 169;
      }
      function em(e) {
        for (; e.kind === 208; )
          e = e.parent.parent;
        return e;
      }
      function LB(e) {
        const t = e.kind;
        return t === 176 || t === 218 || t === 262 || t === 219 || t === 174 || t === 177 || t === 178 || t === 267 || t === 307;
      }
      function oo(e) {
        return gd(e.pos) || gd(e.end);
      }
      var AK = /* @__PURE__ */ ((e) => (e[e.Left = 0] = "Left", e[e.Right = 1] = "Right", e))(AK || {});
      function MB(e) {
        const t = xhe(e), n = e.kind === 214 && e.arguments !== void 0;
        return RB(e.kind, t, n);
      }
      function RB(e, t, n) {
        switch (e) {
          case 214:
            return n ? 0 : 1;
          case 224:
          case 221:
          case 222:
          case 220:
          case 223:
          case 227:
          case 229:
            return 1;
          case 226:
            switch (t) {
              case 43:
              case 64:
              case 65:
              case 66:
              case 68:
              case 67:
              case 69:
              case 70:
              case 71:
              case 72:
              case 73:
              case 74:
              case 79:
              case 75:
              case 76:
              case 77:
              case 78:
                return 1;
            }
        }
        return 0;
      }
      function Q4(e) {
        const t = xhe(e), n = e.kind === 214 && e.arguments !== void 0;
        return V3(e.kind, t, n);
      }
      function xhe(e) {
        return e.kind === 226 ? e.operatorToken.kind : e.kind === 224 || e.kind === 225 ? e.operator : e.kind;
      }
      var IK = /* @__PURE__ */ ((e) => (e[e.Comma = 0] = "Comma", e[e.Spread = 1] = "Spread", e[e.Yield = 2] = "Yield", e[e.Assignment = 3] = "Assignment", e[e.Conditional = 4] = "Conditional", e[
        e.Coalesce = 4
        /* Conditional */
      ] = "Coalesce", e[e.LogicalOR = 5] = "LogicalOR", e[e.LogicalAND = 6] = "LogicalAND", e[e.BitwiseOR = 7] = "BitwiseOR", e[e.BitwiseXOR = 8] = "BitwiseXOR", e[e.BitwiseAND = 9] = "BitwiseAND", e[e.Equality = 10] = "Equality", e[e.Relational = 11] = "Relational", e[e.Shift = 12] = "Shift", e[e.Additive = 13] = "Additive", e[e.Multiplicative = 14] = "Multiplicative", e[e.Exponentiation = 15] = "Exponentiation", e[e.Unary = 16] = "Unary", e[e.Update = 17] = "Update", e[e.LeftHandSide = 18] = "LeftHandSide", e[e.Member = 19] = "Member", e[e.Primary = 20] = "Primary", e[
        e.Highest = 20
        /* Primary */
      ] = "Highest", e[
        e.Lowest = 0
        /* Comma */
      ] = "Lowest", e[e.Invalid = -1] = "Invalid", e))(IK || {});
      function V3(e, t, n) {
        switch (e) {
          case 356:
            return 0;
          case 230:
            return 1;
          case 229:
            return 2;
          case 227:
            return 4;
          case 226:
            switch (t) {
              case 28:
                return 0;
              case 64:
              case 65:
              case 66:
              case 68:
              case 67:
              case 69:
              case 70:
              case 71:
              case 72:
              case 73:
              case 74:
              case 79:
              case 75:
              case 76:
              case 77:
              case 78:
                return 3;
              default:
                return U3(t);
            }
          // TODO: Should prefix `++` and `--` be moved to the `Update` precedence?
          case 216:
          case 235:
          case 224:
          case 221:
          case 222:
          case 220:
          case 223:
            return 16;
          case 225:
            return 17;
          case 213:
            return 18;
          case 214:
            return n ? 19 : 18;
          case 215:
          case 211:
          case 212:
          case 236:
            return 19;
          case 234:
          case 238:
            return 11;
          case 110:
          case 108:
          case 80:
          case 81:
          case 106:
          case 112:
          case 97:
          case 9:
          case 10:
          case 11:
          case 209:
          case 210:
          case 218:
          case 219:
          case 231:
          case 14:
          case 15:
          case 228:
          case 217:
          case 232:
          case 284:
          case 285:
          case 288:
            return 20;
          default:
            return -1;
        }
      }
      function U3(e) {
        switch (e) {
          case 61:
            return 4;
          case 57:
            return 5;
          case 56:
            return 6;
          case 52:
            return 7;
          case 53:
            return 8;
          case 51:
            return 9;
          case 35:
          case 36:
          case 37:
          case 38:
            return 10;
          case 30:
          case 32:
          case 33:
          case 34:
          case 104:
          case 103:
          case 130:
          case 152:
            return 11;
          case 48:
          case 49:
          case 50:
            return 12;
          case 40:
          case 41:
            return 13;
          case 42:
          case 44:
          case 45:
            return 14;
          case 43:
            return 15;
        }
        return -1;
      }
      function QC(e) {
        return Tn(e, (t) => {
          switch (t.kind) {
            case 294:
              return !!t.expression;
            case 12:
              return !t.containsOnlyTriviaWhiteSpaces;
            default:
              return !0;
          }
        });
      }
      function Y4() {
        let e = [];
        const t = [], n = /* @__PURE__ */ new Map();
        let i = !1;
        return {
          add: o,
          lookup: s,
          getGlobalDiagnostics: c,
          getDiagnostics: _
        };
        function s(u) {
          let g;
          if (u.file ? g = n.get(u.file.fileName) : g = e, !g)
            return;
          const m = ky(g, u, mo, pee);
          if (m >= 0)
            return g[m];
          if (~m > 0 && M5(u, g[~m - 1]))
            return g[~m - 1];
        }
        function o(u) {
          let g;
          u.file ? (g = n.get(u.file.fileName), g || (g = [], n.set(u.file.fileName, g), Ty(t, u.file.fileName, au))) : (i && (i = !1, e = e.slice()), g = e), Ty(g, u, pee, M5);
        }
        function c() {
          return i = !0, e;
        }
        function _(u) {
          if (u)
            return n.get(u) || [];
          const g = t4(t, (m) => n.get(m));
          return e.length && g.unshift(...e), g;
        }
      }
      var dOe = /\$\{/g;
      function jB(e) {
        return e.replace(dOe, "\\${");
      }
      function FK(e) {
        return !!((e.templateFlags || 0) & 2048);
      }
      function BB(e) {
        return e && !!(PS(e) ? FK(e) : FK(e.head) || at(e.templateSpans, (t) => FK(t.literal)));
      }
      var mOe = /[\\"\u0000-\u001f\u2028\u2029\u0085]/g, gOe = /[\\'\u0000-\u001f\u2028\u2029\u0085]/g, hOe = /\r\n|[\\`\u0000-\u0009\u000b-\u001f\u2028\u2029\u0085]/g, yOe = new Map(Object.entries({
        "	": "\\t",
        "\v": "\\v",
        "\f": "\\f",
        "\b": "\\b",
        "\r": "\\r",
        "\n": "\\n",
        "\\": "\\\\",
        '"': '\\"',
        "'": "\\'",
        "`": "\\`",
        "\u2028": "\\u2028",
        // lineSeparator
        "\u2029": "\\u2029",
        // paragraphSeparator
        "": "\\u0085",
        // nextLine
        "\r\n": "\\r\\n"
        // special case for CRLFs in backticks
      }));
      function khe(e) {
        return "\\u" + ("0000" + e.toString(16).toUpperCase()).slice(-4);
      }
      function vOe(e, t, n) {
        if (e.charCodeAt(0) === 0) {
          const i = n.charCodeAt(t + e.length);
          return i >= 48 && i <= 57 ? "\\x00" : "\\0";
        }
        return yOe.get(e) || khe(e.charCodeAt(0));
      }
      function Qm(e, t) {
        const n = t === 96 ? hOe : t === 39 ? gOe : mOe;
        return e.replace(n, vOe);
      }
      var Che = /[^\u0000-\u007F]/g;
      function d5(e, t) {
        return e = Qm(e, t), Che.test(e) ? e.replace(Che, (n) => khe(n.charCodeAt(0))) : e;
      }
      var bOe = /["\u0000-\u001f\u2028\u2029\u0085]/g, SOe = /['\u0000-\u001f\u2028\u2029\u0085]/g, TOe = new Map(Object.entries({
        '"': "&quot;",
        "'": "&apos;"
      }));
      function xOe(e) {
        return "&#x" + e.toString(16).toUpperCase() + ";";
      }
      function kOe(e) {
        return e.charCodeAt(0) === 0 ? "&#0;" : TOe.get(e) || xOe(e.charCodeAt(0));
      }
      function JB(e, t) {
        const n = t === 39 ? SOe : bOe;
        return e.replace(n, kOe);
      }
      function wp(e) {
        const t = e.length;
        return t >= 2 && e.charCodeAt(0) === e.charCodeAt(t - 1) && COe(e.charCodeAt(0)) ? e.substring(1, t - 1) : e;
      }
      function COe(e) {
        return e === 39 || e === 34 || e === 96;
      }
      function YC(e) {
        const t = e.charCodeAt(0);
        return t >= 97 && t <= 122 || e.includes("-");
      }
      var q3 = ["", "    "];
      function m5(e) {
        const t = q3[1];
        for (let n = q3.length; n <= e; n++)
          q3.push(q3[n - 1] + t);
        return q3[e];
      }
      function H3() {
        return q3[1].length;
      }
      function G3(e) {
        var t, n, i, s, o, c = !1;
        function _(D) {
          const w = ZT(D);
          w.length > 1 ? (s = s + w.length - 1, o = t.length - D.length + pa(w), i = o - t.length === 0) : i = !1;
        }
        function u(D) {
          D && D.length && (i && (D = m5(n) + D, i = !1), t += D, _(D));
        }
        function g(D) {
          D && (c = !1), u(D);
        }
        function m(D) {
          D && (c = !0), u(D);
        }
        function h() {
          t = "", n = 0, i = !0, s = 0, o = 0, c = !1;
        }
        function S(D) {
          D !== void 0 && (t += D, _(D), c = !1);
        }
        function T(D) {
          D && D.length && g(D);
        }
        function k(D) {
          (!i || D) && (t += e, s++, o = t.length, i = !0, c = !1);
        }
        return h(), {
          write: g,
          rawWrite: S,
          writeLiteral: T,
          writeLine: k,
          increaseIndent: () => {
            n++;
          },
          decreaseIndent: () => {
            n--;
          },
          getIndent: () => n,
          getTextPos: () => t.length,
          getLine: () => s,
          getColumn: () => i ? n * H3() : t.length - o,
          getText: () => t,
          isAtStartOfLine: () => i,
          hasTrailingComment: () => c,
          hasTrailingWhitespace: () => !!t.length && Dg(t.charCodeAt(t.length - 1)),
          clear: h,
          writeKeyword: g,
          writeOperator: g,
          writeParameter: g,
          writeProperty: g,
          writePunctuation: g,
          writeSpace: g,
          writeStringLiteral: g,
          writeSymbol: (D, w) => g(D),
          writeTrailingSemicolon: g,
          writeComment: m
        };
      }
      function zB(e) {
        let t = !1;
        function n() {
          t && (e.writeTrailingSemicolon(";"), t = !1);
        }
        return {
          ...e,
          writeTrailingSemicolon() {
            t = !0;
          },
          writeLiteral(i) {
            n(), e.writeLiteral(i);
          },
          writeStringLiteral(i) {
            n(), e.writeStringLiteral(i);
          },
          writeSymbol(i, s) {
            n(), e.writeSymbol(i, s);
          },
          writePunctuation(i) {
            n(), e.writePunctuation(i);
          },
          writeKeyword(i) {
            n(), e.writeKeyword(i);
          },
          writeOperator(i) {
            n(), e.writeOperator(i);
          },
          writeParameter(i) {
            n(), e.writeParameter(i);
          },
          writeSpace(i) {
            n(), e.writeSpace(i);
          },
          writeProperty(i) {
            n(), e.writeProperty(i);
          },
          writeComment(i) {
            n(), e.writeComment(i);
          },
          writeLine() {
            n(), e.writeLine();
          },
          increaseIndent() {
            n(), e.increaseIndent();
          },
          decreaseIndent() {
            n(), e.decreaseIndent();
          }
        };
      }
      function TS(e) {
        return e.useCaseSensitiveFileNames ? e.useCaseSensitiveFileNames() : !1;
      }
      function Nh(e) {
        return Hl(TS(e));
      }
      function WB(e, t, n) {
        return t.moduleName || VB(e, t.fileName, n && n.fileName);
      }
      function Ehe(e, t) {
        return e.getCanonicalFileName(Xi(t, e.getCurrentDirectory()));
      }
      function OK(e, t, n) {
        const i = t.getExternalModuleFileFromDeclaration(n);
        if (!i || i.isDeclarationFile)
          return;
        const s = px(n);
        if (!(s && Ba(s) && !ff(s.text) && !Ehe(e, i.path).includes(Ehe(e, ml(e.getCommonSourceDirectory())))))
          return WB(e, i);
      }
      function VB(e, t, n) {
        const i = (u) => e.getCanonicalFileName(u), s = lo(n ? Un(n) : e.getCommonSourceDirectory(), e.getCurrentDirectory(), i), o = Xi(t, e.getCurrentDirectory()), c = YT(
          s,
          o,
          s,
          i,
          /*isAbsolutePathAnUrl*/
          !1
        ), _ = Ru(c);
        return n ? nS(_) : _;
      }
      function LK(e, t, n) {
        const i = t.getCompilerOptions();
        let s;
        return i.outDir ? s = Ru(b5(e, t, i.outDir)) : s = Ru(e), s + n;
      }
      function MK(e, t) {
        return g5(e, t.getCompilerOptions(), t);
      }
      function g5(e, t, n) {
        const i = t.declarationDir || t.outDir, s = i ? RK(e, i, n.getCurrentDirectory(), n.getCommonSourceDirectory(), (c) => n.getCanonicalFileName(c)) : e, o = h5(s);
        return Ru(s) + o;
      }
      function h5(e) {
        return Dc(e, [
          ".mjs",
          ".mts"
          /* Mts */
        ]) ? ".d.mts" : Dc(e, [
          ".cjs",
          ".cts"
          /* Cts */
        ]) ? ".d.cts" : Dc(e, [
          ".json"
          /* Json */
        ]) ? ".d.json.ts" : (
          // Drive-by redefinition of json declaration file output name so if it's ever enabled, it behaves well
          ".d.ts"
        );
      }
      function UB(e) {
        return Dc(e, [
          ".d.mts",
          ".mjs",
          ".mts"
          /* Mts */
        ]) ? [
          ".mts",
          ".mjs"
          /* Mjs */
        ] : Dc(e, [
          ".d.cts",
          ".cjs",
          ".cts"
          /* Cts */
        ]) ? [
          ".cts",
          ".cjs"
          /* Cjs */
        ] : Dc(e, [".d.json.ts"]) ? [
          ".json"
          /* Json */
        ] : [
          ".tsx",
          ".ts",
          ".jsx",
          ".js"
          /* Js */
        ];
      }
      function qB(e, t, n, i) {
        return n ? Ay(
          i(),
          Ef(n, e, t)
        ) : e;
      }
      function y5(e, t) {
        var n;
        if (e.paths)
          return e.baseUrl ?? E.checkDefined(e.pathsBasePath || ((n = t.getCurrentDirectory) == null ? void 0 : n.call(t)), "Encountered 'paths' without a 'baseUrl', config file, or host 'getCurrentDirectory'.");
      }
      function v5(e, t, n) {
        const i = e.getCompilerOptions();
        if (i.outFile) {
          const s = Mu(i), o = i.emitDeclarationOnly || s === 2 || s === 4;
          return Tn(
            e.getSourceFiles(),
            (c) => (o || !ol(c)) && Fb(c, e, n)
          );
        } else {
          const s = t === void 0 ? e.getSourceFiles() : [t];
          return Tn(
            s,
            (o) => Fb(o, e, n)
          );
        }
      }
      function Fb(e, t, n) {
        const i = t.getCompilerOptions();
        if (i.noEmitForJsFiles && $u(e) || e.isDeclarationFile || t.isSourceFileFromExternalLibrary(e)) return !1;
        if (n) return !0;
        if (t.isSourceOfProjectReferenceRedirect(e.fileName)) return !1;
        if (!Kf(e)) return !0;
        if (t.getResolvedProjectReferenceToRedirect(e.fileName)) return !1;
        if (i.outFile) return !0;
        if (!i.outDir) return !1;
        if (i.rootDir || i.composite && i.configFilePath) {
          const s = Xi(sw(i, () => [], t.getCurrentDirectory(), t.getCanonicalFileName), t.getCurrentDirectory()), o = RK(e.fileName, i.outDir, t.getCurrentDirectory(), s, t.getCanonicalFileName);
          if (xh(e.fileName, o, t.getCurrentDirectory(), !t.useCaseSensitiveFileNames()) === 0) return !1;
        }
        return !0;
      }
      function b5(e, t, n) {
        return RK(e, n, t.getCurrentDirectory(), t.getCommonSourceDirectory(), (i) => t.getCanonicalFileName(i));
      }
      function RK(e, t, n, i, s) {
        let o = Xi(e, n);
        return o = s(o).indexOf(s(i)) === 0 ? o.substring(i.length) : o, An(t, o);
      }
      function S5(e, t, n, i, s, o, c) {
        e.writeFile(
          n,
          i,
          s,
          (_) => {
            t.add($o(p.Could_not_write_file_0_Colon_1, n, _));
          },
          o,
          c
        );
      }
      function Dhe(e, t, n) {
        if (e.length > ud(e) && !n(e)) {
          const i = Un(e);
          Dhe(i, t, n), t(e);
        }
      }
      function HB(e, t, n, i, s, o) {
        try {
          i(e, t, n);
        } catch {
          Dhe(Un(Gs(e)), s, o), i(e, t, n);
        }
      }
      function Z4(e, t) {
        const n = Eg(e);
        return g4(n, t);
      }
      function ZC(e, t) {
        return g4(e, t);
      }
      function jg(e) {
        return Dn(e.members, (t) => Xo(t) && Cp(t.body));
      }
      function K4(e) {
        if (e && e.parameters.length > 0) {
          const t = e.parameters.length === 2 && $y(e.parameters[0]);
          return e.parameters[t ? 1 : 0];
        }
      }
      function jK(e) {
        const t = K4(e);
        return t && t.type;
      }
      function Ob(e) {
        if (e.parameters.length && !I0(e)) {
          const t = e.parameters[0];
          if ($y(t))
            return t;
        }
      }
      function $y(e) {
        return Xy(e.name);
      }
      function Xy(e) {
        return !!e && e.kind === 80 && GB(e);
      }
      function yx(e) {
        return !!_r(
          e,
          (t) => t.kind === 186 ? !0 : t.kind === 80 || t.kind === 166 ? !1 : "quit"
        );
      }
      function Lb(e) {
        if (!Xy(e))
          return !1;
        for (; Qu(e.parent) && e.parent.left === e; )
          e = e.parent;
        return e.parent.kind === 186;
      }
      function GB(e) {
        return e.escapedText === "this";
      }
      function Mb(e, t) {
        let n, i, s, o;
        return Ph(t) ? (n = t, t.kind === 177 ? s = t : t.kind === 178 ? o = t : E.fail("Accessor has wrong kind")) : ar(e, (c) => {
          if (By(c) && zs(c) === zs(t)) {
            const _ = SS(c.name), u = SS(t.name);
            _ === u && (n ? i || (i = c) : n = c, c.kind === 177 && !s && (s = c), c.kind === 178 && !o && (o = c));
          }
        }), {
          firstAccessor: n,
          secondAccessor: i,
          getAccessor: s,
          setAccessor: o
        };
      }
      function Yc(e) {
        if (!tn(e) && Tc(e) || Ap(e)) return;
        const t = e.type;
        return t || !tn(e) ? t : E4(e) ? e.typeExpression && e.typeExpression.type : Oy(e);
      }
      function BK(e) {
        return e.type;
      }
      function mf(e) {
        return I0(e) ? e.type && e.type.typeExpression && e.type.typeExpression.type : e.type || (tn(e) ? qP(e) : void 0);
      }
      function T5(e) {
        return oa(U1(e), (t) => EOe(t) ? t.typeParameters : void 0);
      }
      function EOe(e) {
        return Ip(e) && !(e.parent.kind === 320 && (e.parent.tags.some(Dp) || e.parent.tags.some(b6)));
      }
      function $B(e) {
        const t = K4(e);
        return t && Yc(t);
      }
      function DOe(e, t, n, i) {
        wOe(e, t, n.pos, i);
      }
      function wOe(e, t, n, i) {
        i && i.length && n !== i[0].pos && ZC(e, n) !== ZC(e, i[0].pos) && t.writeLine();
      }
      function JK(e, t, n, i) {
        n !== i && ZC(e, n) !== ZC(e, i) && t.writeLine();
      }
      function POe(e, t, n, i, s, o, c, _) {
        if (i && i.length > 0) {
          let u = !1;
          for (const g of i)
            u && (n.writeSpace(" "), u = !1), _(e, t, n, g.pos, g.end, c), g.hasTrailingNewLine ? n.writeLine() : u = !0;
          u && o && n.writeSpace(" ");
        }
      }
      function zK(e, t, n, i, s, o, c) {
        let _, u;
        if (c ? s.pos === 0 && (_ = Tn(wg(e, s.pos), g)) : _ = wg(e, s.pos), _) {
          const m = [];
          let h;
          for (const S of _) {
            if (h) {
              const T = ZC(t, h.end);
              if (ZC(t, S.pos) >= T + 2)
                break;
            }
            m.push(S), h = S;
          }
          if (m.length) {
            const S = ZC(t, pa(m).end);
            ZC(t, ca(e, s.pos)) >= S + 2 && (DOe(t, n, s, _), POe(
              e,
              t,
              n,
              m,
              /*leadingSeparator*/
              !1,
              /*trailingSeparator*/
              !0,
              o,
              i
            ), u = { nodePos: s.pos, detachedCommentEndPos: pa(m).end });
          }
        }
        return u;
        function g(m) {
          return M7(e, m.pos);
        }
      }
      function KC(e, t, n, i, s, o) {
        if (e.charCodeAt(i + 1) === 42) {
          const c = CC(t, i), _ = t.length;
          let u;
          for (let g = i, m = c.line; g < s; m++) {
            const h = m + 1 === _ ? e.length + 1 : t[m + 1];
            if (g !== i) {
              u === void 0 && (u = whe(e, t[c.line], i));
              const T = n.getIndent() * H3() - u + whe(e, g, h);
              if (T > 0) {
                let k = T % H3();
                const D = m5((T - k) / H3());
                for (n.rawWrite(D); k; )
                  n.rawWrite(" "), k--;
              } else
                n.rawWrite("");
            }
            NOe(e, s, n, o, g, h), g = h;
          }
        } else
          n.writeComment(e.substring(i, s));
      }
      function NOe(e, t, n, i, s, o) {
        const c = Math.min(t, o - 1), _ = e.substring(s, c).trim();
        _ ? (n.writeComment(_), c !== t && n.writeLine()) : n.rawWrite(i);
      }
      function whe(e, t, n) {
        let i = 0;
        for (; t < n && Hd(e.charCodeAt(t)); t++)
          e.charCodeAt(t) === 9 ? i += H3() - i % H3() : i++;
        return i;
      }
      function XB(e) {
        return Lu(e) !== 0;
      }
      function WK(e) {
        return S0(e) !== 0;
      }
      function $_(e, t) {
        return !!vx(e, t);
      }
      function qn(e, t) {
        return !!VK(e, t);
      }
      function zs(e) {
        return Jc(e) && sl(e) || hc(e);
      }
      function sl(e) {
        return qn(
          e,
          256
          /* Static */
        );
      }
      function x5(e) {
        return $_(
          e,
          16
          /* Override */
        );
      }
      function Rb(e) {
        return qn(
          e,
          64
          /* Abstract */
        );
      }
      function QB(e) {
        return qn(
          e,
          128
          /* Ambient */
        );
      }
      function tm(e) {
        return qn(
          e,
          512
          /* Accessor */
        );
      }
      function xS(e) {
        return $_(
          e,
          8
          /* Readonly */
        );
      }
      function Pf(e) {
        return qn(
          e,
          32768
          /* Decorator */
        );
      }
      function vx(e, t) {
        return Lu(e) & t;
      }
      function VK(e, t) {
        return S0(e) & t;
      }
      function UK(e, t, n) {
        return e.kind >= 0 && e.kind <= 165 ? 0 : (e.modifierFlagsCache & 536870912 || (e.modifierFlagsCache = YB(e) | 536870912), n || t && tn(e) ? (!(e.modifierFlagsCache & 268435456) && e.parent && (e.modifierFlagsCache |= Phe(e) | 268435456), Nhe(e.modifierFlagsCache)) : AOe(e.modifierFlagsCache));
      }
      function Lu(e) {
        return UK(
          e,
          /*includeJSDoc*/
          !0
        );
      }
      function qK(e) {
        return UK(
          e,
          /*includeJSDoc*/
          !0,
          /*alwaysIncludeJSDoc*/
          !0
        );
      }
      function S0(e) {
        return UK(
          e,
          /*includeJSDoc*/
          !1
        );
      }
      function Phe(e) {
        let t = 0;
        return e.parent && !Ni(e) && (tn(e) && (nZ(e) && (t |= 8388608), iZ(e) && (t |= 16777216), sZ(e) && (t |= 33554432), aZ(e) && (t |= 67108864), oZ(e) && (t |= 134217728)), cZ(e) && (t |= 65536)), t;
      }
      function AOe(e) {
        return e & 65535;
      }
      function Nhe(e) {
        return e & 131071 | (e & 260046848) >>> 23;
      }
      function IOe(e) {
        return Nhe(Phe(e));
      }
      function HK(e) {
        return YB(e) | IOe(e);
      }
      function YB(e) {
        let t = Fp(e) ? rm(e.modifiers) : 0;
        return (e.flags & 8 || e.kind === 80 && e.flags & 4096) && (t |= 32), t;
      }
      function rm(e) {
        let t = 0;
        if (e)
          for (const n of e)
            t |= bx(n.kind);
        return t;
      }
      function bx(e) {
        switch (e) {
          case 126:
            return 256;
          case 125:
            return 1;
          case 124:
            return 4;
          case 123:
            return 2;
          case 128:
            return 64;
          case 129:
            return 512;
          case 95:
            return 32;
          case 138:
            return 128;
          case 87:
            return 4096;
          case 90:
            return 2048;
          case 134:
            return 1024;
          case 148:
            return 8;
          case 164:
            return 16;
          case 103:
            return 8192;
          case 147:
            return 16384;
          case 170:
            return 32768;
        }
        return 0;
      }
      function $3(e) {
        return e === 57 || e === 56;
      }
      function GK(e) {
        return $3(e) || e === 54;
      }
      function eD(e) {
        return e === 76 || e === 77 || e === 78;
      }
      function ZB(e) {
        return _n(e) && eD(e.operatorToken.kind);
      }
      function k5(e) {
        return $3(e) || e === 61;
      }
      function X3(e) {
        return _n(e) && k5(e.operatorToken.kind);
      }
      function Ah(e) {
        return e >= 64 && e <= 79;
      }
      function KB(e) {
        const t = eJ(e);
        return t && !t.isImplements ? t.class : void 0;
      }
      function eJ(e) {
        if (Lh(e)) {
          if (Q_(e.parent) && Xn(e.parent.parent))
            return {
              class: e.parent.parent,
              isImplements: e.parent.token === 119
              /* ImplementsKeyword */
            };
          if (Gx(e.parent)) {
            const t = Q1(e.parent);
            if (t && Xn(t))
              return { class: t, isImplements: !1 };
          }
        }
      }
      function wl(e, t) {
        return _n(e) && (t ? e.operatorToken.kind === 64 : Ah(e.operatorToken.kind)) && __(e.left);
      }
      function T0(e) {
        if (wl(
          e,
          /*excludeCompoundAssignment*/
          !0
        )) {
          const t = e.left.kind;
          return t === 210 || t === 209;
        }
        return !1;
      }
      function C5(e) {
        return KB(e) !== void 0;
      }
      function to(e) {
        return e.kind === 80 || Y3(e);
      }
      function Xu(e) {
        switch (e.kind) {
          case 80:
            return e;
          case 166:
            do
              e = e.left;
            while (e.kind !== 80);
            return e;
          case 211:
            do
              e = e.expression;
            while (e.kind !== 80);
            return e;
        }
      }
      function Q3(e) {
        return e.kind === 80 || e.kind === 110 || e.kind === 108 || e.kind === 236 || e.kind === 211 && Q3(e.expression) || e.kind === 217 && Q3(e.expression);
      }
      function Y3(e) {
        return kn(e) && Fe(e.name) && to(e.expression);
      }
      function Z3(e) {
        if (kn(e)) {
          const t = Z3(e.expression);
          if (t !== void 0)
            return t + "." + q_(e.name);
        } else if (fo(e)) {
          const t = Z3(e.expression);
          if (t !== void 0 && Bc(e.argumentExpression))
            return t + "." + SS(e.argumentExpression);
        } else {
          if (Fe(e))
            return Ei(e.escapedText);
          if (vd(e))
            return SD(e);
        }
      }
      function Qy(e) {
        return Pb(e) && wh(e) === "prototype";
      }
      function tD(e) {
        return e.parent.kind === 166 && e.parent.right === e || e.parent.kind === 211 && e.parent.name === e || e.parent.kind === 236 && e.parent.name === e;
      }
      function tJ(e) {
        return !!e.parent && (kn(e.parent) && e.parent.name === e || fo(e.parent) && e.parent.argumentExpression === e);
      }
      function $K(e) {
        return Qu(e.parent) && e.parent.right === e || kn(e.parent) && e.parent.name === e || uv(e.parent) && e.parent.right === e;
      }
      function E5(e) {
        return _n(e) && e.operatorToken.kind === 104;
      }
      function XK(e) {
        return E5(e.parent) && e === e.parent.right;
      }
      function rJ(e) {
        return e.kind === 210 && e.properties.length === 0;
      }
      function QK(e) {
        return e.kind === 209 && e.elements.length === 0;
      }
      function rD(e) {
        if (!(!FOe(e) || !e.declarations)) {
          for (const t of e.declarations)
            if (t.localSymbol) return t.localSymbol;
        }
      }
      function FOe(e) {
        return e && Ar(e.declarations) > 0 && qn(
          e.declarations[0],
          2048
          /* Default */
        );
      }
      function D5(e) {
        return Dn(o9e, (t) => Wo(e, t));
      }
      function OOe(e) {
        const t = [], n = e.length;
        for (let i = 0; i < n; i++) {
          const s = e.charCodeAt(i);
          s < 128 ? t.push(s) : s < 2048 ? (t.push(s >> 6 | 192), t.push(s & 63 | 128)) : s < 65536 ? (t.push(s >> 12 | 224), t.push(s >> 6 & 63 | 128), t.push(s & 63 | 128)) : s < 131072 ? (t.push(s >> 18 | 240), t.push(s >> 12 & 63 | 128), t.push(s >> 6 & 63 | 128), t.push(s & 63 | 128)) : E.assert(!1, "Unexpected code point");
        }
        return t;
      }
      var Sx = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";
      function YK(e) {
        let t = "";
        const n = OOe(e);
        let i = 0;
        const s = n.length;
        let o, c, _, u;
        for (; i < s; )
          o = n[i] >> 2, c = (n[i] & 3) << 4 | n[i + 1] >> 4, _ = (n[i + 1] & 15) << 2 | n[i + 2] >> 6, u = n[i + 2] & 63, i + 1 >= s ? _ = u = 64 : i + 2 >= s && (u = 64), t += Sx.charAt(o) + Sx.charAt(c) + Sx.charAt(_) + Sx.charAt(u), i += 3;
        return t;
      }
      function LOe(e) {
        let t = "", n = 0;
        const i = e.length;
        for (; n < i; ) {
          const s = e[n];
          if (s < 128)
            t += String.fromCharCode(s), n++;
          else if ((s & 192) === 192) {
            let o = s & 63;
            n++;
            let c = e[n];
            for (; (c & 192) === 128; )
              o = o << 6 | c & 63, n++, c = e[n];
            t += String.fromCharCode(o);
          } else
            t += String.fromCharCode(s), n++;
        }
        return t;
      }
      function ZK(e, t) {
        return e && e.base64encode ? e.base64encode(t) : YK(t);
      }
      function KK(e, t) {
        if (e && e.base64decode)
          return e.base64decode(t);
        const n = t.length, i = [];
        let s = 0;
        for (; s < n && t.charCodeAt(s) !== Sx.charCodeAt(64); ) {
          const o = Sx.indexOf(t[s]), c = Sx.indexOf(t[s + 1]), _ = Sx.indexOf(t[s + 2]), u = Sx.indexOf(t[s + 3]), g = (o & 63) << 2 | c >> 4 & 3, m = (c & 15) << 4 | _ >> 2 & 15, h = (_ & 3) << 6 | u & 63;
          m === 0 && _ !== 0 ? i.push(g) : h === 0 && u !== 0 ? i.push(g, m) : i.push(g, m, h), s += 4;
        }
        return LOe(i);
      }
      function nJ(e, t) {
        const n = cs(t) ? t : t.readFile(e);
        if (!n) return;
        const i = qz(e, n);
        return i.error ? void 0 : i.config;
      }
      function e6(e, t) {
        return nJ(e, t) || {};
      }
      function w5(e) {
        try {
          return JSON.parse(e);
        } catch {
          return;
        }
      }
      function md(e, t) {
        return !t.directoryExists || t.directoryExists(e);
      }
      var MOe = `\r
`, ROe = `
`;
      function x0(e) {
        switch (e.newLine) {
          case 0:
            return MOe;
          case 1:
          case void 0:
            return ROe;
        }
      }
      function tp(e, t = e) {
        return E.assert(t >= e || t === -1), { pos: e, end: t };
      }
      function P5(e, t) {
        return tp(e.pos, t);
      }
      function K1(e, t) {
        return tp(t, e.end);
      }
      function Ih(e) {
        const t = Fp(e) ? fb(e.modifiers, yl) : void 0;
        return t && !gd(t.end) ? K1(e, t.end) : e;
      }
      function nm(e) {
        if (is(e) || uc(e))
          return K1(e, e.name.pos);
        const t = Fp(e) ? Po(e.modifiers) : void 0;
        return t && !gd(t.end) ? K1(e, t.end) : Ih(e);
      }
      function iJ(e, t) {
        return tp(e, e + Qs(t).length);
      }
      function kS(e, t) {
        return tee(e, e, t);
      }
      function N5(e, t, n) {
        return rp(
          nD(
            e,
            n,
            /*includeComments*/
            !1
          ),
          nD(
            t,
            n,
            /*includeComments*/
            !1
          ),
          n
        );
      }
      function eee(e, t, n) {
        return rp(e.end, t.end, n);
      }
      function tee(e, t, n) {
        return rp(nD(
          e,
          n,
          /*includeComments*/
          !1
        ), t.end, n);
      }
      function K3(e, t, n) {
        return rp(e.end, nD(
          t,
          n,
          /*includeComments*/
          !1
        ), n);
      }
      function sJ(e, t, n, i) {
        const s = nD(t, n, i);
        return h4(n, e.end, s);
      }
      function Ahe(e, t, n) {
        return h4(n, e.end, t.end);
      }
      function ree(e, t) {
        return !rp(e.pos, e.end, t);
      }
      function rp(e, t, n) {
        return h4(n, e, t) === 0;
      }
      function nD(e, t, n) {
        return gd(e.pos) ? -1 : ca(
          t.text,
          e.pos,
          /*stopAfterLineBreak*/
          !1,
          n
        );
      }
      function nee(e, t, n, i) {
        const s = ca(
          n.text,
          e,
          /*stopAfterLineBreak*/
          !1,
          i
        ), o = jOe(s, t, n);
        return h4(n, o ?? t, s);
      }
      function iee(e, t, n, i) {
        const s = ca(
          n.text,
          e,
          /*stopAfterLineBreak*/
          !1,
          i
        );
        return h4(n, e, Math.min(t, s));
      }
      function d_(e, t) {
        return aJ(e.pos, e.end, t);
      }
      function aJ(e, t, n) {
        return e <= n.pos && t >= n.end;
      }
      function jOe(e, t = 0, n) {
        for (; e-- > t; )
          if (!Dg(n.text.charCodeAt(e)))
            return e;
      }
      function oJ(e) {
        const t = ds(e);
        if (t)
          switch (t.parent.kind) {
            case 266:
            case 267:
              return t === t.parent.name;
          }
        return !1;
      }
      function iD(e) {
        return Tn(e.declarations, eN);
      }
      function eN(e) {
        return Zn(e) && e.initializer !== void 0;
      }
      function cJ(e) {
        return e.watch && ao(e, "watch");
      }
      function $p(e) {
        e.close();
      }
      function lc(e) {
        return e.flags & 33554432 ? e.links.checkFlags : 0;
      }
      function np(e, t = !1) {
        if (e.valueDeclaration) {
          const n = t && e.declarations && Dn(e.declarations, P_) || e.flags & 32768 && Dn(e.declarations, ap) || e.valueDeclaration, i = W1(n);
          return e.parent && e.parent.flags & 32 ? i : i & -8;
        }
        if (lc(e) & 6) {
          const n = e.links.checkFlags, i = n & 1024 ? 2 : n & 256 ? 1 : 4, s = n & 2048 ? 256 : 0;
          return i | s;
        }
        return e.flags & 4194304 ? 257 : 0;
      }
      function $l(e, t) {
        return e.flags & 2097152 ? t.getAliasedSymbol(e) : e;
      }
      function t6(e) {
        return e.exportSymbol ? e.exportSymbol.flags | e.flags : e.flags;
      }
      function A5(e) {
        return sD(e) === 1;
      }
      function Tx(e) {
        return sD(e) !== 0;
      }
      function sD(e) {
        const { parent: t } = e;
        switch (t?.kind) {
          case 217:
            return sD(t);
          case 225:
          case 224:
            const { operator: n } = t;
            return n === 46 || n === 47 ? 2 : 0;
          case 226:
            const { left: i, operatorToken: s } = t;
            return i === e && Ah(s.kind) ? s.kind === 64 ? 1 : 2 : 0;
          case 211:
            return t.name !== e ? 0 : sD(t);
          case 303: {
            const o = sD(t.parent);
            return e === t.name ? BOe(o) : o;
          }
          case 304:
            return e === t.objectAssignmentInitializer ? 0 : sD(t.parent);
          case 209:
            return sD(t);
          case 249:
          case 250:
            return e === t.initializer ? 1 : 0;
          default:
            return 0;
        }
      }
      function BOe(e) {
        switch (e) {
          case 0:
            return 1;
          case 1:
            return 0;
          case 2:
            return 2;
          default:
            return E.assertNever(e);
        }
      }
      function lJ(e, t) {
        if (!e || !t || Object.keys(e).length !== Object.keys(t).length)
          return !1;
        for (const n in e)
          if (typeof e[n] == "object") {
            if (!lJ(e[n], t[n]))
              return !1;
          } else if (typeof e[n] != "function" && e[n] !== t[n])
            return !1;
        return !0;
      }
      function D_(e, t) {
        e.forEach(t), e.clear();
      }
      function Bg(e, t, n) {
        const { onDeleteValue: i, onExistingValue: s } = n;
        e.forEach((o, c) => {
          var _;
          t?.has(c) ? s && s(o, (_ = t.get) == null ? void 0 : _.call(t, c), c) : (e.delete(c), i(o, c));
        });
      }
      function aD(e, t, n) {
        Bg(e, t, n);
        const { createNewValue: i } = n;
        t?.forEach((s, o) => {
          e.has(o) || e.set(o, i(o, s));
        });
      }
      function see(e) {
        if (e.flags & 32) {
          const t = Fh(e);
          return !!t && qn(
            t,
            64
            /* Abstract */
          );
        }
        return !1;
      }
      function Fh(e) {
        var t;
        return (t = e.declarations) == null ? void 0 : t.find(Xn);
      }
      function Cn(e) {
        return e.flags & 3899393 ? e.objectFlags : 0;
      }
      function I5(e) {
        return !!e && !!e.declarations && !!e.declarations[0] && PN(e.declarations[0]);
      }
      function aee({ moduleSpecifier: e }) {
        return la(e) ? e.text : Go(e);
      }
      function uJ(e) {
        let t;
        return Ss(e, (n) => {
          Cp(n) && (t = n);
        }, (n) => {
          for (let i = n.length - 1; i >= 0; i--)
            if (Cp(n[i])) {
              t = n[i];
              break;
            }
        }), t;
      }
      function Pp(e, t) {
        return e.has(t) ? !1 : (e.add(t), !0);
      }
      function xx(e) {
        return Xn(e) || Yl(e) || Yu(e);
      }
      function _J(e) {
        return e >= 182 && e <= 205 || e === 133 || e === 159 || e === 150 || e === 163 || e === 151 || e === 136 || e === 154 || e === 155 || e === 116 || e === 157 || e === 146 || e === 141 || e === 233 || e === 312 || e === 313 || e === 314 || e === 315 || e === 316 || e === 317 || e === 318;
      }
      function ko(e) {
        return e.kind === 211 || e.kind === 212;
      }
      function fJ(e) {
        return e.kind === 211 ? e.name : (E.assert(
          e.kind === 212
          /* ElementAccessExpression */
        ), e.argumentExpression);
      }
      function F5(e) {
        return e.kind === 275 || e.kind === 279;
      }
      function r6(e) {
        for (; ko(e); )
          e = e.expression;
        return e;
      }
      function oee(e, t) {
        if (ko(e.parent) && tJ(e))
          return n(e.parent);
        function n(i) {
          if (i.kind === 211) {
            const s = t(i.name);
            if (s !== void 0)
              return s;
          } else if (i.kind === 212)
            if (Fe(i.argumentExpression) || Ba(i.argumentExpression)) {
              const s = t(i.argumentExpression);
              if (s !== void 0)
                return s;
            } else
              return;
          if (ko(i.expression))
            return n(i.expression);
          if (Fe(i.expression))
            return t(i.expression);
        }
      }
      function n6(e, t) {
        for (; ; ) {
          switch (e.kind) {
            case 225:
              e = e.operand;
              continue;
            case 226:
              e = e.left;
              continue;
            case 227:
              e = e.condition;
              continue;
            case 215:
              e = e.tag;
              continue;
            case 213:
              if (t)
                return e;
            // falls through
            case 234:
            case 212:
            case 211:
            case 235:
            case 355:
            case 238:
              e = e.expression;
              continue;
          }
          return e;
        }
      }
      function JOe(e, t) {
        this.flags = e, this.escapedName = t, this.declarations = void 0, this.valueDeclaration = void 0, this.id = 0, this.mergeId = 0, this.parent = void 0, this.members = void 0, this.exports = void 0, this.exportSymbol = void 0, this.constEnumOnlyModule = void 0, this.isReferenced = void 0, this.lastAssignmentPos = void 0, this.links = void 0;
      }
      function zOe(e, t) {
        this.flags = t, (E.isDebugging || rn) && (this.checker = e);
      }
      function WOe(e, t) {
        this.flags = t, E.isDebugging && (this.checker = e);
      }
      function cee(e, t, n) {
        this.pos = t, this.end = n, this.kind = e, this.id = 0, this.flags = 0, this.modifierFlagsCache = 0, this.transformFlags = 0, this.parent = void 0, this.original = void 0, this.emitNode = void 0;
      }
      function VOe(e, t, n) {
        this.pos = t, this.end = n, this.kind = e, this.id = 0, this.flags = 0, this.transformFlags = 0, this.parent = void 0, this.emitNode = void 0;
      }
      function UOe(e, t, n) {
        this.pos = t, this.end = n, this.kind = e, this.id = 0, this.flags = 0, this.transformFlags = 0, this.parent = void 0, this.original = void 0, this.emitNode = void 0;
      }
      function qOe(e, t, n) {
        this.fileName = e, this.text = t, this.skipTrivia = n || ((i) => i);
      }
      var Xl = {
        getNodeConstructor: () => cee,
        getTokenConstructor: () => VOe,
        getIdentifierConstructor: () => UOe,
        getPrivateIdentifierConstructor: () => cee,
        getSourceFileConstructor: () => cee,
        getSymbolConstructor: () => JOe,
        getTypeConstructor: () => zOe,
        getSignatureConstructor: () => WOe,
        getSourceMapSourceConstructor: () => qOe
      }, Ihe = [];
      function Fhe(e) {
        Ihe.push(e), e(Xl);
      }
      function lee(e) {
        Object.assign(Xl, e), ar(Ihe, (t) => t(Xl));
      }
      function Jg(e, t) {
        return e.replace(/\{(\d+)\}/g, (n, i) => "" + E.checkDefined(t[+i]));
      }
      var O5;
      function uee(e) {
        O5 = e;
      }
      function _ee(e) {
        !O5 && e && (O5 = e());
      }
      function hs(e) {
        return O5 && O5[e.key] || e.message;
      }
      function kx(e, t, n, i, s, ...o) {
        n + i > t.length && (i = t.length - n), QZ(t, n, i);
        let c = hs(s);
        return at(o) && (c = Jg(c, o)), {
          file: void 0,
          start: n,
          length: i,
          messageText: c,
          category: s.category,
          code: s.code,
          reportsUnnecessary: s.reportsUnnecessary,
          fileName: e
        };
      }
      function HOe(e) {
        return e.file === void 0 && e.start !== void 0 && e.length !== void 0 && typeof e.fileName == "string";
      }
      function Ohe(e, t) {
        const n = t.fileName || "", i = t.text.length;
        E.assertEqual(e.fileName, n), E.assertLessThanOrEqual(e.start, i), E.assertLessThanOrEqual(e.start + e.length, i);
        const s = {
          file: t,
          start: e.start,
          length: e.length,
          messageText: e.messageText,
          category: e.category,
          code: e.code,
          reportsUnnecessary: e.reportsUnnecessary
        };
        if (e.relatedInformation) {
          s.relatedInformation = [];
          for (const o of e.relatedInformation)
            HOe(o) && o.fileName === n ? (E.assertLessThanOrEqual(o.start, i), E.assertLessThanOrEqual(o.start + o.length, i), s.relatedInformation.push(Ohe(o, t))) : s.relatedInformation.push(o);
        }
        return s;
      }
      function Cx(e, t) {
        const n = [];
        for (const i of e)
          n.push(Ohe(i, t));
        return n;
      }
      function al(e, t, n, i, ...s) {
        QZ(e.text, t, n);
        let o = hs(i);
        return at(s) && (o = Jg(o, s)), {
          file: e,
          start: t,
          length: n,
          messageText: o,
          category: i.category,
          code: i.code,
          reportsUnnecessary: i.reportsUnnecessary,
          reportsDeprecated: i.reportsDeprecated
        };
      }
      function Ex(e, ...t) {
        let n = hs(e);
        return at(t) && (n = Jg(n, t)), n;
      }
      function $o(e, ...t) {
        let n = hs(e);
        return at(t) && (n = Jg(n, t)), {
          file: void 0,
          start: void 0,
          length: void 0,
          messageText: n,
          category: e.category,
          code: e.code,
          reportsUnnecessary: e.reportsUnnecessary,
          reportsDeprecated: e.reportsDeprecated
        };
      }
      function L5(e, t) {
        return {
          file: void 0,
          start: void 0,
          length: void 0,
          code: e.code,
          category: e.category,
          messageText: e.next ? e : e.messageText,
          relatedInformation: t
        };
      }
      function vs(e, t, ...n) {
        let i = hs(t);
        return at(n) && (i = Jg(i, n)), {
          messageText: i,
          category: t.category,
          code: t.code,
          next: e === void 0 || Array.isArray(e) ? e : [e]
        };
      }
      function fee(e, t) {
        let n = e;
        for (; n.next; )
          n = n.next[0];
        n.next = [t];
      }
      function pJ(e) {
        return e.file ? e.file.path : void 0;
      }
      function oD(e, t) {
        return pee(e, t) || GOe(e, t) || 0;
      }
      function pee(e, t) {
        const n = dJ(e), i = dJ(t);
        return au(pJ(e), pJ(t)) || go(e.start, t.start) || go(e.length, t.length) || go(n, i) || $Oe(e, t) || 0;
      }
      function GOe(e, t) {
        return !e.relatedInformation && !t.relatedInformation ? 0 : e.relatedInformation && t.relatedInformation ? go(t.relatedInformation.length, e.relatedInformation.length) || ar(e.relatedInformation, (n, i) => {
          const s = t.relatedInformation[i];
          return oD(n, s);
        }) || 0 : e.relatedInformation ? -1 : 1;
      }
      function $Oe(e, t) {
        let n = mJ(e), i = mJ(t);
        typeof n != "string" && (n = n.messageText), typeof i != "string" && (i = i.messageText);
        const s = typeof e.messageText != "string" ? e.messageText.next : void 0, o = typeof t.messageText != "string" ? t.messageText.next : void 0;
        let c = au(n, i);
        return c || (c = XOe(s, o), c) ? c : e.canonicalHead && !t.canonicalHead ? -1 : t.canonicalHead && !e.canonicalHead ? 1 : 0;
      }
      function XOe(e, t) {
        return e === void 0 && t === void 0 ? 0 : e === void 0 ? 1 : t === void 0 ? -1 : Lhe(e, t) || Mhe(e, t);
      }
      function Lhe(e, t) {
        if (e === void 0 && t === void 0)
          return 0;
        if (e === void 0)
          return 1;
        if (t === void 0)
          return -1;
        let n = go(t.length, e.length);
        if (n)
          return n;
        for (let i = 0; i < t.length; i++)
          if (n = Lhe(e[i].next, t[i].next), n)
            return n;
        return 0;
      }
      function Mhe(e, t) {
        let n;
        for (let i = 0; i < t.length; i++) {
          if (n = au(e[i].messageText, t[i].messageText), n)
            return n;
          if (e[i].next !== void 0 && (n = Mhe(e[i].next, t[i].next), n))
            return n;
        }
        return 0;
      }
      function M5(e, t) {
        const n = dJ(e), i = dJ(t), s = mJ(e), o = mJ(t);
        return au(pJ(e), pJ(t)) === 0 && go(e.start, t.start) === 0 && go(e.length, t.length) === 0 && go(n, i) === 0 && QOe(s, o);
      }
      function dJ(e) {
        var t;
        return ((t = e.canonicalHead) == null ? void 0 : t.code) || e.code;
      }
      function mJ(e) {
        var t;
        return ((t = e.canonicalHead) == null ? void 0 : t.messageText) || e.messageText;
      }
      function QOe(e, t) {
        const n = typeof e == "string" ? e : e.messageText, i = typeof t == "string" ? t : t.messageText;
        return au(n, i) === 0;
      }
      function tN(e) {
        return e === 4 || e === 2 || e === 1 || e === 6 ? 1 : 0;
      }
      function Rhe(e) {
        if (e.transformFlags & 2)
          return yu(e) || cv(e) ? e : Ss(e, Rhe);
      }
      function YOe(e) {
        return e.isDeclarationFile ? void 0 : Rhe(e);
      }
      function ZOe(e, t) {
        return (GS(e, t) === 99 || Dc(e.fileName, [
          ".cjs",
          ".cts",
          ".mjs",
          ".mts"
          /* Mts */
        ])) && !e.isDeclarationFile ? !0 : void 0;
      }
      function rN(e) {
        switch (mee(e)) {
          case 3:
            return (s) => {
              s.externalModuleIndicator = JN(s) || !s.isDeclarationFile || void 0;
            };
          case 1:
            return (s) => {
              s.externalModuleIndicator = JN(s);
            };
          case 2:
            const t = [JN];
            (e.jsx === 4 || e.jsx === 5) && t.push(YOe), t.push(ZOe);
            const n = z_(...t);
            return (s) => void (s.externalModuleIndicator = n(s, e));
        }
      }
      function gJ(e) {
        const t = vu(e);
        return 3 <= t && t <= 99 || nN(e) || iN(e);
      }
      function Kft(e) {
        return e;
      }
      var cu = {
        allowImportingTsExtensions: {
          dependencies: ["rewriteRelativeImportExtensions"],
          computeValue: (e) => !!(e.allowImportingTsExtensions || e.rewriteRelativeImportExtensions)
        },
        target: {
          dependencies: ["module"],
          computeValue: (e) => (e.target === 0 ? void 0 : e.target) ?? (e.module === 100 && 9 || e.module === 101 && 9 || e.module === 199 && 99 || 1)
        },
        module: {
          dependencies: ["target"],
          computeValue: (e) => typeof e.module == "number" ? e.module : cu.target.computeValue(e) >= 2 ? 5 : 1
        },
        moduleResolution: {
          dependencies: ["module", "target"],
          computeValue: (e) => {
            let t = e.moduleResolution;
            if (t === void 0)
              switch (cu.module.computeValue(e)) {
                case 1:
                  t = 2;
                  break;
                case 100:
                case 101:
                  t = 3;
                  break;
                case 199:
                  t = 99;
                  break;
                case 200:
                  t = 100;
                  break;
                default:
                  t = 1;
                  break;
              }
            return t;
          }
        },
        moduleDetection: {
          dependencies: ["module", "target"],
          computeValue: (e) => {
            if (e.moduleDetection !== void 0)
              return e.moduleDetection;
            const t = cu.module.computeValue(e);
            return 100 <= t && t <= 199 ? 3 : 2;
          }
        },
        isolatedModules: {
          dependencies: ["verbatimModuleSyntax"],
          computeValue: (e) => !!(e.isolatedModules || e.verbatimModuleSyntax)
        },
        esModuleInterop: {
          dependencies: ["module", "target"],
          computeValue: (e) => {
            if (e.esModuleInterop !== void 0)
              return e.esModuleInterop;
            switch (cu.module.computeValue(e)) {
              case 100:
              case 101:
              case 199:
              case 200:
                return !0;
            }
            return !1;
          }
        },
        allowSyntheticDefaultImports: {
          dependencies: ["module", "target", "moduleResolution"],
          computeValue: (e) => e.allowSyntheticDefaultImports !== void 0 ? e.allowSyntheticDefaultImports : cu.esModuleInterop.computeValue(e) || cu.module.computeValue(e) === 4 || cu.moduleResolution.computeValue(e) === 100
        },
        resolvePackageJsonExports: {
          dependencies: ["moduleResolution"],
          computeValue: (e) => {
            const t = cu.moduleResolution.computeValue(e);
            if (!i6(t))
              return !1;
            if (e.resolvePackageJsonExports !== void 0)
              return e.resolvePackageJsonExports;
            switch (t) {
              case 3:
              case 99:
              case 100:
                return !0;
            }
            return !1;
          }
        },
        resolvePackageJsonImports: {
          dependencies: ["moduleResolution", "resolvePackageJsonExports"],
          computeValue: (e) => {
            const t = cu.moduleResolution.computeValue(e);
            if (!i6(t))
              return !1;
            if (e.resolvePackageJsonExports !== void 0)
              return e.resolvePackageJsonExports;
            switch (t) {
              case 3:
              case 99:
              case 100:
                return !0;
            }
            return !1;
          }
        },
        resolveJsonModule: {
          dependencies: ["moduleResolution", "module", "target"],
          computeValue: (e) => e.resolveJsonModule !== void 0 ? e.resolveJsonModule : cu.moduleResolution.computeValue(e) === 100
        },
        declaration: {
          dependencies: ["composite"],
          computeValue: (e) => !!(e.declaration || e.composite)
        },
        preserveConstEnums: {
          dependencies: ["isolatedModules", "verbatimModuleSyntax"],
          computeValue: (e) => !!(e.preserveConstEnums || cu.isolatedModules.computeValue(e))
        },
        incremental: {
          dependencies: ["composite"],
          computeValue: (e) => !!(e.incremental || e.composite)
        },
        declarationMap: {
          dependencies: ["declaration", "composite"],
          computeValue: (e) => !!(e.declarationMap && cu.declaration.computeValue(e))
        },
        allowJs: {
          dependencies: ["checkJs"],
          computeValue: (e) => e.allowJs === void 0 ? !!e.checkJs : e.allowJs
        },
        useDefineForClassFields: {
          dependencies: ["target", "module"],
          computeValue: (e) => e.useDefineForClassFields === void 0 ? cu.target.computeValue(e) >= 9 : e.useDefineForClassFields
        },
        noImplicitAny: {
          dependencies: ["strict"],
          computeValue: (e) => lu(e, "noImplicitAny")
        },
        noImplicitThis: {
          dependencies: ["strict"],
          computeValue: (e) => lu(e, "noImplicitThis")
        },
        strictNullChecks: {
          dependencies: ["strict"],
          computeValue: (e) => lu(e, "strictNullChecks")
        },
        strictFunctionTypes: {
          dependencies: ["strict"],
          computeValue: (e) => lu(e, "strictFunctionTypes")
        },
        strictBindCallApply: {
          dependencies: ["strict"],
          computeValue: (e) => lu(e, "strictBindCallApply")
        },
        strictPropertyInitialization: {
          dependencies: ["strict"],
          computeValue: (e) => lu(e, "strictPropertyInitialization")
        },
        strictBuiltinIteratorReturn: {
          dependencies: ["strict"],
          computeValue: (e) => lu(e, "strictBuiltinIteratorReturn")
        },
        alwaysStrict: {
          dependencies: ["strict"],
          computeValue: (e) => lu(e, "alwaysStrict")
        },
        useUnknownInCatchVariables: {
          dependencies: ["strict"],
          computeValue: (e) => lu(e, "useUnknownInCatchVariables")
        }
      }, cD = cu, dee = cu.allowImportingTsExtensions.computeValue, ga = cu.target.computeValue, Mu = cu.module.computeValue, vu = cu.moduleResolution.computeValue, mee = cu.moduleDetection.computeValue, Np = cu.isolatedModules.computeValue, zg = cu.esModuleInterop.computeValue, Dx = cu.allowSyntheticDefaultImports.computeValue, nN = cu.resolvePackageJsonExports.computeValue, iN = cu.resolvePackageJsonImports.computeValue, jb = cu.resolveJsonModule.computeValue, w_ = cu.declaration.computeValue, Yy = cu.preserveConstEnums.computeValue, Bb = cu.incremental.computeValue, R5 = cu.declarationMap.computeValue, Zy = cu.allowJs.computeValue, sN = cu.useDefineForClassFields.computeValue;
      function aN(e) {
        return e >= 5 && e <= 99;
      }
      function j5(e) {
        switch (Mu(e)) {
          case 0:
          case 4:
          case 3:
            return !1;
        }
        return !0;
      }
      function gee(e) {
        return e.allowUnreachableCode === !1;
      }
      function hee(e) {
        return e.allowUnusedLabels === !1;
      }
      function i6(e) {
        return e >= 3 && e <= 99 || e === 100;
      }
      function yee(e) {
        return 101 <= e && e <= 199 || e === 200 || e === 99;
      }
      function lu(e, t) {
        return e[t] === void 0 ? !!e.strict : !!e[t];
      }
      function B5(e) {
        return gl(jz.type, (t, n) => t === e ? n : void 0);
      }
      function hJ(e) {
        return e.useDefineForClassFields !== !1 && ga(e) >= 9;
      }
      function vee(e, t) {
        return ax(t, e, hre);
      }
      function bee(e, t) {
        return ax(t, e, yre);
      }
      function See(e, t) {
        return ax(t, e, vre);
      }
      function J5(e, t) {
        return t.strictFlag ? lu(e, t.name) : t.allowJsFlag ? Zy(e) : e[t.name];
      }
      function z5(e) {
        const t = e.jsx;
        return t === 2 || t === 4 || t === 5;
      }
      function oN(e, t) {
        const n = t?.pragmas.get("jsximportsource"), i = fs(n) ? n[n.length - 1] : n, s = t?.pragmas.get("jsxruntime"), o = fs(s) ? s[s.length - 1] : s;
        if (o?.arguments.factory !== "classic")
          return e.jsx === 4 || e.jsx === 5 || e.jsxImportSource || i || o?.arguments.factory === "automatic" ? i?.arguments.factory || e.jsxImportSource || "react" : void 0;
      }
      function W5(e, t) {
        return e ? `${e}/${t.jsx === 5 ? "jsx-dev-runtime" : "jsx-runtime"}` : void 0;
      }
      function yJ(e) {
        let t = !1;
        for (let n = 0; n < e.length; n++)
          if (e.charCodeAt(n) === 42)
            if (!t)
              t = !0;
            else
              return !1;
        return !0;
      }
      function vJ(e, t) {
        let n, i, s, o = !1;
        return {
          getSymlinkedFiles: () => s,
          getSymlinkedDirectories: () => n,
          getSymlinkedDirectoriesByRealpath: () => i,
          setSymlinkedFile: (u, g) => (s || (s = /* @__PURE__ */ new Map())).set(u, g),
          setSymlinkedDirectory: (u, g) => {
            let m = lo(u, e, t);
            hD(m) || (m = ml(m), g !== !1 && !n?.has(m) && (i || (i = Tp())).add(g.realPath, u), (n || (n = /* @__PURE__ */ new Map())).set(m, g));
          },
          setSymlinksFromResolutions(u, g, m) {
            E.assert(!o), o = !0, u((h) => _(this, h.resolvedModule)), g((h) => _(this, h.resolvedTypeReferenceDirective)), m.forEach((h) => _(this, h.resolvedTypeReferenceDirective));
          },
          hasProcessedResolutions: () => o,
          setSymlinksFromResolution(u) {
            _(this, u);
          },
          hasAnySymlinks: c
        };
        function c() {
          return !!s?.size || !!n && !!gl(n, (u) => !!u);
        }
        function _(u, g) {
          if (!g || !g.originalPath || !g.resolvedFileName) return;
          const { resolvedFileName: m, originalPath: h } = g;
          u.setSymlinkedFile(lo(h, e, t), m);
          const [S, T] = KOe(m, h, e, t) || Ue;
          S && T && u.setSymlinkedDirectory(
            T,
            {
              real: ml(S),
              realPath: ml(lo(S, e, t))
            }
          );
        }
      }
      function KOe(e, t, n, i) {
        const s = ou(Xi(e, n)), o = ou(Xi(t, n));
        let c = !1;
        for (; s.length >= 2 && o.length >= 2 && !jhe(s[s.length - 2], i) && !jhe(o[o.length - 2], i) && i(s[s.length - 1]) === i(o[o.length - 1]); )
          s.pop(), o.pop(), c = !0;
        return c ? [z1(s), z1(o)] : void 0;
      }
      function jhe(e, t) {
        return e !== void 0 && (t(e) === "node_modules" || Wi(e, "@"));
      }
      function e9e(e) {
        return uj(e.charCodeAt(0)) ? e.slice(1) : void 0;
      }
      function bJ(e, t, n) {
        const i = jR(e, t, n);
        return i === void 0 ? void 0 : e9e(i);
      }
      var Tee = /[^\w\s/]/g;
      function Bhe(e) {
        return e.replace(Tee, t9e);
      }
      function t9e(e) {
        return "\\" + e;
      }
      var r9e = [
        42,
        63
        /* question */
      ], n9e = ["node_modules", "bower_components", "jspm_packages"], xee = `(?!(${n9e.join("|")})(/|$))`, Jhe = {
        /**
         * Matches any single directory segment unless it is the last segment and a .min.js file
         * Breakdown:
         *  [^./]                   # matches everything up to the first . character (excluding directory separators)
         *  (\\.(?!min\\.js$))?     # matches . characters but not if they are part of the .min.js file extension
         */
        singleAsteriskRegexFragment: "([^./]|(\\.(?!min\\.js$))?)*",
        /**
         * Regex for the ** wildcard. Matches any number of subdirectories. When used for including
         * files or directories, does not match subdirectories that start with a . character
         */
        doubleAsteriskRegexFragment: `(/${xee}[^/.][^/]*)*?`,
        replaceWildcardCharacter: (e) => Cee(e, Jhe.singleAsteriskRegexFragment)
      }, zhe = {
        singleAsteriskRegexFragment: "[^/]*",
        /**
         * Regex for the ** wildcard. Matches any number of subdirectories. When used for including
         * files or directories, does not match subdirectories that start with a . character
         */
        doubleAsteriskRegexFragment: `(/${xee}[^/.][^/]*)*?`,
        replaceWildcardCharacter: (e) => Cee(e, zhe.singleAsteriskRegexFragment)
      }, Whe = {
        singleAsteriskRegexFragment: "[^/]*",
        doubleAsteriskRegexFragment: "(/.+?)?",
        replaceWildcardCharacter: (e) => Cee(e, Whe.singleAsteriskRegexFragment)
      }, kee = {
        files: Jhe,
        directories: zhe,
        exclude: Whe
      };
      function lD(e, t, n) {
        const i = V5(e, t, n);
        return !i || !i.length ? void 0 : `^(${i.map((c) => `(${c})`).join("|")})${n === "exclude" ? "($|/)" : "$"}`;
      }
      function V5(e, t, n) {
        if (!(e === void 0 || e.length === 0))
          return oa(e, (i) => i && U5(i, t, n, kee[n]));
      }
      function SJ(e) {
        return !/[.*?]/.test(e);
      }
      function TJ(e, t, n) {
        const i = e && U5(e, t, n, kee[n]);
        return i && `^(${i})${n === "exclude" ? "($|/)" : "$"}`;
      }
      function U5(e, t, n, { singleAsteriskRegexFragment: i, doubleAsteriskRegexFragment: s, replaceWildcardCharacter: o } = kee[n]) {
        let c = "", _ = !1;
        const u = r7(e, t), g = pa(u);
        if (n !== "exclude" && g === "**")
          return;
        u[0] = g0(u[0]), SJ(g) && u.push("**", "*");
        let m = 0;
        for (let h of u) {
          if (h === "**")
            c += s;
          else if (n === "directories" && (c += "(", m++), _ && (c += xo), n !== "exclude") {
            let S = "";
            h.charCodeAt(0) === 42 ? (S += "([^./]" + i + ")?", h = h.substr(1)) : h.charCodeAt(0) === 63 && (S += "[^./]", h = h.substr(1)), S += h.replace(Tee, o), S !== h && (c += xee), c += S;
          } else
            c += h.replace(Tee, o);
          _ = !0;
        }
        for (; m > 0; )
          c += ")?", m--;
        return c;
      }
      function Cee(e, t) {
        return e === "*" ? t : e === "?" ? "[^/]" : "\\" + e;
      }
      function q5(e, t, n, i, s) {
        e = Gs(e), s = Gs(s);
        const o = An(s, e);
        return {
          includeFilePatterns: fr(V5(n, o, "files"), (c) => `^${c}$`),
          includeFilePattern: lD(n, o, "files"),
          includeDirectoryPattern: lD(n, o, "directories"),
          excludePattern: lD(t, o, "exclude"),
          basePaths: i9e(e, n, i)
        };
      }
      function k0(e, t) {
        return new RegExp(e, t ? "" : "i");
      }
      function xJ(e, t, n, i, s, o, c, _, u) {
        e = Gs(e), o = Gs(o);
        const g = q5(e, n, i, s, o), m = g.includeFilePatterns && g.includeFilePatterns.map((A) => k0(A, s)), h = g.includeDirectoryPattern && k0(g.includeDirectoryPattern, s), S = g.excludePattern && k0(g.excludePattern, s), T = m ? m.map(() => []) : [[]], k = /* @__PURE__ */ new Map(), D = Hl(s);
        for (const A of g.basePaths)
          w(A, An(o, A), c);
        return Sp(T);
        function w(A, O, F) {
          const j = D(u(O));
          if (k.has(j)) return;
          k.set(j, !0);
          const { files: z, directories: V } = _(A);
          for (const G of J_(z, au)) {
            const W = An(A, G), pe = An(O, G);
            if (!(t && !Dc(W, t)) && !(S && S.test(pe)))
              if (!m)
                T[0].push(W);
              else {
                const K = oc(m, (U) => U.test(pe));
                K !== -1 && T[K].push(W);
              }
          }
          if (!(F !== void 0 && (F--, F === 0)))
            for (const G of J_(V, au)) {
              const W = An(A, G), pe = An(O, G);
              (!h || h.test(pe)) && (!S || !S.test(pe)) && w(W, pe, F);
            }
        }
      }
      function i9e(e, t, n) {
        const i = [e];
        if (t) {
          const s = [];
          for (const o of t) {
            const c = V_(o) ? o : Gs(An(e, o));
            s.push(s9e(c));
          }
          s.sort(vC(!n));
          for (const o of s)
            Pi(i, (c) => !Qf(c, o, e, !n)) && i.push(o);
        }
        return i;
      }
      function s9e(e) {
        const t = VX(e, r9e);
        return t < 0 ? xC(e) ? g0(Un(e)) : e : e.substring(0, e.lastIndexOf(xo, t));
      }
      function H5(e, t) {
        return t || G5(e) || 3;
      }
      function G5(e) {
        switch (e.substr(e.lastIndexOf(".")).toLowerCase()) {
          case ".js":
          case ".cjs":
          case ".mjs":
            return 1;
          case ".jsx":
            return 2;
          case ".ts":
          case ".cts":
          case ".mts":
            return 3;
          case ".tsx":
            return 4;
          case ".json":
            return 6;
          default:
            return 0;
        }
      }
      var $5 = [[
        ".ts",
        ".tsx",
        ".d.ts"
        /* Dts */
      ], [
        ".cts",
        ".d.cts"
        /* Dcts */
      ], [
        ".mts",
        ".d.mts"
        /* Dmts */
      ]], kJ = Sp($5), a9e = [...$5, [
        ".json"
        /* Json */
      ]], o9e = [
        ".d.ts",
        ".d.cts",
        ".d.mts",
        ".cts",
        ".mts",
        ".ts",
        ".tsx"
        /* Tsx */
      ], c9e = [[
        ".js",
        ".jsx"
        /* Jsx */
      ], [
        ".mjs"
        /* Mjs */
      ], [
        ".cjs"
        /* Cjs */
      ]], s6 = Sp(c9e), CJ = [[
        ".ts",
        ".tsx",
        ".d.ts",
        ".js",
        ".jsx"
        /* Jsx */
      ], [
        ".cts",
        ".d.cts",
        ".cjs"
        /* Cjs */
      ], [
        ".mts",
        ".d.mts",
        ".mjs"
        /* Mjs */
      ]], l9e = [...CJ, [
        ".json"
        /* Json */
      ]], X5 = [
        ".d.ts",
        ".d.cts",
        ".d.mts"
        /* Dmts */
      ], cN = [
        ".ts",
        ".cts",
        ".mts",
        ".tsx"
        /* Tsx */
      ], Q5 = [
        ".mts",
        ".d.mts",
        ".mjs",
        ".cts",
        ".d.cts",
        ".cjs"
        /* Cjs */
      ];
      function uD(e, t) {
        const n = e && Zy(e);
        if (!t || t.length === 0)
          return n ? CJ : $5;
        const i = n ? CJ : $5, s = Sp(i);
        return [
          ...i,
          ...Oi(t, (c) => c.scriptKind === 7 || n && u9e(c.scriptKind) && !s.includes(c.extension) ? [c.extension] : void 0)
        ];
      }
      function lN(e, t) {
        return !e || !jb(e) ? t : t === CJ ? l9e : t === $5 ? a9e : [...t, [
          ".json"
          /* Json */
        ]];
      }
      function u9e(e) {
        return e === 1 || e === 2;
      }
      function Wg(e) {
        return at(s6, (t) => Wo(e, t));
      }
      function CS(e) {
        return at(kJ, (t) => Wo(e, t));
      }
      function Eee(e) {
        return at(cN, (t) => Wo(e, t)) && !Sl(e);
      }
      var Dee = /* @__PURE__ */ ((e) => (e[e.Minimal = 0] = "Minimal", e[e.Index = 1] = "Index", e[e.JsExtension = 2] = "JsExtension", e[e.TsExtension = 3] = "TsExtension", e))(Dee || {});
      function _9e({ imports: e }, t = z_(Wg, CS)) {
        return Ic(e, ({ text: n }) => ff(n) && !Dc(n, Q5) ? t(n) : void 0) || !1;
      }
      function wee(e, t, n, i) {
        const s = vu(n), o = 3 <= s && s <= 99;
        if (e === "js" || t === 99 && o)
          return F6(n) && c() !== 2 ? 3 : 2;
        if (e === "minimal")
          return 0;
        if (e === "index")
          return 1;
        if (!F6(n))
          return i && _9e(i) ? 2 : 0;
        return c();
        function c() {
          let _ = !1;
          const u = i?.imports.length ? i.imports : i && $u(i) ? f9e(i).map((g) => g.arguments[0]) : Ue;
          for (const g of u)
            if (ff(g.text)) {
              if (o && t === 1 && oV(i, g, n) === 99 || Dc(g.text, Q5))
                continue;
              if (CS(g.text))
                return 3;
              Wg(g.text) && (_ = !0);
            }
          return _ ? 2 : 0;
        }
      }
      function f9e(e) {
        let t = 0, n;
        for (const i of e.statements) {
          if (t > 3)
            break;
          k3(i) ? n = Ji(n, i.declarationList.declarations.map((s) => s.initializer)) : Pl(i) && f_(
            i.expression,
            /*requireStringLiteralLikeArgument*/
            !0
          ) ? n = Dr(n, i.expression) : t++;
        }
        return n || Ue;
      }
      function EJ(e, t, n) {
        if (!e) return !1;
        const i = uD(t, n);
        for (const s of Sp(lN(t, i)))
          if (Wo(e, s))
            return !0;
        return !1;
      }
      function Vhe(e) {
        const t = e.match(/\//g);
        return t ? t.length : 0;
      }
      function uN(e, t) {
        return go(
          Vhe(e),
          Vhe(t)
        );
      }
      var Pee = [
        ".d.ts",
        ".d.mts",
        ".d.cts",
        ".mjs",
        ".mts",
        ".cjs",
        ".cts",
        ".ts",
        ".js",
        ".tsx",
        ".jsx",
        ".json"
        /* Json */
      ];
      function Ru(e) {
        for (const t of Pee) {
          const n = Nee(e, t);
          if (n !== void 0)
            return n;
        }
        return e;
      }
      function Nee(e, t) {
        return Wo(e, t) ? _N(e, t) : void 0;
      }
      function _N(e, t) {
        return e.substring(0, e.length - t.length);
      }
      function Oh(e, t) {
        return FP(
          e,
          t,
          Pee,
          /*ignoreCase*/
          !1
        );
      }
      function wx(e) {
        const t = e.indexOf("*");
        return t === -1 ? e : e.indexOf("*", t + 1) !== -1 ? void 0 : {
          prefix: e.substr(0, t),
          suffix: e.substr(t + 1)
        };
      }
      var Uhe = /* @__PURE__ */ new WeakMap();
      function fN(e) {
        let t = Uhe.get(e);
        if (t !== void 0)
          return t;
        let n, i;
        const s = Ud(e);
        for (const o of s) {
          const c = wx(o);
          c !== void 0 && (typeof c == "string" ? (n ?? (n = /* @__PURE__ */ new Set())).add(c) : (i ?? (i = [])).push(c));
        }
        return Uhe.set(
          e,
          t = {
            matchableStringSet: n,
            patterns: i
          }
        ), t;
      }
      function gd(e) {
        return !(e >= 0);
      }
      function Y5(e) {
        return e === ".ts" || e === ".tsx" || e === ".d.ts" || e === ".cts" || e === ".mts" || e === ".d.mts" || e === ".d.cts" || Wi(e, ".d.") && No(e, ".ts");
      }
      function _D(e) {
        return Y5(e) || e === ".json";
      }
      function fD(e) {
        const t = Vg(e);
        return t !== void 0 ? t : E.fail(`File ${e} has unknown extension.`);
      }
      function qhe(e) {
        return Vg(e) !== void 0;
      }
      function Vg(e) {
        return Dn(Pee, (t) => Wo(e, t));
      }
      function pD(e, t) {
        return e.checkJsDirective ? e.checkJsDirective.enabled : t.checkJs;
      }
      var DJ = {
        files: Ue,
        directories: Ue
      };
      function wJ(e, t) {
        const { matchableStringSet: n, patterns: i } = e;
        if (n?.has(t))
          return t;
        if (!(i === void 0 || i.length === 0))
          return RR(i, (s) => s, t);
      }
      function PJ(e, t) {
        const n = e.indexOf(t);
        return E.assert(n !== -1), e.slice(n);
      }
      function Ws(e, ...t) {
        return t.length && (e.relatedInformation || (e.relatedInformation = []), E.assert(e.relatedInformation !== Ue, "Diagnostic had empty array singleton for related info, but is still being constructed!"), e.relatedInformation.push(...t)), e;
      }
      function Aee(e, t) {
        E.assert(e.length !== 0);
        let n = t(e[0]), i = n;
        for (let s = 1; s < e.length; s++) {
          const o = t(e[s]);
          o < n ? n = o : o > i && (i = o);
        }
        return { min: n, max: i };
      }
      function NJ(e) {
        return { pos: Vy(e), end: e.end };
      }
      function AJ(e, t) {
        const n = t.pos - 1, i = Math.min(e.text.length, ca(e.text, t.end) + 1);
        return { pos: n, end: i };
      }
      function a6(e, t, n) {
        return Hhe(
          e,
          t,
          n,
          /*ignoreNoCheck*/
          !1
        );
      }
      function Iee(e, t, n) {
        return Hhe(
          e,
          t,
          n,
          /*ignoreNoCheck*/
          !0
        );
      }
      function Hhe(e, t, n, i) {
        return t.skipLibCheck && e.isDeclarationFile || t.skipDefaultLibCheck && e.hasNoDefaultLib || !i && t.noCheck || n.isSourceOfProjectReferenceRedirect(e.fileName) || !dD(e, t);
      }
      function dD(e, t) {
        if (e.checkJsDirective && e.checkJsDirective.enabled === !1) return !1;
        if (e.scriptKind === 3 || e.scriptKind === 4 || e.scriptKind === 5) return !0;
        const i = (e.scriptKind === 1 || e.scriptKind === 2) && pD(e, t);
        return F4(e, t.checkJs) || i || e.scriptKind === 7;
      }
      function Z5(e, t) {
        return e === t || typeof e == "object" && e !== null && typeof t == "object" && t !== null && QX(e, t, Z5);
      }
      function mD(e) {
        let t;
        switch (e.charCodeAt(1)) {
          // "x" in "0x123"
          case 98:
          case 66:
            t = 1;
            break;
          case 111:
          case 79:
            t = 3;
            break;
          case 120:
          case 88:
            t = 4;
            break;
          default:
            const g = e.length - 1;
            let m = 0;
            for (; e.charCodeAt(m) === 48; )
              m++;
            return e.slice(m, g) || "0";
        }
        const n = 2, i = e.length - 1, s = (i - n) * t, o = new Uint16Array((s >>> 4) + (s & 15 ? 1 : 0));
        for (let g = i - 1, m = 0; g >= n; g--, m += t) {
          const h = m >>> 4, S = e.charCodeAt(g), k = (S <= 57 ? S - 48 : 10 + S - (S <= 70 ? 65 : 97)) << (m & 15);
          o[h] |= k;
          const D = k >>> 16;
          D && (o[h + 1] |= D);
        }
        let c = "", _ = o.length - 1, u = !0;
        for (; u; ) {
          let g = 0;
          u = !1;
          for (let m = _; m >= 0; m--) {
            const h = g << 16 | o[m], S = h / 10 | 0;
            o[m] = S, g = h - S * 10, S && !u && (_ = m, u = !0);
          }
          c = g + c;
        }
        return c;
      }
      function Jb({ negative: e, base10Value: t }) {
        return (e && t !== "0" ? "-" : "") + t;
      }
      function Fee(e) {
        if (K5(
          e,
          /*roundTripOnly*/
          !1
        ))
          return IJ(e);
      }
      function IJ(e) {
        const t = e.startsWith("-"), n = mD(`${t ? e.slice(1) : e}n`);
        return { negative: t, base10Value: n };
      }
      function K5(e, t) {
        if (e === "") return !1;
        const n = Pg(
          99,
          /*skipTrivia*/
          !1
        );
        let i = !0;
        n.setOnError(() => i = !1), n.setText(e + "n");
        let s = n.scan();
        const o = s === 41;
        o && (s = n.scan());
        const c = n.getTokenFlags();
        return i && s === 10 && n.getTokenEnd() === e.length + 1 && !(c & 512) && (!t || e === Jb({ negative: o, base10Value: mD(n.getTokenValue()) }));
      }
      function ev(e) {
        return !!(e.flags & 33554432) || T3(e) || e5(e) || m9e(e) || d9e(e) || !(dd(e) || p9e(e));
      }
      function p9e(e) {
        return Fe(e) && _u(e.parent) && e.parent.name === e;
      }
      function d9e(e) {
        for (; e.kind === 80 || e.kind === 211; )
          e = e.parent;
        if (e.kind !== 167)
          return !1;
        if (qn(
          e.parent,
          64
          /* Abstract */
        ))
          return !0;
        const t = e.parent.parent.kind;
        return t === 264 || t === 187;
      }
      function m9e(e) {
        if (e.kind !== 80) return !1;
        const t = _r(e.parent, (n) => {
          switch (n.kind) {
            case 298:
              return !0;
            case 211:
            case 233:
              return !1;
            default:
              return "quit";
          }
        });
        return t?.token === 119 || t?.parent.kind === 264;
      }
      function Oee(e) {
        return X_(e) && Fe(e.typeName);
      }
      function Lee(e, t = Dy) {
        if (e.length < 2) return !0;
        const n = e[0];
        for (let i = 1, s = e.length; i < s; i++) {
          const o = e[i];
          if (!t(n, o)) return !1;
        }
        return !0;
      }
      function gD(e, t) {
        return e.pos = t, e;
      }
      function o6(e, t) {
        return e.end = t, e;
      }
      function hd(e, t, n) {
        return o6(gD(e, t), n);
      }
      function FJ(e, t, n) {
        return hd(e, t, t + n);
      }
      function Mee(e, t) {
        return e && (e.flags = t), e;
      }
      function Wa(e, t) {
        return e && t && (e.parent = t), e;
      }
      function tv(e, t) {
        if (!e) return e;
        return Xx(e, FC(e) ? n : s), e;
        function n(o, c) {
          if (t && o.parent === c)
            return "skip";
          Wa(o, c);
        }
        function i(o) {
          if (pf(o))
            for (const c of o.jsDoc)
              n(c, o), Xx(c, n);
        }
        function s(o, c) {
          return n(o, c) || i(o);
        }
      }
      function g9e(e) {
        return !vl(e);
      }
      function OJ(e) {
        return Ql(e) && Pi(e.elements, g9e);
      }
      function Ree(e) {
        for (E.assertIsDefined(e.parent); ; ) {
          const t = e.parent;
          if (Zu(t)) {
            e = t;
            continue;
          }
          if (Pl(t) || Vx(t) || ov(t) && (t.initializer === e || t.incrementor === e))
            return !0;
          if (ID(t)) {
            if (e !== pa(t.elements)) return !0;
            e = t;
            continue;
          }
          if (_n(t) && t.operatorToken.kind === 28) {
            if (e === t.left) return !0;
            e = t;
            continue;
          }
          return !1;
        }
      }
      function hD(e) {
        return at(KI, (t) => e.includes(t));
      }
      function jee(e) {
        if (!e.parent) return;
        switch (e.kind) {
          case 168:
            const { parent: n } = e;
            return n.kind === 195 ? void 0 : n.typeParameters;
          case 169:
            return e.parent.parameters;
          case 204:
            return e.parent.templateSpans;
          case 239:
            return e.parent.templateSpans;
          case 170: {
            const { parent: i } = e;
            return Zb(i) ? i.modifiers : void 0;
          }
          case 298:
            return e.parent.heritageClauses;
        }
        const { parent: t } = e;
        if (OC(e))
          return RS(e.parent) ? void 0 : e.parent.tags;
        switch (t.kind) {
          case 187:
          case 264:
            return bb(e) ? t.members : void 0;
          case 192:
          case 193:
            return t.types;
          case 189:
          case 209:
          case 356:
          case 275:
          case 279:
            return t.elements;
          case 210:
          case 292:
            return t.properties;
          case 213:
          case 214:
            return si(e) ? t.typeArguments : t.expression === e ? void 0 : t.arguments;
          case 284:
          case 288:
            return n3(e) ? t.children : void 0;
          case 286:
          case 285:
            return si(e) ? t.typeArguments : void 0;
          case 241:
          case 296:
          case 297:
          case 268:
            return t.statements;
          case 269:
            return t.clauses;
          case 263:
          case 231:
            return Jc(e) ? t.members : void 0;
          case 266:
            return A0(e) ? t.members : void 0;
          case 307:
            return t.statements;
        }
      }
      function eF(e) {
        if (!e.typeParameters) {
          if (at(e.parameters, (t) => !Yc(t)))
            return !0;
          if (e.kind !== 219) {
            const t = Xc(e.parameters);
            if (!(t && $y(t)))
              return !0;
          }
        }
        return !1;
      }
      function yD(e) {
        return e === "Infinity" || e === "-Infinity" || e === "NaN";
      }
      function Bee(e) {
        return e.kind === 260 && e.parent.kind === 299;
      }
      function Ky(e) {
        return e.kind === 218 || e.kind === 219;
      }
      function zb(e) {
        return e.replace(/\$/g, () => "\\$");
      }
      function Ug(e) {
        return (+e).toString() === e;
      }
      function tF(e, t, n, i, s) {
        const o = s && e === "new";
        return !o && C_(e, t) ? N.createIdentifier(e) : !i && !o && Ug(e) && +e >= 0 ? N.createNumericLiteral(+e) : N.createStringLiteral(e, !!n);
      }
      function vD(e) {
        return !!(e.flags & 262144 && e.isThisType);
      }
      function rF(e) {
        let t = 0, n = 0, i = 0, s = 0, o;
        ((g) => {
          g[g.BeforeNodeModules = 0] = "BeforeNodeModules", g[g.NodeModules = 1] = "NodeModules", g[g.Scope = 2] = "Scope", g[g.PackageContent = 3] = "PackageContent";
        })(o || (o = {}));
        let c = 0, _ = 0, u = 0;
        for (; _ >= 0; )
          switch (c = _, _ = e.indexOf("/", c + 1), u) {
            case 0:
              e.indexOf($g, c) === c && (t = c, n = _, u = 1);
              break;
            case 1:
            case 2:
              u === 1 && e.charAt(c + 1) === "@" ? u = 2 : (i = _, u = 3);
              break;
            case 3:
              e.indexOf($g, c) === c ? u = 1 : u = 3;
              break;
          }
        return s = c, u > 1 ? { topLevelNodeModulesIndex: t, topLevelPackageNameIndex: n, packageRootIndex: i, fileNameIndex: s } : void 0;
      }
      function Px(e) {
        switch (e.kind) {
          case 168:
          case 263:
          case 264:
          case 265:
          case 266:
          case 346:
          case 338:
          case 340:
            return !0;
          case 273:
            return e.isTypeOnly;
          case 276:
          case 281:
            return e.parent.parent.isTypeOnly;
          default:
            return !1;
        }
      }
      function pN(e) {
        return Gb(e) || Sc(e) || Tc(e) || el(e) || Yl(e) || Px(e) || zc(e) && !Cb(e) && !$m(e);
      }
      function dN(e) {
        if (!E4(e))
          return !1;
        const { isBracketed: t, typeExpression: n } = e;
        return t || !!n && n.type.kind === 316;
      }
      function LJ(e, t) {
        if (e.length === 0)
          return !1;
        const n = e.charCodeAt(0);
        return n === 35 ? e.length > 1 && Um(e.charCodeAt(1), t) : Um(n, t);
      }
      function Jee(e) {
        var t;
        return ((t = YJ(e)) == null ? void 0 : t.kind) === 0;
      }
      function nF(e) {
        return tn(e) && // node.type should only be a JSDocOptionalType when node is a parameter of a JSDocFunctionType
        (e.type && e.type.kind === 316 || wC(e).some(dN));
      }
      function Nx(e) {
        switch (e.kind) {
          case 172:
          case 171:
            return !!e.questionToken;
          case 169:
            return !!e.questionToken || nF(e);
          case 348:
          case 341:
            return dN(e);
          default:
            return !1;
        }
      }
      function zee(e) {
        const t = e.kind;
        return (t === 211 || t === 212) && Ux(e.expression);
      }
      function MJ(e) {
        return tn(e) && Zu(e) && pf(e) && !!Pj(e);
      }
      function RJ(e) {
        return E.checkDefined(iF(e));
      }
      function iF(e) {
        const t = Pj(e);
        return t && t.typeExpression && t.typeExpression.type;
      }
      function bD(e) {
        return Fe(e) ? e.escapedText : Ax(e);
      }
      function mN(e) {
        return Fe(e) ? Pn(e) : SD(e);
      }
      function Wee(e) {
        const t = e.kind;
        return t === 80 || t === 295;
      }
      function Ax(e) {
        return `${e.namespace.escapedText}:${Pn(e.name)}`;
      }
      function SD(e) {
        return `${Pn(e.namespace)}:${Pn(e.name)}`;
      }
      function jJ(e) {
        return Fe(e) ? Pn(e) : SD(e);
      }
      function ip(e) {
        return !!(e.flags & 8576);
      }
      function sp(e) {
        return e.flags & 8192 ? e.escapedName : e.flags & 384 ? ec("" + e.value) : E.fail();
      }
      function Ix(e) {
        return !!e && (kn(e) || fo(e) || _n(e));
      }
      function Vee(e) {
        return e === void 0 ? !1 : !!R6(e.attributes);
      }
      var h9e = String.prototype.replace;
      function ES(e, t) {
        return h9e.call(e, "*", t);
      }
      function sF(e) {
        return Fe(e.name) ? e.name.escapedText : ec(e.name.text);
      }
      function Uee(e) {
        switch (e.kind) {
          case 168:
          case 169:
          case 172:
          case 171:
          case 185:
          case 184:
          case 179:
          case 180:
          case 181:
          case 174:
          case 173:
          case 175:
          case 176:
          case 177:
          case 178:
          case 183:
          case 182:
          case 186:
          case 187:
          case 188:
          case 189:
          case 192:
          case 193:
          case 196:
          case 190:
          case 191:
          case 197:
          case 198:
          case 194:
          case 195:
          case 203:
          case 205:
          case 202:
          case 328:
          case 329:
          case 346:
          case 338:
          case 340:
          case 345:
          case 344:
          case 324:
          case 325:
          case 326:
          case 341:
          case 348:
          case 317:
          case 315:
          case 314:
          case 312:
          case 313:
          case 322:
          case 318:
          case 309:
          case 333:
          case 335:
          case 334:
          case 350:
          case 343:
          case 199:
          case 200:
          case 262:
          case 241:
          case 268:
          case 243:
          case 244:
          case 245:
          case 246:
          case 247:
          case 248:
          case 249:
          case 250:
          case 251:
          case 252:
          case 253:
          case 254:
          case 255:
          case 256:
          case 257:
          case 258:
          case 260:
          case 208:
          case 263:
          case 264:
          case 265:
          case 266:
          case 267:
          case 272:
          case 271:
          case 278:
          case 277:
          case 242:
          case 259:
          case 282:
            return !0;
        }
        return !1;
      }
      function hl(e, t = !1, n = !1, i = !1) {
        return { value: e, isSyntacticallyString: t, resolvedOtherFiles: n, hasExternalReferences: i };
      }
      function qee({ evaluateElementAccessExpression: e, evaluateEntityNameExpression: t }) {
        function n(s, o) {
          let c = !1, _ = !1, u = !1;
          switch (s = za(s), s.kind) {
            case 224:
              const g = n(s.operand, o);
              if (_ = g.resolvedOtherFiles, u = g.hasExternalReferences, typeof g.value == "number")
                switch (s.operator) {
                  case 40:
                    return hl(g.value, c, _, u);
                  case 41:
                    return hl(-g.value, c, _, u);
                  case 55:
                    return hl(~g.value, c, _, u);
                }
              break;
            case 226: {
              const m = n(s.left, o), h = n(s.right, o);
              if (c = (m.isSyntacticallyString || h.isSyntacticallyString) && s.operatorToken.kind === 40, _ = m.resolvedOtherFiles || h.resolvedOtherFiles, u = m.hasExternalReferences || h.hasExternalReferences, typeof m.value == "number" && typeof h.value == "number")
                switch (s.operatorToken.kind) {
                  case 52:
                    return hl(m.value | h.value, c, _, u);
                  case 51:
                    return hl(m.value & h.value, c, _, u);
                  case 49:
                    return hl(m.value >> h.value, c, _, u);
                  case 50:
                    return hl(m.value >>> h.value, c, _, u);
                  case 48:
                    return hl(m.value << h.value, c, _, u);
                  case 53:
                    return hl(m.value ^ h.value, c, _, u);
                  case 42:
                    return hl(m.value * h.value, c, _, u);
                  case 44:
                    return hl(m.value / h.value, c, _, u);
                  case 40:
                    return hl(m.value + h.value, c, _, u);
                  case 41:
                    return hl(m.value - h.value, c, _, u);
                  case 45:
                    return hl(m.value % h.value, c, _, u);
                  case 43:
                    return hl(m.value ** h.value, c, _, u);
                }
              else if ((typeof m.value == "string" || typeof m.value == "number") && (typeof h.value == "string" || typeof h.value == "number") && s.operatorToken.kind === 40)
                return hl(
                  "" + m.value + h.value,
                  c,
                  _,
                  u
                );
              break;
            }
            case 11:
            case 15:
              return hl(
                s.text,
                /*isSyntacticallyString*/
                !0
              );
            case 228:
              return i(s, o);
            case 9:
              return hl(+s.text);
            case 80:
              return t(s, o);
            case 211:
              if (to(s))
                return t(s, o);
              break;
            case 212:
              return e(s, o);
          }
          return hl(
            /*value*/
            void 0,
            c,
            _,
            u
          );
        }
        function i(s, o) {
          let c = s.head.text, _ = !1, u = !1;
          for (const g of s.templateSpans) {
            const m = n(g.expression, o);
            if (m.value === void 0)
              return hl(
                /*value*/
                void 0,
                /*isSyntacticallyString*/
                !0
              );
            c += m.value, c += g.literal.text, _ || (_ = m.resolvedOtherFiles), u || (u = m.hasExternalReferences);
          }
          return hl(
            c,
            /*isSyntacticallyString*/
            !0,
            _,
            u
          );
        }
        return n;
      }
      function BJ(e) {
        return Tb(e) && Up(e.type) || RD(e) && Up(e.typeExpression);
      }
      function gN(e) {
        const t = e.members;
        for (const n of t)
          if (n.kind === 176 && Cp(n.body))
            return n;
      }
      function JJ({
        compilerOptions: e,
        requireSymbol: t,
        argumentsSymbol: n,
        error: i,
        getSymbolOfDeclaration: s,
        globals: o,
        lookup: c,
        setRequiresScopeChangeCache: _ = mb,
        getRequiresScopeChangeCache: u = mb,
        onPropertyWithInvalidInitializer: g = Th,
        onFailedToResolveSymbol: m = mb,
        onSuccessfullyResolvedSymbol: h = mb
      }) {
        var S = e.verbatimModuleSyntax ? "verbatimModuleSyntax" : "isolatedModules", T = hJ(e), k = qs();
        return D;
        function D(j, z, V, G, W, pe) {
          var K, U, ee;
          const te = j;
          let ie, fe, me, q, he, Me = !1, De;
          const re = cs(z) ? z : z.escapedText;
          e:
            for (; j; ) {
              if (re === "const" && BJ(j))
                return;
              if (t3(j) && fe && j.name === fe && (fe = j, j = j.parent), qm(j) && j.locals && !v0(j) && (ie = c(j.locals, re, V))) {
                let xe = !0;
                if (Ts(j) && fe && fe !== j.body ? (V & ie.flags & 788968 && fe.kind !== 320 && (xe = ie.flags & 262144 ? !!(fe.flags & 16) || // Synthetic fake scopes are added for signatures so type parameters are accessible from them
                fe === j.type || fe.kind === 169 || fe.kind === 341 || fe.kind === 342 || fe.kind === 168 : !1), V & ie.flags & 3 && (w(ie, j, fe) ? xe = !1 : ie.flags & 1 && (xe = fe.kind === 169 || !!(fe.flags & 16) || // Synthetic fake scopes are added for signatures so parameters are accessible from them
                fe === j.type && !!_r(ie.valueDeclaration, Ni)))) : j.kind === 194 && (xe = fe === j.trueType), xe)
                  break e;
                ie = void 0;
              }
              switch (Me = Me || A(j, fe), j.kind) {
                case 307:
                  if (!H_(j)) break;
                // falls through
                case 267:
                  const xe = ((K = s(j)) == null ? void 0 : K.exports) || k;
                  if (j.kind === 307 || zc(j) && j.flags & 33554432 && !$m(j)) {
                    if (ie = xe.get(
                      "default"
                      /* Default */
                    )) {
                      const nt = rD(ie);
                      if (nt && ie.flags & V && nt.escapedName === re)
                        break e;
                      ie = void 0;
                    }
                    const Xe = xe.get(re);
                    if (Xe && Xe.flags === 2097152 && (jo(
                      Xe,
                      281
                      /* ExportSpecifier */
                    ) || jo(
                      Xe,
                      280
                      /* NamespaceExport */
                    )))
                      break;
                  }
                  if (re !== "default" && (ie = c(
                    xe,
                    re,
                    V & 2623475
                    /* ModuleMember */
                  )))
                    if (xi(j) && j.commonJsModuleIndicator && !((U = ie.declarations) != null && U.some(Dp)))
                      ie = void 0;
                    else
                      break e;
                  break;
                case 266:
                  if (ie = c(
                    ((ee = s(j)) == null ? void 0 : ee.exports) || k,
                    re,
                    V & 8
                    /* EnumMember */
                  )) {
                    G && Np(e) && !(j.flags & 33554432) && Er(j) !== Er(ie.valueDeclaration) && i(
                      te,
                      p.Cannot_access_0_from_another_file_without_qualification_when_1_is_enabled_Use_2_instead,
                      Ei(re),
                      S,
                      `${Ei(s(j).escapedName)}.${Ei(re)}`
                    );
                    break e;
                  }
                  break;
                case 172:
                  if (!zs(j)) {
                    const Xe = gN(j.parent);
                    Xe && Xe.locals && c(
                      Xe.locals,
                      re,
                      V & 111551
                      /* Value */
                    ) && (E.assertNode(j, is), q = j);
                  }
                  break;
                case 263:
                case 231:
                case 264:
                  if (ie = c(
                    s(j).members || k,
                    re,
                    V & 788968
                    /* Type */
                  )) {
                    if (!F(ie, j)) {
                      ie = void 0;
                      break;
                    }
                    if (fe && zs(fe)) {
                      G && i(te, p.Static_members_cannot_reference_class_type_parameters);
                      return;
                    }
                    break e;
                  }
                  if (Kc(j) && V & 32) {
                    const Xe = j.name;
                    if (Xe && re === Xe.escapedText) {
                      ie = j.symbol;
                      break e;
                    }
                  }
                  break;
                case 233:
                  if (fe === j.expression && j.parent.token === 96) {
                    const Xe = j.parent.parent;
                    if (Xn(Xe) && (ie = c(
                      s(Xe).members,
                      re,
                      V & 788968
                      /* Type */
                    ))) {
                      G && i(te, p.Base_class_expressions_cannot_reference_class_type_parameters);
                      return;
                    }
                  }
                  break;
                // It is not legal to reference a class's own type parameters from a computed property name that
                // belongs to the class. For example:
                //
                //   function foo<T>() { return '' }
                //   class C<T> { // <-- Class's own type parameter T
                //       [foo<T>()]() { } // <-- Reference to T from class's own computed property
                //   }
                //
                case 167:
                  if (De = j.parent.parent, (Xn(De) || De.kind === 264) && (ie = c(
                    s(De).members,
                    re,
                    V & 788968
                    /* Type */
                  ))) {
                    G && i(te, p.A_computed_property_name_cannot_reference_a_type_parameter_from_its_containing_type);
                    return;
                  }
                  break;
                case 219:
                  if (ga(e) >= 2)
                    break;
                // falls through
                case 174:
                case 176:
                case 177:
                case 178:
                case 262:
                  if (V & 3 && re === "arguments") {
                    ie = n;
                    break e;
                  }
                  break;
                case 218:
                  if (V & 3 && re === "arguments") {
                    ie = n;
                    break e;
                  }
                  if (V & 16) {
                    const Xe = j.name;
                    if (Xe && re === Xe.escapedText) {
                      ie = j.symbol;
                      break e;
                    }
                  }
                  break;
                case 170:
                  j.parent && j.parent.kind === 169 && (j = j.parent), j.parent && (Jc(j.parent) || j.parent.kind === 263) && (j = j.parent);
                  break;
                case 346:
                case 338:
                case 340:
                case 351:
                  const ue = GC(j);
                  ue && (j = ue.parent);
                  break;
                case 169:
                  fe && (fe === j.initializer || fe === j.name && Ps(fe)) && (he || (he = j));
                  break;
                case 208:
                  fe && (fe === j.initializer || fe === j.name && Ps(fe)) && Z1(j) && !he && (he = j);
                  break;
                case 195:
                  if (V & 262144) {
                    const Xe = j.typeParameter.name;
                    if (Xe && re === Xe.escapedText) {
                      ie = j.typeParameter.symbol;
                      break e;
                    }
                  }
                  break;
                case 281:
                  fe && fe === j.propertyName && j.parent.parent.moduleSpecifier && (j = j.parent.parent.parent);
                  break;
              }
              O(j, fe) && (me = j), fe = j, j = Ip(j) ? o5(j) || j.parent : (Af(j) || PF(j)) && X1(j) || j.parent;
            }
          if (W && ie && (!me || ie !== me.symbol) && (ie.isReferenced |= V), !ie) {
            if (fe && (E.assertNode(fe, xi), fe.commonJsModuleIndicator && re === "exports" && V & fe.symbol.flags))
              return fe.symbol;
            pe || (ie = c(o, re, V));
          }
          if (!ie && te && tn(te) && te.parent && f_(
            te.parent,
            /*requireStringLiteralLikeArgument*/
            !1
          ))
            return t;
          if (G) {
            if (q && g(te, re, q, ie))
              return;
            ie ? h(te, ie, V, fe, he, Me) : m(te, z, V, G);
          }
          return ie;
        }
        function w(j, z, V) {
          const G = ga(e), W = z;
          if (Ni(V) && W.body && j.valueDeclaration && j.valueDeclaration.pos >= W.body.pos && j.valueDeclaration.end <= W.body.end && G >= 2) {
            let U = u(W);
            return U === void 0 && (U = ar(W.parameters, pe) || !1, _(W, U)), !U;
          }
          return !1;
          function pe(U) {
            return K(U.name) || !!U.initializer && K(U.initializer);
          }
          function K(U) {
            switch (U.kind) {
              case 219:
              case 218:
              case 262:
              case 176:
                return !1;
              case 174:
              case 177:
              case 178:
              case 303:
                return K(U.name);
              case 172:
                return sl(U) ? !T : K(U.name);
              default:
                return Aj(U) || hu(U) ? G < 7 : ya(U) && U.dotDotDotToken && Nf(U.parent) ? G < 4 : si(U) ? !1 : Ss(U, K) || !1;
            }
          }
        }
        function A(j, z) {
          return j.kind !== 219 && j.kind !== 218 ? Vb(j) || (uo(j) || j.kind === 172 && !zs(j)) && (!z || z !== j.name) : z && z === j.name ? !1 : j.asteriskToken || qn(
            j,
            1024
            /* Async */
          ) ? !0 : !Db(j);
        }
        function O(j, z) {
          switch (j.kind) {
            case 169:
              return !!z && z === j.name;
            case 262:
            case 263:
            case 264:
            case 266:
            case 265:
            case 267:
              return !0;
            default:
              return !1;
          }
        }
        function F(j, z) {
          if (j.declarations) {
            for (const V of j.declarations)
              if (V.kind === 168 && (Ip(V.parent) ? Nb(V.parent) : V.parent) === z)
                return !(Ip(V.parent) && Dn(V.parent.parent.tags, Dp));
          }
          return !1;
        }
      }
      function aF(e, t = !0) {
        switch (E.type(e), e.kind) {
          case 112:
          case 97:
          case 9:
          case 11:
          case 15:
            return !0;
          case 10:
            return t;
          case 224:
            return e.operator === 41 ? m_(e.operand) || t && ED(e.operand) : e.operator === 40 ? m_(e.operand) : !1;
          default:
            return !1;
        }
      }
      function Hee(e) {
        for (; e.kind === 217; )
          e = e.expression;
        return e;
      }
      function oF(e) {
        switch (E.type(e), e.kind) {
          case 169:
          case 171:
          case 172:
          case 208:
          case 211:
          case 212:
          case 226:
          case 260:
          case 277:
          case 303:
          case 304:
          case 341:
          case 348:
            return !0;
          default:
            return !1;
        }
      }
      function zJ(e) {
        const t = _r(e, Uo);
        return !!t && !t.importClause;
      }
      var Gee = [
        "assert",
        "assert/strict",
        "async_hooks",
        "buffer",
        "child_process",
        "cluster",
        "console",
        "constants",
        "crypto",
        "dgram",
        "diagnostics_channel",
        "dns",
        "dns/promises",
        "domain",
        "events",
        "fs",
        "fs/promises",
        "http",
        "http2",
        "https",
        "inspector",
        "inspector/promises",
        "module",
        "net",
        "os",
        "path",
        "path/posix",
        "path/win32",
        "perf_hooks",
        "process",
        "punycode",
        "querystring",
        "readline",
        "readline/promises",
        "repl",
        "stream",
        "stream/consumers",
        "stream/promises",
        "stream/web",
        "string_decoder",
        "sys",
        "test/mock_loader",
        "timers",
        "timers/promises",
        "tls",
        "trace_events",
        "tty",
        "url",
        "util",
        "util/types",
        "v8",
        "vm",
        "wasi",
        "worker_threads",
        "zlib"
      ], $ee = new Set(Gee), cF = /* @__PURE__ */ new Set([
        "node:sea",
        "node:sqlite",
        "node:test",
        "node:test/reporters"
      ]), c6 = /* @__PURE__ */ new Set([
        ...Gee,
        ...Gee.map((e) => `node:${e}`),
        ...cF
      ]);
      function lF(e, t, n, i) {
        const s = tn(e), o = /import|require/g;
        for (; o.exec(e.text) !== null; ) {
          const c = y9e(
            e,
            o.lastIndex,
            /*includeJSDoc*/
            t
          );
          if (s && f_(c, n))
            i(c, c.arguments[0]);
          else if (df(c) && c.arguments.length >= 1 && (!n || Ba(c.arguments[0])))
            i(c, c.arguments[0]);
          else if (t && Dh(c))
            i(c, c.argument.literal);
          else if (t && _m(c)) {
            const _ = px(c);
            _ && la(_) && _.text && i(c, _);
          }
        }
      }
      function y9e(e, t, n) {
        const i = tn(e);
        let s = e;
        const o = (c) => {
          if (c.pos <= t && (t < c.end || t === c.end && c.kind === 1))
            return c;
        };
        for (; ; ) {
          const c = i && n && pf(s) && ar(s.jsDoc, o) || Ss(s, o);
          if (!c)
            return s;
          s = c;
        }
      }
      function Xee(e) {
        return Ts(e) || I0(e) || IS(e);
      }
      function WJ(e) {
        return Ey(e.fileName);
      }
      function VJ(e) {
        const t = WJ(e);
        return Rz.get(t);
      }
      function UJ(e, t) {
        return TD(
          /*projectReferences*/
          void 0,
          e,
          (n, i) => n && t(n, i)
        );
      }
      function TD(e, t, n, i) {
        let s;
        return o(
          e,
          t,
          /*parent*/
          void 0
        );
        function o(c, _, u) {
          if (i) {
            const m = i(c, u);
            if (m) return m;
          }
          let g;
          return ar(
            _,
            (m, h) => {
              if (m && s?.has(m.sourceFile.path)) {
                (g ?? (g = /* @__PURE__ */ new Set())).add(m);
                return;
              }
              const S = n(m, u, h);
              if (S || !m) return S;
              (s || (s = /* @__PURE__ */ new Set())).add(m.sourceFile.path);
            }
          ) || ar(
            _,
            (m) => m && !g?.has(m) ? o(m.commandLine.projectReferences, m.references, m) : void 0
          );
        }
      }
      function qJ(e, t, n) {
        return e && v9e(e, t, n);
      }
      function v9e(e, t, n) {
        return zC(e, t, (i) => Ql(i.initializer) ? Dn(i.initializer.elements, (s) => la(s) && s.text === n) : void 0);
      }
      function Qee(e, t, n) {
        return HJ(e, t, (i) => la(i.initializer) && i.initializer.text === n ? i.initializer : void 0);
      }
      function HJ(e, t, n) {
        return zC(e, t, n);
      }
      function Yee() {
        let e, t, n, i, s;
        return {
          createBaseSourceFileNode: o,
          createBaseIdentifierNode: c,
          createBasePrivateIdentifierNode: _,
          createBaseTokenNode: u,
          createBaseNode: g
        };
        function o(m) {
          return new (s || (s = Xl.getSourceFileConstructor()))(
            m,
            /*pos*/
            -1,
            /*end*/
            -1
          );
        }
        function c(m) {
          return new (n || (n = Xl.getIdentifierConstructor()))(
            m,
            /*pos*/
            -1,
            /*end*/
            -1
          );
        }
        function _(m) {
          return new (i || (i = Xl.getPrivateIdentifierConstructor()))(
            m,
            /*pos*/
            -1,
            /*end*/
            -1
          );
        }
        function u(m) {
          return new (t || (t = Xl.getTokenConstructor()))(
            m,
            /*pos*/
            -1,
            /*end*/
            -1
          );
        }
        function g(m) {
          return new (e || (e = Xl.getNodeConstructor()))(
            m,
            /*pos*/
            -1,
            /*end*/
            -1
          );
        }
      }
      function Zee(e) {
        let t, n;
        return {
          getParenthesizeLeftSideOfBinaryForOperator: i,
          getParenthesizeRightSideOfBinaryForOperator: s,
          parenthesizeLeftSideOfBinary: g,
          parenthesizeRightSideOfBinary: m,
          parenthesizeExpressionOfComputedPropertyName: h,
          parenthesizeConditionOfConditionalExpression: S,
          parenthesizeBranchOfConditionalExpression: T,
          parenthesizeExpressionOfExportDefault: k,
          parenthesizeExpressionOfNew: D,
          parenthesizeLeftSideOfAccess: w,
          parenthesizeOperandOfPostfixUnary: A,
          parenthesizeOperandOfPrefixUnary: O,
          parenthesizeExpressionsOfCommaDelimitedList: F,
          parenthesizeExpressionForDisallowedComma: j,
          parenthesizeExpressionOfExpressionStatement: z,
          parenthesizeConciseBodyOfArrowFunction: V,
          parenthesizeCheckTypeOfConditionalType: G,
          parenthesizeExtendsTypeOfConditionalType: W,
          parenthesizeConstituentTypesOfUnionType: K,
          parenthesizeConstituentTypeOfUnionType: pe,
          parenthesizeConstituentTypesOfIntersectionType: ee,
          parenthesizeConstituentTypeOfIntersectionType: U,
          parenthesizeOperandOfTypeOperator: te,
          parenthesizeOperandOfReadonlyTypeOperator: ie,
          parenthesizeNonArrayTypeOfPostfixType: fe,
          parenthesizeElementTypesOfTupleType: me,
          parenthesizeElementTypeOfTupleType: q,
          parenthesizeTypeOfOptionalType: Me,
          parenthesizeTypeArguments: xe,
          parenthesizeLeadingTypeArgument: De
        };
        function i(ue) {
          t || (t = /* @__PURE__ */ new Map());
          let Xe = t.get(ue);
          return Xe || (Xe = (nt) => g(ue, nt), t.set(ue, Xe)), Xe;
        }
        function s(ue) {
          n || (n = /* @__PURE__ */ new Map());
          let Xe = n.get(ue);
          return Xe || (Xe = (nt) => m(
            ue,
            /*leftSide*/
            void 0,
            nt
          ), n.set(ue, Xe)), Xe;
        }
        function o(ue, Xe, nt, oe) {
          const ve = V3(226, ue), se = RB(226, ue), Pe = qp(Xe);
          if (!nt && Xe.kind === 219 && ve > 3)
            return !0;
          const Ee = Q4(Pe);
          switch (go(Ee, ve)) {
            case -1:
              return !(!nt && se === 1 && Xe.kind === 229);
            case 1:
              return !1;
            case 0:
              if (nt)
                return se === 1;
              if (_n(Pe) && Pe.operatorToken.kind === ue) {
                if (c(ue))
                  return !1;
                if (ue === 40) {
                  const ze = oe ? _(oe) : 0;
                  if (D4(ze) && ze === _(Pe))
                    return !1;
                }
              }
              return MB(Pe) === 0;
          }
        }
        function c(ue) {
          return ue === 42 || ue === 52 || ue === 51 || ue === 53 || ue === 28;
        }
        function _(ue) {
          if (ue = qp(ue), D4(ue.kind))
            return ue.kind;
          if (ue.kind === 226 && ue.operatorToken.kind === 40) {
            if (ue.cachedLiteralKind !== void 0)
              return ue.cachedLiteralKind;
            const Xe = _(ue.left), nt = D4(Xe) && Xe === _(ue.right) ? Xe : 0;
            return ue.cachedLiteralKind = nt, nt;
          }
          return 0;
        }
        function u(ue, Xe, nt, oe) {
          return qp(Xe).kind === 217 ? Xe : o(ue, Xe, nt, oe) ? e.createParenthesizedExpression(Xe) : Xe;
        }
        function g(ue, Xe) {
          return u(
            ue,
            Xe,
            /*isLeftSideOfBinary*/
            !0
          );
        }
        function m(ue, Xe, nt) {
          return u(
            ue,
            nt,
            /*isLeftSideOfBinary*/
            !1,
            Xe
          );
        }
        function h(ue) {
          return BD(ue) ? e.createParenthesizedExpression(ue) : ue;
        }
        function S(ue) {
          const Xe = V3(
            227,
            58
            /* QuestionToken */
          ), nt = qp(ue), oe = Q4(nt);
          return go(oe, Xe) !== 1 ? e.createParenthesizedExpression(ue) : ue;
        }
        function T(ue) {
          const Xe = qp(ue);
          return BD(Xe) ? e.createParenthesizedExpression(ue) : ue;
        }
        function k(ue) {
          const Xe = qp(ue);
          let nt = BD(Xe);
          if (!nt)
            switch (n6(
              Xe,
              /*stopAtCallExpressions*/
              !1
            ).kind) {
              case 231:
              case 218:
                nt = !0;
            }
          return nt ? e.createParenthesizedExpression(ue) : ue;
        }
        function D(ue) {
          const Xe = n6(
            ue,
            /*stopAtCallExpressions*/
            !0
          );
          switch (Xe.kind) {
            case 213:
              return e.createParenthesizedExpression(ue);
            case 214:
              return Xe.arguments ? ue : e.createParenthesizedExpression(ue);
          }
          return w(ue);
        }
        function w(ue, Xe) {
          const nt = qp(ue);
          return __(nt) && (nt.kind !== 214 || nt.arguments) && (Xe || !hu(nt)) ? ue : ot(e.createParenthesizedExpression(ue), ue);
        }
        function A(ue) {
          return __(ue) ? ue : ot(e.createParenthesizedExpression(ue), ue);
        }
        function O(ue) {
          return zj(ue) ? ue : ot(e.createParenthesizedExpression(ue), ue);
        }
        function F(ue) {
          const Xe = $c(ue, j);
          return ot(e.createNodeArray(Xe, ue.hasTrailingComma), ue);
        }
        function j(ue) {
          const Xe = qp(ue), nt = Q4(Xe), oe = V3(
            226,
            28
            /* CommaToken */
          );
          return nt > oe ? ue : ot(e.createParenthesizedExpression(ue), ue);
        }
        function z(ue) {
          const Xe = qp(ue);
          if (Ms(Xe)) {
            const oe = Xe.expression, ve = qp(oe).kind;
            if (ve === 218 || ve === 219) {
              const se = e.updateCallExpression(
                Xe,
                ot(e.createParenthesizedExpression(oe), oe),
                Xe.typeArguments,
                Xe.arguments
              );
              return e.restoreOuterExpressions(
                ue,
                se,
                8
                /* PartiallyEmittedExpressions */
              );
            }
          }
          const nt = n6(
            Xe,
            /*stopAtCallExpressions*/
            !1
          ).kind;
          return nt === 210 || nt === 218 ? ot(e.createParenthesizedExpression(ue), ue) : ue;
        }
        function V(ue) {
          return !Cs(ue) && (BD(ue) || n6(
            ue,
            /*stopAtCallExpressions*/
            !1
          ).kind === 210) ? ot(e.createParenthesizedExpression(ue), ue) : ue;
        }
        function G(ue) {
          switch (ue.kind) {
            case 184:
            case 185:
            case 194:
              return e.createParenthesizedType(ue);
          }
          return ue;
        }
        function W(ue) {
          switch (ue.kind) {
            case 194:
              return e.createParenthesizedType(ue);
          }
          return ue;
        }
        function pe(ue) {
          switch (ue.kind) {
            case 192:
            // Not strictly necessary, but a union containing a union should have been flattened
            case 193:
              return e.createParenthesizedType(ue);
          }
          return G(ue);
        }
        function K(ue) {
          return e.createNodeArray($c(ue, pe));
        }
        function U(ue) {
          switch (ue.kind) {
            case 192:
            case 193:
              return e.createParenthesizedType(ue);
          }
          return pe(ue);
        }
        function ee(ue) {
          return e.createNodeArray($c(ue, U));
        }
        function te(ue) {
          switch (ue.kind) {
            case 193:
              return e.createParenthesizedType(ue);
          }
          return U(ue);
        }
        function ie(ue) {
          switch (ue.kind) {
            case 198:
              return e.createParenthesizedType(ue);
          }
          return te(ue);
        }
        function fe(ue) {
          switch (ue.kind) {
            case 195:
            case 198:
            case 186:
              return e.createParenthesizedType(ue);
          }
          return te(ue);
        }
        function me(ue) {
          return e.createNodeArray($c(ue, q));
        }
        function q(ue) {
          return he(ue) ? e.createParenthesizedType(ue) : ue;
        }
        function he(ue) {
          return y6(ue) ? ue.postfix : _6(ue) || Ym(ue) || u6(ue) || nv(ue) ? he(ue.type) : Ub(ue) ? he(ue.falseType) : w0(ue) || Wx(ue) ? he(pa(ue.types)) : NS(ue) ? !!ue.typeParameter.constraint && he(ue.typeParameter.constraint) : !1;
        }
        function Me(ue) {
          return he(ue) ? e.createParenthesizedType(ue) : fe(ue);
        }
        function De(ue) {
          return mZ(ue) && ue.typeParameters ? e.createParenthesizedType(ue) : ue;
        }
        function re(ue, Xe) {
          return Xe === 0 ? De(ue) : ue;
        }
        function xe(ue) {
          if (at(ue))
            return e.createNodeArray($c(ue, re));
        }
      }
      var Kee = {
        getParenthesizeLeftSideOfBinaryForOperator: (e) => mo,
        getParenthesizeRightSideOfBinaryForOperator: (e) => mo,
        parenthesizeLeftSideOfBinary: (e, t) => t,
        parenthesizeRightSideOfBinary: (e, t, n) => n,
        parenthesizeExpressionOfComputedPropertyName: mo,
        parenthesizeConditionOfConditionalExpression: mo,
        parenthesizeBranchOfConditionalExpression: mo,
        parenthesizeExpressionOfExportDefault: mo,
        parenthesizeExpressionOfNew: (e) => Us(e, __),
        parenthesizeLeftSideOfAccess: (e) => Us(e, __),
        parenthesizeOperandOfPostfixUnary: (e) => Us(e, __),
        parenthesizeOperandOfPrefixUnary: (e) => Us(e, zj),
        parenthesizeExpressionsOfCommaDelimitedList: (e) => Us(e, vb),
        parenthesizeExpressionForDisallowedComma: mo,
        parenthesizeExpressionOfExpressionStatement: mo,
        parenthesizeConciseBodyOfArrowFunction: mo,
        parenthesizeCheckTypeOfConditionalType: mo,
        parenthesizeExtendsTypeOfConditionalType: mo,
        parenthesizeConstituentTypesOfUnionType: (e) => Us(e, vb),
        parenthesizeConstituentTypeOfUnionType: mo,
        parenthesizeConstituentTypesOfIntersectionType: (e) => Us(e, vb),
        parenthesizeConstituentTypeOfIntersectionType: mo,
        parenthesizeOperandOfTypeOperator: mo,
        parenthesizeOperandOfReadonlyTypeOperator: mo,
        parenthesizeNonArrayTypeOfPostfixType: mo,
        parenthesizeElementTypesOfTupleType: (e) => Us(e, vb),
        parenthesizeElementTypeOfTupleType: mo,
        parenthesizeTypeOfOptionalType: mo,
        parenthesizeTypeArguments: (e) => e && Us(e, vb),
        parenthesizeLeadingTypeArgument: mo
      };
      function ete(e) {
        return {
          convertToFunctionBlock: t,
          convertToFunctionExpression: n,
          convertToClassExpression: i,
          convertToArrayAssignmentElement: s,
          convertToObjectAssignmentElement: o,
          convertToAssignmentPattern: c,
          convertToObjectAssignmentPattern: _,
          convertToArrayAssignmentPattern: u,
          convertToAssignmentElementTarget: g
        };
        function t(m, h) {
          if (Cs(m)) return m;
          const S = e.createReturnStatement(m);
          ot(S, m);
          const T = e.createBlock([S], h);
          return ot(T, m), T;
        }
        function n(m) {
          var h;
          if (!m.body) return E.fail("Cannot convert a FunctionDeclaration without a body");
          const S = e.createFunctionExpression(
            (h = yb(m)) == null ? void 0 : h.filter((T) => !Rx(T) && !vF(T)),
            m.asteriskToken,
            m.name,
            m.typeParameters,
            m.parameters,
            m.type,
            m.body
          );
          return xn(S, m), ot(S, m), xD(m) && fF(
            S,
            /*newLine*/
            !0
          ), S;
        }
        function i(m) {
          var h;
          const S = e.createClassExpression(
            (h = m.modifiers) == null ? void 0 : h.filter((T) => !Rx(T) && !vF(T)),
            m.name,
            m.typeParameters,
            m.heritageClauses,
            m.members
          );
          return xn(S, m), ot(S, m), xD(m) && fF(
            S,
            /*newLine*/
            !0
          ), S;
        }
        function s(m) {
          if (ya(m)) {
            if (m.dotDotDotToken)
              return E.assertNode(m.name, Fe), xn(ot(e.createSpreadElement(m.name), m), m);
            const h = g(m.name);
            return m.initializer ? xn(
              ot(
                e.createAssignment(h, m.initializer),
                m
              ),
              m
            ) : h;
          }
          return Us(m, lt);
        }
        function o(m) {
          if (ya(m)) {
            if (m.dotDotDotToken)
              return E.assertNode(m.name, Fe), xn(ot(e.createSpreadAssignment(m.name), m), m);
            if (m.propertyName) {
              const h = g(m.name);
              return xn(ot(e.createPropertyAssignment(m.propertyName, m.initializer ? e.createAssignment(h, m.initializer) : h), m), m);
            }
            return E.assertNode(m.name, Fe), xn(ot(e.createShorthandPropertyAssignment(m.name, m.initializer), m), m);
          }
          return Us(m, Eh);
        }
        function c(m) {
          switch (m.kind) {
            case 207:
            case 209:
              return u(m);
            case 206:
            case 210:
              return _(m);
          }
        }
        function _(m) {
          return Nf(m) ? xn(
            ot(
              e.createObjectLiteralExpression(fr(m.elements, o)),
              m
            ),
            m
          ) : Us(m, ua);
        }
        function u(m) {
          return N0(m) ? xn(
            ot(
              e.createArrayLiteralExpression(fr(m.elements, s)),
              m
            ),
            m
          ) : Us(m, Ql);
        }
        function g(m) {
          return Ps(m) ? c(m) : Us(m, lt);
        }
      }
      var tte = {
        convertToFunctionBlock: Hs,
        convertToFunctionExpression: Hs,
        convertToClassExpression: Hs,
        convertToArrayAssignmentElement: Hs,
        convertToObjectAssignmentElement: Hs,
        convertToAssignmentPattern: Hs,
        convertToObjectAssignmentPattern: Hs,
        convertToArrayAssignmentPattern: Hs,
        convertToAssignmentElementTarget: Hs
      }, GJ = 0, rte = /* @__PURE__ */ ((e) => (e[e.None = 0] = "None", e[e.NoParenthesizerRules = 1] = "NoParenthesizerRules", e[e.NoNodeConverters = 2] = "NoNodeConverters", e[e.NoIndentationOnFreshPropertyAccess = 4] = "NoIndentationOnFreshPropertyAccess", e[e.NoOriginalNode = 8] = "NoOriginalNode", e))(rte || {}), Ghe = [];
      function $he(e) {
        Ghe.push(e);
      }
      function hN(e, t) {
        const n = e & 8 ? mo : xn, i = Au(() => e & 1 ? Kee : Zee(A)), s = Au(() => e & 2 ? tte : ete(A)), o = qd((v) => (P, B) => qr(P, v, B)), c = qd((v) => (P) => Ke(v, P)), _ = qd((v) => (P) => Ut(P, v)), u = qd((v) => () => gs(v)), g = qd((v) => (P) => uT(v, P)), m = qd((v) => (P, B) => ln(v, P, B)), h = qd((v) => (P, B) => Y0(v, P, B)), S = qd((v) => (P, B) => Lv(v, P, B)), T = qd((v) => (P, B) => dc(v, P, B)), k = qd((v) => (P, B, le) => Uc(v, P, B, le)), D = qd((v) => (P, B, le) => bE(v, P, B, le)), w = qd((v) => (P, B, le, Je) => cf(v, P, B, le, Je)), A = {
          get parenthesizer() {
            return i();
          },
          get converters() {
            return s();
          },
          baseFactory: t,
          flags: e,
          createNodeArray: O,
          createNumericLiteral: V,
          createBigIntLiteral: G,
          createStringLiteral: pe,
          createStringLiteralFromNode: K,
          createRegularExpressionLiteral: U,
          createLiteralLikeNode: ee,
          createIdentifier: fe,
          createTempVariable: me,
          createLoopVariable: q,
          createUniqueName: he,
          getGeneratedNameForNode: Me,
          createPrivateIdentifier: re,
          createUniquePrivateName: ue,
          getGeneratedPrivateNameForNode: Xe,
          createToken: oe,
          createSuper: ve,
          createThis: se,
          createNull: Pe,
          createTrue: Ee,
          createFalse: Ce,
          createModifier: ze,
          createModifiersFromModifierFlags: St,
          createQualifiedName: Bt,
          updateQualifiedName: tr,
          createComputedPropertyName: Fr,
          updateComputedPropertyName: it,
          createTypeParameterDeclaration: Wt,
          updateTypeParameterDeclaration: Wr,
          createParameterDeclaration: ai,
          updateParameterDeclaration: zi,
          createDecorator: Pt,
          updateDecorator: Fn,
          createPropertySignature: ii,
          updatePropertySignature: li,
          createPropertyDeclaration: ci,
          updatePropertyDeclaration: je,
          createMethodSignature: ut,
          updateMethodSignature: er,
          createMethodDeclaration: Vr,
          updateMethodDeclaration: zn,
          createConstructorDeclaration: gr,
          updateConstructorDeclaration: ms,
          createGetAccessorDeclaration: Et,
          updateGetAccessorDeclaration: ne,
          createSetAccessorDeclaration: Q,
          updateSetAccessorDeclaration: Ne,
          createCallSignature: Ze,
          updateCallSignature: bt,
          createConstructSignature: Ie,
          updateConstructSignature: ft,
          createIndexSignature: _t,
          updateIndexSignature: kt,
          createClassStaticBlockDeclaration: bi,
          updateClassStaticBlockDeclaration: ks,
          createTemplateLiteralTypeSpan: Ve,
          updateTemplateLiteralTypeSpan: Rt,
          createKeywordTypeNode: Zr,
          createTypePredicateNode: we,
          updateTypePredicateNode: mt,
          createTypeReferenceNode: _e,
          updateTypeReferenceNode: M,
          createFunctionTypeNode: ye,
          updateFunctionTypeNode: X,
          createConstructorTypeNode: jt,
          updateConstructorTypeNode: At,
          createTypeQueryNode: Rr,
          updateTypeQueryNode: Ye,
          createTypeLiteralNode: gt,
          updateTypeLiteralNode: Jt,
          createArrayTypeNode: wt,
          updateArrayTypeNode: dr,
          createTupleTypeNode: Kt,
          updateTupleTypeNode: Mt,
          createNamedTupleMember: cr,
          updateNamedTupleMember: lr,
          createOptionalTypeNode: br,
          updateOptionalTypeNode: $t,
          createRestTypeNode: Qn,
          updateRestTypeNode: Ns,
          createUnionTypeNode: Nc,
          updateUnionTypeNode: qo,
          createIntersectionTypeNode: kc,
          updateIntersectionTypeNode: gi,
          createConditionalTypeNode: ps,
          updateConditionalTypeNode: Wc,
          createInferTypeNode: Lo,
          updateInferTypeNode: Pa,
          createImportTypeNode: ss,
          updateImportTypeNode: Vs,
          createParenthesizedType: Aa,
          updateParenthesizedType: Ca,
          createThisTypeNode: zt,
          createTypeOperatorNode: Ka,
          updateTypeOperatorNode: Vc,
          createIndexedAccessTypeNode: tc,
          updateIndexedAccessTypeNode: eu,
          createMappedTypeNode: yo,
          updateMappedTypeNode: ge,
          createLiteralTypeNode: H,
          updateLiteralTypeNode: et,
          createTemplateLiteralType: Bo,
          updateTemplateLiteralType: rf,
          createObjectBindingPattern: Ot,
          updateObjectBindingPattern: Zt,
          createArrayBindingPattern: Ur,
          updateArrayBindingPattern: Vn,
          createBindingElement: sn,
          updateBindingElement: xr,
          createArrayLiteralExpression: Li,
          updateArrayLiteralExpression: Qi,
          createObjectLiteralExpression: no,
          updateObjectLiteralExpression: da,
          createPropertyAccessExpression: e & 4 ? (v, P) => an(
            fc(v, P),
            262144
            /* NoIndentation */
          ) : fc,
          updatePropertyAccessExpression: Lc,
          createPropertyAccessChain: e & 4 ? (v, P, B) => an(
            bo(v, P, B),
            262144
            /* NoIndentation */
          ) : bo,
          updatePropertyAccessChain: pc,
          createElementAccessExpression: tu,
          updateElementAccessExpression: Rf,
          createElementAccessChain: r_,
          updateElementAccessChain: Ae,
          createCallExpression: Xr,
          updateCallExpression: qi,
          createCallChain: Is,
          updateCallChain: Ea,
          createNewExpression: Do,
          updateNewExpression: Ac,
          createTaggedTemplateExpression: rc,
          updateTaggedTemplateExpression: nc,
          createTypeAssertion: Mc,
          updateTypeAssertion: ll,
          createParenthesizedExpression: ul,
          updateParenthesizedExpression: nf,
          createFunctionExpression: n_,
          updateFunctionExpression: ed,
          createArrowFunction: hf,
          updateArrowFunction: ym,
          createDeleteExpression: Qg,
          updateDeleteExpression: jf,
          createTypeOfExpression: y_,
          updateTypeOfExpression: Ju,
          createVoidExpression: vm,
          updateVoidExpression: yf,
          createAwaitExpression: Yg,
          updateAwaitExpression: Z,
          createPrefixUnaryExpression: Ke,
          updatePrefixUnaryExpression: Vt,
          createPostfixUnaryExpression: Ut,
          updatePostfixUnaryExpression: vr,
          createBinaryExpression: qr,
          updateBinaryExpression: ti,
          createConditionalExpression: Ii,
          updateConditionalExpression: L,
          createTemplateExpression: Re,
          updateTemplateExpression: Ct,
          createTemplateHead: Ao,
          createTemplateMiddle: ra,
          createTemplateTail: nl,
          createNoSubstitutionTemplateLiteral: sf,
          createTemplateLiteralLikeNode: as,
          createYieldExpression: up,
          updateYieldExpression: Ed,
          createSpreadElement: qh,
          updateSpreadElement: Zg,
          createClassExpression: A_,
          updateClassExpression: Dd,
          createOmittedExpression: bm,
          createExpressionWithTypeArguments: Rp,
          updateExpressionWithTypeArguments: m1,
          createAsExpression: vf,
          updateAsExpression: J0,
          createNonNullExpression: g1,
          updateNonNullExpression: z0,
          createSatisfiesExpression: Le,
          updateSatisfiesExpression: Qe,
          createNonNullChain: Nt,
          updateNonNullChain: rr,
          createMetaProperty: jr,
          updateMetaProperty: pn,
          createTemplateSpan: Pr,
          updateTemplateSpan: fn,
          createSemicolonClassElement: vi,
          createBlock: ts,
          updateBlock: Hn,
          createVariableStatement: Mi,
          updateVariableStatement: Ds,
          createEmptyStatement: Al,
          createExpressionStatement: Bf,
          updateExpressionStatement: Jf,
          createIfStatement: af,
          updateIfStatement: ng,
          createDoStatement: td,
          updateDoStatement: ig,
          createWhileStatement: W0,
          updateWhileStatement: sg,
          createForStatement: V0,
          updateForStatement: Pv,
          createForInStatement: m2,
          updateForInStatement: Vw,
          createForOfStatement: xk,
          updateForOfStatement: pE,
          createContinueStatement: g2,
          updateContinueStatement: dE,
          createBreakStatement: nT,
          updateBreakStatement: kk,
          createReturnStatement: h2,
          updateReturnStatement: mE,
          createWithStatement: iT,
          updateWithStatement: Ck,
          createSwitchStatement: sT,
          updateSwitchStatement: Sm,
          createLabeledStatement: U0,
          updateLabeledStatement: Hh,
          createThrowStatement: ag,
          updateThrowStatement: Nv,
          createTryStatement: h1,
          updateTryStatement: y2,
          createDebuggerStatement: v2,
          createVariableDeclaration: q0,
          updateVariableDeclaration: Ia,
          createVariableDeclarationList: Av,
          updateVariableDeclarationList: Uw,
          createFunctionDeclaration: y1,
          updateFunctionDeclaration: Kg,
          createClassDeclaration: _p,
          updateClassDeclaration: v_,
          createInterfaceDeclaration: I_,
          updateInterfaceDeclaration: of,
          createTypeAliasDeclaration: il,
          updateTypeAliasDeclaration: H0,
          createEnumDeclaration: aT,
          updateEnumDeclaration: wd,
          createModuleDeclaration: v1,
          updateModuleDeclaration: Vl,
          createModuleBlock: th,
          updateModuleBlock: F_,
          createCaseBlock: rh,
          updateCaseBlock: nh,
          createNamespaceExportDeclaration: og,
          updateNamespaceExportDeclaration: b2,
          createImportEqualsDeclaration: G0,
          updateImportEqualsDeclaration: Pd,
          createImportDeclaration: $0,
          updateImportDeclaration: Ek,
          createImportClause: X0,
          updateImportClause: Gh,
          createAssertClause: cg,
          updateAssertClause: Dk,
          createAssertEntry: sa,
          updateAssertEntry: Il,
          createImportTypeAssertionContainer: ih,
          updateImportTypeAssertionContainer: sh,
          createImportAttributes: b1,
          updateImportAttributes: Iv,
          createImportAttribute: Tm,
          updateImportAttribute: $h,
          createNamespaceImport: oT,
          updateNamespaceImport: Q0,
          createNamespaceExport: xm,
          updateNamespaceExport: lg,
          createNamedImports: S1,
          updateNamedImports: Ri,
          createImportSpecifier: yn,
          updateImportSpecifier: zu,
          createExportAssignment: cT,
          updateExportAssignment: km,
          createExportDeclaration: po,
          updateExportDeclaration: Fv,
          createNamedExports: lT,
          updateNamedExports: wk,
          createExportSpecifier: T1,
          updateExportSpecifier: Nd,
          createMissingDeclaration: gE,
          createExternalModuleReference: dn,
          updateExternalModuleReference: Eu,
          // lazily load factory members for JSDoc types with similar structure
          get createJSDocAllType() {
            return u(
              312
              /* JSDocAllType */
            );
          },
          get createJSDocUnknownType() {
            return u(
              313
              /* JSDocUnknownType */
            );
          },
          get createJSDocNonNullableType() {
            return h(
              315
              /* JSDocNonNullableType */
            );
          },
          get updateJSDocNonNullableType() {
            return S(
              315
              /* JSDocNonNullableType */
            );
          },
          get createJSDocNullableType() {
            return h(
              314
              /* JSDocNullableType */
            );
          },
          get updateJSDocNullableType() {
            return S(
              314
              /* JSDocNullableType */
            );
          },
          get createJSDocOptionalType() {
            return g(
              316
              /* JSDocOptionalType */
            );
          },
          get updateJSDocOptionalType() {
            return m(
              316
              /* JSDocOptionalType */
            );
          },
          get createJSDocVariadicType() {
            return g(
              318
              /* JSDocVariadicType */
            );
          },
          get updateJSDocVariadicType() {
            return m(
              318
              /* JSDocVariadicType */
            );
          },
          get createJSDocNamepathType() {
            return g(
              319
              /* JSDocNamepathType */
            );
          },
          get updateJSDocNamepathType() {
            return m(
              319
              /* JSDocNamepathType */
            );
          },
          createJSDocFunctionType: hE,
          updateJSDocFunctionType: Pk,
          createJSDocTypeLiteral: Wu,
          updateJSDocTypeLiteral: ug,
          createJSDocTypeExpression: rd,
          updateJSDocTypeExpression: Z0,
          createJSDocSignature: zf,
          updateJSDocSignature: ah,
          createJSDocTemplateTag: _g,
          updateJSDocTemplateTag: S2,
          createJSDocTypedefTag: K0,
          updateJSDocTypedefTag: Nk,
          createJSDocParameterTag: oh,
          updateJSDocParameterTag: _T,
          createJSDocPropertyTag: Ak,
          updateJSDocPropertyTag: x1,
          createJSDocCallbackTag: nd,
          updateJSDocCallbackTag: Ik,
          createJSDocOverloadTag: fT,
          updateJSDocOverloadTag: ey,
          createJSDocAugmentsTag: T2,
          updateJSDocAugmentsTag: Cm,
          createJSDocImplementsTag: Xh,
          updateJSDocImplementsTag: dT,
          createJSDocSeeTag: Em,
          updateJSDocSeeTag: ty,
          createJSDocImportTag: Qh,
          updateJSDocImportTag: SE,
          createJSDocNameReference: Fl,
          updateJSDocNameReference: pT,
          createJSDocMemberName: ch,
          updateJSDocMemberName: x2,
          createJSDocLink: Fk,
          updateJSDocLink: fg,
          createJSDocLinkCode: yE,
          updateJSDocLinkCode: k2,
          createJSDocLinkPlain: vE,
          updateJSDocLinkPlain: Mv,
          // lazily load factory members for JSDoc tags with similar structure
          get createJSDocTypeTag() {
            return D(
              344
              /* JSDocTypeTag */
            );
          },
          get updateJSDocTypeTag() {
            return w(
              344
              /* JSDocTypeTag */
            );
          },
          get createJSDocReturnTag() {
            return D(
              342
              /* JSDocReturnTag */
            );
          },
          get updateJSDocReturnTag() {
            return w(
              342
              /* JSDocReturnTag */
            );
          },
          get createJSDocThisTag() {
            return D(
              343
              /* JSDocThisTag */
            );
          },
          get updateJSDocThisTag() {
            return w(
              343
              /* JSDocThisTag */
            );
          },
          get createJSDocAuthorTag() {
            return T(
              330
              /* JSDocAuthorTag */
            );
          },
          get updateJSDocAuthorTag() {
            return k(
              330
              /* JSDocAuthorTag */
            );
          },
          get createJSDocClassTag() {
            return T(
              332
              /* JSDocClassTag */
            );
          },
          get updateJSDocClassTag() {
            return k(
              332
              /* JSDocClassTag */
            );
          },
          get createJSDocPublicTag() {
            return T(
              333
              /* JSDocPublicTag */
            );
          },
          get updateJSDocPublicTag() {
            return k(
              333
              /* JSDocPublicTag */
            );
          },
          get createJSDocPrivateTag() {
            return T(
              334
              /* JSDocPrivateTag */
            );
          },
          get updateJSDocPrivateTag() {
            return k(
              334
              /* JSDocPrivateTag */
            );
          },
          get createJSDocProtectedTag() {
            return T(
              335
              /* JSDocProtectedTag */
            );
          },
          get updateJSDocProtectedTag() {
            return k(
              335
              /* JSDocProtectedTag */
            );
          },
          get createJSDocReadonlyTag() {
            return T(
              336
              /* JSDocReadonlyTag */
            );
          },
          get updateJSDocReadonlyTag() {
            return k(
              336
              /* JSDocReadonlyTag */
            );
          },
          get createJSDocOverrideTag() {
            return T(
              337
              /* JSDocOverrideTag */
            );
          },
          get updateJSDocOverrideTag() {
            return k(
              337
              /* JSDocOverrideTag */
            );
          },
          get createJSDocDeprecatedTag() {
            return T(
              331
              /* JSDocDeprecatedTag */
            );
          },
          get updateJSDocDeprecatedTag() {
            return k(
              331
              /* JSDocDeprecatedTag */
            );
          },
          get createJSDocThrowsTag() {
            return D(
              349
              /* JSDocThrowsTag */
            );
          },
          get updateJSDocThrowsTag() {
            return w(
              349
              /* JSDocThrowsTag */
            );
          },
          get createJSDocSatisfiesTag() {
            return D(
              350
              /* JSDocSatisfiesTag */
            );
          },
          get updateJSDocSatisfiesTag() {
            return w(
              350
              /* JSDocSatisfiesTag */
            );
          },
          createJSDocEnumTag: Id,
          updateJSDocEnumTag: mT,
          createJSDocUnknownTag: Bp,
          updateJSDocUnknownTag: Ok,
          createJSDocText: gT,
          updateJSDocText: mc,
          createJSDocComment: Rv,
          updateJSDocComment: TE,
          createJsxElement: C2,
          updateJsxElement: qw,
          createJsxSelfClosingElement: Vu,
          updateJsxSelfClosingElement: jv,
          createJsxOpeningElement: E2,
          updateJsxOpeningElement: hT,
          createJsxClosingElement: b_,
          updateJsxClosingElement: Jp,
          createJsxFragment: ry,
          createJsxText: Bv,
          updateJsxText: Jv,
          createJsxOpeningFragment: Mk,
          createJsxJsxClosingFragment: zv,
          updateJsxFragment: Lk,
          createJsxAttribute: Rk,
          updateJsxAttribute: D2,
          createJsxAttributes: pg,
          updateJsxAttributes: lf,
          createJsxSpreadAttribute: lh,
          updateJsxSpreadAttribute: yT,
          createJsxExpression: Wv,
          updateJsxExpression: La,
          createJsxNamespacedName: vn,
          updateJsxNamespacedName: Sf,
          createCaseClause: O_,
          updateCaseClause: jk,
          createDefaultClause: k1,
          updateDefaultClause: vT,
          createHeritageClause: Bk,
          updateHeritageClause: Jk,
          createCatchClause: Wf,
          updateCatchClause: Vf,
          createPropertyAssignment: L_,
          updatePropertyAssignment: Fd,
          createShorthandPropertyAssignment: uh,
          updateShorthandPropertyAssignment: C,
          createSpreadAssignment: dt,
          updateSpreadAssignment: ir,
          createEnumMember: Yn,
          updateEnumMember: hi,
          createSourceFile: Gi,
          updateSourceFile: zk,
          createRedirectedSourceFile: us,
          createBundle: s_,
          updateBundle: Dm,
          createSyntheticExpression: C1,
          createSyntaxList: Vv,
          createNotEmittedStatement: Wk,
          createNotEmittedTypeElement: iy,
          createPartiallyEmittedExpression: Vk,
          updatePartiallyEmittedExpression: ny,
          createCommaListExpression: wm,
          updateCommaListExpression: Uk,
          createSyntheticReferenceExpression: qk,
          updateSyntheticReferenceExpression: I8,
          cloneNode: Bi,
          // Lazily load factory methods for common operator factories and utilities
          get createComma() {
            return o(
              28
              /* CommaToken */
            );
          },
          get createAssignment() {
            return o(
              64
              /* EqualsToken */
            );
          },
          get createLogicalOr() {
            return o(
              57
              /* BarBarToken */
            );
          },
          get createLogicalAnd() {
            return o(
              56
              /* AmpersandAmpersandToken */
            );
          },
          get createBitwiseOr() {
            return o(
              52
              /* BarToken */
            );
          },
          get createBitwiseXor() {
            return o(
              53
              /* CaretToken */
            );
          },
          get createBitwiseAnd() {
            return o(
              51
              /* AmpersandToken */
            );
          },
          get createStrictEquality() {
            return o(
              37
              /* EqualsEqualsEqualsToken */
            );
          },
          get createStrictInequality() {
            return o(
              38
              /* ExclamationEqualsEqualsToken */
            );
          },
          get createEquality() {
            return o(
              35
              /* EqualsEqualsToken */
            );
          },
          get createInequality() {
            return o(
              36
              /* ExclamationEqualsToken */
            );
          },
          get createLessThan() {
            return o(
              30
              /* LessThanToken */
            );
          },
          get createLessThanEquals() {
            return o(
              33
              /* LessThanEqualsToken */
            );
          },
          get createGreaterThan() {
            return o(
              32
              /* GreaterThanToken */
            );
          },
          get createGreaterThanEquals() {
            return o(
              34
              /* GreaterThanEqualsToken */
            );
          },
          get createLeftShift() {
            return o(
              48
              /* LessThanLessThanToken */
            );
          },
          get createRightShift() {
            return o(
              49
              /* GreaterThanGreaterThanToken */
            );
          },
          get createUnsignedRightShift() {
            return o(
              50
              /* GreaterThanGreaterThanGreaterThanToken */
            );
          },
          get createAdd() {
            return o(
              40
              /* PlusToken */
            );
          },
          get createSubtract() {
            return o(
              41
              /* MinusToken */
            );
          },
          get createMultiply() {
            return o(
              42
              /* AsteriskToken */
            );
          },
          get createDivide() {
            return o(
              44
              /* SlashToken */
            );
          },
          get createModulo() {
            return o(
              45
              /* PercentToken */
            );
          },
          get createExponent() {
            return o(
              43
              /* AsteriskAsteriskToken */
            );
          },
          get createPrefixPlus() {
            return c(
              40
              /* PlusToken */
            );
          },
          get createPrefixMinus() {
            return c(
              41
              /* MinusToken */
            );
          },
          get createPrefixIncrement() {
            return c(
              46
              /* PlusPlusToken */
            );
          },
          get createPrefixDecrement() {
            return c(
              47
              /* MinusMinusToken */
            );
          },
          get createBitwiseNot() {
            return c(
              55
              /* TildeToken */
            );
          },
          get createLogicalNot() {
            return c(
              54
              /* ExclamationToken */
            );
          },
          get createPostfixIncrement() {
            return _(
              46
              /* PlusPlusToken */
            );
          },
          get createPostfixDecrement() {
            return _(
              47
              /* MinusMinusToken */
            );
          },
          // Compound nodes
          createImmediatelyInvokedFunctionExpression: N2,
          createImmediatelyInvokedArrowFunction: Hr,
          createVoidZero: Uv,
          createExportDefault: Gk,
          createExternalModuleExport: xE,
          createTypeCheck: $k,
          createIsNotTypeCheck: O8,
          createMethodCall: qv,
          createGlobalMethodCall: A2,
          createFunctionBindCall: JL,
          createFunctionCallCall: Hv,
          createFunctionApplyCall: zL,
          createArraySliceCall: Xk,
          createArrayConcatCall: L8,
          createObjectDefinePropertyCall: kE,
          createObjectGetOwnPropertyDescriptorCall: I2,
          createReflectGetCall: Gv,
          createReflectSetCall: Zh,
          createPropertyDescriptor: Pm,
          createCallBinding: qc,
          createAssignmentTargetWrapper: $,
          // Utilities
          inlineExpressions: be,
          getInternalName: yt,
          getLocalName: qt,
          getExportName: hr,
          getDeclarationName: Ln,
          getNamespaceMemberName: Si,
          getExternalModuleOrNamespaceExportName: ri,
          restoreOuterExpressions: Nm,
          restoreEnclosingLabel: Xv,
          createUseStrictPrologue: io,
          copyPrologue: oi,
          copyStandardPrologue: so,
          copyCustomPrologue: Fa,
          ensureUseStrict: fp,
          liftToBlock: dg,
          mergeLexicalEnvironment: Ol,
          replaceModifiers: Od,
          replaceDecoratorsAndModifiers: E1,
          replacePropertyName: M8
        };
        return ar(Ghe, (v) => v(A)), A;
        function O(v, P) {
          if (v === void 0 || v === Ue)
            v = [];
          else if (vb(v)) {
            if (P === void 0 || v.hasTrailingComma === P)
              return v.transformFlags === void 0 && Qhe(v), E.attachNodeArrayDebugInfo(v), v;
            const Je = v.slice();
            return Je.pos = v.pos, Je.end = v.end, Je.hasTrailingComma = P, Je.transformFlags = v.transformFlags, E.attachNodeArrayDebugInfo(Je), Je;
          }
          const B = v.length, le = B >= 1 && B <= 4 ? v.slice() : v;
          return le.pos = -1, le.end = -1, le.hasTrailingComma = !!P, le.transformFlags = 0, Qhe(le), E.attachNodeArrayDebugInfo(le), le;
        }
        function F(v) {
          return t.createBaseNode(v);
        }
        function j(v) {
          const P = F(v);
          return P.symbol = void 0, P.localSymbol = void 0, P;
        }
        function z(v, P) {
          return v !== P && (v.typeArguments = P.typeArguments), on(v, P);
        }
        function V(v, P = 0) {
          const B = typeof v == "number" ? v + "" : v;
          E.assert(B.charCodeAt(0) !== 45, "Negative numbers should be created in combination with createPrefixUnaryExpression");
          const le = j(
            9
            /* NumericLiteral */
          );
          return le.text = B, le.numericLiteralFlags = P, P & 384 && (le.transformFlags |= 1024), le;
        }
        function G(v) {
          const P = nt(
            10
            /* BigIntLiteral */
          );
          return P.text = typeof v == "string" ? v : Jb(v) + "n", P.transformFlags |= 32, P;
        }
        function W(v, P) {
          const B = j(
            11
            /* StringLiteral */
          );
          return B.text = v, B.singleQuote = P, B;
        }
        function pe(v, P, B) {
          const le = W(v, P);
          return le.hasExtendedUnicodeEscape = B, B && (le.transformFlags |= 1024), le;
        }
        function K(v) {
          const P = W(
            ep(v),
            /*isSingleQuote*/
            void 0
          );
          return P.textSourceNode = v, P;
        }
        function U(v) {
          const P = nt(
            14
            /* RegularExpressionLiteral */
          );
          return P.text = v, P;
        }
        function ee(v, P) {
          switch (v) {
            case 9:
              return V(
                P,
                /*numericLiteralFlags*/
                0
              );
            case 10:
              return G(P);
            case 11:
              return pe(
                P,
                /*isSingleQuote*/
                void 0
              );
            case 12:
              return Bv(
                P,
                /*containsOnlyTriviaWhiteSpaces*/
                !1
              );
            case 13:
              return Bv(
                P,
                /*containsOnlyTriviaWhiteSpaces*/
                !0
              );
            case 14:
              return U(P);
            case 15:
              return as(
                v,
                P,
                /*rawText*/
                void 0,
                /*templateFlags*/
                0
              );
          }
        }
        function te(v) {
          const P = t.createBaseIdentifierNode(
            80
            /* Identifier */
          );
          return P.escapedText = v, P.jsDoc = void 0, P.flowNode = void 0, P.symbol = void 0, P;
        }
        function ie(v, P, B, le) {
          const Je = te(ec(v));
          return TN(Je, {
            flags: P,
            id: GJ,
            prefix: B,
            suffix: le
          }), GJ++, Je;
        }
        function fe(v, P, B) {
          P === void 0 && v && (P = iS(v)), P === 80 && (P = void 0);
          const le = te(ec(v));
          return B && (le.flags |= 256), le.escapedText === "await" && (le.transformFlags |= 67108864), le.flags & 256 && (le.transformFlags |= 1024), le;
        }
        function me(v, P, B, le) {
          let Je = 1;
          P && (Je |= 8);
          const Ht = ie("", Je, B, le);
          return v && v(Ht), Ht;
        }
        function q(v) {
          let P = 2;
          return v && (P |= 8), ie(
            "",
            P,
            /*prefix*/
            void 0,
            /*suffix*/
            void 0
          );
        }
        function he(v, P = 0, B, le) {
          return E.assert(!(P & 7), "Argument out of range: flags"), E.assert((P & 48) !== 32, "GeneratedIdentifierFlags.FileLevel cannot be set without also setting GeneratedIdentifierFlags.Optimistic"), ie(v, 3 | P, B, le);
        }
        function Me(v, P = 0, B, le) {
          E.assert(!(P & 7), "Argument out of range: flags");
          const Je = v ? Ng(v) ? _v(
            /*privateName*/
            !1,
            B,
            v,
            le,
            Pn
          ) : `generated@${Oa(v)}` : "";
          (B || le) && (P |= 16);
          const Ht = ie(Je, 4 | P, B, le);
          return Ht.original = v, Ht;
        }
        function De(v) {
          const P = t.createBasePrivateIdentifierNode(
            81
            /* PrivateIdentifier */
          );
          return P.escapedText = v, P.transformFlags |= 16777216, P;
        }
        function re(v) {
          return Wi(v, "#") || E.fail("First character of private identifier must be #: " + v), De(ec(v));
        }
        function xe(v, P, B, le) {
          const Je = De(ec(v));
          return TN(Je, {
            flags: P,
            id: GJ,
            prefix: B,
            suffix: le
          }), GJ++, Je;
        }
        function ue(v, P, B) {
          v && !Wi(v, "#") && E.fail("First character of private identifier must be #: " + v);
          const le = 8 | (v ? 3 : 1);
          return xe(v ?? "", le, P, B);
        }
        function Xe(v, P, B) {
          const le = Ng(v) ? _v(
            /*privateName*/
            !0,
            P,
            v,
            B,
            Pn
          ) : `#generated@${Oa(v)}`, Ht = xe(le, 4 | (P || B ? 16 : 0), P, B);
          return Ht.original = v, Ht;
        }
        function nt(v) {
          return t.createBaseTokenNode(v);
        }
        function oe(v) {
          E.assert(v >= 0 && v <= 165, "Invalid token"), E.assert(v <= 15 || v >= 18, "Invalid token. Use 'createTemplateLiteralLikeNode' to create template literals."), E.assert(v <= 9 || v >= 15, "Invalid token. Use 'createLiteralLikeNode' to create literals."), E.assert(v !== 80, "Invalid token. Use 'createIdentifier' to create identifiers");
          const P = nt(v);
          let B = 0;
          switch (v) {
            case 134:
              B = 384;
              break;
            case 160:
              B = 4;
              break;
            case 125:
            case 123:
            case 124:
            case 148:
            case 128:
            case 138:
            case 87:
            case 133:
            case 150:
            case 163:
            case 146:
            case 151:
            case 103:
            case 147:
            case 164:
            case 154:
            case 136:
            case 155:
            case 116:
            case 159:
            case 157:
              B = 1;
              break;
            case 108:
              B = 134218752, P.flowNode = void 0;
              break;
            case 126:
              B = 1024;
              break;
            case 129:
              B = 16777216;
              break;
            case 110:
              B = 16384, P.flowNode = void 0;
              break;
          }
          return B && (P.transformFlags |= B), P;
        }
        function ve() {
          return oe(
            108
            /* SuperKeyword */
          );
        }
        function se() {
          return oe(
            110
            /* ThisKeyword */
          );
        }
        function Pe() {
          return oe(
            106
            /* NullKeyword */
          );
        }
        function Ee() {
          return oe(
            112
            /* TrueKeyword */
          );
        }
        function Ce() {
          return oe(
            97
            /* FalseKeyword */
          );
        }
        function ze(v) {
          return oe(v);
        }
        function St(v) {
          const P = [];
          return v & 32 && P.push(ze(
            95
            /* ExportKeyword */
          )), v & 128 && P.push(ze(
            138
            /* DeclareKeyword */
          )), v & 2048 && P.push(ze(
            90
            /* DefaultKeyword */
          )), v & 4096 && P.push(ze(
            87
            /* ConstKeyword */
          )), v & 1 && P.push(ze(
            125
            /* PublicKeyword */
          )), v & 2 && P.push(ze(
            123
            /* PrivateKeyword */
          )), v & 4 && P.push(ze(
            124
            /* ProtectedKeyword */
          )), v & 64 && P.push(ze(
            128
            /* AbstractKeyword */
          )), v & 256 && P.push(ze(
            126
            /* StaticKeyword */
          )), v & 16 && P.push(ze(
            164
            /* OverrideKeyword */
          )), v & 8 && P.push(ze(
            148
            /* ReadonlyKeyword */
          )), v & 512 && P.push(ze(
            129
            /* AccessorKeyword */
          )), v & 1024 && P.push(ze(
            134
            /* AsyncKeyword */
          )), v & 8192 && P.push(ze(
            103
            /* InKeyword */
          )), v & 16384 && P.push(ze(
            147
            /* OutKeyword */
          )), P.length ? P : void 0;
        }
        function Bt(v, P) {
          const B = F(
            166
            /* QualifiedName */
          );
          return B.left = v, B.right = _l(P), B.transformFlags |= hn(B.left) | yN(B.right), B.flowNode = void 0, B;
        }
        function tr(v, P, B) {
          return v.left !== P || v.right !== B ? on(Bt(P, B), v) : v;
        }
        function Fr(v) {
          const P = F(
            167
            /* ComputedPropertyName */
          );
          return P.expression = i().parenthesizeExpressionOfComputedPropertyName(v), P.transformFlags |= hn(P.expression) | 1024 | 131072, P;
        }
        function it(v, P) {
          return v.expression !== P ? on(Fr(P), v) : v;
        }
        function Wt(v, P, B, le) {
          const Je = j(
            168
            /* TypeParameter */
          );
          return Je.modifiers = Ma(v), Je.name = _l(P), Je.constraint = B, Je.default = le, Je.transformFlags = 1, Je.expression = void 0, Je.jsDoc = void 0, Je;
        }
        function Wr(v, P, B, le, Je) {
          return v.modifiers !== P || v.name !== B || v.constraint !== le || v.default !== Je ? on(Wt(P, B, le, Je), v) : v;
        }
        function ai(v, P, B, le, Je, Ht) {
          const mn = j(
            169
            /* Parameter */
          );
          return mn.modifiers = Ma(v), mn.dotDotDotToken = P, mn.name = _l(B), mn.questionToken = le, mn.type = Je, mn.initializer = Qk(Ht), Xy(mn.name) ? mn.transformFlags = 1 : mn.transformFlags = Na(mn.modifiers) | hn(mn.dotDotDotToken) | e1(mn.name) | hn(mn.questionToken) | hn(mn.initializer) | (mn.questionToken ?? mn.type ? 1 : 0) | (mn.dotDotDotToken ?? mn.initializer ? 1024 : 0) | (rm(mn.modifiers) & 31 ? 8192 : 0), mn.jsDoc = void 0, mn;
        }
        function zi(v, P, B, le, Je, Ht, mn) {
          return v.modifiers !== P || v.dotDotDotToken !== B || v.name !== le || v.questionToken !== Je || v.type !== Ht || v.initializer !== mn ? on(ai(P, B, le, Je, Ht, mn), v) : v;
        }
        function Pt(v) {
          const P = F(
            170
            /* Decorator */
          );
          return P.expression = i().parenthesizeLeftSideOfAccess(
            v,
            /*optionalChain*/
            !1
          ), P.transformFlags |= hn(P.expression) | 1 | 8192 | 33554432, P;
        }
        function Fn(v, P) {
          return v.expression !== P ? on(Pt(P), v) : v;
        }
        function ii(v, P, B, le) {
          const Je = j(
            171
            /* PropertySignature */
          );
          return Je.modifiers = Ma(v), Je.name = _l(P), Je.type = le, Je.questionToken = B, Je.transformFlags = 1, Je.initializer = void 0, Je.jsDoc = void 0, Je;
        }
        function li(v, P, B, le, Je) {
          return v.modifiers !== P || v.name !== B || v.questionToken !== le || v.type !== Je ? cn(ii(P, B, le, Je), v) : v;
        }
        function cn(v, P) {
          return v !== P && (v.initializer = P.initializer), on(v, P);
        }
        function ci(v, P, B, le, Je) {
          const Ht = j(
            172
            /* PropertyDeclaration */
          );
          Ht.modifiers = Ma(v), Ht.name = _l(P), Ht.questionToken = B && t1(B) ? B : void 0, Ht.exclamationToken = B && kN(B) ? B : void 0, Ht.type = le, Ht.initializer = Qk(Je);
          const mn = Ht.flags & 33554432 || rm(Ht.modifiers) & 128;
          return Ht.transformFlags = Na(Ht.modifiers) | e1(Ht.name) | hn(Ht.initializer) | (mn || Ht.questionToken || Ht.exclamationToken || Ht.type ? 1 : 0) | (ia(Ht.name) || rm(Ht.modifiers) & 256 && Ht.initializer ? 8192 : 0) | 16777216, Ht.jsDoc = void 0, Ht;
        }
        function je(v, P, B, le, Je, Ht) {
          return v.modifiers !== P || v.name !== B || v.questionToken !== (le !== void 0 && t1(le) ? le : void 0) || v.exclamationToken !== (le !== void 0 && kN(le) ? le : void 0) || v.type !== Je || v.initializer !== Ht ? on(ci(P, B, le, Je, Ht), v) : v;
        }
        function ut(v, P, B, le, Je, Ht) {
          const mn = j(
            173
            /* MethodSignature */
          );
          return mn.modifiers = Ma(v), mn.name = _l(P), mn.questionToken = B, mn.typeParameters = Ma(le), mn.parameters = Ma(Je), mn.type = Ht, mn.transformFlags = 1, mn.jsDoc = void 0, mn.locals = void 0, mn.nextContainer = void 0, mn.typeArguments = void 0, mn;
        }
        function er(v, P, B, le, Je, Ht, mn) {
          return v.modifiers !== P || v.name !== B || v.questionToken !== le || v.typeParameters !== Je || v.parameters !== Ht || v.type !== mn ? z(ut(P, B, le, Je, Ht, mn), v) : v;
        }
        function Vr(v, P, B, le, Je, Ht, mn, Yi) {
          const Ha = j(
            174
            /* MethodDeclaration */
          );
          if (Ha.modifiers = Ma(v), Ha.asteriskToken = P, Ha.name = _l(B), Ha.questionToken = le, Ha.exclamationToken = void 0, Ha.typeParameters = Ma(Je), Ha.parameters = O(Ht), Ha.type = mn, Ha.body = Yi, !Ha.body)
            Ha.transformFlags = 1;
          else {
            const Ld = rm(Ha.modifiers) & 1024, _h = !!Ha.asteriskToken, mg = Ld && _h;
            Ha.transformFlags = Na(Ha.modifiers) | hn(Ha.asteriskToken) | e1(Ha.name) | hn(Ha.questionToken) | Na(Ha.typeParameters) | Na(Ha.parameters) | hn(Ha.type) | hn(Ha.body) & -67108865 | (mg ? 128 : Ld ? 256 : _h ? 2048 : 0) | (Ha.questionToken || Ha.typeParameters || Ha.type ? 1 : 0) | 1024;
          }
          return Ha.typeArguments = void 0, Ha.jsDoc = void 0, Ha.locals = void 0, Ha.nextContainer = void 0, Ha.flowNode = void 0, Ha.endFlowNode = void 0, Ha.returnFlowNode = void 0, Ha;
        }
        function zn(v, P, B, le, Je, Ht, mn, Yi, Ha) {
          return v.modifiers !== P || v.asteriskToken !== B || v.name !== le || v.questionToken !== Je || v.typeParameters !== Ht || v.parameters !== mn || v.type !== Yi || v.body !== Ha ? Wn(Vr(P, B, le, Je, Ht, mn, Yi, Ha), v) : v;
        }
        function Wn(v, P) {
          return v !== P && (v.exclamationToken = P.exclamationToken), on(v, P);
        }
        function bi(v) {
          const P = j(
            175
            /* ClassStaticBlockDeclaration */
          );
          return P.body = v, P.transformFlags = hn(v) | 16777216, P.modifiers = void 0, P.jsDoc = void 0, P.locals = void 0, P.nextContainer = void 0, P.endFlowNode = void 0, P.returnFlowNode = void 0, P;
        }
        function ks(v, P) {
          return v.body !== P ? ta(bi(P), v) : v;
        }
        function ta(v, P) {
          return v !== P && (v.modifiers = P.modifiers), on(v, P);
        }
        function gr(v, P, B) {
          const le = j(
            176
            /* Constructor */
          );
          return le.modifiers = Ma(v), le.parameters = O(P), le.body = B, le.body ? le.transformFlags = Na(le.modifiers) | Na(le.parameters) | hn(le.body) & -67108865 | 1024 : le.transformFlags = 1, le.typeParameters = void 0, le.type = void 0, le.typeArguments = void 0, le.jsDoc = void 0, le.locals = void 0, le.nextContainer = void 0, le.endFlowNode = void 0, le.returnFlowNode = void 0, le;
        }
        function ms(v, P, B, le) {
          return v.modifiers !== P || v.parameters !== B || v.body !== le ? He(gr(P, B, le), v) : v;
        }
        function He(v, P) {
          return v !== P && (v.typeParameters = P.typeParameters, v.type = P.type), z(v, P);
        }
        function Et(v, P, B, le, Je) {
          const Ht = j(
            177
            /* GetAccessor */
          );
          return Ht.modifiers = Ma(v), Ht.name = _l(P), Ht.parameters = O(B), Ht.type = le, Ht.body = Je, Ht.body ? Ht.transformFlags = Na(Ht.modifiers) | e1(Ht.name) | Na(Ht.parameters) | hn(Ht.type) | hn(Ht.body) & -67108865 | (Ht.type ? 1 : 0) : Ht.transformFlags = 1, Ht.typeArguments = void 0, Ht.typeParameters = void 0, Ht.jsDoc = void 0, Ht.locals = void 0, Ht.nextContainer = void 0, Ht.flowNode = void 0, Ht.endFlowNode = void 0, Ht.returnFlowNode = void 0, Ht;
        }
        function ne(v, P, B, le, Je, Ht) {
          return v.modifiers !== P || v.name !== B || v.parameters !== le || v.type !== Je || v.body !== Ht ? rt(Et(P, B, le, Je, Ht), v) : v;
        }
        function rt(v, P) {
          return v !== P && (v.typeParameters = P.typeParameters), z(v, P);
        }
        function Q(v, P, B, le) {
          const Je = j(
            178
            /* SetAccessor */
          );
          return Je.modifiers = Ma(v), Je.name = _l(P), Je.parameters = O(B), Je.body = le, Je.body ? Je.transformFlags = Na(Je.modifiers) | e1(Je.name) | Na(Je.parameters) | hn(Je.body) & -67108865 | (Je.type ? 1 : 0) : Je.transformFlags = 1, Je.typeArguments = void 0, Je.typeParameters = void 0, Je.type = void 0, Je.jsDoc = void 0, Je.locals = void 0, Je.nextContainer = void 0, Je.flowNode = void 0, Je.endFlowNode = void 0, Je.returnFlowNode = void 0, Je;
        }
        function Ne(v, P, B, le, Je) {
          return v.modifiers !== P || v.name !== B || v.parameters !== le || v.body !== Je ? qe(Q(P, B, le, Je), v) : v;
        }
        function qe(v, P) {
          return v !== P && (v.typeParameters = P.typeParameters, v.type = P.type), z(v, P);
        }
        function Ze(v, P, B) {
          const le = j(
            179
            /* CallSignature */
          );
          return le.typeParameters = Ma(v), le.parameters = Ma(P), le.type = B, le.transformFlags = 1, le.jsDoc = void 0, le.locals = void 0, le.nextContainer = void 0, le.typeArguments = void 0, le;
        }
        function bt(v, P, B, le) {
          return v.typeParameters !== P || v.parameters !== B || v.type !== le ? z(Ze(P, B, le), v) : v;
        }
        function Ie(v, P, B) {
          const le = j(
            180
            /* ConstructSignature */
          );
          return le.typeParameters = Ma(v), le.parameters = Ma(P), le.type = B, le.transformFlags = 1, le.jsDoc = void 0, le.locals = void 0, le.nextContainer = void 0, le.typeArguments = void 0, le;
        }
        function ft(v, P, B, le) {
          return v.typeParameters !== P || v.parameters !== B || v.type !== le ? z(Ie(P, B, le), v) : v;
        }
        function _t(v, P, B) {
          const le = j(
            181
            /* IndexSignature */
          );
          return le.modifiers = Ma(v), le.parameters = Ma(P), le.type = B, le.transformFlags = 1, le.jsDoc = void 0, le.locals = void 0, le.nextContainer = void 0, le.typeArguments = void 0, le;
        }
        function kt(v, P, B, le) {
          return v.parameters !== B || v.type !== le || v.modifiers !== P ? z(_t(P, B, le), v) : v;
        }
        function Ve(v, P) {
          const B = F(
            204
            /* TemplateLiteralTypeSpan */
          );
          return B.type = v, B.literal = P, B.transformFlags = 1, B;
        }
        function Rt(v, P, B) {
          return v.type !== P || v.literal !== B ? on(Ve(P, B), v) : v;
        }
        function Zr(v) {
          return oe(v);
        }
        function we(v, P, B) {
          const le = F(
            182
            /* TypePredicate */
          );
          return le.assertsModifier = v, le.parameterName = _l(P), le.type = B, le.transformFlags = 1, le;
        }
        function mt(v, P, B, le) {
          return v.assertsModifier !== P || v.parameterName !== B || v.type !== le ? on(we(P, B, le), v) : v;
        }
        function _e(v, P) {
          const B = F(
            183
            /* TypeReference */
          );
          return B.typeName = _l(v), B.typeArguments = P && i().parenthesizeTypeArguments(O(P)), B.transformFlags = 1, B;
        }
        function M(v, P, B) {
          return v.typeName !== P || v.typeArguments !== B ? on(_e(P, B), v) : v;
        }
        function ye(v, P, B) {
          const le = j(
            184
            /* FunctionType */
          );
          return le.typeParameters = Ma(v), le.parameters = Ma(P), le.type = B, le.transformFlags = 1, le.modifiers = void 0, le.jsDoc = void 0, le.locals = void 0, le.nextContainer = void 0, le.typeArguments = void 0, le;
        }
        function X(v, P, B, le) {
          return v.typeParameters !== P || v.parameters !== B || v.type !== le ? pt(ye(P, B, le), v) : v;
        }
        function pt(v, P) {
          return v !== P && (v.modifiers = P.modifiers), z(v, P);
        }
        function jt(...v) {
          return v.length === 4 ? ke(...v) : v.length === 3 ? st(...v) : E.fail("Incorrect number of arguments specified.");
        }
        function ke(v, P, B, le) {
          const Je = j(
            185
            /* ConstructorType */
          );
          return Je.modifiers = Ma(v), Je.typeParameters = Ma(P), Je.parameters = Ma(B), Je.type = le, Je.transformFlags = 1, Je.jsDoc = void 0, Je.locals = void 0, Je.nextContainer = void 0, Je.typeArguments = void 0, Je;
        }
        function st(v, P, B) {
          return ke(
            /*modifiers*/
            void 0,
            v,
            P,
            B
          );
        }
        function At(...v) {
          return v.length === 5 ? Yr(...v) : v.length === 4 ? Mr(...v) : E.fail("Incorrect number of arguments specified.");
        }
        function Yr(v, P, B, le, Je) {
          return v.modifiers !== P || v.typeParameters !== B || v.parameters !== le || v.type !== Je ? z(jt(P, B, le, Je), v) : v;
        }
        function Mr(v, P, B, le) {
          return Yr(v, v.modifiers, P, B, le);
        }
        function Rr(v, P) {
          const B = F(
            186
            /* TypeQuery */
          );
          return B.exprName = v, B.typeArguments = P && i().parenthesizeTypeArguments(P), B.transformFlags = 1, B;
        }
        function Ye(v, P, B) {
          return v.exprName !== P || v.typeArguments !== B ? on(Rr(P, B), v) : v;
        }
        function gt(v) {
          const P = j(
            187
            /* TypeLiteral */
          );
          return P.members = O(v), P.transformFlags = 1, P;
        }
        function Jt(v, P) {
          return v.members !== P ? on(gt(P), v) : v;
        }
        function wt(v) {
          const P = F(
            188
            /* ArrayType */
          );
          return P.elementType = i().parenthesizeNonArrayTypeOfPostfixType(v), P.transformFlags = 1, P;
        }
        function dr(v, P) {
          return v.elementType !== P ? on(wt(P), v) : v;
        }
        function Kt(v) {
          const P = F(
            189
            /* TupleType */
          );
          return P.elements = O(i().parenthesizeElementTypesOfTupleType(v)), P.transformFlags = 1, P;
        }
        function Mt(v, P) {
          return v.elements !== P ? on(Kt(P), v) : v;
        }
        function cr(v, P, B, le) {
          const Je = j(
            202
            /* NamedTupleMember */
          );
          return Je.dotDotDotToken = v, Je.name = P, Je.questionToken = B, Je.type = le, Je.transformFlags = 1, Je.jsDoc = void 0, Je;
        }
        function lr(v, P, B, le, Je) {
          return v.dotDotDotToken !== P || v.name !== B || v.questionToken !== le || v.type !== Je ? on(cr(P, B, le, Je), v) : v;
        }
        function br(v) {
          const P = F(
            190
            /* OptionalType */
          );
          return P.type = i().parenthesizeTypeOfOptionalType(v), P.transformFlags = 1, P;
        }
        function $t(v, P) {
          return v.type !== P ? on(br(P), v) : v;
        }
        function Qn(v) {
          const P = F(
            191
            /* RestType */
          );
          return P.type = v, P.transformFlags = 1, P;
        }
        function Ns(v, P) {
          return v.type !== P ? on(Qn(P), v) : v;
        }
        function $s(v, P, B) {
          const le = F(v);
          return le.types = A.createNodeArray(B(P)), le.transformFlags = 1, le;
        }
        function Es(v, P, B) {
          return v.types !== P ? on($s(v.kind, P, B), v) : v;
        }
        function Nc(v) {
          return $s(192, v, i().parenthesizeConstituentTypesOfUnionType);
        }
        function qo(v, P) {
          return Es(v, P, i().parenthesizeConstituentTypesOfUnionType);
        }
        function kc(v) {
          return $s(193, v, i().parenthesizeConstituentTypesOfIntersectionType);
        }
        function gi(v, P) {
          return Es(v, P, i().parenthesizeConstituentTypesOfIntersectionType);
        }
        function ps(v, P, B, le) {
          const Je = F(
            194
            /* ConditionalType */
          );
          return Je.checkType = i().parenthesizeCheckTypeOfConditionalType(v), Je.extendsType = i().parenthesizeExtendsTypeOfConditionalType(P), Je.trueType = B, Je.falseType = le, Je.transformFlags = 1, Je.locals = void 0, Je.nextContainer = void 0, Je;
        }
        function Wc(v, P, B, le, Je) {
          return v.checkType !== P || v.extendsType !== B || v.trueType !== le || v.falseType !== Je ? on(ps(P, B, le, Je), v) : v;
        }
        function Lo(v) {
          const P = F(
            195
            /* InferType */
          );
          return P.typeParameter = v, P.transformFlags = 1, P;
        }
        function Pa(v, P) {
          return v.typeParameter !== P ? on(Lo(P), v) : v;
        }
        function Bo(v, P) {
          const B = F(
            203
            /* TemplateLiteralType */
          );
          return B.head = v, B.templateSpans = O(P), B.transformFlags = 1, B;
        }
        function rf(v, P, B) {
          return v.head !== P || v.templateSpans !== B ? on(Bo(P, B), v) : v;
        }
        function ss(v, P, B, le, Je = !1) {
          const Ht = F(
            205
            /* ImportType */
          );
          return Ht.argument = v, Ht.attributes = P, Ht.assertions && Ht.assertions.assertClause && Ht.attributes && (Ht.assertions.assertClause = Ht.attributes), Ht.qualifier = B, Ht.typeArguments = le && i().parenthesizeTypeArguments(le), Ht.isTypeOf = Je, Ht.transformFlags = 1, Ht;
        }
        function Vs(v, P, B, le, Je, Ht = v.isTypeOf) {
          return v.argument !== P || v.attributes !== B || v.qualifier !== le || v.typeArguments !== Je || v.isTypeOf !== Ht ? on(ss(P, B, le, Je, Ht), v) : v;
        }
        function Aa(v) {
          const P = F(
            196
            /* ParenthesizedType */
          );
          return P.type = v, P.transformFlags = 1, P;
        }
        function Ca(v, P) {
          return v.type !== P ? on(Aa(P), v) : v;
        }
        function zt() {
          const v = F(
            197
            /* ThisType */
          );
          return v.transformFlags = 1, v;
        }
        function Ka(v, P) {
          const B = F(
            198
            /* TypeOperator */
          );
          return B.operator = v, B.type = v === 148 ? i().parenthesizeOperandOfReadonlyTypeOperator(P) : i().parenthesizeOperandOfTypeOperator(P), B.transformFlags = 1, B;
        }
        function Vc(v, P) {
          return v.type !== P ? on(Ka(v.operator, P), v) : v;
        }
        function tc(v, P) {
          const B = F(
            199
            /* IndexedAccessType */
          );
          return B.objectType = i().parenthesizeNonArrayTypeOfPostfixType(v), B.indexType = P, B.transformFlags = 1, B;
        }
        function eu(v, P, B) {
          return v.objectType !== P || v.indexType !== B ? on(tc(P, B), v) : v;
        }
        function yo(v, P, B, le, Je, Ht) {
          const mn = j(
            200
            /* MappedType */
          );
          return mn.readonlyToken = v, mn.typeParameter = P, mn.nameType = B, mn.questionToken = le, mn.type = Je, mn.members = Ht && O(Ht), mn.transformFlags = 1, mn.locals = void 0, mn.nextContainer = void 0, mn;
        }
        function ge(v, P, B, le, Je, Ht, mn) {
          return v.readonlyToken !== P || v.typeParameter !== B || v.nameType !== le || v.questionToken !== Je || v.type !== Ht || v.members !== mn ? on(yo(P, B, le, Je, Ht, mn), v) : v;
        }
        function H(v) {
          const P = F(
            201
            /* LiteralType */
          );
          return P.literal = v, P.transformFlags = 1, P;
        }
        function et(v, P) {
          return v.literal !== P ? on(H(P), v) : v;
        }
        function Ot(v) {
          const P = F(
            206
            /* ObjectBindingPattern */
          );
          return P.elements = O(v), P.transformFlags |= Na(P.elements) | 1024 | 524288, P.transformFlags & 32768 && (P.transformFlags |= 65664), P;
        }
        function Zt(v, P) {
          return v.elements !== P ? on(Ot(P), v) : v;
        }
        function Ur(v) {
          const P = F(
            207
            /* ArrayBindingPattern */
          );
          return P.elements = O(v), P.transformFlags |= Na(P.elements) | 1024 | 524288, P;
        }
        function Vn(v, P) {
          return v.elements !== P ? on(Ur(P), v) : v;
        }
        function sn(v, P, B, le) {
          const Je = j(
            208
            /* BindingElement */
          );
          return Je.dotDotDotToken = v, Je.propertyName = _l(P), Je.name = _l(B), Je.initializer = Qk(le), Je.transformFlags |= hn(Je.dotDotDotToken) | e1(Je.propertyName) | e1(Je.name) | hn(Je.initializer) | (Je.dotDotDotToken ? 32768 : 0) | 1024, Je.flowNode = void 0, Je;
        }
        function xr(v, P, B, le, Je) {
          return v.propertyName !== B || v.dotDotDotToken !== P || v.name !== le || v.initializer !== Je ? on(sn(P, B, le, Je), v) : v;
        }
        function Li(v, P) {
          const B = F(
            209
            /* ArrayLiteralExpression */
          ), le = v && Po(v), Je = O(v, le && vl(le) ? !0 : void 0);
          return B.elements = i().parenthesizeExpressionsOfCommaDelimitedList(Je), B.multiLine = P, B.transformFlags |= Na(B.elements), B;
        }
        function Qi(v, P) {
          return v.elements !== P ? on(Li(P, v.multiLine), v) : v;
        }
        function no(v, P) {
          const B = j(
            210
            /* ObjectLiteralExpression */
          );
          return B.properties = O(v), B.multiLine = P, B.transformFlags |= Na(B.properties), B.jsDoc = void 0, B;
        }
        function da(v, P) {
          return v.properties !== P ? on(no(P, v.multiLine), v) : v;
        }
        function vo(v, P, B) {
          const le = j(
            211
            /* PropertyAccessExpression */
          );
          return le.expression = v, le.questionDotToken = P, le.name = B, le.transformFlags = hn(le.expression) | hn(le.questionDotToken) | (Fe(le.name) ? yN(le.name) : hn(le.name) | 536870912), le.jsDoc = void 0, le.flowNode = void 0, le;
        }
        function fc(v, P) {
          const B = vo(
            i().parenthesizeLeftSideOfAccess(
              v,
              /*optionalChain*/
              !1
            ),
            /*questionDotToken*/
            void 0,
            _l(P)
          );
          return wD(v) && (B.transformFlags |= 384), B;
        }
        function Lc(v, P, B) {
          return m7(v) ? pc(v, P, v.questionDotToken, Us(B, Fe)) : v.expression !== P || v.name !== B ? on(fc(P, B), v) : v;
        }
        function bo(v, P, B) {
          const le = vo(
            i().parenthesizeLeftSideOfAccess(
              v,
              /*optionalChain*/
              !0
            ),
            P,
            _l(B)
          );
          return le.flags |= 64, le.transformFlags |= 32, le;
        }
        function pc(v, P, B, le) {
          return E.assert(!!(v.flags & 64), "Cannot update a PropertyAccessExpression using updatePropertyAccessChain. Use updatePropertyAccess instead."), v.expression !== P || v.questionDotToken !== B || v.name !== le ? on(bo(P, B, le), v) : v;
        }
        function Cd(v, P, B) {
          const le = j(
            212
            /* ElementAccessExpression */
          );
          return le.expression = v, le.questionDotToken = P, le.argumentExpression = B, le.transformFlags |= hn(le.expression) | hn(le.questionDotToken) | hn(le.argumentExpression), le.jsDoc = void 0, le.flowNode = void 0, le;
        }
        function tu(v, P) {
          const B = Cd(
            i().parenthesizeLeftSideOfAccess(
              v,
              /*optionalChain*/
              !1
            ),
            /*questionDotToken*/
            void 0,
            D1(P)
          );
          return wD(v) && (B.transformFlags |= 384), B;
        }
        function Rf(v, P, B) {
          return Nj(v) ? Ae(v, P, v.questionDotToken, B) : v.expression !== P || v.argumentExpression !== B ? on(tu(P, B), v) : v;
        }
        function r_(v, P, B) {
          const le = Cd(
            i().parenthesizeLeftSideOfAccess(
              v,
              /*optionalChain*/
              !0
            ),
            P,
            D1(B)
          );
          return le.flags |= 64, le.transformFlags |= 32, le;
        }
        function Ae(v, P, B, le) {
          return E.assert(!!(v.flags & 64), "Cannot update a ElementAccessExpression using updateElementAccessChain. Use updateElementAccess instead."), v.expression !== P || v.questionDotToken !== B || v.argumentExpression !== le ? on(r_(P, B, le), v) : v;
        }
        function It(v, P, B, le) {
          const Je = j(
            213
            /* CallExpression */
          );
          return Je.expression = v, Je.questionDotToken = P, Je.typeArguments = B, Je.arguments = le, Je.transformFlags |= hn(Je.expression) | hn(Je.questionDotToken) | Na(Je.typeArguments) | Na(Je.arguments), Je.typeArguments && (Je.transformFlags |= 1), E_(Je.expression) && (Je.transformFlags |= 16384), Je;
        }
        function Xr(v, P, B) {
          const le = It(
            i().parenthesizeLeftSideOfAccess(
              v,
              /*optionalChain*/
              !1
            ),
            /*questionDotToken*/
            void 0,
            Ma(P),
            i().parenthesizeExpressionsOfCommaDelimitedList(O(B))
          );
          return PD(le.expression) && (le.transformFlags |= 8388608), le;
        }
        function qi(v, P, B, le) {
          return aS(v) ? Ea(v, P, v.questionDotToken, B, le) : v.expression !== P || v.typeArguments !== B || v.arguments !== le ? on(Xr(P, B, le), v) : v;
        }
        function Is(v, P, B, le) {
          const Je = It(
            i().parenthesizeLeftSideOfAccess(
              v,
              /*optionalChain*/
              !0
            ),
            P,
            Ma(B),
            i().parenthesizeExpressionsOfCommaDelimitedList(O(le))
          );
          return Je.flags |= 64, Je.transformFlags |= 32, Je;
        }
        function Ea(v, P, B, le, Je) {
          return E.assert(!!(v.flags & 64), "Cannot update a CallExpression using updateCallChain. Use updateCall instead."), v.expression !== P || v.questionDotToken !== B || v.typeArguments !== le || v.arguments !== Je ? on(Is(P, B, le, Je), v) : v;
        }
        function Do(v, P, B) {
          const le = j(
            214
            /* NewExpression */
          );
          return le.expression = i().parenthesizeExpressionOfNew(v), le.typeArguments = Ma(P), le.arguments = B ? i().parenthesizeExpressionsOfCommaDelimitedList(B) : void 0, le.transformFlags |= hn(le.expression) | Na(le.typeArguments) | Na(le.arguments) | 32, le.typeArguments && (le.transformFlags |= 1), le;
        }
        function Ac(v, P, B, le) {
          return v.expression !== P || v.typeArguments !== B || v.arguments !== le ? on(Do(P, B, le), v) : v;
        }
        function rc(v, P, B) {
          const le = F(
            215
            /* TaggedTemplateExpression */
          );
          return le.tag = i().parenthesizeLeftSideOfAccess(
            v,
            /*optionalChain*/
            !1
          ), le.typeArguments = Ma(P), le.template = B, le.transformFlags |= hn(le.tag) | Na(le.typeArguments) | hn(le.template) | 1024, le.typeArguments && (le.transformFlags |= 1), BB(le.template) && (le.transformFlags |= 128), le;
        }
        function nc(v, P, B, le) {
          return v.tag !== P || v.typeArguments !== B || v.template !== le ? on(rc(P, B, le), v) : v;
        }
        function Mc(v, P) {
          const B = F(
            216
            /* TypeAssertionExpression */
          );
          return B.expression = i().parenthesizeOperandOfPrefixUnary(P), B.type = v, B.transformFlags |= hn(B.expression) | hn(B.type) | 1, B;
        }
        function ll(v, P, B) {
          return v.type !== P || v.expression !== B ? on(Mc(P, B), v) : v;
        }
        function ul(v) {
          const P = F(
            217
            /* ParenthesizedExpression */
          );
          return P.expression = v, P.transformFlags = hn(P.expression), P.jsDoc = void 0, P;
        }
        function nf(v, P) {
          return v.expression !== P ? on(ul(P), v) : v;
        }
        function n_(v, P, B, le, Je, Ht, mn) {
          const Yi = j(
            218
            /* FunctionExpression */
          );
          Yi.modifiers = Ma(v), Yi.asteriskToken = P, Yi.name = _l(B), Yi.typeParameters = Ma(le), Yi.parameters = O(Je), Yi.type = Ht, Yi.body = mn;
          const Ha = rm(Yi.modifiers) & 1024, Ld = !!Yi.asteriskToken, _h = Ha && Ld;
          return Yi.transformFlags = Na(Yi.modifiers) | hn(Yi.asteriskToken) | e1(Yi.name) | Na(Yi.typeParameters) | Na(Yi.parameters) | hn(Yi.type) | hn(Yi.body) & -67108865 | (_h ? 128 : Ha ? 256 : Ld ? 2048 : 0) | (Yi.typeParameters || Yi.type ? 1 : 0) | 4194304, Yi.typeArguments = void 0, Yi.jsDoc = void 0, Yi.locals = void 0, Yi.nextContainer = void 0, Yi.flowNode = void 0, Yi.endFlowNode = void 0, Yi.returnFlowNode = void 0, Yi;
        }
        function ed(v, P, B, le, Je, Ht, mn, Yi) {
          return v.name !== le || v.modifiers !== P || v.asteriskToken !== B || v.typeParameters !== Je || v.parameters !== Ht || v.type !== mn || v.body !== Yi ? z(n_(P, B, le, Je, Ht, mn, Yi), v) : v;
        }
        function hf(v, P, B, le, Je, Ht) {
          const mn = j(
            219
            /* ArrowFunction */
          );
          mn.modifiers = Ma(v), mn.typeParameters = Ma(P), mn.parameters = O(B), mn.type = le, mn.equalsGreaterThanToken = Je ?? oe(
            39
            /* EqualsGreaterThanToken */
          ), mn.body = i().parenthesizeConciseBodyOfArrowFunction(Ht);
          const Yi = rm(mn.modifiers) & 1024;
          return mn.transformFlags = Na(mn.modifiers) | Na(mn.typeParameters) | Na(mn.parameters) | hn(mn.type) | hn(mn.equalsGreaterThanToken) | hn(mn.body) & -67108865 | (mn.typeParameters || mn.type ? 1 : 0) | (Yi ? 16640 : 0) | 1024, mn.typeArguments = void 0, mn.jsDoc = void 0, mn.locals = void 0, mn.nextContainer = void 0, mn.flowNode = void 0, mn.endFlowNode = void 0, mn.returnFlowNode = void 0, mn;
        }
        function ym(v, P, B, le, Je, Ht, mn) {
          return v.modifiers !== P || v.typeParameters !== B || v.parameters !== le || v.type !== Je || v.equalsGreaterThanToken !== Ht || v.body !== mn ? z(hf(P, B, le, Je, Ht, mn), v) : v;
        }
        function Qg(v) {
          const P = F(
            220
            /* DeleteExpression */
          );
          return P.expression = i().parenthesizeOperandOfPrefixUnary(v), P.transformFlags |= hn(P.expression), P;
        }
        function jf(v, P) {
          return v.expression !== P ? on(Qg(P), v) : v;
        }
        function y_(v) {
          const P = F(
            221
            /* TypeOfExpression */
          );
          return P.expression = i().parenthesizeOperandOfPrefixUnary(v), P.transformFlags |= hn(P.expression), P;
        }
        function Ju(v, P) {
          return v.expression !== P ? on(y_(P), v) : v;
        }
        function vm(v) {
          const P = F(
            222
            /* VoidExpression */
          );
          return P.expression = i().parenthesizeOperandOfPrefixUnary(v), P.transformFlags |= hn(P.expression), P;
        }
        function yf(v, P) {
          return v.expression !== P ? on(vm(P), v) : v;
        }
        function Yg(v) {
          const P = F(
            223
            /* AwaitExpression */
          );
          return P.expression = i().parenthesizeOperandOfPrefixUnary(v), P.transformFlags |= hn(P.expression) | 256 | 128 | 2097152, P;
        }
        function Z(v, P) {
          return v.expression !== P ? on(Yg(P), v) : v;
        }
        function Ke(v, P) {
          const B = F(
            224
            /* PrefixUnaryExpression */
          );
          return B.operator = v, B.operand = i().parenthesizeOperandOfPrefixUnary(P), B.transformFlags |= hn(B.operand), (v === 46 || v === 47) && Fe(B.operand) && !Mo(B.operand) && !Rh(B.operand) && (B.transformFlags |= 268435456), B;
        }
        function Vt(v, P) {
          return v.operand !== P ? on(Ke(v.operator, P), v) : v;
        }
        function Ut(v, P) {
          const B = F(
            225
            /* PostfixUnaryExpression */
          );
          return B.operator = P, B.operand = i().parenthesizeOperandOfPostfixUnary(v), B.transformFlags |= hn(B.operand), Fe(B.operand) && !Mo(B.operand) && !Rh(B.operand) && (B.transformFlags |= 268435456), B;
        }
        function vr(v, P) {
          return v.operand !== P ? on(Ut(P, v.operator), v) : v;
        }
        function qr(v, P, B) {
          const le = j(
            226
            /* BinaryExpression */
          ), Je = EE(P), Ht = Je.kind;
          return le.left = i().parenthesizeLeftSideOfBinary(Ht, v), le.operatorToken = Je, le.right = i().parenthesizeRightSideOfBinary(Ht, le.left, B), le.transformFlags |= hn(le.left) | hn(le.operatorToken) | hn(le.right), Ht === 61 ? le.transformFlags |= 32 : Ht === 64 ? ua(le.left) ? le.transformFlags |= 5248 | On(le.left) : Ql(le.left) && (le.transformFlags |= 5120 | On(le.left)) : Ht === 43 || Ht === 68 ? le.transformFlags |= 512 : eD(Ht) && (le.transformFlags |= 16), Ht === 103 && Di(le.left) && (le.transformFlags |= 536870912), le.jsDoc = void 0, le;
        }
        function On(v) {
          return BN(v) ? 65536 : 0;
        }
        function ti(v, P, B, le) {
          return v.left !== P || v.operatorToken !== B || v.right !== le ? on(qr(P, B, le), v) : v;
        }
        function Ii(v, P, B, le, Je) {
          const Ht = F(
            227
            /* ConditionalExpression */
          );
          return Ht.condition = i().parenthesizeConditionOfConditionalExpression(v), Ht.questionToken = P ?? oe(
            58
            /* QuestionToken */
          ), Ht.whenTrue = i().parenthesizeBranchOfConditionalExpression(B), Ht.colonToken = le ?? oe(
            59
            /* ColonToken */
          ), Ht.whenFalse = i().parenthesizeBranchOfConditionalExpression(Je), Ht.transformFlags |= hn(Ht.condition) | hn(Ht.questionToken) | hn(Ht.whenTrue) | hn(Ht.colonToken) | hn(Ht.whenFalse), Ht.flowNodeWhenFalse = void 0, Ht.flowNodeWhenTrue = void 0, Ht;
        }
        function L(v, P, B, le, Je, Ht) {
          return v.condition !== P || v.questionToken !== B || v.whenTrue !== le || v.colonToken !== Je || v.whenFalse !== Ht ? on(Ii(P, B, le, Je, Ht), v) : v;
        }
        function Re(v, P) {
          const B = F(
            228
            /* TemplateExpression */
          );
          return B.head = v, B.templateSpans = O(P), B.transformFlags |= hn(B.head) | Na(B.templateSpans) | 1024, B;
        }
        function Ct(v, P, B) {
          return v.head !== P || v.templateSpans !== B ? on(Re(P, B), v) : v;
        }
        function Sr(v, P, B, le = 0) {
          E.assert(!(le & -7177), "Unsupported template flags.");
          let Je;
          if (B !== void 0 && B !== P && (Je = b9e(v, B), typeof Je == "object"))
            return E.fail("Invalid raw text");
          if (P === void 0) {
            if (Je === void 0)
              return E.fail("Arguments 'text' and 'rawText' may not both be undefined.");
            P = Je;
          } else Je !== void 0 && E.assert(P === Je, "Expected argument 'text' to be the normalized (i.e. 'cooked') version of argument 'rawText'.");
          return P;
        }
        function Zi(v) {
          let P = 1024;
          return v && (P |= 128), P;
        }
        function fi(v, P, B, le) {
          const Je = nt(v);
          return Je.text = P, Je.rawText = B, Je.templateFlags = le & 7176, Je.transformFlags = Zi(Je.templateFlags), Je;
        }
        function Vi(v, P, B, le) {
          const Je = j(v);
          return Je.text = P, Je.rawText = B, Je.templateFlags = le & 7176, Je.transformFlags = Zi(Je.templateFlags), Je;
        }
        function as(v, P, B, le) {
          return v === 15 ? Vi(v, P, B, le) : fi(v, P, B, le);
        }
        function Ao(v, P, B) {
          return v = Sr(16, v, P, B), as(16, v, P, B);
        }
        function ra(v, P, B) {
          return v = Sr(16, v, P, B), as(17, v, P, B);
        }
        function nl(v, P, B) {
          return v = Sr(16, v, P, B), as(18, v, P, B);
        }
        function sf(v, P, B) {
          return v = Sr(16, v, P, B), Vi(15, v, P, B);
        }
        function up(v, P) {
          E.assert(!v || !!P, "A `YieldExpression` with an asteriskToken must have an expression.");
          const B = F(
            229
            /* YieldExpression */
          );
          return B.expression = P && i().parenthesizeExpressionForDisallowedComma(P), B.asteriskToken = v, B.transformFlags |= hn(B.expression) | hn(B.asteriskToken) | 1024 | 128 | 1048576, B;
        }
        function Ed(v, P, B) {
          return v.expression !== B || v.asteriskToken !== P ? on(up(P, B), v) : v;
        }
        function qh(v) {
          const P = F(
            230
            /* SpreadElement */
          );
          return P.expression = i().parenthesizeExpressionForDisallowedComma(v), P.transformFlags |= hn(P.expression) | 1024 | 32768, P;
        }
        function Zg(v, P) {
          return v.expression !== P ? on(qh(P), v) : v;
        }
        function A_(v, P, B, le, Je) {
          const Ht = j(
            231
            /* ClassExpression */
          );
          return Ht.modifiers = Ma(v), Ht.name = _l(P), Ht.typeParameters = Ma(B), Ht.heritageClauses = Ma(le), Ht.members = O(Je), Ht.transformFlags |= Na(Ht.modifiers) | e1(Ht.name) | Na(Ht.typeParameters) | Na(Ht.heritageClauses) | Na(Ht.members) | (Ht.typeParameters ? 1 : 0) | 1024, Ht.jsDoc = void 0, Ht;
        }
        function Dd(v, P, B, le, Je, Ht) {
          return v.modifiers !== P || v.name !== B || v.typeParameters !== le || v.heritageClauses !== Je || v.members !== Ht ? on(A_(P, B, le, Je, Ht), v) : v;
        }
        function bm() {
          return F(
            232
            /* OmittedExpression */
          );
        }
        function Rp(v, P) {
          const B = F(
            233
            /* ExpressionWithTypeArguments */
          );
          return B.expression = i().parenthesizeLeftSideOfAccess(
            v,
            /*optionalChain*/
            !1
          ), B.typeArguments = P && i().parenthesizeTypeArguments(P), B.transformFlags |= hn(B.expression) | Na(B.typeArguments) | 1024, B;
        }
        function m1(v, P, B) {
          return v.expression !== P || v.typeArguments !== B ? on(Rp(P, B), v) : v;
        }
        function vf(v, P) {
          const B = F(
            234
            /* AsExpression */
          );
          return B.expression = v, B.type = P, B.transformFlags |= hn(B.expression) | hn(B.type) | 1, B;
        }
        function J0(v, P, B) {
          return v.expression !== P || v.type !== B ? on(vf(P, B), v) : v;
        }
        function g1(v) {
          const P = F(
            235
            /* NonNullExpression */
          );
          return P.expression = i().parenthesizeLeftSideOfAccess(
            v,
            /*optionalChain*/
            !1
          ), P.transformFlags |= hn(P.expression) | 1, P;
        }
        function z0(v, P) {
          return h7(v) ? rr(v, P) : v.expression !== P ? on(g1(P), v) : v;
        }
        function Le(v, P) {
          const B = F(
            238
            /* SatisfiesExpression */
          );
          return B.expression = v, B.type = P, B.transformFlags |= hn(B.expression) | hn(B.type) | 1, B;
        }
        function Qe(v, P, B) {
          return v.expression !== P || v.type !== B ? on(Le(P, B), v) : v;
        }
        function Nt(v) {
          const P = F(
            235
            /* NonNullExpression */
          );
          return P.flags |= 64, P.expression = i().parenthesizeLeftSideOfAccess(
            v,
            /*optionalChain*/
            !0
          ), P.transformFlags |= hn(P.expression) | 1, P;
        }
        function rr(v, P) {
          return E.assert(!!(v.flags & 64), "Cannot update a NonNullExpression using updateNonNullChain. Use updateNonNullExpression instead."), v.expression !== P ? on(Nt(P), v) : v;
        }
        function jr(v, P) {
          const B = F(
            236
            /* MetaProperty */
          );
          switch (B.keywordToken = v, B.name = P, B.transformFlags |= hn(B.name), v) {
            case 105:
              B.transformFlags |= 1024;
              break;
            case 102:
              B.transformFlags |= 32;
              break;
            default:
              return E.assertNever(v);
          }
          return B.flowNode = void 0, B;
        }
        function pn(v, P) {
          return v.name !== P ? on(jr(v.keywordToken, P), v) : v;
        }
        function Pr(v, P) {
          const B = F(
            239
            /* TemplateSpan */
          );
          return B.expression = v, B.literal = P, B.transformFlags |= hn(B.expression) | hn(B.literal) | 1024, B;
        }
        function fn(v, P, B) {
          return v.expression !== P || v.literal !== B ? on(Pr(P, B), v) : v;
        }
        function vi() {
          const v = F(
            240
            /* SemicolonClassElement */
          );
          return v.transformFlags |= 1024, v;
        }
        function ts(v, P) {
          const B = F(
            241
            /* Block */
          );
          return B.statements = O(v), B.multiLine = P, B.transformFlags |= Na(B.statements), B.jsDoc = void 0, B.locals = void 0, B.nextContainer = void 0, B;
        }
        function Hn(v, P) {
          return v.statements !== P ? on(ts(P, v.multiLine), v) : v;
        }
        function Mi(v, P) {
          const B = F(
            243
            /* VariableStatement */
          );
          return B.modifiers = Ma(v), B.declarationList = fs(P) ? Av(P) : P, B.transformFlags |= Na(B.modifiers) | hn(B.declarationList), rm(B.modifiers) & 128 && (B.transformFlags = 1), B.jsDoc = void 0, B.flowNode = void 0, B;
        }
        function Ds(v, P, B) {
          return v.modifiers !== P || v.declarationList !== B ? on(Mi(P, B), v) : v;
        }
        function Al() {
          const v = F(
            242
            /* EmptyStatement */
          );
          return v.jsDoc = void 0, v;
        }
        function Bf(v) {
          const P = F(
            244
            /* ExpressionStatement */
          );
          return P.expression = i().parenthesizeExpressionOfExpressionStatement(v), P.transformFlags |= hn(P.expression), P.jsDoc = void 0, P.flowNode = void 0, P;
        }
        function Jf(v, P) {
          return v.expression !== P ? on(Bf(P), v) : v;
        }
        function af(v, P, B) {
          const le = F(
            245
            /* IfStatement */
          );
          return le.expression = v, le.thenStatement = S_(P), le.elseStatement = S_(B), le.transformFlags |= hn(le.expression) | hn(le.thenStatement) | hn(le.elseStatement), le.jsDoc = void 0, le.flowNode = void 0, le;
        }
        function ng(v, P, B, le) {
          return v.expression !== P || v.thenStatement !== B || v.elseStatement !== le ? on(af(P, B, le), v) : v;
        }
        function td(v, P) {
          const B = F(
            246
            /* DoStatement */
          );
          return B.statement = S_(v), B.expression = P, B.transformFlags |= hn(B.statement) | hn(B.expression), B.jsDoc = void 0, B.flowNode = void 0, B;
        }
        function ig(v, P, B) {
          return v.statement !== P || v.expression !== B ? on(td(P, B), v) : v;
        }
        function W0(v, P) {
          const B = F(
            247
            /* WhileStatement */
          );
          return B.expression = v, B.statement = S_(P), B.transformFlags |= hn(B.expression) | hn(B.statement), B.jsDoc = void 0, B.flowNode = void 0, B;
        }
        function sg(v, P, B) {
          return v.expression !== P || v.statement !== B ? on(W0(P, B), v) : v;
        }
        function V0(v, P, B, le) {
          const Je = F(
            248
            /* ForStatement */
          );
          return Je.initializer = v, Je.condition = P, Je.incrementor = B, Je.statement = S_(le), Je.transformFlags |= hn(Je.initializer) | hn(Je.condition) | hn(Je.incrementor) | hn(Je.statement), Je.jsDoc = void 0, Je.locals = void 0, Je.nextContainer = void 0, Je.flowNode = void 0, Je;
        }
        function Pv(v, P, B, le, Je) {
          return v.initializer !== P || v.condition !== B || v.incrementor !== le || v.statement !== Je ? on(V0(P, B, le, Je), v) : v;
        }
        function m2(v, P, B) {
          const le = F(
            249
            /* ForInStatement */
          );
          return le.initializer = v, le.expression = P, le.statement = S_(B), le.transformFlags |= hn(le.initializer) | hn(le.expression) | hn(le.statement), le.jsDoc = void 0, le.locals = void 0, le.nextContainer = void 0, le.flowNode = void 0, le;
        }
        function Vw(v, P, B, le) {
          return v.initializer !== P || v.expression !== B || v.statement !== le ? on(m2(P, B, le), v) : v;
        }
        function xk(v, P, B, le) {
          const Je = F(
            250
            /* ForOfStatement */
          );
          return Je.awaitModifier = v, Je.initializer = P, Je.expression = i().parenthesizeExpressionForDisallowedComma(B), Je.statement = S_(le), Je.transformFlags |= hn(Je.awaitModifier) | hn(Je.initializer) | hn(Je.expression) | hn(Je.statement) | 1024, v && (Je.transformFlags |= 128), Je.jsDoc = void 0, Je.locals = void 0, Je.nextContainer = void 0, Je.flowNode = void 0, Je;
        }
        function pE(v, P, B, le, Je) {
          return v.awaitModifier !== P || v.initializer !== B || v.expression !== le || v.statement !== Je ? on(xk(P, B, le, Je), v) : v;
        }
        function g2(v) {
          const P = F(
            251
            /* ContinueStatement */
          );
          return P.label = _l(v), P.transformFlags |= hn(P.label) | 4194304, P.jsDoc = void 0, P.flowNode = void 0, P;
        }
        function dE(v, P) {
          return v.label !== P ? on(g2(P), v) : v;
        }
        function nT(v) {
          const P = F(
            252
            /* BreakStatement */
          );
          return P.label = _l(v), P.transformFlags |= hn(P.label) | 4194304, P.jsDoc = void 0, P.flowNode = void 0, P;
        }
        function kk(v, P) {
          return v.label !== P ? on(nT(P), v) : v;
        }
        function h2(v) {
          const P = F(
            253
            /* ReturnStatement */
          );
          return P.expression = v, P.transformFlags |= hn(P.expression) | 128 | 4194304, P.jsDoc = void 0, P.flowNode = void 0, P;
        }
        function mE(v, P) {
          return v.expression !== P ? on(h2(P), v) : v;
        }
        function iT(v, P) {
          const B = F(
            254
            /* WithStatement */
          );
          return B.expression = v, B.statement = S_(P), B.transformFlags |= hn(B.expression) | hn(B.statement), B.jsDoc = void 0, B.flowNode = void 0, B;
        }
        function Ck(v, P, B) {
          return v.expression !== P || v.statement !== B ? on(iT(P, B), v) : v;
        }
        function sT(v, P) {
          const B = F(
            255
            /* SwitchStatement */
          );
          return B.expression = i().parenthesizeExpressionForDisallowedComma(v), B.caseBlock = P, B.transformFlags |= hn(B.expression) | hn(B.caseBlock), B.jsDoc = void 0, B.flowNode = void 0, B.possiblyExhaustive = !1, B;
        }
        function Sm(v, P, B) {
          return v.expression !== P || v.caseBlock !== B ? on(sT(P, B), v) : v;
        }
        function U0(v, P) {
          const B = F(
            256
            /* LabeledStatement */
          );
          return B.label = _l(v), B.statement = S_(P), B.transformFlags |= hn(B.label) | hn(B.statement), B.jsDoc = void 0, B.flowNode = void 0, B;
        }
        function Hh(v, P, B) {
          return v.label !== P || v.statement !== B ? on(U0(P, B), v) : v;
        }
        function ag(v) {
          const P = F(
            257
            /* ThrowStatement */
          );
          return P.expression = v, P.transformFlags |= hn(P.expression), P.jsDoc = void 0, P.flowNode = void 0, P;
        }
        function Nv(v, P) {
          return v.expression !== P ? on(ag(P), v) : v;
        }
        function h1(v, P, B) {
          const le = F(
            258
            /* TryStatement */
          );
          return le.tryBlock = v, le.catchClause = P, le.finallyBlock = B, le.transformFlags |= hn(le.tryBlock) | hn(le.catchClause) | hn(le.finallyBlock), le.jsDoc = void 0, le.flowNode = void 0, le;
        }
        function y2(v, P, B, le) {
          return v.tryBlock !== P || v.catchClause !== B || v.finallyBlock !== le ? on(h1(P, B, le), v) : v;
        }
        function v2() {
          const v = F(
            259
            /* DebuggerStatement */
          );
          return v.jsDoc = void 0, v.flowNode = void 0, v;
        }
        function q0(v, P, B, le) {
          const Je = j(
            260
            /* VariableDeclaration */
          );
          return Je.name = _l(v), Je.exclamationToken = P, Je.type = B, Je.initializer = Qk(le), Je.transformFlags |= e1(Je.name) | hn(Je.initializer) | (Je.exclamationToken ?? Je.type ? 1 : 0), Je.jsDoc = void 0, Je;
        }
        function Ia(v, P, B, le, Je) {
          return v.name !== P || v.type !== le || v.exclamationToken !== B || v.initializer !== Je ? on(q0(P, B, le, Je), v) : v;
        }
        function Av(v, P = 0) {
          const B = F(
            261
            /* VariableDeclarationList */
          );
          return B.flags |= P & 7, B.declarations = O(v), B.transformFlags |= Na(B.declarations) | 4194304, P & 7 && (B.transformFlags |= 263168), P & 4 && (B.transformFlags |= 4), B;
        }
        function Uw(v, P) {
          return v.declarations !== P ? on(Av(P, v.flags), v) : v;
        }
        function y1(v, P, B, le, Je, Ht, mn) {
          const Yi = j(
            262
            /* FunctionDeclaration */
          );
          if (Yi.modifiers = Ma(v), Yi.asteriskToken = P, Yi.name = _l(B), Yi.typeParameters = Ma(le), Yi.parameters = O(Je), Yi.type = Ht, Yi.body = mn, !Yi.body || rm(Yi.modifiers) & 128)
            Yi.transformFlags = 1;
          else {
            const Ha = rm(Yi.modifiers) & 1024, Ld = !!Yi.asteriskToken, _h = Ha && Ld;
            Yi.transformFlags = Na(Yi.modifiers) | hn(Yi.asteriskToken) | e1(Yi.name) | Na(Yi.typeParameters) | Na(Yi.parameters) | hn(Yi.type) | hn(Yi.body) & -67108865 | (_h ? 128 : Ha ? 256 : Ld ? 2048 : 0) | (Yi.typeParameters || Yi.type ? 1 : 0) | 4194304;
          }
          return Yi.typeArguments = void 0, Yi.jsDoc = void 0, Yi.locals = void 0, Yi.nextContainer = void 0, Yi.endFlowNode = void 0, Yi.returnFlowNode = void 0, Yi;
        }
        function Kg(v, P, B, le, Je, Ht, mn, Yi) {
          return v.modifiers !== P || v.asteriskToken !== B || v.name !== le || v.typeParameters !== Je || v.parameters !== Ht || v.type !== mn || v.body !== Yi ? eh(y1(P, B, le, Je, Ht, mn, Yi), v) : v;
        }
        function eh(v, P) {
          return v !== P && v.modifiers === P.modifiers && (v.modifiers = P.modifiers), z(v, P);
        }
        function _p(v, P, B, le, Je) {
          const Ht = j(
            263
            /* ClassDeclaration */
          );
          return Ht.modifiers = Ma(v), Ht.name = _l(P), Ht.typeParameters = Ma(B), Ht.heritageClauses = Ma(le), Ht.members = O(Je), rm(Ht.modifiers) & 128 ? Ht.transformFlags = 1 : (Ht.transformFlags |= Na(Ht.modifiers) | e1(Ht.name) | Na(Ht.typeParameters) | Na(Ht.heritageClauses) | Na(Ht.members) | (Ht.typeParameters ? 1 : 0) | 1024, Ht.transformFlags & 8192 && (Ht.transformFlags |= 1)), Ht.jsDoc = void 0, Ht;
        }
        function v_(v, P, B, le, Je, Ht) {
          return v.modifiers !== P || v.name !== B || v.typeParameters !== le || v.heritageClauses !== Je || v.members !== Ht ? on(_p(P, B, le, Je, Ht), v) : v;
        }
        function I_(v, P, B, le, Je) {
          const Ht = j(
            264
            /* InterfaceDeclaration */
          );
          return Ht.modifiers = Ma(v), Ht.name = _l(P), Ht.typeParameters = Ma(B), Ht.heritageClauses = Ma(le), Ht.members = O(Je), Ht.transformFlags = 1, Ht.jsDoc = void 0, Ht;
        }
        function of(v, P, B, le, Je, Ht) {
          return v.modifiers !== P || v.name !== B || v.typeParameters !== le || v.heritageClauses !== Je || v.members !== Ht ? on(I_(P, B, le, Je, Ht), v) : v;
        }
        function il(v, P, B, le) {
          const Je = j(
            265
            /* TypeAliasDeclaration */
          );
          return Je.modifiers = Ma(v), Je.name = _l(P), Je.typeParameters = Ma(B), Je.type = le, Je.transformFlags = 1, Je.jsDoc = void 0, Je.locals = void 0, Je.nextContainer = void 0, Je;
        }
        function H0(v, P, B, le, Je) {
          return v.modifiers !== P || v.name !== B || v.typeParameters !== le || v.type !== Je ? on(il(P, B, le, Je), v) : v;
        }
        function aT(v, P, B) {
          const le = j(
            266
            /* EnumDeclaration */
          );
          return le.modifiers = Ma(v), le.name = _l(P), le.members = O(B), le.transformFlags |= Na(le.modifiers) | hn(le.name) | Na(le.members) | 1, le.transformFlags &= -67108865, le.jsDoc = void 0, le;
        }
        function wd(v, P, B, le) {
          return v.modifiers !== P || v.name !== B || v.members !== le ? on(aT(P, B, le), v) : v;
        }
        function v1(v, P, B, le = 0) {
          const Je = j(
            267
            /* ModuleDeclaration */
          );
          return Je.modifiers = Ma(v), Je.flags |= le & 2088, Je.name = P, Je.body = B, rm(Je.modifiers) & 128 ? Je.transformFlags = 1 : Je.transformFlags |= Na(Je.modifiers) | hn(Je.name) | hn(Je.body) | 1, Je.transformFlags &= -67108865, Je.jsDoc = void 0, Je.locals = void 0, Je.nextContainer = void 0, Je;
        }
        function Vl(v, P, B, le) {
          return v.modifiers !== P || v.name !== B || v.body !== le ? on(v1(P, B, le, v.flags), v) : v;
        }
        function th(v) {
          const P = F(
            268
            /* ModuleBlock */
          );
          return P.statements = O(v), P.transformFlags |= Na(P.statements), P.jsDoc = void 0, P;
        }
        function F_(v, P) {
          return v.statements !== P ? on(th(P), v) : v;
        }
        function rh(v) {
          const P = F(
            269
            /* CaseBlock */
          );
          return P.clauses = O(v), P.transformFlags |= Na(P.clauses), P.locals = void 0, P.nextContainer = void 0, P;
        }
        function nh(v, P) {
          return v.clauses !== P ? on(rh(P), v) : v;
        }
        function og(v) {
          const P = j(
            270
            /* NamespaceExportDeclaration */
          );
          return P.name = _l(v), P.transformFlags |= yN(P.name) | 1, P.modifiers = void 0, P.jsDoc = void 0, P;
        }
        function b2(v, P) {
          return v.name !== P ? Be(og(P), v) : v;
        }
        function Be(v, P) {
          return v !== P && (v.modifiers = P.modifiers), on(v, P);
        }
        function G0(v, P, B, le) {
          const Je = j(
            271
            /* ImportEqualsDeclaration */
          );
          return Je.modifiers = Ma(v), Je.name = _l(B), Je.isTypeOnly = P, Je.moduleReference = le, Je.transformFlags |= Na(Je.modifiers) | yN(Je.name) | hn(Je.moduleReference), Mh(Je.moduleReference) || (Je.transformFlags |= 1), Je.transformFlags &= -67108865, Je.jsDoc = void 0, Je;
        }
        function Pd(v, P, B, le, Je) {
          return v.modifiers !== P || v.isTypeOnly !== B || v.name !== le || v.moduleReference !== Je ? on(G0(P, B, le, Je), v) : v;
        }
        function $0(v, P, B, le) {
          const Je = F(
            272
            /* ImportDeclaration */
          );
          return Je.modifiers = Ma(v), Je.importClause = P, Je.moduleSpecifier = B, Je.attributes = Je.assertClause = le, Je.transformFlags |= hn(Je.importClause) | hn(Je.moduleSpecifier), Je.transformFlags &= -67108865, Je.jsDoc = void 0, Je;
        }
        function Ek(v, P, B, le, Je) {
          return v.modifiers !== P || v.importClause !== B || v.moduleSpecifier !== le || v.attributes !== Je ? on($0(P, B, le, Je), v) : v;
        }
        function X0(v, P, B) {
          const le = j(
            273
            /* ImportClause */
          );
          return le.isTypeOnly = v, le.name = P, le.namedBindings = B, le.transformFlags |= hn(le.name) | hn(le.namedBindings), v && (le.transformFlags |= 1), le.transformFlags &= -67108865, le;
        }
        function Gh(v, P, B, le) {
          return v.isTypeOnly !== P || v.name !== B || v.namedBindings !== le ? on(X0(P, B, le), v) : v;
        }
        function cg(v, P) {
          const B = F(
            300
            /* AssertClause */
          );
          return B.elements = O(v), B.multiLine = P, B.token = 132, B.transformFlags |= 4, B;
        }
        function Dk(v, P, B) {
          return v.elements !== P || v.multiLine !== B ? on(cg(P, B), v) : v;
        }
        function sa(v, P) {
          const B = F(
            301
            /* AssertEntry */
          );
          return B.name = v, B.value = P, B.transformFlags |= 4, B;
        }
        function Il(v, P, B) {
          return v.name !== P || v.value !== B ? on(sa(P, B), v) : v;
        }
        function ih(v, P) {
          const B = F(
            302
            /* ImportTypeAssertionContainer */
          );
          return B.assertClause = v, B.multiLine = P, B;
        }
        function sh(v, P, B) {
          return v.assertClause !== P || v.multiLine !== B ? on(ih(P, B), v) : v;
        }
        function b1(v, P, B) {
          const le = F(
            300
            /* ImportAttributes */
          );
          return le.token = B ?? 118, le.elements = O(v), le.multiLine = P, le.transformFlags |= 4, le;
        }
        function Iv(v, P, B) {
          return v.elements !== P || v.multiLine !== B ? on(b1(P, B, v.token), v) : v;
        }
        function Tm(v, P) {
          const B = F(
            301
            /* ImportAttribute */
          );
          return B.name = v, B.value = P, B.transformFlags |= 4, B;
        }
        function $h(v, P, B) {
          return v.name !== P || v.value !== B ? on(Tm(P, B), v) : v;
        }
        function oT(v) {
          const P = j(
            274
            /* NamespaceImport */
          );
          return P.name = v, P.transformFlags |= hn(P.name), P.transformFlags &= -67108865, P;
        }
        function Q0(v, P) {
          return v.name !== P ? on(oT(P), v) : v;
        }
        function xm(v) {
          const P = j(
            280
            /* NamespaceExport */
          );
          return P.name = v, P.transformFlags |= hn(P.name) | 32, P.transformFlags &= -67108865, P;
        }
        function lg(v, P) {
          return v.name !== P ? on(xm(P), v) : v;
        }
        function S1(v) {
          const P = F(
            275
            /* NamedImports */
          );
          return P.elements = O(v), P.transformFlags |= Na(P.elements), P.transformFlags &= -67108865, P;
        }
        function Ri(v, P) {
          return v.elements !== P ? on(S1(P), v) : v;
        }
        function yn(v, P, B) {
          const le = j(
            276
            /* ImportSpecifier */
          );
          return le.isTypeOnly = v, le.propertyName = P, le.name = B, le.transformFlags |= hn(le.propertyName) | hn(le.name), le.transformFlags &= -67108865, le;
        }
        function zu(v, P, B, le) {
          return v.isTypeOnly !== P || v.propertyName !== B || v.name !== le ? on(yn(P, B, le), v) : v;
        }
        function cT(v, P, B) {
          const le = j(
            277
            /* ExportAssignment */
          );
          return le.modifiers = Ma(v), le.isExportEquals = P, le.expression = P ? i().parenthesizeRightSideOfBinary(
            64,
            /*leftSide*/
            void 0,
            B
          ) : i().parenthesizeExpressionOfExportDefault(B), le.transformFlags |= Na(le.modifiers) | hn(le.expression), le.transformFlags &= -67108865, le.jsDoc = void 0, le;
        }
        function km(v, P, B) {
          return v.modifiers !== P || v.expression !== B ? on(cT(P, v.isExportEquals, B), v) : v;
        }
        function po(v, P, B, le, Je) {
          const Ht = j(
            278
            /* ExportDeclaration */
          );
          return Ht.modifiers = Ma(v), Ht.isTypeOnly = P, Ht.exportClause = B, Ht.moduleSpecifier = le, Ht.attributes = Ht.assertClause = Je, Ht.transformFlags |= Na(Ht.modifiers) | hn(Ht.exportClause) | hn(Ht.moduleSpecifier), Ht.transformFlags &= -67108865, Ht.jsDoc = void 0, Ht;
        }
        function Fv(v, P, B, le, Je, Ht) {
          return v.modifiers !== P || v.isTypeOnly !== B || v.exportClause !== le || v.moduleSpecifier !== Je || v.attributes !== Ht ? Ov(po(P, B, le, Je, Ht), v) : v;
        }
        function Ov(v, P) {
          return v !== P && v.modifiers === P.modifiers && (v.modifiers = P.modifiers), on(v, P);
        }
        function lT(v) {
          const P = F(
            279
            /* NamedExports */
          );
          return P.elements = O(v), P.transformFlags |= Na(P.elements), P.transformFlags &= -67108865, P;
        }
        function wk(v, P) {
          return v.elements !== P ? on(lT(P), v) : v;
        }
        function T1(v, P, B) {
          const le = F(
            281
            /* ExportSpecifier */
          );
          return le.isTypeOnly = v, le.propertyName = _l(P), le.name = _l(B), le.transformFlags |= hn(le.propertyName) | hn(le.name), le.transformFlags &= -67108865, le.jsDoc = void 0, le;
        }
        function Nd(v, P, B, le) {
          return v.isTypeOnly !== P || v.propertyName !== B || v.name !== le ? on(T1(P, B, le), v) : v;
        }
        function gE() {
          const v = j(
            282
            /* MissingDeclaration */
          );
          return v.jsDoc = void 0, v;
        }
        function dn(v) {
          const P = F(
            283
            /* ExternalModuleReference */
          );
          return P.expression = v, P.transformFlags |= hn(P.expression), P.transformFlags &= -67108865, P;
        }
        function Eu(v, P) {
          return v.expression !== P ? on(dn(P), v) : v;
        }
        function gs(v) {
          return F(v);
        }
        function Y0(v, P, B = !1) {
          const le = uT(
            v,
            B ? P && i().parenthesizeNonArrayTypeOfPostfixType(P) : P
          );
          return le.postfix = B, le;
        }
        function uT(v, P) {
          const B = F(v);
          return B.type = P, B;
        }
        function Lv(v, P, B) {
          return P.type !== B ? on(Y0(v, B, P.postfix), P) : P;
        }
        function ln(v, P, B) {
          return P.type !== B ? on(uT(v, B), P) : P;
        }
        function hE(v, P) {
          const B = j(
            317
            /* JSDocFunctionType */
          );
          return B.parameters = Ma(v), B.type = P, B.transformFlags = Na(B.parameters) | (B.type ? 1 : 0), B.jsDoc = void 0, B.locals = void 0, B.nextContainer = void 0, B.typeArguments = void 0, B;
        }
        function Pk(v, P, B) {
          return v.parameters !== P || v.type !== B ? on(hE(P, B), v) : v;
        }
        function Wu(v, P = !1) {
          const B = j(
            322
            /* JSDocTypeLiteral */
          );
          return B.jsDocPropertyTags = Ma(v), B.isArrayType = P, B;
        }
        function ug(v, P, B) {
          return v.jsDocPropertyTags !== P || v.isArrayType !== B ? on(Wu(P, B), v) : v;
        }
        function rd(v) {
          const P = F(
            309
            /* JSDocTypeExpression */
          );
          return P.type = v, P;
        }
        function Z0(v, P) {
          return v.type !== P ? on(rd(P), v) : v;
        }
        function zf(v, P, B) {
          const le = j(
            323
            /* JSDocSignature */
          );
          return le.typeParameters = Ma(v), le.parameters = O(P), le.type = B, le.jsDoc = void 0, le.locals = void 0, le.nextContainer = void 0, le;
        }
        function ah(v, P, B, le) {
          return v.typeParameters !== P || v.parameters !== B || v.type !== le ? on(zf(P, B, le), v) : v;
        }
        function bf(v) {
          const P = $J(v.kind);
          return v.tagName.escapedText === ec(P) ? v.tagName : fe(P);
        }
        function Ad(v, P, B) {
          const le = F(v);
          return le.tagName = P, le.comment = B, le;
        }
        function jp(v, P, B) {
          const le = j(v);
          return le.tagName = P, le.comment = B, le;
        }
        function _g(v, P, B, le) {
          const Je = Ad(345, v ?? fe("template"), le);
          return Je.constraint = P, Je.typeParameters = O(B), Je;
        }
        function S2(v, P = bf(v), B, le, Je) {
          return v.tagName !== P || v.constraint !== B || v.typeParameters !== le || v.comment !== Je ? on(_g(P, B, le, Je), v) : v;
        }
        function K0(v, P, B, le) {
          const Je = jp(346, v ?? fe("typedef"), le);
          return Je.typeExpression = P, Je.fullName = B, Je.name = Dz(B), Je.locals = void 0, Je.nextContainer = void 0, Je;
        }
        function Nk(v, P = bf(v), B, le, Je) {
          return v.tagName !== P || v.typeExpression !== B || v.fullName !== le || v.comment !== Je ? on(K0(P, B, le, Je), v) : v;
        }
        function oh(v, P, B, le, Je, Ht) {
          const mn = jp(341, v ?? fe("param"), Ht);
          return mn.typeExpression = le, mn.name = P, mn.isNameFirst = !!Je, mn.isBracketed = B, mn;
        }
        function _T(v, P = bf(v), B, le, Je, Ht, mn) {
          return v.tagName !== P || v.name !== B || v.isBracketed !== le || v.typeExpression !== Je || v.isNameFirst !== Ht || v.comment !== mn ? on(oh(P, B, le, Je, Ht, mn), v) : v;
        }
        function Ak(v, P, B, le, Je, Ht) {
          const mn = jp(348, v ?? fe("prop"), Ht);
          return mn.typeExpression = le, mn.name = P, mn.isNameFirst = !!Je, mn.isBracketed = B, mn;
        }
        function x1(v, P = bf(v), B, le, Je, Ht, mn) {
          return v.tagName !== P || v.name !== B || v.isBracketed !== le || v.typeExpression !== Je || v.isNameFirst !== Ht || v.comment !== mn ? on(Ak(P, B, le, Je, Ht, mn), v) : v;
        }
        function nd(v, P, B, le) {
          const Je = jp(338, v ?? fe("callback"), le);
          return Je.typeExpression = P, Je.fullName = B, Je.name = Dz(B), Je.locals = void 0, Je.nextContainer = void 0, Je;
        }
        function Ik(v, P = bf(v), B, le, Je) {
          return v.tagName !== P || v.typeExpression !== B || v.fullName !== le || v.comment !== Je ? on(nd(P, B, le, Je), v) : v;
        }
        function fT(v, P, B) {
          const le = Ad(339, v ?? fe("overload"), B);
          return le.typeExpression = P, le;
        }
        function ey(v, P = bf(v), B, le) {
          return v.tagName !== P || v.typeExpression !== B || v.comment !== le ? on(fT(P, B, le), v) : v;
        }
        function T2(v, P, B) {
          const le = Ad(328, v ?? fe("augments"), B);
          return le.class = P, le;
        }
        function Cm(v, P = bf(v), B, le) {
          return v.tagName !== P || v.class !== B || v.comment !== le ? on(T2(P, B, le), v) : v;
        }
        function Xh(v, P, B) {
          const le = Ad(329, v ?? fe("implements"), B);
          return le.class = P, le;
        }
        function Em(v, P, B) {
          const le = Ad(347, v ?? fe("see"), B);
          return le.name = P, le;
        }
        function ty(v, P, B, le) {
          return v.tagName !== P || v.name !== B || v.comment !== le ? on(Em(P, B, le), v) : v;
        }
        function Fl(v) {
          const P = F(
            310
            /* JSDocNameReference */
          );
          return P.name = v, P;
        }
        function pT(v, P) {
          return v.name !== P ? on(Fl(P), v) : v;
        }
        function ch(v, P) {
          const B = F(
            311
            /* JSDocMemberName */
          );
          return B.left = v, B.right = P, B.transformFlags |= hn(B.left) | hn(B.right), B;
        }
        function x2(v, P, B) {
          return v.left !== P || v.right !== B ? on(ch(P, B), v) : v;
        }
        function Fk(v, P) {
          const B = F(
            324
            /* JSDocLink */
          );
          return B.name = v, B.text = P, B;
        }
        function fg(v, P, B) {
          return v.name !== P ? on(Fk(P, B), v) : v;
        }
        function yE(v, P) {
          const B = F(
            325
            /* JSDocLinkCode */
          );
          return B.name = v, B.text = P, B;
        }
        function k2(v, P, B) {
          return v.name !== P ? on(yE(P, B), v) : v;
        }
        function vE(v, P) {
          const B = F(
            326
            /* JSDocLinkPlain */
          );
          return B.name = v, B.text = P, B;
        }
        function Mv(v, P, B) {
          return v.name !== P ? on(vE(P, B), v) : v;
        }
        function dT(v, P = bf(v), B, le) {
          return v.tagName !== P || v.class !== B || v.comment !== le ? on(Xh(P, B, le), v) : v;
        }
        function dc(v, P, B) {
          return Ad(v, P ?? fe($J(v)), B);
        }
        function Uc(v, P, B = bf(P), le) {
          return P.tagName !== B || P.comment !== le ? on(dc(v, B, le), P) : P;
        }
        function bE(v, P, B, le) {
          const Je = Ad(v, P ?? fe($J(v)), le);
          return Je.typeExpression = B, Je;
        }
        function cf(v, P, B = bf(P), le, Je) {
          return P.tagName !== B || P.typeExpression !== le || P.comment !== Je ? on(bE(v, B, le, Je), P) : P;
        }
        function Bp(v, P) {
          return Ad(327, v, P);
        }
        function Ok(v, P, B) {
          return v.tagName !== P || v.comment !== B ? on(Bp(P, B), v) : v;
        }
        function Id(v, P, B) {
          const le = jp(340, v ?? fe($J(
            340
            /* JSDocEnumTag */
          )), B);
          return le.typeExpression = P, le.locals = void 0, le.nextContainer = void 0, le;
        }
        function mT(v, P = bf(v), B, le) {
          return v.tagName !== P || v.typeExpression !== B || v.comment !== le ? on(Id(P, B, le), v) : v;
        }
        function Qh(v, P, B, le, Je) {
          const Ht = Ad(351, v ?? fe("import"), Je);
          return Ht.importClause = P, Ht.moduleSpecifier = B, Ht.attributes = le, Ht.comment = Je, Ht;
        }
        function SE(v, P, B, le, Je, Ht) {
          return v.tagName !== P || v.comment !== Ht || v.importClause !== B || v.moduleSpecifier !== le || v.attributes !== Je ? on(Qh(P, B, le, Je, Ht), v) : v;
        }
        function gT(v) {
          const P = F(
            321
            /* JSDocText */
          );
          return P.text = v, P;
        }
        function mc(v, P) {
          return v.text !== P ? on(gT(P), v) : v;
        }
        function Rv(v, P) {
          const B = F(
            320
            /* JSDoc */
          );
          return B.comment = v, B.tags = Ma(P), B;
        }
        function TE(v, P, B) {
          return v.comment !== P || v.tags !== B ? on(Rv(P, B), v) : v;
        }
        function C2(v, P, B) {
          const le = F(
            284
            /* JsxElement */
          );
          return le.openingElement = v, le.children = O(P), le.closingElement = B, le.transformFlags |= hn(le.openingElement) | Na(le.children) | hn(le.closingElement) | 2, le;
        }
        function qw(v, P, B, le) {
          return v.openingElement !== P || v.children !== B || v.closingElement !== le ? on(C2(P, B, le), v) : v;
        }
        function Vu(v, P, B) {
          const le = F(
            285
            /* JsxSelfClosingElement */
          );
          return le.tagName = v, le.typeArguments = Ma(P), le.attributes = B, le.transformFlags |= hn(le.tagName) | Na(le.typeArguments) | hn(le.attributes) | 2, le.typeArguments && (le.transformFlags |= 1), le;
        }
        function jv(v, P, B, le) {
          return v.tagName !== P || v.typeArguments !== B || v.attributes !== le ? on(Vu(P, B, le), v) : v;
        }
        function E2(v, P, B) {
          const le = F(
            286
            /* JsxOpeningElement */
          );
          return le.tagName = v, le.typeArguments = Ma(P), le.attributes = B, le.transformFlags |= hn(le.tagName) | Na(le.typeArguments) | hn(le.attributes) | 2, P && (le.transformFlags |= 1), le;
        }
        function hT(v, P, B, le) {
          return v.tagName !== P || v.typeArguments !== B || v.attributes !== le ? on(E2(P, B, le), v) : v;
        }
        function b_(v) {
          const P = F(
            287
            /* JsxClosingElement */
          );
          return P.tagName = v, P.transformFlags |= hn(P.tagName) | 2, P;
        }
        function Jp(v, P) {
          return v.tagName !== P ? on(b_(P), v) : v;
        }
        function ry(v, P, B) {
          const le = F(
            288
            /* JsxFragment */
          );
          return le.openingFragment = v, le.children = O(P), le.closingFragment = B, le.transformFlags |= hn(le.openingFragment) | Na(le.children) | hn(le.closingFragment) | 2, le;
        }
        function Lk(v, P, B, le) {
          return v.openingFragment !== P || v.children !== B || v.closingFragment !== le ? on(ry(P, B, le), v) : v;
        }
        function Bv(v, P) {
          const B = F(
            12
            /* JsxText */
          );
          return B.text = v, B.containsOnlyTriviaWhiteSpaces = !!P, B.transformFlags |= 2, B;
        }
        function Jv(v, P, B) {
          return v.text !== P || v.containsOnlyTriviaWhiteSpaces !== B ? on(Bv(P, B), v) : v;
        }
        function Mk() {
          const v = F(
            289
            /* JsxOpeningFragment */
          );
          return v.transformFlags |= 2, v;
        }
        function zv() {
          const v = F(
            290
            /* JsxClosingFragment */
          );
          return v.transformFlags |= 2, v;
        }
        function Rk(v, P) {
          const B = j(
            291
            /* JsxAttribute */
          );
          return B.name = v, B.initializer = P, B.transformFlags |= hn(B.name) | hn(B.initializer) | 2, B;
        }
        function D2(v, P, B) {
          return v.name !== P || v.initializer !== B ? on(Rk(P, B), v) : v;
        }
        function pg(v) {
          const P = j(
            292
            /* JsxAttributes */
          );
          return P.properties = O(v), P.transformFlags |= Na(P.properties) | 2, P;
        }
        function lf(v, P) {
          return v.properties !== P ? on(pg(P), v) : v;
        }
        function lh(v) {
          const P = F(
            293
            /* JsxSpreadAttribute */
          );
          return P.expression = v, P.transformFlags |= hn(P.expression) | 2, P;
        }
        function yT(v, P) {
          return v.expression !== P ? on(lh(P), v) : v;
        }
        function Wv(v, P) {
          const B = F(
            294
            /* JsxExpression */
          );
          return B.dotDotDotToken = v, B.expression = P, B.transformFlags |= hn(B.dotDotDotToken) | hn(B.expression) | 2, B;
        }
        function La(v, P) {
          return v.expression !== P ? on(Wv(v.dotDotDotToken, P), v) : v;
        }
        function vn(v, P) {
          const B = F(
            295
            /* JsxNamespacedName */
          );
          return B.namespace = v, B.name = P, B.transformFlags |= hn(B.namespace) | hn(B.name) | 2, B;
        }
        function Sf(v, P, B) {
          return v.namespace !== P || v.name !== B ? on(vn(P, B), v) : v;
        }
        function O_(v, P) {
          const B = F(
            296
            /* CaseClause */
          );
          return B.expression = i().parenthesizeExpressionForDisallowedComma(v), B.statements = O(P), B.transformFlags |= hn(B.expression) | Na(B.statements), B.jsDoc = void 0, B;
        }
        function jk(v, P, B) {
          return v.expression !== P || v.statements !== B ? on(O_(P, B), v) : v;
        }
        function k1(v) {
          const P = F(
            297
            /* DefaultClause */
          );
          return P.statements = O(v), P.transformFlags = Na(P.statements), P;
        }
        function vT(v, P) {
          return v.statements !== P ? on(k1(P), v) : v;
        }
        function Bk(v, P) {
          const B = F(
            298
            /* HeritageClause */
          );
          switch (B.token = v, B.types = O(P), B.transformFlags |= Na(B.types), v) {
            case 96:
              B.transformFlags |= 1024;
              break;
            case 119:
              B.transformFlags |= 1;
              break;
            default:
              return E.assertNever(v);
          }
          return B;
        }
        function Jk(v, P) {
          return v.types !== P ? on(Bk(v.token, P), v) : v;
        }
        function Wf(v, P) {
          const B = F(
            299
            /* CatchClause */
          );
          return B.variableDeclaration = w1(v), B.block = P, B.transformFlags |= hn(B.variableDeclaration) | hn(B.block) | (v ? 0 : 64), B.locals = void 0, B.nextContainer = void 0, B;
        }
        function Vf(v, P, B) {
          return v.variableDeclaration !== P || v.block !== B ? on(Wf(P, B), v) : v;
        }
        function L_(v, P) {
          const B = j(
            303
            /* PropertyAssignment */
          );
          return B.name = _l(v), B.initializer = i().parenthesizeExpressionForDisallowedComma(P), B.transformFlags |= e1(B.name) | hn(B.initializer), B.modifiers = void 0, B.questionToken = void 0, B.exclamationToken = void 0, B.jsDoc = void 0, B;
        }
        function Fd(v, P, B) {
          return v.name !== P || v.initializer !== B ? Yh(L_(P, B), v) : v;
        }
        function Yh(v, P) {
          return v !== P && (v.modifiers = P.modifiers, v.questionToken = P.questionToken, v.exclamationToken = P.exclamationToken), on(v, P);
        }
        function uh(v, P) {
          const B = j(
            304
            /* ShorthandPropertyAssignment */
          );
          return B.name = _l(v), B.objectAssignmentInitializer = P && i().parenthesizeExpressionForDisallowedComma(P), B.transformFlags |= yN(B.name) | hn(B.objectAssignmentInitializer) | 1024, B.equalsToken = void 0, B.modifiers = void 0, B.questionToken = void 0, B.exclamationToken = void 0, B.jsDoc = void 0, B;
        }
        function C(v, P, B) {
          return v.name !== P || v.objectAssignmentInitializer !== B ? ce(uh(P, B), v) : v;
        }
        function ce(v, P) {
          return v !== P && (v.modifiers = P.modifiers, v.questionToken = P.questionToken, v.exclamationToken = P.exclamationToken, v.equalsToken = P.equalsToken), on(v, P);
        }
        function dt(v) {
          const P = j(
            305
            /* SpreadAssignment */
          );
          return P.expression = i().parenthesizeExpressionForDisallowedComma(v), P.transformFlags |= hn(P.expression) | 128 | 65536, P.jsDoc = void 0, P;
        }
        function ir(v, P) {
          return v.expression !== P ? on(dt(P), v) : v;
        }
        function Yn(v, P) {
          const B = j(
            306
            /* EnumMember */
          );
          return B.name = _l(v), B.initializer = P && i().parenthesizeExpressionForDisallowedComma(P), B.transformFlags |= hn(B.name) | hn(B.initializer) | 1, B.jsDoc = void 0, B;
        }
        function hi(v, P, B) {
          return v.name !== P || v.initializer !== B ? on(Yn(P, B), v) : v;
        }
        function Gi(v, P, B) {
          const le = t.createBaseSourceFileNode(
            307
            /* SourceFile */
          );
          return le.statements = O(v), le.endOfFileToken = P, le.flags |= B, le.text = "", le.fileName = "", le.path = "", le.resolvedPath = "", le.originalFileName = "", le.languageVersion = 1, le.languageVariant = 0, le.scriptKind = 0, le.isDeclarationFile = !1, le.hasNoDefaultLib = !1, le.transformFlags |= Na(le.statements) | hn(le.endOfFileToken), le.locals = void 0, le.nextContainer = void 0, le.endFlowNode = void 0, le.nodeCount = 0, le.identifierCount = 0, le.symbolCount = 0, le.parseDiagnostics = void 0, le.bindDiagnostics = void 0, le.bindSuggestionDiagnostics = void 0, le.lineMap = void 0, le.externalModuleIndicator = void 0, le.setExternalModuleIndicator = void 0, le.pragmas = void 0, le.checkJsDirective = void 0, le.referencedFiles = void 0, le.typeReferenceDirectives = void 0, le.libReferenceDirectives = void 0, le.amdDependencies = void 0, le.commentDirectives = void 0, le.identifiers = void 0, le.packageJsonLocations = void 0, le.packageJsonScope = void 0, le.imports = void 0, le.moduleAugmentations = void 0, le.ambientModuleNames = void 0, le.classifiableNames = void 0, le.impliedNodeFormat = void 0, le;
        }
        function us(v) {
          const P = Object.create(v.redirectTarget);
          return Object.defineProperties(P, {
            id: {
              get() {
                return this.redirectInfo.redirectTarget.id;
              },
              set(B) {
                this.redirectInfo.redirectTarget.id = B;
              }
            },
            symbol: {
              get() {
                return this.redirectInfo.redirectTarget.symbol;
              },
              set(B) {
                this.redirectInfo.redirectTarget.symbol = B;
              }
            }
          }), P.redirectInfo = v, P;
        }
        function ma(v) {
          const P = us(v.redirectInfo);
          return P.flags |= v.flags & -17, P.fileName = v.fileName, P.path = v.path, P.resolvedPath = v.resolvedPath, P.originalFileName = v.originalFileName, P.packageJsonLocations = v.packageJsonLocations, P.packageJsonScope = v.packageJsonScope, P.emitNode = void 0, P;
        }
        function i_(v) {
          const P = t.createBaseSourceFileNode(
            307
            /* SourceFile */
          );
          P.flags |= v.flags & -17;
          for (const B in v)
            if (!(ao(P, B) || !ao(v, B))) {
              if (B === "emitNode") {
                P.emitNode = void 0;
                continue;
              }
              P[B] = v[B];
            }
          return P;
        }
        function ic(v) {
          const P = v.redirectInfo ? ma(v) : i_(v);
          return n(P, v), P;
        }
        function Jo(v, P, B, le, Je, Ht, mn) {
          const Yi = ic(v);
          return Yi.statements = O(P), Yi.isDeclarationFile = B, Yi.referencedFiles = le, Yi.typeReferenceDirectives = Je, Yi.hasNoDefaultLib = Ht, Yi.libReferenceDirectives = mn, Yi.transformFlags = Na(Yi.statements) | hn(Yi.endOfFileToken), Yi;
        }
        function zk(v, P, B = v.isDeclarationFile, le = v.referencedFiles, Je = v.typeReferenceDirectives, Ht = v.hasNoDefaultLib, mn = v.libReferenceDirectives) {
          return v.statements !== P || v.isDeclarationFile !== B || v.referencedFiles !== le || v.typeReferenceDirectives !== Je || v.hasNoDefaultLib !== Ht || v.libReferenceDirectives !== mn ? on(Jo(v, P, B, le, Je, Ht, mn), v) : v;
        }
        function s_(v) {
          const P = F(
            308
            /* Bundle */
          );
          return P.sourceFiles = v, P.syntheticFileReferences = void 0, P.syntheticTypeReferences = void 0, P.syntheticLibReferences = void 0, P.hasNoDefaultLib = void 0, P;
        }
        function Dm(v, P) {
          return v.sourceFiles !== P ? on(s_(P), v) : v;
        }
        function C1(v, P = !1, B) {
          const le = F(
            237
            /* SyntheticExpression */
          );
          return le.type = v, le.isSpread = P, le.tupleNameSource = B, le;
        }
        function Vv(v) {
          const P = F(
            352
            /* SyntaxList */
          );
          return P._children = v, P;
        }
        function Wk(v) {
          const P = F(
            353
            /* NotEmittedStatement */
          );
          return P.original = v, ot(P, v), P;
        }
        function Vk(v, P) {
          const B = F(
            355
            /* PartiallyEmittedExpression */
          );
          return B.expression = v, B.original = P, B.transformFlags |= hn(B.expression) | 1, ot(B, P), B;
        }
        function ny(v, P) {
          return v.expression !== P ? on(Vk(P, v.original), v) : v;
        }
        function iy() {
          return F(
            354
            /* NotEmittedTypeElement */
          );
        }
        function w2(v) {
          if (oo(v) && !T4(v) && !v.original && !v.emitNode && !v.id) {
            if (ID(v))
              return v.elements;
            if (_n(v) && gte(v.operatorToken))
              return [v.left, v.right];
          }
          return v;
        }
        function wm(v) {
          const P = F(
            356
            /* CommaListExpression */
          );
          return P.elements = O(UX(v, w2)), P.transformFlags |= Na(P.elements), P;
        }
        function Uk(v, P) {
          return v.elements !== P ? on(wm(P), v) : v;
        }
        function qk(v, P) {
          const B = F(
            357
            /* SyntheticReferenceExpression */
          );
          return B.expression = v, B.thisArg = P, B.transformFlags |= hn(B.expression) | hn(B.thisArg), B;
        }
        function I8(v, P, B) {
          return v.expression !== P || v.thisArg !== B ? on(qk(P, B), v) : v;
        }
        function P2(v) {
          const P = te(v.escapedText);
          return P.flags |= v.flags & -17, P.transformFlags = v.transformFlags, n(P, v), TN(P, { ...v.emitNode.autoGenerate }), P;
        }
        function F8(v) {
          const P = te(v.escapedText);
          P.flags |= v.flags & -17, P.jsDoc = v.jsDoc, P.flowNode = v.flowNode, P.symbol = v.symbol, P.transformFlags = v.transformFlags, n(P, v);
          const B = wS(v);
          return B && D0(P, B), P;
        }
        function Hw(v) {
          const P = De(v.escapedText);
          return P.flags |= v.flags & -17, P.transformFlags = v.transformFlags, n(P, v), TN(P, { ...v.emitNode.autoGenerate }), P;
        }
        function Hk(v) {
          const P = De(v.escapedText);
          return P.flags |= v.flags & -17, P.transformFlags = v.transformFlags, n(P, v), P;
        }
        function Bi(v) {
          if (v === void 0)
            return v;
          if (xi(v))
            return ic(v);
          if (Mo(v))
            return P2(v);
          if (Fe(v))
            return F8(v);
          if (cS(v))
            return Hw(v);
          if (Di(v))
            return Hk(v);
          const P = y7(v.kind) ? t.createBaseNode(v.kind) : t.createBaseTokenNode(v.kind);
          P.flags |= v.flags & -17, P.transformFlags = v.transformFlags, n(P, v);
          for (const B in v)
            ao(P, B) || !ao(v, B) || (P[B] = v[B]);
          return P;
        }
        function N2(v, P, B) {
          return Xr(
            n_(
              /*modifiers*/
              void 0,
              /*asteriskToken*/
              void 0,
              /*name*/
              void 0,
              /*typeParameters*/
              void 0,
              /*parameters*/
              P ? [P] : [],
              /*type*/
              void 0,
              ts(
                v,
                /*multiLine*/
                !0
              )
            ),
            /*typeArguments*/
            void 0,
            /*argumentsArray*/
            B ? [B] : []
          );
        }
        function Hr(v, P, B) {
          return Xr(
            hf(
              /*modifiers*/
              void 0,
              /*typeParameters*/
              void 0,
              /*parameters*/
              P ? [P] : [],
              /*type*/
              void 0,
              /*equalsGreaterThanToken*/
              void 0,
              ts(
                v,
                /*multiLine*/
                !0
              )
            ),
            /*typeArguments*/
            void 0,
            /*argumentsArray*/
            B ? [B] : []
          );
        }
        function Uv() {
          return vm(V("0"));
        }
        function Gk(v) {
          return cT(
            /*modifiers*/
            void 0,
            /*isExportEquals*/
            !1,
            v
          );
        }
        function xE(v) {
          return po(
            /*modifiers*/
            void 0,
            /*isTypeOnly*/
            !1,
            lT([
              T1(
                /*isTypeOnly*/
                !1,
                /*propertyName*/
                void 0,
                v
              )
            ])
          );
        }
        function $k(v, P) {
          return P === "null" ? A.createStrictEquality(v, Pe()) : P === "undefined" ? A.createStrictEquality(v, Uv()) : A.createStrictEquality(y_(v), pe(P));
        }
        function O8(v, P) {
          return P === "null" ? A.createStrictInequality(v, Pe()) : P === "undefined" ? A.createStrictInequality(v, Uv()) : A.createStrictInequality(y_(v), pe(P));
        }
        function qv(v, P, B) {
          return aS(v) ? Is(
            bo(
              v,
              /*questionDotToken*/
              void 0,
              P
            ),
            /*questionDotToken*/
            void 0,
            /*typeArguments*/
            void 0,
            B
          ) : Xr(
            fc(v, P),
            /*typeArguments*/
            void 0,
            B
          );
        }
        function JL(v, P, B) {
          return qv(v, "bind", [P, ...B]);
        }
        function Hv(v, P, B) {
          return qv(v, "call", [P, ...B]);
        }
        function zL(v, P, B) {
          return qv(v, "apply", [P, B]);
        }
        function A2(v, P, B) {
          return qv(fe(v), P, B);
        }
        function Xk(v, P) {
          return qv(v, "slice", P === void 0 ? [] : [D1(P)]);
        }
        function L8(v, P) {
          return qv(v, "concat", P);
        }
        function kE(v, P, B) {
          return A2("Object", "defineProperty", [v, D1(P), B]);
        }
        function I2(v, P) {
          return A2("Object", "getOwnPropertyDescriptor", [v, D1(P)]);
        }
        function Gv(v, P, B) {
          return A2("Reflect", "get", B ? [v, P, B] : [v, P]);
        }
        function Zh(v, P, B, le) {
          return A2("Reflect", "set", le ? [v, P, B, le] : [v, P, B]);
        }
        function $v(v, P, B) {
          return B ? (v.push(L_(P, B)), !0) : !1;
        }
        function Pm(v, P) {
          const B = [];
          $v(B, "enumerable", D1(v.enumerable)), $v(B, "configurable", D1(v.configurable));
          let le = $v(B, "writable", D1(v.writable));
          le = $v(B, "value", v.value) || le;
          let Je = $v(B, "get", v.get);
          return Je = $v(B, "set", v.set) || Je, E.assert(!(le && Je), "A PropertyDescriptor may not be both an accessor descriptor and a data descriptor."), no(B, !P);
        }
        function CE(v, P) {
          switch (v.kind) {
            case 217:
              return nf(v, P);
            case 216:
              return ll(v, v.type, P);
            case 234:
              return J0(v, P, v.type);
            case 238:
              return Qe(v, P, v.type);
            case 235:
              return z0(v, P);
            case 233:
              return m1(v, P, v.typeArguments);
            case 355:
              return ny(v, P);
          }
        }
        function WL(v) {
          return Zu(v) && oo(v) && oo(E0(v)) && oo(sm(v)) && !at(l6(v)) && !at(SN(v));
        }
        function Nm(v, P, B = 63) {
          return v && OF(v, B) && !WL(v) ? CE(
            v,
            Nm(v.expression, P)
          ) : P;
        }
        function Xv(v, P, B) {
          if (!P)
            return v;
          const le = Hh(
            P,
            P.label,
            i1(P.statement) ? Xv(v, P.statement) : v
          );
          return B && B(P), le;
        }
        function Gw(v, P) {
          const B = za(v);
          switch (B.kind) {
            case 80:
              return P;
            case 110:
            case 9:
            case 10:
            case 11:
              return !1;
            case 209:
              return B.elements.length !== 0;
            case 210:
              return B.properties.length > 0;
            default:
              return !0;
          }
        }
        function qc(v, P, B, le = !1) {
          const Je = xc(
            v,
            63
            /* All */
          );
          let Ht, mn;
          return E_(Je) ? (Ht = se(), mn = Je) : wD(Je) ? (Ht = se(), mn = B !== void 0 && B < 2 ? ot(fe("_super"), Je) : Je) : ka(Je) & 8192 ? (Ht = Uv(), mn = i().parenthesizeLeftSideOfAccess(
            Je,
            /*optionalChain*/
            !1
          )) : kn(Je) ? Gw(Je.expression, le) ? (Ht = me(P), mn = fc(
            ot(
              A.createAssignment(
                Ht,
                Je.expression
              ),
              Je.expression
            ),
            Je.name
          ), ot(mn, Je)) : (Ht = Je.expression, mn = Je) : fo(Je) ? Gw(Je.expression, le) ? (Ht = me(P), mn = tu(
            ot(
              A.createAssignment(
                Ht,
                Je.expression
              ),
              Je.expression
            ),
            Je.argumentExpression
          ), ot(mn, Je)) : (Ht = Je.expression, mn = Je) : (Ht = Uv(), mn = i().parenthesizeLeftSideOfAccess(
            v,
            /*optionalChain*/
            !1
          )), { target: mn, thisArg: Ht };
        }
        function $(v, P) {
          return fc(
            // Explicit parens required because of v8 regression (https://bugs.chromium.org/p/v8/issues/detail?id=9560)
            ul(
              no([
                Q(
                  /*modifiers*/
                  void 0,
                  "value",
                  [ai(
                    /*modifiers*/
                    void 0,
                    /*dotDotDotToken*/
                    void 0,
                    v,
                    /*questionToken*/
                    void 0,
                    /*type*/
                    void 0,
                    /*initializer*/
                    void 0
                  )],
                  ts([
                    Bf(P)
                  ])
                )
              ])
            ),
            "value"
          );
        }
        function be(v) {
          return v.length > 10 ? wm(v) : Hu(v, A.createComma);
        }
        function Oe(v, P, B, le = 0, Je) {
          const Ht = Je ? v && u7(v) : ls(v);
          if (Ht && Fe(Ht) && !Mo(Ht)) {
            const mn = Wa(ot(Bi(Ht), Ht), Ht.parent);
            return le |= ka(Ht), B || (le |= 96), P || (le |= 3072), le && an(mn, le), mn;
          }
          return Me(v);
        }
        function yt(v, P, B) {
          return Oe(
            v,
            P,
            B,
            98304
            /* InternalName */
          );
        }
        function qt(v, P, B, le) {
          return Oe(v, P, B, 32768, le);
        }
        function hr(v, P, B) {
          return Oe(
            v,
            P,
            B,
            16384
            /* ExportName */
          );
        }
        function Ln(v, P, B) {
          return Oe(v, P, B);
        }
        function Si(v, P, B, le) {
          const Je = fc(v, oo(P) ? P : Bi(P));
          ot(Je, P);
          let Ht = 0;
          return le || (Ht |= 96), B || (Ht |= 3072), Ht && an(Je, Ht), Je;
        }
        function ri(v, P, B, le) {
          return v && qn(
            P,
            32
            /* Export */
          ) ? Si(v, Oe(P), B, le) : hr(P, B, le);
        }
        function oi(v, P, B, le) {
          const Je = so(v, P, 0, B);
          return Fa(v, P, Je, le);
        }
        function Ui(v) {
          return la(v.expression) && v.expression.text === "use strict";
        }
        function io() {
          return Su(Bf(pe("use strict")));
        }
        function so(v, P, B = 0, le) {
          E.assert(P.length === 0, "Prologue directives should be at the first statement in the target statements array");
          let Je = !1;
          const Ht = v.length;
          for (; B < Ht; ) {
            const mn = v[B];
            if (Qd(mn))
              Ui(mn) && (Je = !0), P.push(mn);
            else
              break;
            B++;
          }
          return le && !Je && P.push(io()), B;
        }
        function Fa(v, P, B, le, Je = db) {
          const Ht = v.length;
          for (; B !== void 0 && B < Ht; ) {
            const mn = v[B];
            if (ka(mn) & 2097152 && Je(mn))
              Dr(P, le ? $e(mn, le, yi) : mn);
            else
              break;
            B++;
          }
          return B;
        }
        function fp(v) {
          return kz(v) ? v : ot(O([io(), ...v]), v);
        }
        function dg(v) {
          return E.assert(Pi(v, CZ), "Cannot lift nodes to a Block."), zm(v) || ts(v);
        }
        function zp(v, P, B) {
          let le = B;
          for (; le < v.length && P(v[le]); )
            le++;
          return le;
        }
        function Ol(v, P) {
          if (!at(P))
            return v;
          const B = zp(v, Qd, 0), le = zp(v, V7, B), Je = zp(v, U7, le), Ht = zp(P, Qd, 0), mn = zp(P, V7, Ht), Yi = zp(P, U7, mn), Ha = zp(P, m3, Yi);
          E.assert(Ha === P.length, "Expected declarations to be valid standard or custom prologues");
          const Ld = vb(v) ? v.slice() : v;
          if (Ha > Yi && Ld.splice(Je, 0, ...P.slice(Yi, Ha)), Yi > mn && Ld.splice(le, 0, ...P.slice(mn, Yi)), mn > Ht && Ld.splice(B, 0, ...P.slice(Ht, mn)), Ht > 0)
            if (B === 0)
              Ld.splice(0, 0, ...P.slice(0, Ht));
            else {
              const _h = /* @__PURE__ */ new Map();
              for (let mg = 0; mg < B; mg++) {
                const Yk = v[mg];
                _h.set(Yk.expression.text, !0);
              }
              for (let mg = Ht - 1; mg >= 0; mg--) {
                const Yk = P[mg];
                _h.has(Yk.expression.text) || Ld.unshift(Yk);
              }
            }
          return vb(v) ? ot(O(Ld, v.hasTrailingComma), v) : v;
        }
        function Od(v, P) {
          let B;
          return typeof P == "number" ? B = St(P) : B = P, Fo(v) ? Wr(v, B, v.name, v.constraint, v.default) : Ni(v) ? zi(v, B, v.dotDotDotToken, v.name, v.questionToken, v.type, v.initializer) : u6(v) ? Yr(v, B, v.typeParameters, v.parameters, v.type) : ju(v) ? li(v, B, v.name, v.questionToken, v.type) : is(v) ? je(v, B, v.name, v.questionToken ?? v.exclamationToken, v.type, v.initializer) : Xp(v) ? er(v, B, v.name, v.questionToken, v.typeParameters, v.parameters, v.type) : uc(v) ? zn(v, B, v.asteriskToken, v.name, v.questionToken, v.typeParameters, v.parameters, v.type, v.body) : Xo(v) ? ms(v, B, v.parameters, v.body) : ap(v) ? ne(v, B, v.name, v.parameters, v.type, v.body) : P_(v) ? Ne(v, B, v.name, v.parameters, v.body) : r1(v) ? kt(v, B, v.parameters, v.type) : ho(v) ? ed(v, B, v.asteriskToken, v.name, v.typeParameters, v.parameters, v.type, v.body) : Co(v) ? ym(v, B, v.typeParameters, v.parameters, v.type, v.equalsGreaterThanToken, v.body) : Kc(v) ? Dd(v, B, v.name, v.typeParameters, v.heritageClauses, v.members) : Sc(v) ? Ds(v, B, v.declarationList) : Tc(v) ? Kg(v, B, v.asteriskToken, v.name, v.typeParameters, v.parameters, v.type, v.body) : el(v) ? v_(v, B, v.name, v.typeParameters, v.heritageClauses, v.members) : Yl(v) ? of(v, B, v.name, v.typeParameters, v.heritageClauses, v.members) : Ap(v) ? H0(v, B, v.name, v.typeParameters, v.type) : Gb(v) ? wd(v, B, v.name, v.members) : zc(v) ? Vl(v, B, v.name, v.body) : bl(v) ? Pd(v, B, v.isTypeOnly, v.name, v.moduleReference) : Uo(v) ? Ek(v, B, v.importClause, v.moduleSpecifier, v.attributes) : Oo(v) ? km(v, B, v.expression) : Oc(v) ? Fv(v, B, v.isTypeOnly, v.exportClause, v.moduleSpecifier, v.attributes) : E.assertNever(v);
        }
        function E1(v, P) {
          return Ni(v) ? zi(v, P, v.dotDotDotToken, v.name, v.questionToken, v.type, v.initializer) : is(v) ? je(v, P, v.name, v.questionToken ?? v.exclamationToken, v.type, v.initializer) : uc(v) ? zn(v, P, v.asteriskToken, v.name, v.questionToken, v.typeParameters, v.parameters, v.type, v.body) : ap(v) ? ne(v, P, v.name, v.parameters, v.type, v.body) : P_(v) ? Ne(v, P, v.name, v.parameters, v.body) : Kc(v) ? Dd(v, P, v.name, v.typeParameters, v.heritageClauses, v.members) : el(v) ? v_(v, P, v.name, v.typeParameters, v.heritageClauses, v.members) : E.assertNever(v);
        }
        function M8(v, P) {
          switch (v.kind) {
            case 177:
              return ne(v, v.modifiers, P, v.parameters, v.type, v.body);
            case 178:
              return Ne(v, v.modifiers, P, v.parameters, v.body);
            case 174:
              return zn(v, v.modifiers, v.asteriskToken, P, v.questionToken, v.typeParameters, v.parameters, v.type, v.body);
            case 173:
              return er(v, v.modifiers, P, v.questionToken, v.typeParameters, v.parameters, v.type);
            case 172:
              return je(v, v.modifiers, P, v.questionToken ?? v.exclamationToken, v.type, v.initializer);
            case 171:
              return li(v, v.modifiers, P, v.questionToken, v.type);
            case 303:
              return Fd(v, P, v.initializer);
          }
        }
        function Ma(v) {
          return v ? O(v) : void 0;
        }
        function _l(v) {
          return typeof v == "string" ? fe(v) : v;
        }
        function D1(v) {
          return typeof v == "string" ? pe(v) : typeof v == "number" ? V(v) : typeof v == "boolean" ? v ? Ee() : Ce() : v;
        }
        function Qk(v) {
          return v && i().parenthesizeExpressionForDisallowedComma(v);
        }
        function EE(v) {
          return typeof v == "number" ? oe(v) : v;
        }
        function S_(v) {
          return v && Ite(v) ? ot(n(Al(), v), v) : v;
        }
        function w1(v) {
          return typeof v == "string" || v && !Zn(v) ? q0(
            v,
            /*exclamationToken*/
            void 0,
            /*type*/
            void 0,
            /*initializer*/
            void 0
          ) : v;
        }
        function on(v, P) {
          return v !== P && (n(v, P), ot(v, P)), v;
        }
      }
      function $J(e) {
        switch (e) {
          case 344:
            return "type";
          case 342:
            return "returns";
          case 343:
            return "this";
          case 340:
            return "enum";
          case 330:
            return "author";
          case 332:
            return "class";
          case 333:
            return "public";
          case 334:
            return "private";
          case 335:
            return "protected";
          case 336:
            return "readonly";
          case 337:
            return "override";
          case 345:
            return "template";
          case 346:
            return "typedef";
          case 341:
            return "param";
          case 348:
            return "prop";
          case 338:
            return "callback";
          case 339:
            return "overload";
          case 328:
            return "augments";
          case 329:
            return "implements";
          case 351:
            return "import";
          default:
            return E.fail(`Unsupported kind: ${E.formatSyntaxKind(e)}`);
        }
      }
      var C0, Xhe = {};
      function b9e(e, t) {
        switch (C0 || (C0 = Pg(
          99,
          /*skipTrivia*/
          !1,
          0
          /* Standard */
        )), e) {
          case 15:
            C0.setText("`" + t + "`");
            break;
          case 16:
            C0.setText("`" + t + "${");
            break;
          case 17:
            C0.setText("}" + t + "${");
            break;
          case 18:
            C0.setText("}" + t + "`");
            break;
        }
        let n = C0.scan();
        if (n === 20 && (n = C0.reScanTemplateToken(
          /*isTaggedTemplate*/
          !1
        )), C0.isUnterminated())
          return C0.setText(void 0), Xhe;
        let i;
        switch (n) {
          case 15:
          case 16:
          case 17:
          case 18:
            i = C0.getTokenValue();
            break;
        }
        return i === void 0 || C0.scan() !== 1 ? (C0.setText(void 0), Xhe) : (C0.setText(void 0), i);
      }
      function e1(e) {
        return e && Fe(e) ? yN(e) : hn(e);
      }
      function yN(e) {
        return hn(e) & -67108865;
      }
      function S9e(e, t) {
        return t | e.transformFlags & 134234112;
      }
      function hn(e) {
        if (!e) return 0;
        const t = e.transformFlags & ~T9e(e.kind);
        return El(e) && Bc(e.name) ? S9e(e.name, t) : t;
      }
      function Na(e) {
        return e ? e.transformFlags : 0;
      }
      function Qhe(e) {
        let t = 0;
        for (const n of e)
          t |= hn(n);
        e.transformFlags = t;
      }
      function T9e(e) {
        if (e >= 182 && e <= 205)
          return -2;
        switch (e) {
          case 213:
          case 214:
          case 209:
            return -2147450880;
          case 267:
            return -1941676032;
          case 169:
            return -2147483648;
          case 219:
            return -2072174592;
          case 218:
          case 262:
            return -1937940480;
          case 261:
            return -2146893824;
          case 263:
          case 231:
            return -2147344384;
          case 176:
            return -1937948672;
          case 172:
            return -2013249536;
          case 174:
          case 177:
          case 178:
            return -2005057536;
          case 133:
          case 150:
          case 163:
          case 146:
          case 154:
          case 151:
          case 136:
          case 155:
          case 116:
          case 168:
          case 171:
          case 173:
          case 179:
          case 180:
          case 181:
          case 264:
          case 265:
            return -2;
          case 210:
            return -2147278848;
          case 299:
            return -2147418112;
          case 206:
          case 207:
            return -2147450880;
          case 216:
          case 238:
          case 234:
          case 355:
          case 217:
          case 108:
            return -2147483648;
          case 211:
          case 212:
            return -2147483648;
          default:
            return -2147483648;
        }
      }
      var uF = Yee();
      function _F(e) {
        return e.flags |= 16, e;
      }
      var x9e = {
        createBaseSourceFileNode: (e) => _F(uF.createBaseSourceFileNode(e)),
        createBaseIdentifierNode: (e) => _F(uF.createBaseIdentifierNode(e)),
        createBasePrivateIdentifierNode: (e) => _F(uF.createBasePrivateIdentifierNode(e)),
        createBaseTokenNode: (e) => _F(uF.createBaseTokenNode(e)),
        createBaseNode: (e) => _F(uF.createBaseNode(e))
      }, N = hN(4, x9e), Yhe;
      function Zhe(e, t, n) {
        return new (Yhe || (Yhe = Xl.getSourceMapSourceConstructor()))(e, t, n);
      }
      function xn(e, t) {
        if (e.original !== t && (e.original = t, t)) {
          const n = t.emitNode;
          n && (e.emitNode = k9e(n, e.emitNode));
        }
        return e;
      }
      function k9e(e, t) {
        const {
          flags: n,
          internalFlags: i,
          leadingComments: s,
          trailingComments: o,
          commentRange: c,
          sourceMapRange: _,
          tokenSourceMapRanges: u,
          constantValue: g,
          helpers: m,
          startsOnNewLine: h,
          snippetElement: S,
          classThis: T,
          assignedName: k
        } = e;
        if (t || (t = {}), n && (t.flags = n), i && (t.internalFlags = i & -9), s && (t.leadingComments = wn(s.slice(), t.leadingComments)), o && (t.trailingComments = wn(o.slice(), t.trailingComments)), c && (t.commentRange = c), _ && (t.sourceMapRange = _), u && (t.tokenSourceMapRanges = C9e(u, t.tokenSourceMapRanges)), g !== void 0 && (t.constantValue = g), m)
          for (const D of m)
            t.helpers = Sh(t.helpers, D);
        return h !== void 0 && (t.startsOnNewLine = h), S !== void 0 && (t.snippetElement = S), T && (t.classThis = T), k && (t.assignedName = k), t;
      }
      function C9e(e, t) {
        t || (t = []);
        for (const n in e)
          t[n] = e[n];
        return t;
      }
      function uu(e) {
        if (e.emitNode)
          E.assert(!(e.emitNode.internalFlags & 8), "Invalid attempt to mutate an immutable node.");
        else {
          if (T4(e)) {
            if (e.kind === 307)
              return e.emitNode = { annotatedNodes: [e] };
            const t = Er(ds(Er(e))) ?? E.fail("Could not determine parsed source file.");
            uu(t).annotatedNodes.push(e);
          }
          e.emitNode = {};
        }
        return e.emitNode;
      }
      function XJ(e) {
        var t, n;
        const i = (n = (t = Er(ds(e))) == null ? void 0 : t.emitNode) == null ? void 0 : n.annotatedNodes;
        if (i)
          for (const s of i)
            s.emitNode = void 0;
      }
      function vN(e) {
        const t = uu(e);
        return t.flags |= 3072, t.leadingComments = void 0, t.trailingComments = void 0, e;
      }
      function an(e, t) {
        return uu(e).flags = t, e;
      }
      function im(e, t) {
        const n = uu(e);
        return n.flags = n.flags | t, e;
      }
      function bN(e, t) {
        return uu(e).internalFlags = t, e;
      }
      function DS(e, t) {
        const n = uu(e);
        return n.internalFlags = n.internalFlags | t, e;
      }
      function E0(e) {
        var t;
        return ((t = e.emitNode) == null ? void 0 : t.sourceMapRange) ?? e;
      }
      function ha(e, t) {
        return uu(e).sourceMapRange = t, e;
      }
      function Khe(e, t) {
        var n, i;
        return (i = (n = e.emitNode) == null ? void 0 : n.tokenSourceMapRanges) == null ? void 0 : i[t];
      }
      function nte(e, t, n) {
        const i = uu(e), s = i.tokenSourceMapRanges ?? (i.tokenSourceMapRanges = []);
        return s[t] = n, e;
      }
      function xD(e) {
        var t;
        return (t = e.emitNode) == null ? void 0 : t.startsOnNewLine;
      }
      function fF(e, t) {
        return uu(e).startsOnNewLine = t, e;
      }
      function sm(e) {
        var t;
        return ((t = e.emitNode) == null ? void 0 : t.commentRange) ?? e;
      }
      function Zc(e, t) {
        return uu(e).commentRange = t, e;
      }
      function l6(e) {
        var t;
        return (t = e.emitNode) == null ? void 0 : t.leadingComments;
      }
      function rv(e, t) {
        return uu(e).leadingComments = t, e;
      }
      function Wb(e, t, n, i) {
        return rv(e, Dr(l6(e), { kind: t, pos: -1, end: -1, hasTrailingNewLine: i, text: n }));
      }
      function SN(e) {
        var t;
        return (t = e.emitNode) == null ? void 0 : t.trailingComments;
      }
      function Fx(e, t) {
        return uu(e).trailingComments = t, e;
      }
      function kD(e, t, n, i) {
        return Fx(e, Dr(SN(e), { kind: t, pos: -1, end: -1, hasTrailingNewLine: i, text: n }));
      }
      function ite(e, t) {
        rv(e, l6(t)), Fx(e, SN(t));
        const n = uu(t);
        return n.leadingComments = void 0, n.trailingComments = void 0, e;
      }
      function ste(e) {
        var t;
        return (t = e.emitNode) == null ? void 0 : t.constantValue;
      }
      function ate(e, t) {
        const n = uu(e);
        return n.constantValue = t, e;
      }
      function Ox(e, t) {
        const n = uu(e);
        return n.helpers = Dr(n.helpers, t), e;
      }
      function qg(e, t) {
        if (at(t)) {
          const n = uu(e);
          for (const i of t)
            n.helpers = Sh(n.helpers, i);
        }
        return e;
      }
      function e0e(e, t) {
        var n;
        const i = (n = e.emitNode) == null ? void 0 : n.helpers;
        return i ? i4(i, t) : !1;
      }
      function QJ(e) {
        var t;
        return (t = e.emitNode) == null ? void 0 : t.helpers;
      }
      function ote(e, t, n) {
        const i = e.emitNode, s = i && i.helpers;
        if (!at(s)) return;
        const o = uu(t);
        let c = 0;
        for (let _ = 0; _ < s.length; _++) {
          const u = s[_];
          n(u) ? (c++, o.helpers = Sh(o.helpers, u)) : c > 0 && (s[_ - c] = u);
        }
        c > 0 && (s.length -= c);
      }
      function YJ(e) {
        var t;
        return (t = e.emitNode) == null ? void 0 : t.snippetElement;
      }
      function ZJ(e, t) {
        const n = uu(e);
        return n.snippetElement = t, e;
      }
      function KJ(e) {
        return uu(e).internalFlags |= 4, e;
      }
      function cte(e, t) {
        const n = uu(e);
        return n.typeNode = t, e;
      }
      function lte(e) {
        var t;
        return (t = e.emitNode) == null ? void 0 : t.typeNode;
      }
      function D0(e, t) {
        return uu(e).identifierTypeArguments = t, e;
      }
      function wS(e) {
        var t;
        return (t = e.emitNode) == null ? void 0 : t.identifierTypeArguments;
      }
      function TN(e, t) {
        return uu(e).autoGenerate = t, e;
      }
      function t0e(e) {
        var t;
        return (t = e.emitNode) == null ? void 0 : t.autoGenerate;
      }
      function ute(e, t) {
        return uu(e).generatedImportReference = t, e;
      }
      function _te(e) {
        var t;
        return (t = e.emitNode) == null ? void 0 : t.generatedImportReference;
      }
      var fte = /* @__PURE__ */ ((e) => (e.Field = "f", e.Method = "m", e.Accessor = "a", e))(fte || {});
      function pte(e) {
        const t = e.factory, n = Au(() => bN(
          t.createTrue(),
          8
          /* Immutable */
        )), i = Au(() => bN(
          t.createFalse(),
          8
          /* Immutable */
        ));
        return {
          getUnscopedHelperName: s,
          // TypeScript Helpers
          createDecorateHelper: o,
          createMetadataHelper: c,
          createParamHelper: _,
          // ES Decorators Helpers
          createESDecorateHelper: D,
          createRunInitializersHelper: w,
          // ES2018 Helpers
          createAssignHelper: A,
          createAwaitHelper: O,
          createAsyncGeneratorHelper: F,
          createAsyncDelegatorHelper: j,
          createAsyncValuesHelper: z,
          // ES2018 Destructuring Helpers
          createRestHelper: V,
          // ES2017 Helpers
          createAwaiterHelper: G,
          // ES2015 Helpers
          createExtendsHelper: W,
          createTemplateObjectHelper: pe,
          createSpreadArrayHelper: K,
          createPropKeyHelper: U,
          createSetFunctionNameHelper: ee,
          // ES2015 Destructuring Helpers
          createValuesHelper: te,
          createReadHelper: ie,
          // ES2015 Generator Helpers
          createGeneratorHelper: fe,
          // ES Module Helpers
          createImportStarHelper: me,
          createImportStarCallbackHelper: q,
          createImportDefaultHelper: he,
          createExportStarHelper: Me,
          // Class Fields Helpers
          createClassPrivateFieldGetHelper: De,
          createClassPrivateFieldSetHelper: re,
          createClassPrivateFieldInHelper: xe,
          // 'using' helpers
          createAddDisposableResourceHelper: ue,
          createDisposeResourcesHelper: Xe,
          // --rewriteRelativeImportExtensions helpers
          createRewriteRelativeImportExtensionsHelper: nt
        };
        function s(oe) {
          return an(
            t.createIdentifier(oe),
            8196
            /* AdviseOnEmitNode */
          );
        }
        function o(oe, ve, se, Pe) {
          e.requestEmitHelper(E9e);
          const Ee = [];
          return Ee.push(t.createArrayLiteralExpression(
            oe,
            /*multiLine*/
            !0
          )), Ee.push(ve), se && (Ee.push(se), Pe && Ee.push(Pe)), t.createCallExpression(
            s("__decorate"),
            /*typeArguments*/
            void 0,
            Ee
          );
        }
        function c(oe, ve) {
          return e.requestEmitHelper(D9e), t.createCallExpression(
            s("__metadata"),
            /*typeArguments*/
            void 0,
            [
              t.createStringLiteral(oe),
              ve
            ]
          );
        }
        function _(oe, ve, se) {
          return e.requestEmitHelper(w9e), ot(
            t.createCallExpression(
              s("__param"),
              /*typeArguments*/
              void 0,
              [
                t.createNumericLiteral(ve + ""),
                oe
              ]
            ),
            se
          );
        }
        function u(oe) {
          const ve = [
            t.createPropertyAssignment(t.createIdentifier("kind"), t.createStringLiteral("class")),
            t.createPropertyAssignment(t.createIdentifier("name"), oe.name),
            t.createPropertyAssignment(t.createIdentifier("metadata"), oe.metadata)
          ];
          return t.createObjectLiteralExpression(ve);
        }
        function g(oe) {
          const ve = oe.computed ? t.createElementAccessExpression(t.createIdentifier("obj"), oe.name) : t.createPropertyAccessExpression(t.createIdentifier("obj"), oe.name);
          return t.createPropertyAssignment(
            "get",
            t.createArrowFunction(
              /*modifiers*/
              void 0,
              /*typeParameters*/
              void 0,
              [t.createParameterDeclaration(
                /*modifiers*/
                void 0,
                /*dotDotDotToken*/
                void 0,
                t.createIdentifier("obj")
              )],
              /*type*/
              void 0,
              /*equalsGreaterThanToken*/
              void 0,
              ve
            )
          );
        }
        function m(oe) {
          const ve = oe.computed ? t.createElementAccessExpression(t.createIdentifier("obj"), oe.name) : t.createPropertyAccessExpression(t.createIdentifier("obj"), oe.name);
          return t.createPropertyAssignment(
            "set",
            t.createArrowFunction(
              /*modifiers*/
              void 0,
              /*typeParameters*/
              void 0,
              [
                t.createParameterDeclaration(
                  /*modifiers*/
                  void 0,
                  /*dotDotDotToken*/
                  void 0,
                  t.createIdentifier("obj")
                ),
                t.createParameterDeclaration(
                  /*modifiers*/
                  void 0,
                  /*dotDotDotToken*/
                  void 0,
                  t.createIdentifier("value")
                )
              ],
              /*type*/
              void 0,
              /*equalsGreaterThanToken*/
              void 0,
              t.createBlock([
                t.createExpressionStatement(
                  t.createAssignment(
                    ve,
                    t.createIdentifier("value")
                  )
                )
              ])
            )
          );
        }
        function h(oe) {
          const ve = oe.computed ? oe.name : Fe(oe.name) ? t.createStringLiteralFromNode(oe.name) : oe.name;
          return t.createPropertyAssignment(
            "has",
            t.createArrowFunction(
              /*modifiers*/
              void 0,
              /*typeParameters*/
              void 0,
              [t.createParameterDeclaration(
                /*modifiers*/
                void 0,
                /*dotDotDotToken*/
                void 0,
                t.createIdentifier("obj")
              )],
              /*type*/
              void 0,
              /*equalsGreaterThanToken*/
              void 0,
              t.createBinaryExpression(
                ve,
                103,
                t.createIdentifier("obj")
              )
            )
          );
        }
        function S(oe, ve) {
          const se = [];
          return se.push(h(oe)), ve.get && se.push(g(oe)), ve.set && se.push(m(oe)), t.createObjectLiteralExpression(se);
        }
        function T(oe) {
          const ve = [
            t.createPropertyAssignment(t.createIdentifier("kind"), t.createStringLiteral(oe.kind)),
            t.createPropertyAssignment(t.createIdentifier("name"), oe.name.computed ? oe.name.name : t.createStringLiteralFromNode(oe.name.name)),
            t.createPropertyAssignment(t.createIdentifier("static"), oe.static ? t.createTrue() : t.createFalse()),
            t.createPropertyAssignment(t.createIdentifier("private"), oe.private ? t.createTrue() : t.createFalse()),
            t.createPropertyAssignment(t.createIdentifier("access"), S(oe.name, oe.access)),
            t.createPropertyAssignment(t.createIdentifier("metadata"), oe.metadata)
          ];
          return t.createObjectLiteralExpression(ve);
        }
        function k(oe) {
          return oe.kind === "class" ? u(oe) : T(oe);
        }
        function D(oe, ve, se, Pe, Ee, Ce) {
          return e.requestEmitHelper(P9e), t.createCallExpression(
            s("__esDecorate"),
            /*typeArguments*/
            void 0,
            [
              oe ?? t.createNull(),
              ve ?? t.createNull(),
              se,
              k(Pe),
              Ee,
              Ce
            ]
          );
        }
        function w(oe, ve, se) {
          return e.requestEmitHelper(N9e), t.createCallExpression(
            s("__runInitializers"),
            /*typeArguments*/
            void 0,
            se ? [oe, ve, se] : [oe, ve]
          );
        }
        function A(oe) {
          return ga(e.getCompilerOptions()) >= 2 ? t.createCallExpression(
            t.createPropertyAccessExpression(t.createIdentifier("Object"), "assign"),
            /*typeArguments*/
            void 0,
            oe
          ) : (e.requestEmitHelper(A9e), t.createCallExpression(
            s("__assign"),
            /*typeArguments*/
            void 0,
            oe
          ));
        }
        function O(oe) {
          return e.requestEmitHelper(pF), t.createCallExpression(
            s("__await"),
            /*typeArguments*/
            void 0,
            [oe]
          );
        }
        function F(oe, ve) {
          return e.requestEmitHelper(pF), e.requestEmitHelper(I9e), (oe.emitNode || (oe.emitNode = {})).flags |= 1572864, t.createCallExpression(
            s("__asyncGenerator"),
            /*typeArguments*/
            void 0,
            [
              ve ? t.createThis() : t.createVoidZero(),
              t.createIdentifier("arguments"),
              oe
            ]
          );
        }
        function j(oe) {
          return e.requestEmitHelper(pF), e.requestEmitHelper(F9e), t.createCallExpression(
            s("__asyncDelegator"),
            /*typeArguments*/
            void 0,
            [oe]
          );
        }
        function z(oe) {
          return e.requestEmitHelper(O9e), t.createCallExpression(
            s("__asyncValues"),
            /*typeArguments*/
            void 0,
            [oe]
          );
        }
        function V(oe, ve, se, Pe) {
          e.requestEmitHelper(L9e);
          const Ee = [];
          let Ce = 0;
          for (let ze = 0; ze < ve.length - 1; ze++) {
            const St = Ez(ve[ze]);
            if (St)
              if (ia(St)) {
                E.assertIsDefined(se, "Encountered computed property name but 'computedTempVariables' argument was not provided.");
                const Bt = se[Ce];
                Ce++, Ee.push(
                  t.createConditionalExpression(
                    t.createTypeCheck(Bt, "symbol"),
                    /*questionToken*/
                    void 0,
                    Bt,
                    /*colonToken*/
                    void 0,
                    t.createAdd(Bt, t.createStringLiteral(""))
                  )
                );
              } else
                Ee.push(t.createStringLiteralFromNode(St));
          }
          return t.createCallExpression(
            s("__rest"),
            /*typeArguments*/
            void 0,
            [
              oe,
              ot(
                t.createArrayLiteralExpression(Ee),
                Pe
              )
            ]
          );
        }
        function G(oe, ve, se, Pe, Ee) {
          e.requestEmitHelper(M9e);
          const Ce = t.createFunctionExpression(
            /*modifiers*/
            void 0,
            t.createToken(
              42
              /* AsteriskToken */
            ),
            /*name*/
            void 0,
            /*typeParameters*/
            void 0,
            Pe ?? [],
            /*type*/
            void 0,
            Ee
          );
          return (Ce.emitNode || (Ce.emitNode = {})).flags |= 1572864, t.createCallExpression(
            s("__awaiter"),
            /*typeArguments*/
            void 0,
            [
              oe ? t.createThis() : t.createVoidZero(),
              ve ?? t.createVoidZero(),
              se ? IN(t, se) : t.createVoidZero(),
              Ce
            ]
          );
        }
        function W(oe) {
          return e.requestEmitHelper(R9e), t.createCallExpression(
            s("__extends"),
            /*typeArguments*/
            void 0,
            [oe, t.createUniqueName(
              "_super",
              48
              /* FileLevel */
            )]
          );
        }
        function pe(oe, ve) {
          return e.requestEmitHelper(j9e), t.createCallExpression(
            s("__makeTemplateObject"),
            /*typeArguments*/
            void 0,
            [oe, ve]
          );
        }
        function K(oe, ve, se) {
          return e.requestEmitHelper(J9e), t.createCallExpression(
            s("__spreadArray"),
            /*typeArguments*/
            void 0,
            [oe, ve, se ? n() : i()]
          );
        }
        function U(oe) {
          return e.requestEmitHelper(z9e), t.createCallExpression(
            s("__propKey"),
            /*typeArguments*/
            void 0,
            [oe]
          );
        }
        function ee(oe, ve, se) {
          return e.requestEmitHelper(W9e), e.factory.createCallExpression(
            s("__setFunctionName"),
            /*typeArguments*/
            void 0,
            se ? [oe, ve, e.factory.createStringLiteral(se)] : [oe, ve]
          );
        }
        function te(oe) {
          return e.requestEmitHelper(V9e), t.createCallExpression(
            s("__values"),
            /*typeArguments*/
            void 0,
            [oe]
          );
        }
        function ie(oe, ve) {
          return e.requestEmitHelper(B9e), t.createCallExpression(
            s("__read"),
            /*typeArguments*/
            void 0,
            ve !== void 0 ? [oe, t.createNumericLiteral(ve + "")] : [oe]
          );
        }
        function fe(oe) {
          return e.requestEmitHelper(U9e), t.createCallExpression(
            s("__generator"),
            /*typeArguments*/
            void 0,
            [t.createThis(), oe]
          );
        }
        function me(oe) {
          return e.requestEmitHelper(n0e), t.createCallExpression(
            s("__importStar"),
            /*typeArguments*/
            void 0,
            [oe]
          );
        }
        function q() {
          return e.requestEmitHelper(n0e), s("__importStar");
        }
        function he(oe) {
          return e.requestEmitHelper(H9e), t.createCallExpression(
            s("__importDefault"),
            /*typeArguments*/
            void 0,
            [oe]
          );
        }
        function Me(oe, ve = t.createIdentifier("exports")) {
          return e.requestEmitHelper(G9e), e.requestEmitHelper(mte), t.createCallExpression(
            s("__exportStar"),
            /*typeArguments*/
            void 0,
            [oe, ve]
          );
        }
        function De(oe, ve, se, Pe) {
          e.requestEmitHelper($9e);
          let Ee;
          return Pe ? Ee = [oe, ve, t.createStringLiteral(se), Pe] : Ee = [oe, ve, t.createStringLiteral(se)], t.createCallExpression(
            s("__classPrivateFieldGet"),
            /*typeArguments*/
            void 0,
            Ee
          );
        }
        function re(oe, ve, se, Pe, Ee) {
          e.requestEmitHelper(X9e);
          let Ce;
          return Ee ? Ce = [oe, ve, se, t.createStringLiteral(Pe), Ee] : Ce = [oe, ve, se, t.createStringLiteral(Pe)], t.createCallExpression(
            s("__classPrivateFieldSet"),
            /*typeArguments*/
            void 0,
            Ce
          );
        }
        function xe(oe, ve) {
          return e.requestEmitHelper(Q9e), t.createCallExpression(
            s("__classPrivateFieldIn"),
            /*typeArguments*/
            void 0,
            [oe, ve]
          );
        }
        function ue(oe, ve, se) {
          return e.requestEmitHelper(Y9e), t.createCallExpression(
            s("__addDisposableResource"),
            /*typeArguments*/
            void 0,
            [oe, ve, se ? t.createTrue() : t.createFalse()]
          );
        }
        function Xe(oe) {
          return e.requestEmitHelper(Z9e), t.createCallExpression(
            s("__disposeResources"),
            /*typeArguments*/
            void 0,
            [oe]
          );
        }
        function nt(oe) {
          return e.requestEmitHelper(K9e), t.createCallExpression(
            s("__rewriteRelativeImportExtension"),
            /*typeArguments*/
            void 0,
            e.getCompilerOptions().jsx === 1 ? [oe, t.createTrue()] : [oe]
          );
        }
      }
      function dte(e, t) {
        return e === t || e.priority === t.priority ? 0 : e.priority === void 0 ? 1 : t.priority === void 0 ? -1 : go(e.priority, t.priority);
      }
      function r0e(e, ...t) {
        return (n) => {
          let i = "";
          for (let s = 0; s < t.length; s++)
            i += e[s], i += n(t[s]);
          return i += e[e.length - 1], i;
        };
      }
      var E9e = {
        name: "typescript:decorate",
        importName: "__decorate",
        scoped: !1,
        priority: 2,
        text: `
            var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
                var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
                if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
                else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
                return c > 3 && r && Object.defineProperty(target, key, r), r;
            };`
      }, D9e = {
        name: "typescript:metadata",
        importName: "__metadata",
        scoped: !1,
        priority: 3,
        text: `
            var __metadata = (this && this.__metadata) || function (k, v) {
                if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
            };`
      }, w9e = {
        name: "typescript:param",
        importName: "__param",
        scoped: !1,
        priority: 4,
        text: `
            var __param = (this && this.__param) || function (paramIndex, decorator) {
                return function (target, key) { decorator(target, key, paramIndex); }
            };`
      }, P9e = {
        name: "typescript:esDecorate",
        importName: "__esDecorate",
        scoped: !1,
        priority: 2,
        text: `
        var __esDecorate = (this && this.__esDecorate) || function (ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {
            function accept(f) { if (f !== void 0 && typeof f !== "function") throw new TypeError("Function expected"); return f; }
            var kind = contextIn.kind, key = kind === "getter" ? "get" : kind === "setter" ? "set" : "value";
            var target = !descriptorIn && ctor ? contextIn["static"] ? ctor : ctor.prototype : null;
            var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});
            var _, done = false;
            for (var i = decorators.length - 1; i >= 0; i--) {
                var context = {};
                for (var p in contextIn) context[p] = p === "access" ? {} : contextIn[p];
                for (var p in contextIn.access) context.access[p] = contextIn.access[p];
                context.addInitializer = function (f) { if (done) throw new TypeError("Cannot add initializers after decoration has completed"); extraInitializers.push(accept(f || null)); };
                var result = (0, decorators[i])(kind === "accessor" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);
                if (kind === "accessor") {
                    if (result === void 0) continue;
                    if (result === null || typeof result !== "object") throw new TypeError("Object expected");
                    if (_ = accept(result.get)) descriptor.get = _;
                    if (_ = accept(result.set)) descriptor.set = _;
                    if (_ = accept(result.init)) initializers.unshift(_);
                }
                else if (_ = accept(result)) {
                    if (kind === "field") initializers.unshift(_);
                    else descriptor[key] = _;
                }
            }
            if (target) Object.defineProperty(target, contextIn.name, descriptor);
            done = true;
        };`
      }, N9e = {
        name: "typescript:runInitializers",
        importName: "__runInitializers",
        scoped: !1,
        priority: 2,
        text: `
        var __runInitializers = (this && this.__runInitializers) || function (thisArg, initializers, value) {
            var useValue = arguments.length > 2;
            for (var i = 0; i < initializers.length; i++) {
                value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);
            }
            return useValue ? value : void 0;
        };`
      }, A9e = {
        name: "typescript:assign",
        importName: "__assign",
        scoped: !1,
        priority: 1,
        text: `
            var __assign = (this && this.__assign) || function () {
                __assign = Object.assign || function(t) {
                    for (var s, i = 1, n = arguments.length; i < n; i++) {
                        s = arguments[i];
                        for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
                            t[p] = s[p];
                    }
                    return t;
                };
                return __assign.apply(this, arguments);
            };`
      }, pF = {
        name: "typescript:await",
        importName: "__await",
        scoped: !1,
        text: `
            var __await = (this && this.__await) || function (v) { return this instanceof __await ? (this.v = v, this) : new __await(v); }`
      }, I9e = {
        name: "typescript:asyncGenerator",
        importName: "__asyncGenerator",
        scoped: !1,
        dependencies: [pF],
        text: `
        var __asyncGenerator = (this && this.__asyncGenerator) || function (thisArg, _arguments, generator) {
            if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined.");
            var g = generator.apply(thisArg, _arguments || []), i, q = [];
            return i = Object.create((typeof AsyncIterator === "function" ? AsyncIterator : Object).prototype), verb("next"), verb("throw"), verb("return", awaitReturn), i[Symbol.asyncIterator] = function () { return this; }, i;
            function awaitReturn(f) { return function (v) { return Promise.resolve(v).then(f, reject); }; }
            function verb(n, f) { if (g[n]) { i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; if (f) i[n] = f(i[n]); } }
            function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }
            function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }
            function fulfill(value) { resume("next", value); }
            function reject(value) { resume("throw", value); }
            function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }
        };`
      }, F9e = {
        name: "typescript:asyncDelegator",
        importName: "__asyncDelegator",
        scoped: !1,
        dependencies: [pF],
        text: `
            var __asyncDelegator = (this && this.__asyncDelegator) || function (o) {
                var i, p;
                return i = {}, verb("next"), verb("throw", function (e) { throw e; }), verb("return"), i[Symbol.iterator] = function () { return this; }, i;
                function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: false } : f ? f(v) : v; } : f; }
            };`
      }, O9e = {
        name: "typescript:asyncValues",
        importName: "__asyncValues",
        scoped: !1,
        text: `
            var __asyncValues = (this && this.__asyncValues) || function (o) {
                if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined.");
                var m = o[Symbol.asyncIterator], i;
                return m ? m.call(o) : (o = typeof __values === "function" ? __values(o) : o[Symbol.iterator](), i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i);
                function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }
                function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }
            };`
      }, L9e = {
        name: "typescript:rest",
        importName: "__rest",
        scoped: !1,
        text: `
            var __rest = (this && this.__rest) || function (s, e) {
                var t = {};
                for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
                    t[p] = s[p];
                if (s != null && typeof Object.getOwnPropertySymbols === "function")
                    for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
                        if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
                            t[p[i]] = s[p[i]];
                    }
                return t;
            };`
      }, M9e = {
        name: "typescript:awaiter",
        importName: "__awaiter",
        scoped: !1,
        priority: 5,
        text: `
            var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
                function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
                return new (P || (P = Promise))(function (resolve, reject) {
                    function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
                    function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
                    function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
                    step((generator = generator.apply(thisArg, _arguments || [])).next());
                });
            };`
      }, R9e = {
        name: "typescript:extends",
        importName: "__extends",
        scoped: !1,
        priority: 0,
        text: `
            var __extends = (this && this.__extends) || (function () {
                var extendStatics = function (d, b) {
                    extendStatics = Object.setPrototypeOf ||
                        ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
                        function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
                    return extendStatics(d, b);
                };

                return function (d, b) {
                    if (typeof b !== "function" && b !== null)
                        throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
                    extendStatics(d, b);
                    function __() { this.constructor = d; }
                    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
                };
            })();`
      }, j9e = {
        name: "typescript:makeTemplateObject",
        importName: "__makeTemplateObject",
        scoped: !1,
        priority: 0,
        text: `
            var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {
                if (Object.defineProperty) { Object.defineProperty(cooked, "raw", { value: raw }); } else { cooked.raw = raw; }
                return cooked;
            };`
      }, B9e = {
        name: "typescript:read",
        importName: "__read",
        scoped: !1,
        text: `
            var __read = (this && this.__read) || function (o, n) {
                var m = typeof Symbol === "function" && o[Symbol.iterator];
                if (!m) return o;
                var i = m.call(o), r, ar = [], e;
                try {
                    while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
                }
                catch (error) { e = { error: error }; }
                finally {
                    try {
                        if (r && !r.done && (m = i["return"])) m.call(i);
                    }
                    finally { if (e) throw e.error; }
                }
                return ar;
            };`
      }, J9e = {
        name: "typescript:spreadArray",
        importName: "__spreadArray",
        scoped: !1,
        text: `
            var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
                if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
                    if (ar || !(i in from)) {
                        if (!ar) ar = Array.prototype.slice.call(from, 0, i);
                        ar[i] = from[i];
                    }
                }
                return to.concat(ar || Array.prototype.slice.call(from));
            };`
      }, z9e = {
        name: "typescript:propKey",
        importName: "__propKey",
        scoped: !1,
        text: `
        var __propKey = (this && this.__propKey) || function (x) {
            return typeof x === "symbol" ? x : "".concat(x);
        };`
      }, W9e = {
        name: "typescript:setFunctionName",
        importName: "__setFunctionName",
        scoped: !1,
        text: `
        var __setFunctionName = (this && this.__setFunctionName) || function (f, name, prefix) {
            if (typeof name === "symbol") name = name.description ? "[".concat(name.description, "]") : "";
            return Object.defineProperty(f, "name", { configurable: true, value: prefix ? "".concat(prefix, " ", name) : name });
        };`
      }, V9e = {
        name: "typescript:values",
        importName: "__values",
        scoped: !1,
        text: `
            var __values = (this && this.__values) || function(o) {
                var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
                if (m) return m.call(o);
                if (o && typeof o.length === "number") return {
                    next: function () {
                        if (o && i >= o.length) o = void 0;
                        return { value: o && o[i++], done: !o };
                    }
                };
                throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
            };`
      }, U9e = {
        name: "typescript:generator",
        importName: "__generator",
        scoped: !1,
        priority: 6,
        text: `
            var __generator = (this && this.__generator) || function (thisArg, body) {
                var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === "function" ? Iterator : Object).prototype);
                return g.next = verb(0), g["throw"] = verb(1), g["return"] = verb(2), typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
                function verb(n) { return function (v) { return step([n, v]); }; }
                function step(op) {
                    if (f) throw new TypeError("Generator is already executing.");
                    while (g && (g = 0, op[0] && (_ = 0)), _) try {
                        if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
                        if (y = 0, t) op = [op[0] & 2, t.value];
                        switch (op[0]) {
                            case 0: case 1: t = op; break;
                            case 4: _.label++; return { value: op[1], done: false };
                            case 5: _.label++; y = op[1]; op = [0]; continue;
                            case 7: op = _.ops.pop(); _.trys.pop(); continue;
                            default:
                                if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
                                if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
                                if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
                                if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
                                if (t[2]) _.ops.pop();
                                _.trys.pop(); continue;
                        }
                        op = body.call(thisArg, _);
                    } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
                    if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
                }
            };`
      }, mte = {
        name: "typescript:commonjscreatebinding",
        importName: "__createBinding",
        scoped: !1,
        priority: 1,
        text: `
            var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
                if (k2 === undefined) k2 = k;
                var desc = Object.getOwnPropertyDescriptor(m, k);
                if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
                  desc = { enumerable: true, get: function() { return m[k]; } };
                }
                Object.defineProperty(o, k2, desc);
            }) : (function(o, m, k, k2) {
                if (k2 === undefined) k2 = k;
                o[k2] = m[k];
            }));`
      }, q9e = {
        name: "typescript:commonjscreatevalue",
        importName: "__setModuleDefault",
        scoped: !1,
        priority: 1,
        text: `
            var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
                Object.defineProperty(o, "default", { enumerable: true, value: v });
            }) : function(o, v) {
                o["default"] = v;
            });`
      }, n0e = {
        name: "typescript:commonjsimportstar",
        importName: "__importStar",
        scoped: !1,
        dependencies: [mte, q9e],
        priority: 2,
        text: `
            var __importStar = (this && this.__importStar) || (function () {
                var ownKeys = function(o) {
                    ownKeys = Object.getOwnPropertyNames || function (o) {
                        var ar = [];
                        for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
                        return ar;
                    };
                    return ownKeys(o);
                };
                return function (mod) {
                    if (mod && mod.__esModule) return mod;
                    var result = {};
                    if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
                    __setModuleDefault(result, mod);
                    return result;
                };
            })();`
      }, H9e = {
        name: "typescript:commonjsimportdefault",
        importName: "__importDefault",
        scoped: !1,
        text: `
            var __importDefault = (this && this.__importDefault) || function (mod) {
                return (mod && mod.__esModule) ? mod : { "default": mod };
            };`
      }, G9e = {
        name: "typescript:export-star",
        importName: "__exportStar",
        scoped: !1,
        dependencies: [mte],
        priority: 2,
        text: `
            var __exportStar = (this && this.__exportStar) || function(m, exports) {
                for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
            };`
      }, $9e = {
        name: "typescript:classPrivateFieldGet",
        importName: "__classPrivateFieldGet",
        scoped: !1,
        text: `
            var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
                if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
                if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
                return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
            };`
      }, X9e = {
        name: "typescript:classPrivateFieldSet",
        importName: "__classPrivateFieldSet",
        scoped: !1,
        text: `
            var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
                if (kind === "m") throw new TypeError("Private method is not writable");
                if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
                if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
                return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
            };`
      }, Q9e = {
        name: "typescript:classPrivateFieldIn",
        importName: "__classPrivateFieldIn",
        scoped: !1,
        text: `
            var __classPrivateFieldIn = (this && this.__classPrivateFieldIn) || function(state, receiver) {
                if (receiver === null || (typeof receiver !== "object" && typeof receiver !== "function")) throw new TypeError("Cannot use 'in' operator on non-object");
                return typeof state === "function" ? receiver === state : state.has(receiver);
            };`
      }, Y9e = {
        name: "typescript:addDisposableResource",
        importName: "__addDisposableResource",
        scoped: !1,
        text: `
        var __addDisposableResource = (this && this.__addDisposableResource) || function (env, value, async) {
            if (value !== null && value !== void 0) {
                if (typeof value !== "object" && typeof value !== "function") throw new TypeError("Object expected.");
                var dispose, inner;
                if (async) {
                    if (!Symbol.asyncDispose) throw new TypeError("Symbol.asyncDispose is not defined.");
                    dispose = value[Symbol.asyncDispose];
                }
                if (dispose === void 0) {
                    if (!Symbol.dispose) throw new TypeError("Symbol.dispose is not defined.");
                    dispose = value[Symbol.dispose];
                    if (async) inner = dispose;
                }
                if (typeof dispose !== "function") throw new TypeError("Object not disposable.");
                if (inner) dispose = function() { try { inner.call(this); } catch (e) { return Promise.reject(e); } };
                env.stack.push({ value: value, dispose: dispose, async: async });
            }
            else if (async) {
                env.stack.push({ async: true });
            }
            return value;
        };`
      }, Z9e = {
        name: "typescript:disposeResources",
        importName: "__disposeResources",
        scoped: !1,
        text: `
        var __disposeResources = (this && this.__disposeResources) || (function (SuppressedError) {
            return function (env) {
                function fail(e) {
                    env.error = env.hasError ? new SuppressedError(e, env.error, "An error was suppressed during disposal.") : e;
                    env.hasError = true;
                }
                var r, s = 0;
                function next() {
                    while (r = env.stack.pop()) {
                        try {
                            if (!r.async && s === 1) return s = 0, env.stack.push(r), Promise.resolve().then(next);
                            if (r.dispose) {
                                var result = r.dispose.call(r.value);
                                if (r.async) return s |= 2, Promise.resolve(result).then(next, function(e) { fail(e); return next(); });
                            }
                            else s |= 1;
                        }
                        catch (e) {
                            fail(e);
                        }
                    }
                    if (s === 1) return env.hasError ? Promise.reject(env.error) : Promise.resolve();
                    if (env.hasError) throw env.error;
                }
                return next();
            };
        })(typeof SuppressedError === "function" ? SuppressedError : function (error, suppressed, message) {
            var e = new Error(message);
            return e.name = "SuppressedError", e.error = error, e.suppressed = suppressed, e;
        });`
      }, K9e = {
        name: "typescript:rewriteRelativeImportExtensions",
        importName: "__rewriteRelativeImportExtension",
        scoped: !1,
        text: `
        var __rewriteRelativeImportExtension = (this && this.__rewriteRelativeImportExtension) || function (path, preserveJsx) {
            if (typeof path === "string" && /^\\.\\.?\\//.test(path)) {
                return path.replace(/\\.(tsx)$|((?:\\.d)?)((?:\\.[^./]+?)?)\\.([cm]?)ts$/i, function (m, tsx, d, ext, cm) {
                    return tsx ? preserveJsx ? ".jsx" : ".js" : d && (!ext || !cm) ? m : (d + ext + "." + cm.toLowerCase() + "js");
                });
            }
            return path;
        };`
      }, dF = {
        name: "typescript:async-super",
        scoped: !0,
        text: r0e`
            const ${"_superIndex"} = name => super[name];`
      }, mF = {
        name: "typescript:advanced-async-super",
        scoped: !0,
        text: r0e`
            const ${"_superIndex"} = (function (geti, seti) {
                const cache = Object.create(null);
                return name => cache[name] || (cache[name] = { get value() { return geti(name); }, set value(v) { seti(name, v); } });
            })(name => super[name], (name, value) => super[name] = value);`
      };
      function CD(e, t) {
        return Ms(e) && Fe(e.expression) && (ka(e.expression) & 8192) !== 0 && e.expression.escapedText === t;
      }
      function m_(e) {
        return e.kind === 9;
      }
      function ED(e) {
        return e.kind === 10;
      }
      function la(e) {
        return e.kind === 11;
      }
      function Lx(e) {
        return e.kind === 12;
      }
      function ez(e) {
        return e.kind === 14;
      }
      function PS(e) {
        return e.kind === 15;
      }
      function Mx(e) {
        return e.kind === 16;
      }
      function tz(e) {
        return e.kind === 17;
      }
      function gF(e) {
        return e.kind === 18;
      }
      function hF(e) {
        return e.kind === 26;
      }
      function gte(e) {
        return e.kind === 28;
      }
      function rz(e) {
        return e.kind === 40;
      }
      function nz(e) {
        return e.kind === 41;
      }
      function xN(e) {
        return e.kind === 42;
      }
      function kN(e) {
        return e.kind === 54;
      }
      function t1(e) {
        return e.kind === 58;
      }
      function hte(e) {
        return e.kind === 59;
      }
      function yF(e) {
        return e.kind === 29;
      }
      function yte(e) {
        return e.kind === 39;
      }
      function Fe(e) {
        return e.kind === 80;
      }
      function Di(e) {
        return e.kind === 81;
      }
      function Rx(e) {
        return e.kind === 95;
      }
      function vF(e) {
        return e.kind === 90;
      }
      function DD(e) {
        return e.kind === 134;
      }
      function vte(e) {
        return e.kind === 131;
      }
      function iz(e) {
        return e.kind === 135;
      }
      function bte(e) {
        return e.kind === 148;
      }
      function jx(e) {
        return e.kind === 126;
      }
      function Ste(e) {
        return e.kind === 128;
      }
      function Tte(e) {
        return e.kind === 164;
      }
      function xte(e) {
        return e.kind === 129;
      }
      function wD(e) {
        return e.kind === 108;
      }
      function PD(e) {
        return e.kind === 102;
      }
      function kte(e) {
        return e.kind === 84;
      }
      function Qu(e) {
        return e.kind === 166;
      }
      function ia(e) {
        return e.kind === 167;
      }
      function Fo(e) {
        return e.kind === 168;
      }
      function Ni(e) {
        return e.kind === 169;
      }
      function yl(e) {
        return e.kind === 170;
      }
      function ju(e) {
        return e.kind === 171;
      }
      function is(e) {
        return e.kind === 172;
      }
      function Xp(e) {
        return e.kind === 173;
      }
      function uc(e) {
        return e.kind === 174;
      }
      function hc(e) {
        return e.kind === 175;
      }
      function Xo(e) {
        return e.kind === 176;
      }
      function ap(e) {
        return e.kind === 177;
      }
      function P_(e) {
        return e.kind === 178;
      }
      function Bx(e) {
        return e.kind === 179;
      }
      function CN(e) {
        return e.kind === 180;
      }
      function r1(e) {
        return e.kind === 181;
      }
      function Jx(e) {
        return e.kind === 182;
      }
      function X_(e) {
        return e.kind === 183;
      }
      function Ym(e) {
        return e.kind === 184;
      }
      function u6(e) {
        return e.kind === 185;
      }
      function Vb(e) {
        return e.kind === 186;
      }
      function Yu(e) {
        return e.kind === 187;
      }
      function EN(e) {
        return e.kind === 188;
      }
      function zx(e) {
        return e.kind === 189;
      }
      function _6(e) {
        return e.kind === 202;
      }
      function bF(e) {
        return e.kind === 190;
      }
      function SF(e) {
        return e.kind === 191;
      }
      function w0(e) {
        return e.kind === 192;
      }
      function Wx(e) {
        return e.kind === 193;
      }
      function Ub(e) {
        return e.kind === 194;
      }
      function NS(e) {
        return e.kind === 195;
      }
      function AS(e) {
        return e.kind === 196;
      }
      function ND(e) {
        return e.kind === 197;
      }
      function nv(e) {
        return e.kind === 198;
      }
      function qb(e) {
        return e.kind === 199;
      }
      function IS(e) {
        return e.kind === 200;
      }
      function P0(e) {
        return e.kind === 201;
      }
      function am(e) {
        return e.kind === 205;
      }
      function sz(e) {
        return e.kind === 204;
      }
      function Cte(e) {
        return e.kind === 203;
      }
      function Nf(e) {
        return e.kind === 206;
      }
      function N0(e) {
        return e.kind === 207;
      }
      function ya(e) {
        return e.kind === 208;
      }
      function Ql(e) {
        return e.kind === 209;
      }
      function ua(e) {
        return e.kind === 210;
      }
      function kn(e) {
        return e.kind === 211;
      }
      function fo(e) {
        return e.kind === 212;
      }
      function Ms(e) {
        return e.kind === 213;
      }
      function Hb(e) {
        return e.kind === 214;
      }
      function iv(e) {
        return e.kind === 215;
      }
      function TF(e) {
        return e.kind === 216;
      }
      function Zu(e) {
        return e.kind === 217;
      }
      function ho(e) {
        return e.kind === 218;
      }
      function Co(e) {
        return e.kind === 219;
      }
      function Ete(e) {
        return e.kind === 220;
      }
      function f6(e) {
        return e.kind === 221;
      }
      function Vx(e) {
        return e.kind === 222;
      }
      function n1(e) {
        return e.kind === 223;
      }
      function sv(e) {
        return e.kind === 224;
      }
      function az(e) {
        return e.kind === 225;
      }
      function _n(e) {
        return e.kind === 226;
      }
      function FS(e) {
        return e.kind === 227;
      }
      function xF(e) {
        return e.kind === 228;
      }
      function DN(e) {
        return e.kind === 229;
      }
      function op(e) {
        return e.kind === 230;
      }
      function Kc(e) {
        return e.kind === 231;
      }
      function vl(e) {
        return e.kind === 232;
      }
      function Lh(e) {
        return e.kind === 233;
      }
      function p6(e) {
        return e.kind === 234;
      }
      function d6(e) {
        return e.kind === 238;
      }
      function Ux(e) {
        return e.kind === 235;
      }
      function AD(e) {
        return e.kind === 236;
      }
      function i0e(e) {
        return e.kind === 237;
      }
      function Dte(e) {
        return e.kind === 355;
      }
      function ID(e) {
        return e.kind === 356;
      }
      function m6(e) {
        return e.kind === 239;
      }
      function wte(e) {
        return e.kind === 240;
      }
      function Cs(e) {
        return e.kind === 241;
      }
      function Sc(e) {
        return e.kind === 243;
      }
      function oz(e) {
        return e.kind === 242;
      }
      function Pl(e) {
        return e.kind === 244;
      }
      function av(e) {
        return e.kind === 245;
      }
      function s0e(e) {
        return e.kind === 246;
      }
      function cz(e) {
        return e.kind === 247;
      }
      function ov(e) {
        return e.kind === 248;
      }
      function kF(e) {
        return e.kind === 249;
      }
      function wN(e) {
        return e.kind === 250;
      }
      function a0e(e) {
        return e.kind === 251;
      }
      function o0e(e) {
        return e.kind === 252;
      }
      function gf(e) {
        return e.kind === 253;
      }
      function Pte(e) {
        return e.kind === 254;
      }
      function FD(e) {
        return e.kind === 255;
      }
      function i1(e) {
        return e.kind === 256;
      }
      function lz(e) {
        return e.kind === 257;
      }
      function OS(e) {
        return e.kind === 258;
      }
      function c0e(e) {
        return e.kind === 259;
      }
      function Zn(e) {
        return e.kind === 260;
      }
      function zl(e) {
        return e.kind === 261;
      }
      function Tc(e) {
        return e.kind === 262;
      }
      function el(e) {
        return e.kind === 263;
      }
      function Yl(e) {
        return e.kind === 264;
      }
      function Ap(e) {
        return e.kind === 265;
      }
      function Gb(e) {
        return e.kind === 266;
      }
      function zc(e) {
        return e.kind === 267;
      }
      function om(e) {
        return e.kind === 268;
      }
      function OD(e) {
        return e.kind === 269;
      }
      function PN(e) {
        return e.kind === 270;
      }
      function bl(e) {
        return e.kind === 271;
      }
      function Uo(e) {
        return e.kind === 272;
      }
      function Qp(e) {
        return e.kind === 273;
      }
      function l0e(e) {
        return e.kind === 302;
      }
      function Nte(e) {
        return e.kind === 300;
      }
      function u0e(e) {
        return e.kind === 301;
      }
      function LS(e) {
        return e.kind === 300;
      }
      function Ate(e) {
        return e.kind === 301;
      }
      function Hg(e) {
        return e.kind === 274;
      }
      function Zm(e) {
        return e.kind === 280;
      }
      function cm(e) {
        return e.kind === 275;
      }
      function Bu(e) {
        return e.kind === 276;
      }
      function Oo(e) {
        return e.kind === 277;
      }
      function Oc(e) {
        return e.kind === 278;
      }
      function cp(e) {
        return e.kind === 279;
      }
      function bu(e) {
        return e.kind === 281;
      }
      function CF(e) {
        return e.kind === 80 || e.kind === 11;
      }
      function _0e(e) {
        return e.kind === 282;
      }
      function Ite(e) {
        return e.kind === 353;
      }
      function qx(e) {
        return e.kind === 357;
      }
      function Mh(e) {
        return e.kind === 283;
      }
      function lm(e) {
        return e.kind === 284;
      }
      function MS(e) {
        return e.kind === 285;
      }
      function yd(e) {
        return e.kind === 286;
      }
      function $b(e) {
        return e.kind === 287;
      }
      function cv(e) {
        return e.kind === 288;
      }
      function Yp(e) {
        return e.kind === 289;
      }
      function Fte(e) {
        return e.kind === 290;
      }
      function um(e) {
        return e.kind === 291;
      }
      function Xb(e) {
        return e.kind === 292;
      }
      function Hx(e) {
        return e.kind === 293;
      }
      function g6(e) {
        return e.kind === 294;
      }
      function vd(e) {
        return e.kind === 295;
      }
      function h6(e) {
        return e.kind === 296;
      }
      function LD(e) {
        return e.kind === 297;
      }
      function Q_(e) {
        return e.kind === 298;
      }
      function Qb(e) {
        return e.kind === 299;
      }
      function tl(e) {
        return e.kind === 303;
      }
      function _u(e) {
        return e.kind === 304;
      }
      function Gg(e) {
        return e.kind === 305;
      }
      function A0(e) {
        return e.kind === 306;
      }
      function xi(e) {
        return e.kind === 307;
      }
      function Ote(e) {
        return e.kind === 308;
      }
      function lv(e) {
        return e.kind === 309;
      }
      function MD(e) {
        return e.kind === 310;
      }
      function uv(e) {
        return e.kind === 311;
      }
      function Lte(e) {
        return e.kind === 324;
      }
      function Mte(e) {
        return e.kind === 325;
      }
      function f0e(e) {
        return e.kind === 326;
      }
      function Rte(e) {
        return e.kind === 312;
      }
      function jte(e) {
        return e.kind === 313;
      }
      function y6(e) {
        return e.kind === 314;
      }
      function EF(e) {
        return e.kind === 315;
      }
      function uz(e) {
        return e.kind === 316;
      }
      function v6(e) {
        return e.kind === 317;
      }
      function DF(e) {
        return e.kind === 318;
      }
      function p0e(e) {
        return e.kind === 319;
      }
      function bd(e) {
        return e.kind === 320;
      }
      function RS(e) {
        return e.kind === 322;
      }
      function I0(e) {
        return e.kind === 323;
      }
      function Gx(e) {
        return e.kind === 328;
      }
      function d0e(e) {
        return e.kind === 330;
      }
      function Bte(e) {
        return e.kind === 332;
      }
      function _z(e) {
        return e.kind === 338;
      }
      function fz(e) {
        return e.kind === 333;
      }
      function pz(e) {
        return e.kind === 334;
      }
      function dz(e) {
        return e.kind === 335;
      }
      function mz(e) {
        return e.kind === 336;
      }
      function wF(e) {
        return e.kind === 337;
      }
      function b6(e) {
        return e.kind === 339;
      }
      function gz(e) {
        return e.kind === 331;
      }
      function m0e(e) {
        return e.kind === 347;
      }
      function NN(e) {
        return e.kind === 340;
      }
      function Af(e) {
        return e.kind === 341;
      }
      function PF(e) {
        return e.kind === 342;
      }
      function hz(e) {
        return e.kind === 343;
      }
      function RD(e) {
        return e.kind === 344;
      }
      function Ip(e) {
        return e.kind === 345;
      }
      function jS(e) {
        return e.kind === 346;
      }
      function g0e(e) {
        return e.kind === 327;
      }
      function Jte(e) {
        return e.kind === 348;
      }
      function NF(e) {
        return e.kind === 329;
      }
      function AF(e) {
        return e.kind === 350;
      }
      function h0e(e) {
        return e.kind === 349;
      }
      function _m(e) {
        return e.kind === 351;
      }
      function S6(e) {
        return e.kind === 352;
      }
      var jD = /* @__PURE__ */ new WeakMap();
      function yz(e, t) {
        var n;
        const i = e.kind;
        return y7(i) ? i === 352 ? e._children : (n = jD.get(t)) == null ? void 0 : n.get(e) : Ue;
      }
      function zte(e, t, n) {
        e.kind === 352 && E.fail("Should not need to re-set the children of a SyntaxList.");
        let i = jD.get(t);
        return i === void 0 && (i = /* @__PURE__ */ new WeakMap(), jD.set(t, i)), i.set(e, n), n;
      }
      function vz(e, t) {
        var n;
        e.kind === 352 && E.fail("Did not expect to unset the children of a SyntaxList."), (n = jD.get(t)) == null || n.delete(e);
      }
      function Wte(e, t) {
        const n = jD.get(e);
        n !== void 0 && (jD.delete(e), jD.set(t, n));
      }
      function AN(e) {
        return e.createExportDeclaration(
          /*modifiers*/
          void 0,
          /*isTypeOnly*/
          !1,
          e.createNamedExports([]),
          /*moduleSpecifier*/
          void 0
        );
      }
      function BS(e, t, n, i) {
        if (ia(n))
          return ot(e.createElementAccessExpression(t, n.expression), i);
        {
          const s = ot(
            Ng(n) ? e.createPropertyAccessExpression(t, n) : e.createElementAccessExpression(t, n),
            n
          );
          return im(
            s,
            128
            /* NoNestedSourceMaps */
          ), s;
        }
      }
      function Vte(e, t) {
        const n = fv.createIdentifier(e || "React");
        return Wa(n, ds(t)), n;
      }
      function Ute(e, t, n) {
        if (Qu(t)) {
          const i = Ute(e, t.left, n), s = e.createIdentifier(Pn(t.right));
          return s.escapedText = t.right.escapedText, e.createPropertyAccessExpression(i, s);
        } else
          return Vte(Pn(t), n);
      }
      function bz(e, t, n, i) {
        return t ? Ute(e, t, i) : e.createPropertyAccessExpression(
          Vte(n, i),
          "createElement"
        );
      }
      function eLe(e, t, n, i) {
        return t ? Ute(e, t, i) : e.createPropertyAccessExpression(
          Vte(n, i),
          "Fragment"
        );
      }
      function qte(e, t, n, i, s, o) {
        const c = [n];
        if (i && c.push(i), s && s.length > 0)
          if (i || c.push(e.createNull()), s.length > 1)
            for (const _ of s)
              Su(_), c.push(_);
          else
            c.push(s[0]);
        return ot(
          e.createCallExpression(
            t,
            /*typeArguments*/
            void 0,
            c
          ),
          o
        );
      }
      function Hte(e, t, n, i, s, o, c) {
        const u = [eLe(e, n, i, o), e.createNull()];
        if (s && s.length > 0)
          if (s.length > 1)
            for (const g of s)
              Su(g), u.push(g);
          else
            u.push(s[0]);
        return ot(
          e.createCallExpression(
            bz(e, t, i, o),
            /*typeArguments*/
            void 0,
            u
          ),
          c
        );
      }
      function Sz(e, t, n) {
        if (zl(t)) {
          const i = xa(t.declarations), s = e.updateVariableDeclaration(
            i,
            i.name,
            /*exclamationToken*/
            void 0,
            /*type*/
            void 0,
            n
          );
          return ot(
            e.createVariableStatement(
              /*modifiers*/
              void 0,
              e.updateVariableDeclarationList(t, [s])
            ),
            /*location*/
            t
          );
        } else {
          const i = ot(
            e.createAssignment(t, n),
            /*location*/
            t
          );
          return ot(
            e.createExpressionStatement(i),
            /*location*/
            t
          );
        }
      }
      function IN(e, t) {
        if (Qu(t)) {
          const n = IN(e, t.left), i = Wa(ot(e.cloneNode(t.right), t.right), t.right.parent);
          return ot(e.createPropertyAccessExpression(n, i), t);
        } else
          return Wa(ot(e.cloneNode(t), t), t.parent);
      }
      function Tz(e, t) {
        return Fe(t) ? e.createStringLiteralFromNode(t) : ia(t) ? Wa(ot(e.cloneNode(t.expression), t.expression), t.expression.parent) : Wa(ot(e.cloneNode(t), t), t.parent);
      }
      function tLe(e, t, n, i, s) {
        const { firstAccessor: o, getAccessor: c, setAccessor: _ } = Mb(t, n);
        if (n === o)
          return ot(
            e.createObjectDefinePropertyCall(
              i,
              Tz(e, n.name),
              e.createPropertyDescriptor({
                enumerable: e.createFalse(),
                configurable: !0,
                get: c && ot(
                  xn(
                    e.createFunctionExpression(
                      yb(c),
                      /*asteriskToken*/
                      void 0,
                      /*name*/
                      void 0,
                      /*typeParameters*/
                      void 0,
                      c.parameters,
                      /*type*/
                      void 0,
                      c.body
                      // TODO: GH#18217
                    ),
                    c
                  ),
                  c
                ),
                set: _ && ot(
                  xn(
                    e.createFunctionExpression(
                      yb(_),
                      /*asteriskToken*/
                      void 0,
                      /*name*/
                      void 0,
                      /*typeParameters*/
                      void 0,
                      _.parameters,
                      /*type*/
                      void 0,
                      _.body
                      // TODO: GH#18217
                    ),
                    _
                  ),
                  _
                )
              }, !s)
            ),
            o
          );
      }
      function rLe(e, t, n) {
        return xn(
          ot(
            e.createAssignment(
              BS(
                e,
                n,
                t.name,
                /*location*/
                t.name
              ),
              t.initializer
            ),
            t
          ),
          t
        );
      }
      function nLe(e, t, n) {
        return xn(
          ot(
            e.createAssignment(
              BS(
                e,
                n,
                t.name,
                /*location*/
                t.name
              ),
              e.cloneNode(t.name)
            ),
            /*location*/
            t
          ),
          /*original*/
          t
        );
      }
      function iLe(e, t, n) {
        return xn(
          ot(
            e.createAssignment(
              BS(
                e,
                n,
                t.name,
                /*location*/
                t.name
              ),
              xn(
                ot(
                  e.createFunctionExpression(
                    yb(t),
                    t.asteriskToken,
                    /*name*/
                    void 0,
                    /*typeParameters*/
                    void 0,
                    t.parameters,
                    /*type*/
                    void 0,
                    t.body
                    // TODO: GH#18217
                  ),
                  /*location*/
                  t
                ),
                /*original*/
                t
              )
            ),
            /*location*/
            t
          ),
          /*original*/
          t
        );
      }
      function Gte(e, t, n, i) {
        switch (n.name && Di(n.name) && E.failBadSyntaxKind(n.name, "Private identifiers are not allowed in object literals."), n.kind) {
          case 177:
          case 178:
            return tLe(e, t.properties, n, i, !!t.multiLine);
          case 303:
            return rLe(e, n, i);
          case 304:
            return nLe(e, n, i);
          case 174:
            return iLe(e, n, i);
        }
      }
      function IF(e, t, n, i, s) {
        const o = t.operator;
        E.assert(o === 46 || o === 47, "Expected 'node' to be a pre- or post-increment or pre- or post-decrement expression");
        const c = e.createTempVariable(i);
        n = e.createAssignment(c, n), ot(n, t.operand);
        let _ = sv(t) ? e.createPrefixUnaryExpression(o, c) : e.createPostfixUnaryExpression(c, o);
        return ot(_, t), s && (_ = e.createAssignment(s, _), ot(_, t)), n = e.createComma(n, _), ot(n, t), az(t) && (n = e.createComma(n, c), ot(n, t)), n;
      }
      function xz(e) {
        return (ka(e) & 65536) !== 0;
      }
      function Rh(e) {
        return (ka(e) & 32768) !== 0;
      }
      function FF(e) {
        return (ka(e) & 16384) !== 0;
      }
      function y0e(e) {
        return la(e.expression) && e.expression.text === "use strict";
      }
      function kz(e) {
        for (const t of e)
          if (Qd(t)) {
            if (y0e(t))
              return t;
          } else
            break;
      }
      function $te(e) {
        const t = Xc(e);
        return t !== void 0 && Qd(t) && y0e(t);
      }
      function FN(e) {
        return e.kind === 226 && e.operatorToken.kind === 28;
      }
      function BD(e) {
        return FN(e) || ID(e);
      }
      function Yb(e) {
        return Zu(e) && tn(e) && !!V1(e);
      }
      function T6(e) {
        const t = Oy(e);
        return E.assertIsDefined(t), t;
      }
      function OF(e, t = 63) {
        switch (e.kind) {
          case 217:
            return t & -2147483648 && Yb(e) ? !1 : (t & 1) !== 0;
          case 216:
          case 234:
            return (t & 2) !== 0;
          case 238:
            return (t & 34) !== 0;
          case 233:
            return (t & 16) !== 0;
          case 235:
            return (t & 4) !== 0;
          case 355:
            return (t & 8) !== 0;
        }
        return !1;
      }
      function xc(e, t = 63) {
        for (; OF(e, t); )
          e = e.expression;
        return e;
      }
      function Xte(e, t = 63) {
        let n = e.parent;
        for (; OF(n, t); )
          n = n.parent, E.assert(n);
        return n;
      }
      function Su(e) {
        return fF(
          e,
          /*newLine*/
          !0
        );
      }
      function ON(e) {
        const t = Vo(e, xi), n = t && t.emitNode;
        return n && n.externalHelpersModuleName;
      }
      function Qte(e) {
        const t = Vo(e, xi), n = t && t.emitNode;
        return !!n && (!!n.externalHelpersModuleName || !!n.externalHelpers);
      }
      function Cz(e, t, n, i, s, o, c) {
        if (i.importHelpers && RC(n, i)) {
          const _ = Mu(i), u = GS(n, i), g = sLe(n);
          if (_ >= 5 && _ <= 99 || u === 99 || u === void 0 && _ === 200) {
            if (g) {
              const m = [];
              for (const h of g) {
                const S = h.importName;
                S && $f(m, S);
              }
              if (at(m)) {
                m.sort(au);
                const h = e.createNamedImports(
                  fr(m, (D) => L7(n, D) ? e.createImportSpecifier(
                    /*isTypeOnly*/
                    !1,
                    /*propertyName*/
                    void 0,
                    e.createIdentifier(D)
                  ) : e.createImportSpecifier(
                    /*isTypeOnly*/
                    !1,
                    e.createIdentifier(D),
                    t.getUnscopedHelperName(D)
                  ))
                ), S = Vo(n, xi), T = uu(S);
                T.externalHelpers = !0;
                const k = e.createImportDeclaration(
                  /*modifiers*/
                  void 0,
                  e.createImportClause(
                    /*isTypeOnly*/
                    !1,
                    /*name*/
                    void 0,
                    h
                  ),
                  e.createStringLiteral(zy),
                  /*attributes*/
                  void 0
                );
                return DS(
                  k,
                  2
                  /* NeverApplyImportHelper */
                ), k;
              }
            }
          } else {
            const m = aLe(e, n, i, g, s, o || c);
            if (m) {
              const h = e.createImportEqualsDeclaration(
                /*modifiers*/
                void 0,
                /*isTypeOnly*/
                !1,
                m,
                e.createExternalModuleReference(e.createStringLiteral(zy))
              );
              return DS(
                h,
                2
                /* NeverApplyImportHelper */
              ), h;
            }
          }
        }
      }
      function sLe(e) {
        return Tn(QJ(e), (t) => !t.scoped);
      }
      function aLe(e, t, n, i, s, o) {
        const c = ON(t);
        if (c)
          return c;
        if (at(i) || (s || zg(n) && o) && lw(t, n) < 4) {
          const u = Vo(t, xi), g = uu(u);
          return g.externalHelpersModuleName || (g.externalHelpersModuleName = e.createUniqueName(zy));
        }
      }
      function x6(e, t, n) {
        const i = qC(t);
        if (i && !vS(t) && !R7(t)) {
          const s = i.name;
          return s.kind === 11 ? e.getGeneratedNameForNode(t) : Mo(s) ? s : e.createIdentifier(xb(n, s) || Pn(s));
        }
        if (t.kind === 272 && t.importClause || t.kind === 278 && t.moduleSpecifier)
          return e.getGeneratedNameForNode(t);
      }
      function $x(e, t, n, i, s, o) {
        const c = px(t);
        if (c && la(c))
          return cLe(t, i, e, s, o) || oLe(e, c, n) || e.cloneNode(c);
      }
      function oLe(e, t, n) {
        const i = n.renamedDependencies && n.renamedDependencies.get(t.text);
        return i ? e.createStringLiteral(i) : void 0;
      }
      function LN(e, t, n, i) {
        if (t) {
          if (t.moduleName)
            return e.createStringLiteral(t.moduleName);
          if (!t.isDeclarationFile && i.outFile)
            return e.createStringLiteral(VB(n, t.fileName));
        }
      }
      function cLe(e, t, n, i, s) {
        return LN(n, i.getExternalModuleFileFromDeclaration(e), t, s);
      }
      function MN(e) {
        if (XP(e))
          return e.initializer;
        if (tl(e)) {
          const t = e.initializer;
          return wl(
            t,
            /*excludeCompoundAssignment*/
            !0
          ) ? t.right : void 0;
        }
        if (_u(e))
          return e.objectAssignmentInitializer;
        if (wl(
          e,
          /*excludeCompoundAssignment*/
          !0
        ))
          return e.right;
        if (op(e))
          return MN(e.expression);
      }
      function s1(e) {
        if (XP(e))
          return e.name;
        if (Eh(e)) {
          switch (e.kind) {
            case 303:
              return s1(e.initializer);
            case 304:
              return e.name;
            case 305:
              return s1(e.expression);
          }
          return;
        }
        return wl(
          e,
          /*excludeCompoundAssignment*/
          !0
        ) ? s1(e.left) : op(e) ? s1(e.expression) : e;
      }
      function LF(e) {
        switch (e.kind) {
          case 169:
          case 208:
            return e.dotDotDotToken;
          case 230:
          case 305:
            return e;
        }
      }
      function Ez(e) {
        const t = MF(e);
        return E.assert(!!t || Gg(e), "Invalid property name for binding element."), t;
      }
      function MF(e) {
        switch (e.kind) {
          case 208:
            if (e.propertyName) {
              const n = e.propertyName;
              return Di(n) ? E.failBadSyntaxKind(n) : ia(n) && v0e(n.expression) ? n.expression : n;
            }
            break;
          case 303:
            if (e.name) {
              const n = e.name;
              return Di(n) ? E.failBadSyntaxKind(n) : ia(n) && v0e(n.expression) ? n.expression : n;
            }
            break;
          case 305:
            return e.name && Di(e.name) ? E.failBadSyntaxKind(e.name) : e.name;
        }
        const t = s1(e);
        if (t && Bc(t))
          return t;
      }
      function v0e(e) {
        const t = e.kind;
        return t === 11 || t === 9;
      }
      function k6(e) {
        switch (e.kind) {
          case 206:
          case 207:
          case 209:
            return e.elements;
          case 210:
            return e.properties;
        }
      }
      function Dz(e) {
        if (e) {
          let t = e;
          for (; ; ) {
            if (Fe(t) || !t.body)
              return Fe(t) ? t : t.name;
            t = t.body;
          }
        }
      }
      function b0e(e) {
        const t = e.kind;
        return t === 176 || t === 178;
      }
      function Yte(e) {
        const t = e.kind;
        return t === 176 || t === 177 || t === 178;
      }
      function wz(e) {
        const t = e.kind;
        return t === 303 || t === 304 || t === 262 || t === 176 || t === 181 || t === 175 || t === 282 || t === 243 || t === 264 || t === 265 || t === 266 || t === 267 || t === 271 || t === 272 || t === 270 || t === 278 || t === 277;
      }
      function Zte(e) {
        const t = e.kind;
        return t === 175 || t === 303 || t === 304 || t === 282 || t === 270;
      }
      function Kte(e) {
        return t1(e) || kN(e);
      }
      function ere(e) {
        return Fe(e) || ND(e);
      }
      function tre(e) {
        return bte(e) || rz(e) || nz(e);
      }
      function rre(e) {
        return t1(e) || rz(e) || nz(e);
      }
      function nre(e) {
        return Fe(e) || la(e);
      }
      function lLe(e) {
        return e === 43;
      }
      function uLe(e) {
        return e === 42 || e === 44 || e === 45;
      }
      function _Le(e) {
        return lLe(e) || uLe(e);
      }
      function fLe(e) {
        return e === 40 || e === 41;
      }
      function pLe(e) {
        return fLe(e) || _Le(e);
      }
      function dLe(e) {
        return e === 48 || e === 49 || e === 50;
      }
      function Pz(e) {
        return dLe(e) || pLe(e);
      }
      function mLe(e) {
        return e === 30 || e === 33 || e === 32 || e === 34 || e === 104 || e === 103;
      }
      function gLe(e) {
        return mLe(e) || Pz(e);
      }
      function hLe(e) {
        return e === 35 || e === 37 || e === 36 || e === 38;
      }
      function yLe(e) {
        return hLe(e) || gLe(e);
      }
      function vLe(e) {
        return e === 51 || e === 52 || e === 53;
      }
      function bLe(e) {
        return vLe(e) || yLe(e);
      }
      function SLe(e) {
        return e === 56 || e === 57;
      }
      function TLe(e) {
        return SLe(e) || bLe(e);
      }
      function xLe(e) {
        return e === 61 || TLe(e) || Ah(e);
      }
      function kLe(e) {
        return xLe(e) || e === 28;
      }
      function ire(e) {
        return kLe(e.kind);
      }
      var Nz;
      ((e) => {
        function t(m, h, S, T, k, D, w) {
          const A = h > 0 ? k[h - 1] : void 0;
          return E.assertEqual(S[h], t), k[h] = m.onEnter(T[h], A, w), S[h] = _(m, t), h;
        }
        e.enter = t;
        function n(m, h, S, T, k, D, w) {
          E.assertEqual(S[h], n), E.assertIsDefined(m.onLeft), S[h] = _(m, n);
          const A = m.onLeft(T[h].left, k[h], T[h]);
          return A ? (g(h, T, A), u(h, S, T, k, A)) : h;
        }
        e.left = n;
        function i(m, h, S, T, k, D, w) {
          return E.assertEqual(S[h], i), E.assertIsDefined(m.onOperator), S[h] = _(m, i), m.onOperator(T[h].operatorToken, k[h], T[h]), h;
        }
        e.operator = i;
        function s(m, h, S, T, k, D, w) {
          E.assertEqual(S[h], s), E.assertIsDefined(m.onRight), S[h] = _(m, s);
          const A = m.onRight(T[h].right, k[h], T[h]);
          return A ? (g(h, T, A), u(h, S, T, k, A)) : h;
        }
        e.right = s;
        function o(m, h, S, T, k, D, w) {
          E.assertEqual(S[h], o), S[h] = _(m, o);
          const A = m.onExit(T[h], k[h]);
          if (h > 0) {
            if (h--, m.foldState) {
              const O = S[h] === o ? "right" : "left";
              k[h] = m.foldState(k[h], A, O);
            }
          } else
            D.value = A;
          return h;
        }
        e.exit = o;
        function c(m, h, S, T, k, D, w) {
          return E.assertEqual(S[h], c), h;
        }
        e.done = c;
        function _(m, h) {
          switch (h) {
            case t:
              if (m.onLeft) return n;
            // falls through
            case n:
              if (m.onOperator) return i;
            // falls through
            case i:
              if (m.onRight) return s;
            // falls through
            case s:
              return o;
            case o:
              return c;
            case c:
              return c;
            default:
              E.fail("Invalid state");
          }
        }
        e.nextState = _;
        function u(m, h, S, T, k) {
          return m++, h[m] = t, S[m] = k, T[m] = void 0, m;
        }
        function g(m, h, S) {
          if (E.shouldAssert(
            2
            /* Aggressive */
          ))
            for (; m >= 0; )
              E.assert(h[m] !== S, "Circular traversal detected."), m--;
        }
      })(Nz || (Nz = {}));
      var CLe = class {
        constructor(e, t, n, i, s, o) {
          this.onEnter = e, this.onLeft = t, this.onOperator = n, this.onRight = i, this.onExit = s, this.foldState = o;
        }
      };
      function RF(e, t, n, i, s, o) {
        const c = new CLe(e, t, n, i, s, o);
        return _;
        function _(u, g) {
          const m = { value: void 0 }, h = [Nz.enter], S = [u], T = [void 0];
          let k = 0;
          for (; h[k] !== Nz.done; )
            k = h[k](c, k, h, S, T, m, g);
          return E.assertEqual(k, 0), m.value;
        }
      }
      function ELe(e) {
        return e === 95 || e === 90;
      }
      function RN(e) {
        const t = e.kind;
        return ELe(t);
      }
      function sre(e, t) {
        if (t !== void 0)
          return t.length === 0 ? t : ot(e.createNodeArray([], t.hasTrailingComma), t);
      }
      function jN(e) {
        var t;
        const n = e.emitNode.autoGenerate;
        if (n.flags & 4) {
          const i = n.id;
          let s = e, o = s.original;
          for (; o; ) {
            s = o;
            const c = (t = s.emitNode) == null ? void 0 : t.autoGenerate;
            if (Ng(s) && (c === void 0 || c.flags & 4 && c.id !== i))
              break;
            o = s.original;
          }
          return s;
        }
        return e;
      }
      function C6(e, t) {
        return typeof e == "object" ? _v(
          /*privateName*/
          !1,
          e.prefix,
          e.node,
          e.suffix,
          t
        ) : typeof e == "string" ? e.length > 0 && e.charCodeAt(0) === 35 ? e.slice(1) : e : "";
      }
      function DLe(e, t) {
        return typeof e == "string" ? e : wLe(e, E.checkDefined(t));
      }
      function wLe(e, t) {
        return cS(e) ? t(e).slice(1) : Mo(e) ? t(e) : Di(e) ? e.escapedText.slice(1) : Pn(e);
      }
      function _v(e, t, n, i, s) {
        return t = C6(t, s), i = C6(i, s), n = DLe(n, s), `${e ? "#" : ""}${t}${n}${i}`;
      }
      function Az(e, t, n, i) {
        return e.updatePropertyDeclaration(
          t,
          n,
          e.getGeneratedPrivateNameForNode(
            t.name,
            /*prefix*/
            void 0,
            "_accessor_storage"
          ),
          /*questionOrExclamationToken*/
          void 0,
          /*type*/
          void 0,
          i
        );
      }
      function are(e, t, n, i, s = e.createThis()) {
        return e.createGetAccessorDeclaration(
          n,
          i,
          [],
          /*type*/
          void 0,
          e.createBlock([
            e.createReturnStatement(
              e.createPropertyAccessExpression(
                s,
                e.getGeneratedPrivateNameForNode(
                  t.name,
                  /*prefix*/
                  void 0,
                  "_accessor_storage"
                )
              )
            )
          ])
        );
      }
      function ore(e, t, n, i, s = e.createThis()) {
        return e.createSetAccessorDeclaration(
          n,
          i,
          [e.createParameterDeclaration(
            /*modifiers*/
            void 0,
            /*dotDotDotToken*/
            void 0,
            "value"
          )],
          e.createBlock([
            e.createExpressionStatement(
              e.createAssignment(
                e.createPropertyAccessExpression(
                  s,
                  e.getGeneratedPrivateNameForNode(
                    t.name,
                    /*prefix*/
                    void 0,
                    "_accessor_storage"
                  )
                ),
                e.createIdentifier("value")
              )
            )
          ])
        );
      }
      function jF(e) {
        let t = e.expression;
        for (; ; ) {
          if (t = xc(t), ID(t)) {
            t = pa(t.elements);
            continue;
          }
          if (FN(t)) {
            t = t.right;
            continue;
          }
          if (wl(
            t,
            /*excludeCompoundAssignment*/
            !0
          ) && Mo(t.left))
            return t;
          break;
        }
      }
      function PLe(e) {
        return Zu(e) && oo(e) && !e.emitNode;
      }
      function BF(e, t) {
        if (PLe(e))
          BF(e.expression, t);
        else if (FN(e))
          BF(e.left, t), BF(e.right, t);
        else if (ID(e))
          for (const n of e.elements)
            BF(n, t);
        else
          t.push(e);
      }
      function cre(e) {
        const t = [];
        return BF(e, t), t;
      }
      function BN(e) {
        if (e.transformFlags & 65536) return !0;
        if (e.transformFlags & 128)
          for (const t of k6(e)) {
            const n = s1(t);
            if (n && N4(n) && (n.transformFlags & 65536 || n.transformFlags & 128 && BN(n)))
              return !0;
          }
        return !1;
      }
      function ot(e, t) {
        return t ? hd(e, t.pos, t.end) : e;
      }
      function Fp(e) {
        const t = e.kind;
        return t === 168 || t === 169 || t === 171 || t === 172 || t === 173 || t === 174 || t === 176 || t === 177 || t === 178 || t === 181 || t === 185 || t === 218 || t === 219 || t === 231 || t === 243 || t === 262 || t === 263 || t === 264 || t === 265 || t === 266 || t === 267 || t === 271 || t === 272 || t === 277 || t === 278;
      }
      function Zb(e) {
        const t = e.kind;
        return t === 169 || t === 172 || t === 174 || t === 177 || t === 178 || t === 231 || t === 263;
      }
      var S0e, T0e, x0e, k0e, C0e, lre = {
        createBaseSourceFileNode: (e) => new (C0e || (C0e = Xl.getSourceFileConstructor()))(e, -1, -1),
        createBaseIdentifierNode: (e) => new (x0e || (x0e = Xl.getIdentifierConstructor()))(e, -1, -1),
        createBasePrivateIdentifierNode: (e) => new (k0e || (k0e = Xl.getPrivateIdentifierConstructor()))(e, -1, -1),
        createBaseTokenNode: (e) => new (T0e || (T0e = Xl.getTokenConstructor()))(e, -1, -1),
        createBaseNode: (e) => new (S0e || (S0e = Xl.getNodeConstructor()))(e, -1, -1)
      }, fv = hN(1, lre);
      function Qt(e, t) {
        return t && e(t);
      }
      function ki(e, t, n) {
        if (n) {
          if (t)
            return t(n);
          for (const i of n) {
            const s = e(i);
            if (s)
              return s;
          }
        }
      }
      function Iz(e, t) {
        return e.charCodeAt(t + 1) === 42 && e.charCodeAt(t + 2) === 42 && e.charCodeAt(t + 3) !== 47;
      }
      function JN(e) {
        return ar(e.statements, NLe) || ALe(e);
      }
      function NLe(e) {
        return Fp(e) && ILe(
          e,
          95
          /* ExportKeyword */
        ) || bl(e) && Mh(e.moduleReference) || Uo(e) || Oo(e) || Oc(e) ? e : void 0;
      }
      function ALe(e) {
        return e.flags & 8388608 ? E0e(e) : void 0;
      }
      function E0e(e) {
        return FLe(e) ? e : Ss(e, E0e);
      }
      function ILe(e, t) {
        return at(e.modifiers, (n) => n.kind === t);
      }
      function FLe(e) {
        return AD(e) && e.keywordToken === 102 && e.name.escapedText === "meta";
      }
      var OLe = {
        166: function(t, n, i) {
          return Qt(n, t.left) || Qt(n, t.right);
        },
        168: function(t, n, i) {
          return ki(n, i, t.modifiers) || Qt(n, t.name) || Qt(n, t.constraint) || Qt(n, t.default) || Qt(n, t.expression);
        },
        304: function(t, n, i) {
          return ki(n, i, t.modifiers) || Qt(n, t.name) || Qt(n, t.questionToken) || Qt(n, t.exclamationToken) || Qt(n, t.equalsToken) || Qt(n, t.objectAssignmentInitializer);
        },
        305: function(t, n, i) {
          return Qt(n, t.expression);
        },
        169: function(t, n, i) {
          return ki(n, i, t.modifiers) || Qt(n, t.dotDotDotToken) || Qt(n, t.name) || Qt(n, t.questionToken) || Qt(n, t.type) || Qt(n, t.initializer);
        },
        172: function(t, n, i) {
          return ki(n, i, t.modifiers) || Qt(n, t.name) || Qt(n, t.questionToken) || Qt(n, t.exclamationToken) || Qt(n, t.type) || Qt(n, t.initializer);
        },
        171: function(t, n, i) {
          return ki(n, i, t.modifiers) || Qt(n, t.name) || Qt(n, t.questionToken) || Qt(n, t.type) || Qt(n, t.initializer);
        },
        303: function(t, n, i) {
          return ki(n, i, t.modifiers) || Qt(n, t.name) || Qt(n, t.questionToken) || Qt(n, t.exclamationToken) || Qt(n, t.initializer);
        },
        260: function(t, n, i) {
          return Qt(n, t.name) || Qt(n, t.exclamationToken) || Qt(n, t.type) || Qt(n, t.initializer);
        },
        208: function(t, n, i) {
          return Qt(n, t.dotDotDotToken) || Qt(n, t.propertyName) || Qt(n, t.name) || Qt(n, t.initializer);
        },
        181: function(t, n, i) {
          return ki(n, i, t.modifiers) || ki(n, i, t.typeParameters) || ki(n, i, t.parameters) || Qt(n, t.type);
        },
        185: function(t, n, i) {
          return ki(n, i, t.modifiers) || ki(n, i, t.typeParameters) || ki(n, i, t.parameters) || Qt(n, t.type);
        },
        184: function(t, n, i) {
          return ki(n, i, t.modifiers) || ki(n, i, t.typeParameters) || ki(n, i, t.parameters) || Qt(n, t.type);
        },
        179: D0e,
        180: D0e,
        174: function(t, n, i) {
          return ki(n, i, t.modifiers) || Qt(n, t.asteriskToken) || Qt(n, t.name) || Qt(n, t.questionToken) || Qt(n, t.exclamationToken) || ki(n, i, t.typeParameters) || ki(n, i, t.parameters) || Qt(n, t.type) || Qt(n, t.body);
        },
        173: function(t, n, i) {
          return ki(n, i, t.modifiers) || Qt(n, t.name) || Qt(n, t.questionToken) || ki(n, i, t.typeParameters) || ki(n, i, t.parameters) || Qt(n, t.type);
        },
        176: function(t, n, i) {
          return ki(n, i, t.modifiers) || Qt(n, t.name) || ki(n, i, t.typeParameters) || ki(n, i, t.parameters) || Qt(n, t.type) || Qt(n, t.body);
        },
        177: function(t, n, i) {
          return ki(n, i, t.modifiers) || Qt(n, t.name) || ki(n, i, t.typeParameters) || ki(n, i, t.parameters) || Qt(n, t.type) || Qt(n, t.body);
        },
        178: function(t, n, i) {
          return ki(n, i, t.modifiers) || Qt(n, t.name) || ki(n, i, t.typeParameters) || ki(n, i, t.parameters) || Qt(n, t.type) || Qt(n, t.body);
        },
        262: function(t, n, i) {
          return ki(n, i, t.modifiers) || Qt(n, t.asteriskToken) || Qt(n, t.name) || ki(n, i, t.typeParameters) || ki(n, i, t.parameters) || Qt(n, t.type) || Qt(n, t.body);
        },
        218: function(t, n, i) {
          return ki(n, i, t.modifiers) || Qt(n, t.asteriskToken) || Qt(n, t.name) || ki(n, i, t.typeParameters) || ki(n, i, t.parameters) || Qt(n, t.type) || Qt(n, t.body);
        },
        219: function(t, n, i) {
          return ki(n, i, t.modifiers) || ki(n, i, t.typeParameters) || ki(n, i, t.parameters) || Qt(n, t.type) || Qt(n, t.equalsGreaterThanToken) || Qt(n, t.body);
        },
        175: function(t, n, i) {
          return ki(n, i, t.modifiers) || Qt(n, t.body);
        },
        183: function(t, n, i) {
          return Qt(n, t.typeName) || ki(n, i, t.typeArguments);
        },
        182: function(t, n, i) {
          return Qt(n, t.assertsModifier) || Qt(n, t.parameterName) || Qt(n, t.type);
        },
        186: function(t, n, i) {
          return Qt(n, t.exprName) || ki(n, i, t.typeArguments);
        },
        187: function(t, n, i) {
          return ki(n, i, t.members);
        },
        188: function(t, n, i) {
          return Qt(n, t.elementType);
        },
        189: function(t, n, i) {
          return ki(n, i, t.elements);
        },
        192: w0e,
        193: w0e,
        194: function(t, n, i) {
          return Qt(n, t.checkType) || Qt(n, t.extendsType) || Qt(n, t.trueType) || Qt(n, t.falseType);
        },
        195: function(t, n, i) {
          return Qt(n, t.typeParameter);
        },
        205: function(t, n, i) {
          return Qt(n, t.argument) || Qt(n, t.attributes) || Qt(n, t.qualifier) || ki(n, i, t.typeArguments);
        },
        302: function(t, n, i) {
          return Qt(n, t.assertClause);
        },
        196: P0e,
        198: P0e,
        199: function(t, n, i) {
          return Qt(n, t.objectType) || Qt(n, t.indexType);
        },
        200: function(t, n, i) {
          return Qt(n, t.readonlyToken) || Qt(n, t.typeParameter) || Qt(n, t.nameType) || Qt(n, t.questionToken) || Qt(n, t.type) || ki(n, i, t.members);
        },
        201: function(t, n, i) {
          return Qt(n, t.literal);
        },
        202: function(t, n, i) {
          return Qt(n, t.dotDotDotToken) || Qt(n, t.name) || Qt(n, t.questionToken) || Qt(n, t.type);
        },
        206: N0e,
        207: N0e,
        209: function(t, n, i) {
          return ki(n, i, t.elements);
        },
        210: function(t, n, i) {
          return ki(n, i, t.properties);
        },
        211: function(t, n, i) {
          return Qt(n, t.expression) || Qt(n, t.questionDotToken) || Qt(n, t.name);
        },
        212: function(t, n, i) {
          return Qt(n, t.expression) || Qt(n, t.questionDotToken) || Qt(n, t.argumentExpression);
        },
        213: A0e,
        214: A0e,
        215: function(t, n, i) {
          return Qt(n, t.tag) || Qt(n, t.questionDotToken) || ki(n, i, t.typeArguments) || Qt(n, t.template);
        },
        216: function(t, n, i) {
          return Qt(n, t.type) || Qt(n, t.expression);
        },
        217: function(t, n, i) {
          return Qt(n, t.expression);
        },
        220: function(t, n, i) {
          return Qt(n, t.expression);
        },
        221: function(t, n, i) {
          return Qt(n, t.expression);
        },
        222: function(t, n, i) {
          return Qt(n, t.expression);
        },
        224: function(t, n, i) {
          return Qt(n, t.operand);
        },
        229: function(t, n, i) {
          return Qt(n, t.asteriskToken) || Qt(n, t.expression);
        },
        223: function(t, n, i) {
          return Qt(n, t.expression);
        },
        225: function(t, n, i) {
          return Qt(n, t.operand);
        },
        226: function(t, n, i) {
          return Qt(n, t.left) || Qt(n, t.operatorToken) || Qt(n, t.right);
        },
        234: function(t, n, i) {
          return Qt(n, t.expression) || Qt(n, t.type);
        },
        235: function(t, n, i) {
          return Qt(n, t.expression);
        },
        238: function(t, n, i) {
          return Qt(n, t.expression) || Qt(n, t.type);
        },
        236: function(t, n, i) {
          return Qt(n, t.name);
        },
        227: function(t, n, i) {
          return Qt(n, t.condition) || Qt(n, t.questionToken) || Qt(n, t.whenTrue) || Qt(n, t.colonToken) || Qt(n, t.whenFalse);
        },
        230: function(t, n, i) {
          return Qt(n, t.expression);
        },
        241: I0e,
        268: I0e,
        307: function(t, n, i) {
          return ki(n, i, t.statements) || Qt(n, t.endOfFileToken);
        },
        243: function(t, n, i) {
          return ki(n, i, t.modifiers) || Qt(n, t.declarationList);
        },
        261: function(t, n, i) {
          return ki(n, i, t.declarations);
        },
        244: function(t, n, i) {
          return Qt(n, t.expression);
        },
        245: function(t, n, i) {
          return Qt(n, t.expression) || Qt(n, t.thenStatement) || Qt(n, t.elseStatement);
        },
        246: function(t, n, i) {
          return Qt(n, t.statement) || Qt(n, t.expression);
        },
        247: function(t, n, i) {
          return Qt(n, t.expression) || Qt(n, t.statement);
        },
        248: function(t, n, i) {
          return Qt(n, t.initializer) || Qt(n, t.condition) || Qt(n, t.incrementor) || Qt(n, t.statement);
        },
        249: function(t, n, i) {
          return Qt(n, t.initializer) || Qt(n, t.expression) || Qt(n, t.statement);
        },
        250: function(t, n, i) {
          return Qt(n, t.awaitModifier) || Qt(n, t.initializer) || Qt(n, t.expression) || Qt(n, t.statement);
        },
        251: F0e,
        252: F0e,
        253: function(t, n, i) {
          return Qt(n, t.expression);
        },
        254: function(t, n, i) {
          return Qt(n, t.expression) || Qt(n, t.statement);
        },
        255: function(t, n, i) {
          return Qt(n, t.expression) || Qt(n, t.caseBlock);
        },
        269: function(t, n, i) {
          return ki(n, i, t.clauses);
        },
        296: function(t, n, i) {
          return Qt(n, t.expression) || ki(n, i, t.statements);
        },
        297: function(t, n, i) {
          return ki(n, i, t.statements);
        },
        256: function(t, n, i) {
          return Qt(n, t.label) || Qt(n, t.statement);
        },
        257: function(t, n, i) {
          return Qt(n, t.expression);
        },
        258: function(t, n, i) {
          return Qt(n, t.tryBlock) || Qt(n, t.catchClause) || Qt(n, t.finallyBlock);
        },
        299: function(t, n, i) {
          return Qt(n, t.variableDeclaration) || Qt(n, t.block);
        },
        170: function(t, n, i) {
          return Qt(n, t.expression);
        },
        263: O0e,
        231: O0e,
        264: function(t, n, i) {
          return ki(n, i, t.modifiers) || Qt(n, t.name) || ki(n, i, t.typeParameters) || ki(n, i, t.heritageClauses) || ki(n, i, t.members);
        },
        265: function(t, n, i) {
          return ki(n, i, t.modifiers) || Qt(n, t.name) || ki(n, i, t.typeParameters) || Qt(n, t.type);
        },
        266: function(t, n, i) {
          return ki(n, i, t.modifiers) || Qt(n, t.name) || ki(n, i, t.members);
        },
        306: function(t, n, i) {
          return Qt(n, t.name) || Qt(n, t.initializer);
        },
        267: function(t, n, i) {
          return ki(n, i, t.modifiers) || Qt(n, t.name) || Qt(n, t.body);
        },
        271: function(t, n, i) {
          return ki(n, i, t.modifiers) || Qt(n, t.name) || Qt(n, t.moduleReference);
        },
        272: function(t, n, i) {
          return ki(n, i, t.modifiers) || Qt(n, t.importClause) || Qt(n, t.moduleSpecifier) || Qt(n, t.attributes);
        },
        273: function(t, n, i) {
          return Qt(n, t.name) || Qt(n, t.namedBindings);
        },
        300: function(t, n, i) {
          return ki(n, i, t.elements);
        },
        301: function(t, n, i) {
          return Qt(n, t.name) || Qt(n, t.value);
        },
        270: function(t, n, i) {
          return ki(n, i, t.modifiers) || Qt(n, t.name);
        },
        274: function(t, n, i) {
          return Qt(n, t.name);
        },
        280: function(t, n, i) {
          return Qt(n, t.name);
        },
        275: L0e,
        279: L0e,
        278: function(t, n, i) {
          return ki(n, i, t.modifiers) || Qt(n, t.exportClause) || Qt(n, t.moduleSpecifier) || Qt(n, t.attributes);
        },
        276: M0e,
        281: M0e,
        277: function(t, n, i) {
          return ki(n, i, t.modifiers) || Qt(n, t.expression);
        },
        228: function(t, n, i) {
          return Qt(n, t.head) || ki(n, i, t.templateSpans);
        },
        239: function(t, n, i) {
          return Qt(n, t.expression) || Qt(n, t.literal);
        },
        203: function(t, n, i) {
          return Qt(n, t.head) || ki(n, i, t.templateSpans);
        },
        204: function(t, n, i) {
          return Qt(n, t.type) || Qt(n, t.literal);
        },
        167: function(t, n, i) {
          return Qt(n, t.expression);
        },
        298: function(t, n, i) {
          return ki(n, i, t.types);
        },
        233: function(t, n, i) {
          return Qt(n, t.expression) || ki(n, i, t.typeArguments);
        },
        283: function(t, n, i) {
          return Qt(n, t.expression);
        },
        282: function(t, n, i) {
          return ki(n, i, t.modifiers);
        },
        356: function(t, n, i) {
          return ki(n, i, t.elements);
        },
        284: function(t, n, i) {
          return Qt(n, t.openingElement) || ki(n, i, t.children) || Qt(n, t.closingElement);
        },
        288: function(t, n, i) {
          return Qt(n, t.openingFragment) || ki(n, i, t.children) || Qt(n, t.closingFragment);
        },
        285: R0e,
        286: R0e,
        292: function(t, n, i) {
          return ki(n, i, t.properties);
        },
        291: function(t, n, i) {
          return Qt(n, t.name) || Qt(n, t.initializer);
        },
        293: function(t, n, i) {
          return Qt(n, t.expression);
        },
        294: function(t, n, i) {
          return Qt(n, t.dotDotDotToken) || Qt(n, t.expression);
        },
        287: function(t, n, i) {
          return Qt(n, t.tagName);
        },
        295: function(t, n, i) {
          return Qt(n, t.namespace) || Qt(n, t.name);
        },
        190: JD,
        191: JD,
        309: JD,
        315: JD,
        314: JD,
        316: JD,
        318: JD,
        317: function(t, n, i) {
          return ki(n, i, t.parameters) || Qt(n, t.type);
        },
        320: function(t, n, i) {
          return (typeof t.comment == "string" ? void 0 : ki(n, i, t.comment)) || ki(n, i, t.tags);
        },
        347: function(t, n, i) {
          return Qt(n, t.tagName) || Qt(n, t.name) || (typeof t.comment == "string" ? void 0 : ki(n, i, t.comment));
        },
        310: function(t, n, i) {
          return Qt(n, t.name);
        },
        311: function(t, n, i) {
          return Qt(n, t.left) || Qt(n, t.right);
        },
        341: j0e,
        348: j0e,
        330: function(t, n, i) {
          return Qt(n, t.tagName) || (typeof t.comment == "string" ? void 0 : ki(n, i, t.comment));
        },
        329: function(t, n, i) {
          return Qt(n, t.tagName) || Qt(n, t.class) || (typeof t.comment == "string" ? void 0 : ki(n, i, t.comment));
        },
        328: function(t, n, i) {
          return Qt(n, t.tagName) || Qt(n, t.class) || (typeof t.comment == "string" ? void 0 : ki(n, i, t.comment));
        },
        345: function(t, n, i) {
          return Qt(n, t.tagName) || Qt(n, t.constraint) || ki(n, i, t.typeParameters) || (typeof t.comment == "string" ? void 0 : ki(n, i, t.comment));
        },
        346: function(t, n, i) {
          return Qt(n, t.tagName) || (t.typeExpression && t.typeExpression.kind === 309 ? Qt(n, t.typeExpression) || Qt(n, t.fullName) || (typeof t.comment == "string" ? void 0 : ki(n, i, t.comment)) : Qt(n, t.fullName) || Qt(n, t.typeExpression) || (typeof t.comment == "string" ? void 0 : ki(n, i, t.comment)));
        },
        338: function(t, n, i) {
          return Qt(n, t.tagName) || Qt(n, t.fullName) || Qt(n, t.typeExpression) || (typeof t.comment == "string" ? void 0 : ki(n, i, t.comment));
        },
        342: zD,
        344: zD,
        343: zD,
        340: zD,
        350: zD,
        349: zD,
        339: zD,
        323: function(t, n, i) {
          return ar(t.typeParameters, n) || ar(t.parameters, n) || Qt(n, t.type);
        },
        324: ure,
        325: ure,
        326: ure,
        322: function(t, n, i) {
          return ar(t.jsDocPropertyTags, n);
        },
        327: E6,
        332: E6,
        333: E6,
        334: E6,
        335: E6,
        336: E6,
        331: E6,
        337: E6,
        351: LLe,
        355: MLe
      };
      function D0e(e, t, n) {
        return ki(t, n, e.typeParameters) || ki(t, n, e.parameters) || Qt(t, e.type);
      }
      function w0e(e, t, n) {
        return ki(t, n, e.types);
      }
      function P0e(e, t, n) {
        return Qt(t, e.type);
      }
      function N0e(e, t, n) {
        return ki(t, n, e.elements);
      }
      function A0e(e, t, n) {
        return Qt(t, e.expression) || // TODO: should we separate these branches out?
        Qt(t, e.questionDotToken) || ki(t, n, e.typeArguments) || ki(t, n, e.arguments);
      }
      function I0e(e, t, n) {
        return ki(t, n, e.statements);
      }
      function F0e(e, t, n) {
        return Qt(t, e.label);
      }
      function O0e(e, t, n) {
        return ki(t, n, e.modifiers) || Qt(t, e.name) || ki(t, n, e.typeParameters) || ki(t, n, e.heritageClauses) || ki(t, n, e.members);
      }
      function L0e(e, t, n) {
        return ki(t, n, e.elements);
      }
      function M0e(e, t, n) {
        return Qt(t, e.propertyName) || Qt(t, e.name);
      }
      function R0e(e, t, n) {
        return Qt(t, e.tagName) || ki(t, n, e.typeArguments) || Qt(t, e.attributes);
      }
      function JD(e, t, n) {
        return Qt(t, e.type);
      }
      function j0e(e, t, n) {
        return Qt(t, e.tagName) || (e.isNameFirst ? Qt(t, e.name) || Qt(t, e.typeExpression) : Qt(t, e.typeExpression) || Qt(t, e.name)) || (typeof e.comment == "string" ? void 0 : ki(t, n, e.comment));
      }
      function zD(e, t, n) {
        return Qt(t, e.tagName) || Qt(t, e.typeExpression) || (typeof e.comment == "string" ? void 0 : ki(t, n, e.comment));
      }
      function ure(e, t, n) {
        return Qt(t, e.name);
      }
      function E6(e, t, n) {
        return Qt(t, e.tagName) || (typeof e.comment == "string" ? void 0 : ki(t, n, e.comment));
      }
      function LLe(e, t, n) {
        return Qt(t, e.tagName) || Qt(t, e.importClause) || Qt(t, e.moduleSpecifier) || Qt(t, e.attributes) || (typeof e.comment == "string" ? void 0 : ki(t, n, e.comment));
      }
      function MLe(e, t, n) {
        return Qt(t, e.expression);
      }
      function Ss(e, t, n) {
        if (e === void 0 || e.kind <= 165)
          return;
        const i = OLe[e.kind];
        return i === void 0 ? void 0 : i(e, t, n);
      }
      function Xx(e, t, n) {
        const i = B0e(e), s = [];
        for (; s.length < i.length; )
          s.push(e);
        for (; i.length !== 0; ) {
          const o = i.pop(), c = s.pop();
          if (fs(o)) {
            if (n) {
              const _ = n(o, c);
              if (_) {
                if (_ === "skip") continue;
                return _;
              }
            }
            for (let _ = o.length - 1; _ >= 0; --_)
              i.push(o[_]), s.push(c);
          } else {
            const _ = t(o, c);
            if (_) {
              if (_ === "skip") continue;
              return _;
            }
            if (o.kind >= 166)
              for (const u of B0e(o))
                i.push(u), s.push(o);
          }
        }
      }
      function B0e(e) {
        const t = [];
        return Ss(e, n, n), t;
        function n(i) {
          t.unshift(i);
        }
      }
      function J0e(e) {
        e.externalModuleIndicator = JN(e);
      }
      function Qx(e, t, n, i = !1, s) {
        var o, c;
        (o = rn) == null || o.push(
          rn.Phase.Parse,
          "createSourceFile",
          { path: e },
          /*separateBeginAndEnd*/
          !0
        ), Zo("beforeParse");
        let _;
        const {
          languageVersion: u,
          setExternalModuleIndicator: g,
          impliedNodeFormat: m,
          jsDocParsingMode: h
        } = typeof n == "object" ? n : { languageVersion: n };
        if (u === 100)
          _ = pv.parseSourceFile(
            e,
            t,
            u,
            /*syntaxCursor*/
            void 0,
            i,
            6,
            Ua,
            h
          );
        else {
          const S = m === void 0 ? g : (T) => (T.impliedNodeFormat = m, (g || J0e)(T));
          _ = pv.parseSourceFile(
            e,
            t,
            u,
            /*syntaxCursor*/
            void 0,
            i,
            s,
            S,
            h
          );
        }
        return Zo("afterParse"), Xf("Parse", "beforeParse", "afterParse"), (c = rn) == null || c.pop(), _;
      }
      function Yx(e, t) {
        return pv.parseIsolatedEntityName(e, t);
      }
      function zN(e, t) {
        return pv.parseJsonText(e, t);
      }
      function ol(e) {
        return e.externalModuleIndicator !== void 0;
      }
      function Fz(e, t, n, i = !1) {
        const s = Oz.updateSourceFile(e, t, n, i);
        return s.flags |= e.flags & 12582912, s;
      }
      function _re(e, t, n) {
        const i = pv.JSDocParser.parseIsolatedJSDocComment(e, t, n);
        return i && i.jsDoc && pv.fixupParentReferences(i.jsDoc), i;
      }
      function z0e(e, t, n) {
        return pv.JSDocParser.parseJSDocTypeExpressionForTests(e, t, n);
      }
      var pv;
      ((e) => {
        var t = Pg(
          99,
          /*skipTrivia*/
          !0
        ), n = 40960, i, s, o, c, _;
        function u($) {
          return Ce++, $;
        }
        var g = {
          createBaseSourceFileNode: ($) => u(new _(
            $,
            /*pos*/
            0,
            /*end*/
            0
          )),
          createBaseIdentifierNode: ($) => u(new o(
            $,
            /*pos*/
            0,
            /*end*/
            0
          )),
          createBasePrivateIdentifierNode: ($) => u(new c(
            $,
            /*pos*/
            0,
            /*end*/
            0
          )),
          createBaseTokenNode: ($) => u(new s(
            $,
            /*pos*/
            0,
            /*end*/
            0
          )),
          createBaseNode: ($) => u(new i(
            $,
            /*pos*/
            0,
            /*end*/
            0
          ))
        }, m = hN(11, g), {
          createNodeArray: h,
          createNumericLiteral: S,
          createStringLiteral: T,
          createLiteralLikeNode: k,
          createIdentifier: D,
          createPrivateIdentifier: w,
          createToken: A,
          createArrayLiteralExpression: O,
          createObjectLiteralExpression: F,
          createPropertyAccessExpression: j,
          createPropertyAccessChain: z,
          createElementAccessExpression: V,
          createElementAccessChain: G,
          createCallExpression: W,
          createCallChain: pe,
          createNewExpression: K,
          createParenthesizedExpression: U,
          createBlock: ee,
          createVariableStatement: te,
          createExpressionStatement: ie,
          createIfStatement: fe,
          createWhileStatement: me,
          createForStatement: q,
          createForOfStatement: he,
          createVariableDeclaration: Me,
          createVariableDeclarationList: De
        } = m, re, xe, ue, Xe, nt, oe, ve, se, Pe, Ee, Ce, ze, St, Bt, tr, Fr, it = !0, Wt = !1;
        function Wr($, be, Oe, yt, qt = !1, hr, Ln, Si = 0) {
          var ri;
          if (hr = H5($, hr), hr === 6) {
            const Ui = zi($, be, Oe, yt, qt);
            return HN(
              Ui,
              (ri = Ui.statements[0]) == null ? void 0 : ri.expression,
              Ui.parseDiagnostics,
              /*returnValue*/
              !1,
              /*jsonConversionNotifier*/
              void 0
            ), Ui.referencedFiles = Ue, Ui.typeReferenceDirectives = Ue, Ui.libReferenceDirectives = Ue, Ui.amdDependencies = Ue, Ui.hasNoDefaultLib = !1, Ui.pragmas = mR, Ui;
          }
          Pt($, be, Oe, yt, hr, Si);
          const oi = ii(Oe, qt, hr, Ln || J0e, Si);
          return Fn(), oi;
        }
        e.parseSourceFile = Wr;
        function ai($, be) {
          Pt(
            "",
            $,
            be,
            /*syntaxCursor*/
            void 0,
            1,
            0
            /* ParseAll */
          ), ke();
          const Oe = Ke(
            /*allowReservedWords*/
            !0
          ), yt = X() === 1 && !ve.length;
          return Fn(), yt ? Oe : void 0;
        }
        e.parseIsolatedEntityName = ai;
        function zi($, be, Oe = 2, yt, qt = !1) {
          Pt(
            $,
            be,
            Oe,
            yt,
            6,
            0
            /* ParseAll */
          ), xe = Fr, ke();
          const hr = M();
          let Ln, Si;
          if (X() === 1)
            Ln = Ca([], hr, hr), Si = Bo();
          else {
            let Ui;
            for (; X() !== 1; ) {
              let Fa;
              switch (X()) {
                case 23:
                  Fa = Ik();
                  break;
                case 112:
                case 97:
                case 106:
                  Fa = Bo();
                  break;
                case 41:
                  Mt(
                    () => ke() === 9 && ke() !== 59
                    /* ColonToken */
                  ) ? Fa = $h() : Fa = ey();
                  break;
                case 9:
                case 11:
                  if (Mt(
                    () => ke() !== 59
                    /* ColonToken */
                  )) {
                    Fa = Ct();
                    break;
                  }
                // falls through
                default:
                  Fa = ey();
                  break;
              }
              Ui && fs(Ui) ? Ui.push(Fa) : Ui ? Ui = [Ui, Fa] : (Ui = Fa, X() !== 1 && Rt(p.Unexpected_token));
            }
            const io = fs(Ui) ? zt(O(Ui), hr) : E.checkDefined(Ui), so = ie(io);
            zt(so, hr), Ln = Ca([so], hr), Si = Lo(1, p.Unexpected_token);
          }
          const ri = ut(
            $,
            2,
            6,
            /*isDeclarationFile*/
            !1,
            Ln,
            Si,
            xe,
            Ua
          );
          qt && je(ri), ri.nodeCount = Ce, ri.identifierCount = St, ri.identifiers = ze, ri.parseDiagnostics = Cx(ve, ri), se && (ri.jsDocDiagnostics = Cx(se, ri));
          const oi = ri;
          return Fn(), oi;
        }
        e.parseJsonText = zi;
        function Pt($, be, Oe, yt, qt, hr) {
          switch (i = Xl.getNodeConstructor(), s = Xl.getTokenConstructor(), o = Xl.getIdentifierConstructor(), c = Xl.getPrivateIdentifierConstructor(), _ = Xl.getSourceFileConstructor(), re = Gs($), ue = be, Xe = Oe, Pe = yt, nt = qt, oe = tN(qt), ve = [], Bt = 0, ze = /* @__PURE__ */ new Map(), St = 0, Ce = 0, xe = 0, it = !0, nt) {
            case 1:
            case 2:
              Fr = 524288;
              break;
            case 6:
              Fr = 134742016;
              break;
            default:
              Fr = 0;
              break;
          }
          Wt = !1, t.setText(ue), t.setOnError(_e), t.setScriptTarget(Xe), t.setLanguageVariant(oe), t.setScriptKind(nt), t.setJSDocParsingMode(hr);
        }
        function Fn() {
          t.clearCommentDirectives(), t.setText(""), t.setOnError(void 0), t.setScriptKind(
            0
            /* Unknown */
          ), t.setJSDocParsingMode(
            0
            /* ParseAll */
          ), ue = void 0, Xe = void 0, Pe = void 0, nt = void 0, oe = void 0, xe = 0, ve = void 0, se = void 0, Bt = 0, ze = void 0, tr = void 0, it = !0;
        }
        function ii($, be, Oe, yt, qt) {
          const hr = Sl(re);
          hr && (Fr |= 33554432), xe = Fr, ke();
          const Ln = Do(0, Jp);
          E.assert(
            X() === 1
            /* EndOfFileToken */
          );
          const Si = ye(), ri = cn(Bo(), Si), oi = ut(re, $, Oe, hr, Ln, ri, xe, yt);
          return Lz(oi, ue), Mz(oi, Ui), oi.commentDirectives = t.getCommentDirectives(), oi.nodeCount = Ce, oi.identifierCount = St, oi.identifiers = ze, oi.parseDiagnostics = Cx(ve, oi), oi.jsDocParsingMode = qt, se && (oi.jsDocDiagnostics = Cx(se, oi)), be && je(oi), oi;
          function Ui(io, so, Fa) {
            ve.push(kx(re, ue, io, so, Fa));
          }
        }
        let li = !1;
        function cn($, be) {
          if (!be)
            return $;
          E.assert(!$.jsDoc);
          const Oe = Oi(pB($, ue), (yt) => qc.parseJSDocComment($, yt.pos, yt.end - yt.pos));
          return Oe.length && ($.jsDoc = Oe), li && (li = !1, $.flags |= 536870912), $;
        }
        function ci($) {
          const be = Pe, Oe = Oz.createSyntaxCursor($);
          Pe = { currentNode: Ui };
          const yt = [], qt = ve;
          ve = [];
          let hr = 0, Ln = ri($.statements, 0);
          for (; Ln !== -1; ) {
            const io = $.statements[hr], so = $.statements[Ln];
            wn(yt, $.statements, hr, Ln), hr = oi($.statements, Ln);
            const Fa = oc(qt, (dg) => dg.start >= io.pos), fp = Fa >= 0 ? oc(qt, (dg) => dg.start >= so.pos, Fa) : -1;
            Fa >= 0 && wn(ve, qt, Fa, fp >= 0 ? fp : void 0), Kt(
              () => {
                const dg = Fr;
                for (Fr |= 65536, t.resetTokenState(so.pos), ke(); X() !== 1; ) {
                  const zp = t.getTokenFullStart(), Ol = Ac(0, Jp);
                  if (yt.push(Ol), zp === t.getTokenFullStart() && ke(), hr >= 0) {
                    const Od = $.statements[hr];
                    if (Ol.end === Od.pos)
                      break;
                    Ol.end > Od.pos && (hr = oi($.statements, hr + 1));
                  }
                }
                Fr = dg;
              },
              2
              /* Reparse */
            ), Ln = hr >= 0 ? ri($.statements, hr) : -1;
          }
          if (hr >= 0) {
            const io = $.statements[hr];
            wn(yt, $.statements, hr);
            const so = oc(qt, (Fa) => Fa.start >= io.pos);
            so >= 0 && wn(ve, qt, so);
          }
          return Pe = be, m.updateSourceFile($, ot(h(yt), $.statements));
          function Si(io) {
            return !(io.flags & 65536) && !!(io.transformFlags & 67108864);
          }
          function ri(io, so) {
            for (let Fa = so; Fa < io.length; Fa++)
              if (Si(io[Fa]))
                return Fa;
            return -1;
          }
          function oi(io, so) {
            for (let Fa = so; Fa < io.length; Fa++)
              if (!Si(io[Fa]))
                return Fa;
            return -1;
          }
          function Ui(io) {
            const so = Oe.currentNode(io);
            return it && so && Si(so) && fre(so), so;
          }
        }
        function je($) {
          tv(
            $,
            /*incremental*/
            !0
          );
        }
        e.fixupParentReferences = je;
        function ut($, be, Oe, yt, qt, hr, Ln, Si) {
          let ri = m.createSourceFile(qt, hr, Ln);
          if (FJ(ri, 0, ue.length), oi(ri), !yt && ol(ri) && ri.transformFlags & 67108864) {
            const Ui = ri;
            ri = ci(ri), Ui !== ri && oi(ri);
          }
          return ri;
          function oi(Ui) {
            Ui.text = ue, Ui.bindDiagnostics = [], Ui.bindSuggestionDiagnostics = void 0, Ui.languageVersion = be, Ui.fileName = $, Ui.languageVariant = tN(Oe), Ui.isDeclarationFile = yt, Ui.scriptKind = Oe, Si(Ui), Ui.setExternalModuleIndicator = Si;
          }
        }
        function er($, be) {
          $ ? Fr |= be : Fr &= ~be;
        }
        function Vr($) {
          er(
            $,
            8192
            /* DisallowInContext */
          );
        }
        function zn($) {
          er(
            $,
            16384
            /* YieldContext */
          );
        }
        function Wn($) {
          er(
            $,
            32768
            /* DecoratorContext */
          );
        }
        function bi($) {
          er(
            $,
            65536
            /* AwaitContext */
          );
        }
        function ks($, be) {
          const Oe = $ & Fr;
          if (Oe) {
            er(
              /*val*/
              !1,
              Oe
            );
            const yt = be();
            return er(
              /*val*/
              !0,
              Oe
            ), yt;
          }
          return be();
        }
        function ta($, be) {
          const Oe = $ & ~Fr;
          if (Oe) {
            er(
              /*val*/
              !0,
              Oe
            );
            const yt = be();
            return er(
              /*val*/
              !1,
              Oe
            ), yt;
          }
          return be();
        }
        function gr($) {
          return ks(8192, $);
        }
        function ms($) {
          return ta(8192, $);
        }
        function He($) {
          return ks(131072, $);
        }
        function Et($) {
          return ta(131072, $);
        }
        function ne($) {
          return ta(16384, $);
        }
        function rt($) {
          return ta(32768, $);
        }
        function Q($) {
          return ta(65536, $);
        }
        function Ne($) {
          return ks(65536, $);
        }
        function qe($) {
          return ta(81920, $);
        }
        function Ze($) {
          return ks(81920, $);
        }
        function bt($) {
          return (Fr & $) !== 0;
        }
        function Ie() {
          return bt(
            16384
            /* YieldContext */
          );
        }
        function ft() {
          return bt(
            8192
            /* DisallowInContext */
          );
        }
        function _t() {
          return bt(
            131072
            /* DisallowConditionalTypesContext */
          );
        }
        function kt() {
          return bt(
            32768
            /* DecoratorContext */
          );
        }
        function Ve() {
          return bt(
            65536
            /* AwaitContext */
          );
        }
        function Rt($, ...be) {
          return we(t.getTokenStart(), t.getTokenEnd(), $, ...be);
        }
        function Zr($, be, Oe, ...yt) {
          const qt = Po(ve);
          let hr;
          return (!qt || $ !== qt.start) && (hr = kx(re, ue, $, be, Oe, ...yt), ve.push(hr)), Wt = !0, hr;
        }
        function we($, be, Oe, ...yt) {
          return Zr($, be - $, Oe, ...yt);
        }
        function mt($, be, ...Oe) {
          we($.pos, $.end, be, ...Oe);
        }
        function _e($, be, Oe) {
          Zr(t.getTokenEnd(), be, $, Oe);
        }
        function M() {
          return t.getTokenFullStart();
        }
        function ye() {
          return t.hasPrecedingJSDocComment();
        }
        function X() {
          return Ee;
        }
        function pt() {
          return Ee = t.scan();
        }
        function jt($) {
          return ke(), $();
        }
        function ke() {
          return p_(Ee) && (t.hasUnicodeEscape() || t.hasExtendedUnicodeEscape()) && we(t.getTokenStart(), t.getTokenEnd(), p.Keywords_cannot_contain_escape_characters), pt();
        }
        function st() {
          return Ee = t.scanJsDocToken();
        }
        function At($) {
          return Ee = t.scanJSDocCommentTextToken($);
        }
        function Yr() {
          return Ee = t.reScanGreaterToken();
        }
        function Mr() {
          return Ee = t.reScanSlashToken();
        }
        function Rr($) {
          return Ee = t.reScanTemplateToken($);
        }
        function Ye() {
          return Ee = t.reScanLessThanToken();
        }
        function gt() {
          return Ee = t.reScanHashToken();
        }
        function Jt() {
          return Ee = t.scanJsxIdentifier();
        }
        function wt() {
          return Ee = t.scanJsxToken();
        }
        function dr() {
          return Ee = t.scanJsxAttributeValue();
        }
        function Kt($, be) {
          const Oe = Ee, yt = ve.length, qt = Wt, hr = Fr, Ln = be !== 0 ? t.lookAhead($) : t.tryScan($);
          return E.assert(hr === Fr), (!Ln || be !== 0) && (Ee = Oe, be !== 2 && (ve.length = yt), Wt = qt), Ln;
        }
        function Mt($) {
          return Kt(
            $,
            1
            /* Lookahead */
          );
        }
        function cr($) {
          return Kt(
            $,
            0
            /* TryParse */
          );
        }
        function lr() {
          return X() === 80 ? !0 : X() > 118;
        }
        function br() {
          return X() === 80 ? !0 : X() === 127 && Ie() || X() === 135 && Ve() ? !1 : X() > 118;
        }
        function $t($, be, Oe = !0) {
          return X() === $ ? (Oe && ke(), !0) : (be ? Rt(be) : Rt(p._0_expected, Qs($)), !1);
        }
        const Qn = Object.keys(s7).filter(($) => $.length > 2);
        function Ns($) {
          if (iv($)) {
            we(ca(ue, $.template.pos), $.template.end, p.Module_declaration_names_may_only_use_or_quoted_strings);
            return;
          }
          const be = Fe($) ? Pn($) : void 0;
          if (!be || !C_(be, Xe)) {
            Rt(p._0_expected, Qs(
              27
              /* SemicolonToken */
            ));
            return;
          }
          const Oe = ca(ue, $.pos);
          switch (be) {
            case "const":
            case "let":
            case "var":
              we(Oe, $.end, p.Variable_declaration_not_allowed_at_this_location);
              return;
            case "declare":
              return;
            case "interface":
              $s(
                p.Interface_name_cannot_be_0,
                p.Interface_must_be_given_a_name,
                19
                /* OpenBraceToken */
              );
              return;
            case "is":
              we(Oe, t.getTokenStart(), p.A_type_predicate_is_only_allowed_in_return_type_position_for_functions_and_methods);
              return;
            case "module":
            case "namespace":
              $s(
                p.Namespace_name_cannot_be_0,
                p.Namespace_must_be_given_a_name,
                19
                /* OpenBraceToken */
              );
              return;
            case "type":
              $s(
                p.Type_alias_name_cannot_be_0,
                p.Type_alias_must_be_given_a_name,
                64
                /* EqualsToken */
              );
              return;
          }
          const yt = hb(be, Qn, mo) ?? Es(be);
          if (yt) {
            we(Oe, $.end, p.Unknown_keyword_or_identifier_Did_you_mean_0, yt);
            return;
          }
          X() !== 0 && we(Oe, $.end, p.Unexpected_keyword_or_identifier);
        }
        function $s($, be, Oe) {
          X() === Oe ? Rt(be) : Rt($, t.getTokenValue());
        }
        function Es($) {
          for (const be of Qn)
            if ($.length > be.length + 2 && Wi($, be))
              return `${be} ${$.slice(be.length)}`;
        }
        function Nc($, be, Oe) {
          if (X() === 60 && !t.hasPrecedingLineBreak()) {
            Rt(p.Decorators_must_precede_the_name_and_all_keywords_of_property_declarations);
            return;
          }
          if (X() === 21) {
            Rt(p.Cannot_start_a_function_call_in_a_type_annotation), ke();
            return;
          }
          if (be && !ss()) {
            Oe ? Rt(p._0_expected, Qs(
              27
              /* SemicolonToken */
            )) : Rt(p.Expected_for_property_initializer);
            return;
          }
          if (!Vs()) {
            if (Oe) {
              Rt(p._0_expected, Qs(
                27
                /* SemicolonToken */
              ));
              return;
            }
            Ns($);
          }
        }
        function qo($) {
          return X() === $ ? (st(), !0) : (E.assert(l5($)), Rt(p._0_expected, Qs($)), !1);
        }
        function kc($, be, Oe, yt) {
          if (X() === be) {
            ke();
            return;
          }
          const qt = Rt(p._0_expected, Qs(be));
          Oe && qt && Ws(
            qt,
            kx(re, ue, yt, 1, p.The_parser_expected_to_find_a_1_to_match_the_0_token_here, Qs($), Qs(be))
          );
        }
        function gi($) {
          return X() === $ ? (ke(), !0) : !1;
        }
        function ps($) {
          if (X() === $)
            return Bo();
        }
        function Wc($) {
          if (X() === $)
            return rf();
        }
        function Lo($, be, Oe) {
          return ps($) || Ka(
            $,
            /*reportAtCurrentPosition*/
            !1,
            be || p._0_expected,
            Oe || Qs($)
          );
        }
        function Pa($) {
          const be = Wc($);
          return be || (E.assert(l5($)), Ka(
            $,
            /*reportAtCurrentPosition*/
            !1,
            p._0_expected,
            Qs($)
          ));
        }
        function Bo() {
          const $ = M(), be = X();
          return ke(), zt(A(be), $);
        }
        function rf() {
          const $ = M(), be = X();
          return st(), zt(A(be), $);
        }
        function ss() {
          return X() === 27 ? !0 : X() === 20 || X() === 1 || t.hasPrecedingLineBreak();
        }
        function Vs() {
          return ss() ? (X() === 27 && ke(), !0) : !1;
        }
        function Aa() {
          return Vs() || $t(
            27
            /* SemicolonToken */
          );
        }
        function Ca($, be, Oe, yt) {
          const qt = h($, yt);
          return hd(qt, be, Oe ?? t.getTokenFullStart()), qt;
        }
        function zt($, be, Oe) {
          return hd($, be, Oe ?? t.getTokenFullStart()), Fr && ($.flags |= Fr), Wt && (Wt = !1, $.flags |= 262144), $;
        }
        function Ka($, be, Oe, ...yt) {
          be ? Zr(t.getTokenFullStart(), 0, Oe, ...yt) : Oe && Rt(Oe, ...yt);
          const qt = M(), hr = $ === 80 ? D(
            "",
            /*originalKeywordKind*/
            void 0
          ) : My($) ? m.createTemplateLiteralLikeNode(
            $,
            "",
            "",
            /*templateFlags*/
            void 0
          ) : $ === 9 ? S(
            "",
            /*numericLiteralFlags*/
            void 0
          ) : $ === 11 ? T(
            "",
            /*isSingleQuote*/
            void 0
          ) : $ === 282 ? m.createMissingDeclaration() : A($);
          return zt(hr, qt);
        }
        function Vc($) {
          let be = ze.get($);
          return be === void 0 && ze.set($, be = $), be;
        }
        function tc($, be, Oe) {
          if ($) {
            St++;
            const Si = t.hasPrecedingJSDocLeadingAsterisks() ? t.getTokenStart() : M(), ri = X(), oi = Vc(t.getTokenValue()), Ui = t.hasExtendedUnicodeEscape();
            return pt(), zt(D(oi, ri, Ui), Si);
          }
          if (X() === 81)
            return Rt(Oe || p.Private_identifiers_are_not_allowed_outside_class_bodies), tc(
              /*isIdentifier*/
              !0
            );
          if (X() === 0 && t.tryScan(
            () => t.reScanInvalidIdentifier() === 80
            /* Identifier */
          ))
            return tc(
              /*isIdentifier*/
              !0
            );
          St++;
          const yt = X() === 1, qt = t.isReservedWord(), hr = t.getTokenText(), Ln = qt ? p.Identifier_expected_0_is_a_reserved_word_that_cannot_be_used_here : p.Identifier_expected;
          return Ka(80, yt, be || Ln, hr);
        }
        function eu($) {
          return tc(
            lr(),
            /*diagnosticMessage*/
            void 0,
            $
          );
        }
        function yo($, be) {
          return tc(br(), $, be);
        }
        function ge($) {
          return tc(l_(X()), $);
        }
        function H() {
          return (t.hasUnicodeEscape() || t.hasExtendedUnicodeEscape()) && Rt(p.Unicode_escape_sequence_cannot_appear_here), tc(l_(X()));
        }
        function et() {
          return l_(X()) || X() === 11 || X() === 9 || X() === 10;
        }
        function Ot() {
          return l_(X()) || X() === 11;
        }
        function Zt($) {
          if (X() === 11 || X() === 9 || X() === 10) {
            const be = Ct();
            return be.text = Vc(be.text), be;
          }
          return X() === 23 ? Vn() : X() === 81 ? sn() : ge();
        }
        function Ur() {
          return Zt();
        }
        function Vn() {
          const $ = M();
          $t(
            23
            /* OpenBracketToken */
          );
          const be = gr(Vl);
          return $t(
            24
            /* CloseBracketToken */
          ), zt(m.createComputedPropertyName(be), $);
        }
        function sn() {
          const $ = M(), be = w(Vc(t.getTokenValue()));
          return ke(), zt(be, $);
        }
        function xr($) {
          return X() === $ && cr(Qi);
        }
        function Li() {
          return ke(), t.hasPrecedingLineBreak() ? !1 : fc();
        }
        function Qi() {
          switch (X()) {
            case 87:
              return ke() === 94;
            case 95:
              return ke(), X() === 90 ? Mt(bo) : X() === 156 ? Mt(da) : no();
            case 90:
              return bo();
            case 126:
              return ke(), fc();
            case 139:
            case 153:
              return ke(), Lc();
            default:
              return Li();
          }
        }
        function no() {
          return X() === 60 || X() !== 42 && X() !== 130 && X() !== 19 && fc();
        }
        function da() {
          return ke(), no();
        }
        function vo() {
          return jy(X()) && cr(Qi);
        }
        function fc() {
          return X() === 23 || X() === 19 || X() === 42 || X() === 26 || et();
        }
        function Lc() {
          return X() === 23 || et();
        }
        function bo() {
          return ke(), X() === 86 || X() === 100 || X() === 120 || X() === 60 || X() === 128 && Mt(Qh) || X() === 134 && Mt(SE);
        }
        function pc($, be) {
          if (rc($))
            return !0;
          switch ($) {
            case 0:
            case 1:
            case 3:
              return !(X() === 27 && be) && TE();
            case 2:
              return X() === 84 || X() === 90;
            case 4:
              return Mt(Al);
            case 5:
              return Mt(Yh) || X() === 27 && !be;
            case 6:
              return X() === 23 || et();
            case 12:
              switch (X()) {
                case 23:
                case 42:
                case 26:
                case 25:
                  return !0;
                default:
                  return et();
              }
            case 18:
              return et();
            case 9:
              return X() === 23 || X() === 26 || et();
            case 24:
              return Ot();
            case 7:
              return X() === 19 ? Mt(Cd) : be ? br() && !Ae() : aT() && !Ae();
            case 8:
              return Wv();
            case 10:
              return X() === 28 || X() === 26 || Wv();
            case 19:
              return X() === 103 || X() === 87 || br();
            case 15:
              switch (X()) {
                case 28:
                case 25:
                  return !0;
              }
            // falls through
            case 11:
              return X() === 26 || wd();
            case 16:
              return J0(
                /*isJSDocParameter*/
                !1
              );
            case 17:
              return J0(
                /*isJSDocParameter*/
                !0
              );
            case 20:
            case 21:
              return X() === 28 || Sm();
            case 22:
              return Wk();
            case 23:
              return X() === 161 && Mt(Mk) ? !1 : X() === 11 ? !0 : l_(X());
            case 13:
              return l_(X()) || X() === 19;
            case 14:
              return !0;
            case 25:
              return !0;
            case 26:
              return E.fail("ParsingContext.Count used as a context");
            // Not a real context, only a marker.
            default:
              E.assertNever($, "Non-exhaustive case in 'isListElement'.");
          }
        }
        function Cd() {
          if (E.assert(
            X() === 19
            /* OpenBraceToken */
          ), ke() === 20) {
            const $ = ke();
            return $ === 28 || $ === 19 || $ === 96 || $ === 119;
          }
          return !0;
        }
        function tu() {
          return ke(), br();
        }
        function Rf() {
          return ke(), l_(X());
        }
        function r_() {
          return ke(), DY(X());
        }
        function Ae() {
          return X() === 119 || X() === 96 ? Mt(It) : !1;
        }
        function It() {
          return ke(), wd();
        }
        function Xr() {
          return ke(), Sm();
        }
        function qi($) {
          if (X() === 1)
            return !0;
          switch ($) {
            case 1:
            case 2:
            case 4:
            case 5:
            case 6:
            case 12:
            case 9:
            case 23:
            case 24:
              return X() === 20;
            case 3:
              return X() === 20 || X() === 84 || X() === 90;
            case 7:
              return X() === 19 || X() === 96 || X() === 119;
            case 8:
              return Is();
            case 19:
              return X() === 32 || X() === 21 || X() === 19 || X() === 96 || X() === 119;
            case 11:
              return X() === 22 || X() === 27;
            case 15:
            case 21:
            case 10:
              return X() === 24;
            case 17:
            case 16:
            case 18:
              return X() === 22 || X() === 24;
            case 20:
              return X() !== 28;
            case 22:
              return X() === 19 || X() === 20;
            case 13:
              return X() === 32 || X() === 44;
            case 14:
              return X() === 30 && Mt(Bi);
            default:
              return !1;
          }
        }
        function Is() {
          return !!(ss() || Il(X()) || X() === 39);
        }
        function Ea() {
          E.assert(Bt, "Missing parsing context");
          for (let $ = 0; $ < 26; $++)
            if (Bt & 1 << $ && (pc(
              $,
              /*inErrorRecovery*/
              !0
            ) || qi($)))
              return !0;
          return !1;
        }
        function Do($, be) {
          const Oe = Bt;
          Bt |= 1 << $;
          const yt = [], qt = M();
          for (; !qi($); ) {
            if (pc(
              $,
              /*inErrorRecovery*/
              !1
            )) {
              yt.push(Ac($, be));
              continue;
            }
            if (jf($))
              break;
          }
          return Bt = Oe, Ca(yt, qt);
        }
        function Ac($, be) {
          const Oe = rc($);
          return Oe ? nc(Oe) : be();
        }
        function rc($, be) {
          var Oe;
          if (!Pe || !Mc($) || Wt)
            return;
          const yt = Pe.currentNode(be ?? t.getTokenFullStart());
          if (!(cc(yt) || jLe(yt) || cx(yt) || (yt.flags & 101441536) !== Fr) && ll(yt, $))
            return L3(yt) && ((Oe = yt.jsDoc) != null && Oe.jsDocCache) && (yt.jsDoc.jsDocCache = void 0), yt;
        }
        function nc($) {
          return t.resetTokenState($.end), ke(), $;
        }
        function Mc($) {
          switch ($) {
            case 5:
            case 2:
            case 0:
            case 1:
            case 3:
            case 6:
            case 4:
            case 8:
            case 17:
            case 16:
              return !0;
          }
          return !1;
        }
        function ll($, be) {
          switch (be) {
            case 5:
              return ul($);
            case 2:
              return nf($);
            case 0:
            case 1:
            case 3:
              return n_($);
            case 6:
              return ed($);
            case 4:
              return hf($);
            case 8:
              return ym($);
            case 17:
            case 16:
              return Qg($);
          }
          return !1;
        }
        function ul($) {
          if ($)
            switch ($.kind) {
              case 176:
              case 181:
              case 177:
              case 178:
              case 172:
              case 240:
                return !0;
              case 174:
                const be = $;
                return !(be.name.kind === 80 && be.name.escapedText === "constructor");
            }
          return !1;
        }
        function nf($) {
          if ($)
            switch ($.kind) {
              case 296:
              case 297:
                return !0;
            }
          return !1;
        }
        function n_($) {
          if ($)
            switch ($.kind) {
              case 262:
              case 243:
              case 241:
              case 245:
              case 244:
              case 257:
              case 253:
              case 255:
              case 252:
              case 251:
              case 249:
              case 250:
              case 248:
              case 247:
              case 254:
              case 242:
              case 258:
              case 256:
              case 246:
              case 259:
              case 272:
              case 271:
              case 278:
              case 277:
              case 267:
              case 263:
              case 264:
              case 266:
              case 265:
                return !0;
            }
          return !1;
        }
        function ed($) {
          return $.kind === 306;
        }
        function hf($) {
          if ($)
            switch ($.kind) {
              case 180:
              case 173:
              case 181:
              case 171:
              case 179:
                return !0;
            }
          return !1;
        }
        function ym($) {
          return $.kind !== 260 ? !1 : $.initializer === void 0;
        }
        function Qg($) {
          return $.kind !== 169 ? !1 : $.initializer === void 0;
        }
        function jf($) {
          return y_($), Ea() ? !0 : (ke(), !1);
        }
        function y_($) {
          switch ($) {
            case 0:
              return X() === 90 ? Rt(p._0_expected, Qs(
                95
                /* ExportKeyword */
              )) : Rt(p.Declaration_or_statement_expected);
            case 1:
              return Rt(p.Declaration_or_statement_expected);
            case 2:
              return Rt(p.case_or_default_expected);
            case 3:
              return Rt(p.Statement_expected);
            case 18:
            // fallthrough
            case 4:
              return Rt(p.Property_or_signature_expected);
            case 5:
              return Rt(p.Unexpected_token_A_constructor_method_accessor_or_property_was_expected);
            case 6:
              return Rt(p.Enum_member_expected);
            case 7:
              return Rt(p.Expression_expected);
            case 8:
              return p_(X()) ? Rt(p._0_is_not_allowed_as_a_variable_declaration_name, Qs(X())) : Rt(p.Variable_declaration_expected);
            case 9:
              return Rt(p.Property_destructuring_pattern_expected);
            case 10:
              return Rt(p.Array_element_destructuring_pattern_expected);
            case 11:
              return Rt(p.Argument_expression_expected);
            case 12:
              return Rt(p.Property_assignment_expected);
            case 15:
              return Rt(p.Expression_or_comma_expected);
            case 17:
              return Rt(p.Parameter_declaration_expected);
            case 16:
              return p_(X()) ? Rt(p._0_is_not_allowed_as_a_parameter_name, Qs(X())) : Rt(p.Parameter_declaration_expected);
            case 19:
              return Rt(p.Type_parameter_declaration_expected);
            case 20:
              return Rt(p.Type_argument_expected);
            case 21:
              return Rt(p.Type_expected);
            case 22:
              return Rt(p.Unexpected_token_expected);
            case 23:
              return X() === 161 ? Rt(p._0_expected, "}") : Rt(p.Identifier_expected);
            case 13:
              return Rt(p.Identifier_expected);
            case 14:
              return Rt(p.Identifier_expected);
            case 24:
              return Rt(p.Identifier_or_string_literal_expected);
            case 25:
              return Rt(p.Identifier_expected);
            case 26:
              return E.fail("ParsingContext.Count used as a context");
            // Not a real context, only a marker.
            default:
              E.assertNever($);
          }
        }
        function Ju($, be, Oe) {
          const yt = Bt;
          Bt |= 1 << $;
          const qt = [], hr = M();
          let Ln = -1;
          for (; ; ) {
            if (pc(
              $,
              /*inErrorRecovery*/
              !1
            )) {
              const Si = t.getTokenFullStart(), ri = Ac($, be);
              if (!ri) {
                Bt = yt;
                return;
              }
              if (qt.push(ri), Ln = t.getTokenStart(), gi(
                28
                /* CommaToken */
              ))
                continue;
              if (Ln = -1, qi($))
                break;
              $t(28, vm($)), Oe && X() === 27 && !t.hasPrecedingLineBreak() && ke(), Si === t.getTokenFullStart() && ke();
              continue;
            }
            if (qi($) || jf($))
              break;
          }
          return Bt = yt, Ca(
            qt,
            hr,
            /*end*/
            void 0,
            Ln >= 0
          );
        }
        function vm($) {
          return $ === 6 ? p.An_enum_member_name_must_be_followed_by_a_or : void 0;
        }
        function yf() {
          const $ = Ca([], M());
          return $.isMissingList = !0, $;
        }
        function Yg($) {
          return !!$.isMissingList;
        }
        function Z($, be, Oe, yt) {
          if ($t(Oe)) {
            const qt = Ju($, be);
            return $t(yt), qt;
          }
          return yf();
        }
        function Ke($, be) {
          const Oe = M();
          let yt = $ ? ge(be) : yo(be);
          for (; gi(
            25
            /* DotToken */
          ) && X() !== 30; )
            yt = zt(
              m.createQualifiedName(
                yt,
                Ut(
                  $,
                  /*allowPrivateIdentifiers*/
                  !1,
                  /*allowUnicodeEscapeSequenceInIdentifierName*/
                  !0
                )
              ),
              Oe
            );
          return yt;
        }
        function Vt($, be) {
          return zt(m.createQualifiedName($, be), $.pos);
        }
        function Ut($, be, Oe) {
          if (t.hasPrecedingLineBreak() && l_(X()) && Mt(mT))
            return Ka(
              80,
              /*reportAtCurrentPosition*/
              !0,
              p.Identifier_expected
            );
          if (X() === 81) {
            const yt = sn();
            return be ? yt : Ka(
              80,
              /*reportAtCurrentPosition*/
              !0,
              p.Identifier_expected
            );
          }
          return $ ? Oe ? ge() : H() : yo();
        }
        function vr($) {
          const be = M(), Oe = [];
          let yt;
          do
            yt = Re($), Oe.push(yt);
          while (yt.literal.kind === 17);
          return Ca(Oe, be);
        }
        function qr($) {
          const be = M();
          return zt(
            m.createTemplateExpression(
              Sr($),
              vr($)
            ),
            be
          );
        }
        function On() {
          const $ = M();
          return zt(
            m.createTemplateLiteralType(
              Sr(
                /*isTaggedTemplate*/
                !1
              ),
              ti()
            ),
            $
          );
        }
        function ti() {
          const $ = M(), be = [];
          let Oe;
          do
            Oe = Ii(), be.push(Oe);
          while (Oe.literal.kind === 17);
          return Ca(be, $);
        }
        function Ii() {
          const $ = M();
          return zt(
            m.createTemplateLiteralTypeSpan(
              il(),
              L(
                /*isTaggedTemplate*/
                !1
              )
            ),
            $
          );
        }
        function L($) {
          return X() === 20 ? (Rr($), Zi()) : Lo(18, p._0_expected, Qs(
            20
            /* CloseBraceToken */
          ));
        }
        function Re($) {
          const be = M();
          return zt(
            m.createTemplateSpan(
              gr(Vl),
              L($)
            ),
            be
          );
        }
        function Ct() {
          return Vi(X());
        }
        function Sr($) {
          !$ && t.getTokenFlags() & 26656 && Rr(
            /*isTaggedTemplate*/
            !1
          );
          const be = Vi(X());
          return E.assert(be.kind === 16, "Template head has wrong token kind"), be;
        }
        function Zi() {
          const $ = Vi(X());
          return E.assert($.kind === 17 || $.kind === 18, "Template fragment has wrong token kind"), $;
        }
        function fi($) {
          const be = $ === 15 || $ === 18, Oe = t.getTokenText();
          return Oe.substring(1, Oe.length - (t.isUnterminated() ? 0 : be ? 1 : 2));
        }
        function Vi($) {
          const be = M(), Oe = My($) ? m.createTemplateLiteralLikeNode(
            $,
            t.getTokenValue(),
            fi($),
            t.getTokenFlags() & 7176
            /* TemplateLiteralLikeFlags */
          ) : (
            // Note that theoretically the following condition would hold true literals like 009,
            // which is not octal. But because of how the scanner separates the tokens, we would
            // never get a token like this. Instead, we would get 00 and 9 as two separate tokens.
            // We also do not need to check for negatives because any prefix operator would be part of a
            // parent unary expression.
            $ === 9 ? S(t.getTokenValue(), t.getNumericLiteralFlags()) : $ === 11 ? T(
              t.getTokenValue(),
              /*isSingleQuote*/
              void 0,
              t.hasExtendedUnicodeEscape()
            ) : D4($) ? k($, t.getTokenValue()) : E.fail()
          );
          return t.hasExtendedUnicodeEscape() && (Oe.hasExtendedUnicodeEscape = !0), t.isUnterminated() && (Oe.isUnterminated = !0), ke(), zt(Oe, be);
        }
        function as() {
          return Ke(
            /*allowReservedWords*/
            !0,
            p.Type_expected
          );
        }
        function Ao() {
          if (!t.hasPrecedingLineBreak() && Ye() === 30)
            return Z(
              20,
              il,
              30,
              32
              /* GreaterThanToken */
            );
        }
        function ra() {
          const $ = M();
          return zt(
            m.createTypeReferenceNode(
              as(),
              Ao()
            ),
            $
          );
        }
        function nl($) {
          switch ($.kind) {
            case 183:
              return cc($.typeName);
            case 184:
            case 185: {
              const { parameters: be, type: Oe } = $;
              return Yg(be) || nl(Oe);
            }
            case 196:
              return nl($.type);
            default:
              return !1;
          }
        }
        function sf($) {
          return ke(), zt(m.createTypePredicateNode(
            /*assertsModifier*/
            void 0,
            $,
            il()
          ), $.pos);
        }
        function up() {
          const $ = M();
          return ke(), zt(m.createThisTypeNode(), $);
        }
        function Ed() {
          const $ = M();
          return ke(), zt(m.createJSDocAllType(), $);
        }
        function qh() {
          const $ = M();
          return ke(), zt(m.createJSDocNonNullableType(
            sT(),
            /*postfix*/
            !1
          ), $);
        }
        function Zg() {
          const $ = M();
          return ke(), X() === 28 || X() === 20 || X() === 22 || X() === 32 || X() === 64 || X() === 52 ? zt(m.createJSDocUnknownType(), $) : zt(m.createJSDocNullableType(
            il(),
            /*postfix*/
            !1
          ), $);
        }
        function A_() {
          const $ = M(), be = ye();
          if (cr(Hw)) {
            const Oe = Pr(
              36
              /* JSDoc */
            ), yt = rr(
              59,
              /*isType*/
              !1
            );
            return cn(zt(m.createJSDocFunctionType(Oe, yt), $), be);
          }
          return zt(m.createTypeReferenceNode(
            ge(),
            /*typeArguments*/
            void 0
          ), $);
        }
        function Dd() {
          const $ = M();
          let be;
          return (X() === 110 || X() === 105) && (be = ge(), $t(
            59
            /* ColonToken */
          )), zt(
            m.createParameterDeclaration(
              /*modifiers*/
              void 0,
              /*dotDotDotToken*/
              void 0,
              // TODO(rbuckton): JSDoc parameters don't have names (except `this`/`new`), should we manufacture an empty identifier?
              be,
              /*questionToken*/
              void 0,
              bm(),
              /*initializer*/
              void 0
            ),
            $
          );
        }
        function bm() {
          t.setSkipJsDocLeadingAsterisks(!0);
          const $ = M();
          if (gi(
            144
            /* ModuleKeyword */
          )) {
            const yt = m.createJSDocNamepathType(
              /*type*/
              void 0
            );
            e:
              for (; ; )
                switch (X()) {
                  case 20:
                  case 1:
                  case 28:
                  case 5:
                    break e;
                  default:
                    st();
                }
            return t.setSkipJsDocLeadingAsterisks(!1), zt(yt, $);
          }
          const be = gi(
            26
            /* DotDotDotToken */
          );
          let Oe = v_();
          return t.setSkipJsDocLeadingAsterisks(!1), be && (Oe = zt(m.createJSDocVariadicType(Oe), $)), X() === 64 ? (ke(), zt(m.createJSDocOptionalType(Oe), $)) : Oe;
        }
        function Rp() {
          const $ = M();
          $t(
            114
            /* TypeOfKeyword */
          );
          const be = Ke(
            /*allowReservedWords*/
            !0
          ), Oe = t.hasPrecedingLineBreak() ? void 0 : Vv();
          return zt(m.createTypeQueryNode(be, Oe), $);
        }
        function m1() {
          const $ = M(), be = Yn(
            /*allowDecorators*/
            !1,
            /*permitConstAsModifier*/
            !0
          ), Oe = yo();
          let yt, qt;
          gi(
            96
            /* ExtendsKeyword */
          ) && (Sm() || !wd() ? yt = il() : qt = Ri());
          const hr = gi(
            64
            /* EqualsToken */
          ) ? il() : void 0, Ln = m.createTypeParameterDeclaration(be, Oe, yt, hr);
          return Ln.expression = qt, zt(Ln, $);
        }
        function vf() {
          if (X() === 30)
            return Z(
              19,
              m1,
              30,
              32
              /* GreaterThanToken */
            );
        }
        function J0($) {
          return X() === 26 || Wv() || jy(X()) || X() === 60 || Sm(
            /*inStartOfParameter*/
            !$
          );
        }
        function g1($) {
          const be = La(p.Private_identifiers_cannot_be_used_as_parameters);
          return i3(be) === 0 && !at($) && jy(X()) && ke(), be;
        }
        function z0() {
          return lr() || X() === 23 || X() === 19;
        }
        function Le($) {
          return Nt($);
        }
        function Qe($) {
          return Nt(
            $,
            /*allowAmbiguity*/
            !1
          );
        }
        function Nt($, be = !0) {
          const Oe = M(), yt = ye(), qt = $ ? Q(() => Yn(
            /*allowDecorators*/
            !0
          )) : Ne(() => Yn(
            /*allowDecorators*/
            !0
          ));
          if (X() === 110) {
            const ri = m.createParameterDeclaration(
              qt,
              /*dotDotDotToken*/
              void 0,
              tc(
                /*isIdentifier*/
                !0
              ),
              /*questionToken*/
              void 0,
              H0(),
              /*initializer*/
              void 0
            ), oi = Xc(qt);
            return oi && mt(oi, p.Neither_decorators_nor_modifiers_may_be_applied_to_this_parameters), cn(zt(ri, Oe), yt);
          }
          const hr = it;
          it = !1;
          const Ln = ps(
            26
            /* DotDotDotToken */
          );
          if (!be && !z0())
            return;
          const Si = cn(
            zt(
              m.createParameterDeclaration(
                qt,
                Ln,
                g1(qt),
                ps(
                  58
                  /* QuestionToken */
                ),
                H0(),
                th()
              ),
              Oe
            ),
            yt
          );
          return it = hr, Si;
        }
        function rr($, be) {
          if (jr($, be))
            return He(v_);
        }
        function jr($, be) {
          return $ === 39 ? ($t($), !0) : gi(
            59
            /* ColonToken */
          ) ? !0 : be && X() === 39 ? (Rt(p._0_expected, Qs(
            59
            /* ColonToken */
          )), ke(), !0) : !1;
        }
        function pn($, be) {
          const Oe = Ie(), yt = Ve();
          zn(!!($ & 1)), bi(!!($ & 2));
          const qt = $ & 32 ? Ju(17, Dd) : Ju(16, () => be ? Le(yt) : Qe(yt));
          return zn(Oe), bi(yt), qt;
        }
        function Pr($) {
          if (!$t(
            21
            /* OpenParenToken */
          ))
            return yf();
          const be = pn(
            $,
            /*allowAmbiguity*/
            !0
          );
          return $t(
            22
            /* CloseParenToken */
          ), be;
        }
        function fn() {
          gi(
            28
            /* CommaToken */
          ) || Aa();
        }
        function vi($) {
          const be = M(), Oe = ye();
          $ === 180 && $t(
            105
            /* NewKeyword */
          );
          const yt = vf(), qt = Pr(
            4
            /* Type */
          ), hr = rr(
            59,
            /*isType*/
            !0
          );
          fn();
          const Ln = $ === 179 ? m.createCallSignature(yt, qt, hr) : m.createConstructSignature(yt, qt, hr);
          return cn(zt(Ln, be), Oe);
        }
        function ts() {
          return X() === 23 && Mt(Hn);
        }
        function Hn() {
          if (ke(), X() === 26 || X() === 24)
            return !0;
          if (jy(X())) {
            if (ke(), br())
              return !0;
          } else if (br())
            ke();
          else
            return !1;
          return X() === 59 || X() === 28 ? !0 : X() !== 58 ? !1 : (ke(), X() === 59 || X() === 28 || X() === 24);
        }
        function Mi($, be, Oe) {
          const yt = Z(
            16,
            () => Le(
              /*inOuterAwaitContext*/
              !1
            ),
            23,
            24
            /* CloseBracketToken */
          ), qt = H0();
          fn();
          const hr = m.createIndexSignature(Oe, yt, qt);
          return cn(zt(hr, $), be);
        }
        function Ds($, be, Oe) {
          const yt = Ur(), qt = ps(
            58
            /* QuestionToken */
          );
          let hr;
          if (X() === 21 || X() === 30) {
            const Ln = vf(), Si = Pr(
              4
              /* Type */
            ), ri = rr(
              59,
              /*isType*/
              !0
            );
            hr = m.createMethodSignature(Oe, yt, qt, Ln, Si, ri);
          } else {
            const Ln = H0();
            hr = m.createPropertySignature(Oe, yt, qt, Ln), X() === 64 && (hr.initializer = th());
          }
          return fn(), cn(zt(hr, $), be);
        }
        function Al() {
          if (X() === 21 || X() === 30 || X() === 139 || X() === 153)
            return !0;
          let $ = !1;
          for (; jy(X()); )
            $ = !0, ke();
          return X() === 23 ? !0 : (et() && ($ = !0, ke()), $ ? X() === 21 || X() === 30 || X() === 58 || X() === 59 || X() === 28 || ss() : !1);
        }
        function Bf() {
          if (X() === 21 || X() === 30)
            return vi(
              179
              /* CallSignature */
            );
          if (X() === 105 && Mt(Jf))
            return vi(
              180
              /* ConstructSignature */
            );
          const $ = M(), be = ye(), Oe = Yn(
            /*allowDecorators*/
            !1
          );
          return xr(
            139
            /* GetKeyword */
          ) ? Fd(
            $,
            be,
            Oe,
            177,
            4
            /* Type */
          ) : xr(
            153
            /* SetKeyword */
          ) ? Fd(
            $,
            be,
            Oe,
            178,
            4
            /* Type */
          ) : ts() ? Mi($, be, Oe) : Ds($, be, Oe);
        }
        function Jf() {
          return ke(), X() === 21 || X() === 30;
        }
        function af() {
          return ke() === 25;
        }
        function ng() {
          switch (ke()) {
            case 21:
            case 30:
            case 25:
              return !0;
          }
          return !1;
        }
        function td() {
          const $ = M();
          return zt(m.createTypeLiteralNode(ig()), $);
        }
        function ig() {
          let $;
          return $t(
            19
            /* OpenBraceToken */
          ) ? ($ = Do(4, Bf), $t(
            20
            /* CloseBraceToken */
          )) : $ = yf(), $;
        }
        function W0() {
          return ke(), X() === 40 || X() === 41 ? ke() === 148 : (X() === 148 && ke(), X() === 23 && tu() && ke() === 103);
        }
        function sg() {
          const $ = M(), be = ge();
          $t(
            103
            /* InKeyword */
          );
          const Oe = il();
          return zt(m.createTypeParameterDeclaration(
            /*modifiers*/
            void 0,
            be,
            Oe,
            /*defaultType*/
            void 0
          ), $);
        }
        function V0() {
          const $ = M();
          $t(
            19
            /* OpenBraceToken */
          );
          let be;
          (X() === 148 || X() === 40 || X() === 41) && (be = Bo(), be.kind !== 148 && $t(
            148
            /* ReadonlyKeyword */
          )), $t(
            23
            /* OpenBracketToken */
          );
          const Oe = sg(), yt = gi(
            130
            /* AsKeyword */
          ) ? il() : void 0;
          $t(
            24
            /* CloseBracketToken */
          );
          let qt;
          (X() === 58 || X() === 40 || X() === 41) && (qt = Bo(), qt.kind !== 58 && $t(
            58
            /* QuestionToken */
          ));
          const hr = H0();
          Aa();
          const Ln = Do(4, Bf);
          return $t(
            20
            /* CloseBraceToken */
          ), zt(m.createMappedTypeNode(be, Oe, yt, qt, hr, Ln), $);
        }
        function Pv() {
          const $ = M();
          if (gi(
            26
            /* DotDotDotToken */
          ))
            return zt(m.createRestTypeNode(il()), $);
          const be = il();
          if (y6(be) && be.pos === be.type.pos) {
            const Oe = m.createOptionalTypeNode(be.type);
            return ot(Oe, be), Oe.flags = be.flags, Oe;
          }
          return be;
        }
        function m2() {
          return ke() === 59 || X() === 58 && ke() === 59;
        }
        function Vw() {
          return X() === 26 ? l_(ke()) && m2() : l_(X()) && m2();
        }
        function xk() {
          if (Mt(Vw)) {
            const $ = M(), be = ye(), Oe = ps(
              26
              /* DotDotDotToken */
            ), yt = ge(), qt = ps(
              58
              /* QuestionToken */
            );
            $t(
              59
              /* ColonToken */
            );
            const hr = Pv(), Ln = m.createNamedTupleMember(Oe, yt, qt, hr);
            return cn(zt(Ln, $), be);
          }
          return Pv();
        }
        function pE() {
          const $ = M();
          return zt(
            m.createTupleTypeNode(
              Z(
                21,
                xk,
                23,
                24
                /* CloseBracketToken */
              )
            ),
            $
          );
        }
        function g2() {
          const $ = M();
          $t(
            21
            /* OpenParenToken */
          );
          const be = il();
          return $t(
            22
            /* CloseParenToken */
          ), zt(m.createParenthesizedType(be), $);
        }
        function dE() {
          let $;
          if (X() === 128) {
            const be = M();
            ke();
            const Oe = zt(A(
              128
              /* AbstractKeyword */
            ), be);
            $ = Ca([Oe], be);
          }
          return $;
        }
        function nT() {
          const $ = M(), be = ye(), Oe = dE(), yt = gi(
            105
            /* NewKeyword */
          );
          E.assert(!Oe || yt, "Per isStartOfFunctionOrConstructorType, a function type cannot have modifiers.");
          const qt = vf(), hr = Pr(
            4
            /* Type */
          ), Ln = rr(
            39,
            /*isType*/
            !1
          ), Si = yt ? m.createConstructorTypeNode(Oe, qt, hr, Ln) : m.createFunctionTypeNode(qt, hr, Ln);
          return cn(zt(Si, $), be);
        }
        function kk() {
          const $ = Bo();
          return X() === 25 ? void 0 : $;
        }
        function h2($) {
          const be = M();
          $ && ke();
          let Oe = X() === 112 || X() === 97 || X() === 106 ? Bo() : Vi(X());
          return $ && (Oe = zt(m.createPrefixUnaryExpression(41, Oe), be)), zt(m.createLiteralTypeNode(Oe), be);
        }
        function mE() {
          return ke(), X() === 102;
        }
        function iT() {
          xe |= 4194304;
          const $ = M(), be = gi(
            114
            /* TypeOfKeyword */
          );
          $t(
            102
            /* ImportKeyword */
          ), $t(
            21
            /* OpenParenToken */
          );
          const Oe = il();
          let yt;
          if (gi(
            28
            /* CommaToken */
          )) {
            const Ln = t.getTokenStart();
            $t(
              19
              /* OpenBraceToken */
            );
            const Si = X();
            if (Si === 118 || Si === 132 ? ke() : Rt(p._0_expected, Qs(
              118
              /* WithKeyword */
            )), $t(
              59
              /* ColonToken */
            ), yt = $k(
              Si,
              /*skipKeyword*/
              !0
            ), !$t(
              20
              /* CloseBraceToken */
            )) {
              const ri = Po(ve);
              ri && ri.code === p._0_expected.code && Ws(
                ri,
                kx(re, ue, Ln, 1, p.The_parser_expected_to_find_a_1_to_match_the_0_token_here, "{", "}")
              );
            }
          }
          $t(
            22
            /* CloseParenToken */
          );
          const qt = gi(
            25
            /* DotToken */
          ) ? as() : void 0, hr = Ao();
          return zt(m.createImportTypeNode(Oe, yt, qt, hr, be), $);
        }
        function Ck() {
          return ke(), X() === 9 || X() === 10;
        }
        function sT() {
          switch (X()) {
            case 133:
            case 159:
            case 154:
            case 150:
            case 163:
            case 155:
            case 136:
            case 157:
            case 146:
            case 151:
              return cr(kk) || ra();
            case 67:
              t.reScanAsteriskEqualsToken();
            // falls through
            case 42:
              return Ed();
            case 61:
              t.reScanQuestionToken();
            // falls through
            case 58:
              return Zg();
            case 100:
              return A_();
            case 54:
              return qh();
            case 15:
            case 11:
            case 9:
            case 10:
            case 112:
            case 97:
            case 106:
              return h2();
            case 41:
              return Mt(Ck) ? h2(
                /*negative*/
                !0
              ) : ra();
            case 116:
              return Bo();
            case 110: {
              const $ = up();
              return X() === 142 && !t.hasPrecedingLineBreak() ? sf($) : $;
            }
            case 114:
              return Mt(mE) ? iT() : Rp();
            case 19:
              return Mt(W0) ? V0() : td();
            case 23:
              return pE();
            case 21:
              return g2();
            case 102:
              return iT();
            case 131:
              return Mt(mT) ? of() : ra();
            case 16:
              return On();
            default:
              return ra();
          }
        }
        function Sm($) {
          switch (X()) {
            case 133:
            case 159:
            case 154:
            case 150:
            case 163:
            case 136:
            case 148:
            case 155:
            case 158:
            case 116:
            case 157:
            case 106:
            case 110:
            case 114:
            case 146:
            case 19:
            case 23:
            case 30:
            case 52:
            case 51:
            case 105:
            case 11:
            case 9:
            case 10:
            case 112:
            case 97:
            case 151:
            case 42:
            case 58:
            case 54:
            case 26:
            case 140:
            case 102:
            case 131:
            case 15:
            case 16:
              return !0;
            case 100:
              return !$;
            case 41:
              return !$ && Mt(Ck);
            case 21:
              return !$ && Mt(U0);
            default:
              return br();
          }
        }
        function U0() {
          return ke(), X() === 22 || J0(
            /*isJSDocParameter*/
            !1
          ) || Sm();
        }
        function Hh() {
          const $ = M();
          let be = sT();
          for (; !t.hasPrecedingLineBreak(); )
            switch (X()) {
              case 54:
                ke(), be = zt(m.createJSDocNonNullableType(
                  be,
                  /*postfix*/
                  !0
                ), $);
                break;
              case 58:
                if (Mt(Xr))
                  return be;
                ke(), be = zt(m.createJSDocNullableType(
                  be,
                  /*postfix*/
                  !0
                ), $);
                break;
              case 23:
                if ($t(
                  23
                  /* OpenBracketToken */
                ), Sm()) {
                  const Oe = il();
                  $t(
                    24
                    /* CloseBracketToken */
                  ), be = zt(m.createIndexedAccessTypeNode(be, Oe), $);
                } else
                  $t(
                    24
                    /* CloseBracketToken */
                  ), be = zt(m.createArrayTypeNode(be), $);
                break;
              default:
                return be;
            }
          return be;
        }
        function ag($) {
          const be = M();
          return $t($), zt(m.createTypeOperatorNode($, v2()), be);
        }
        function Nv() {
          if (gi(
            96
            /* ExtendsKeyword */
          )) {
            const $ = Et(il);
            if (_t() || X() !== 58)
              return $;
          }
        }
        function h1() {
          const $ = M(), be = yo(), Oe = cr(Nv), yt = m.createTypeParameterDeclaration(
            /*modifiers*/
            void 0,
            be,
            Oe
          );
          return zt(yt, $);
        }
        function y2() {
          const $ = M();
          return $t(
            140
            /* InferKeyword */
          ), zt(m.createInferTypeNode(h1()), $);
        }
        function v2() {
          const $ = X();
          switch ($) {
            case 143:
            case 158:
            case 148:
              return ag($);
            case 140:
              return y2();
          }
          return He(Hh);
        }
        function q0($) {
          if (Kg()) {
            const be = nT();
            let Oe;
            return Ym(be) ? Oe = $ ? p.Function_type_notation_must_be_parenthesized_when_used_in_a_union_type : p.Function_type_notation_must_be_parenthesized_when_used_in_an_intersection_type : Oe = $ ? p.Constructor_type_notation_must_be_parenthesized_when_used_in_a_union_type : p.Constructor_type_notation_must_be_parenthesized_when_used_in_an_intersection_type, mt(be, Oe), be;
          }
        }
        function Ia($, be, Oe) {
          const yt = M(), qt = $ === 52, hr = gi($);
          let Ln = hr && q0(qt) || be();
          if (X() === $ || hr) {
            const Si = [Ln];
            for (; gi($); )
              Si.push(q0(qt) || be());
            Ln = zt(Oe(Ca(Si, yt)), yt);
          }
          return Ln;
        }
        function Av() {
          return Ia(51, v2, m.createIntersectionTypeNode);
        }
        function Uw() {
          return Ia(52, Av, m.createUnionTypeNode);
        }
        function y1() {
          return ke(), X() === 105;
        }
        function Kg() {
          return X() === 30 || X() === 21 && Mt(_p) ? !0 : X() === 105 || X() === 128 && Mt(y1);
        }
        function eh() {
          if (jy(X()) && Yn(
            /*allowDecorators*/
            !1
          ), br() || X() === 110)
            return ke(), !0;
          if (X() === 23 || X() === 19) {
            const $ = ve.length;
            return La(), $ === ve.length;
          }
          return !1;
        }
        function _p() {
          return ke(), !!(X() === 22 || X() === 26 || eh() && (X() === 59 || X() === 28 || X() === 58 || X() === 64 || X() === 22 && (ke(), X() === 39)));
        }
        function v_() {
          const $ = M(), be = br() && cr(I_), Oe = il();
          return be ? zt(m.createTypePredicateNode(
            /*assertsModifier*/
            void 0,
            be,
            Oe
          ), $) : Oe;
        }
        function I_() {
          const $ = yo();
          if (X() === 142 && !t.hasPrecedingLineBreak())
            return ke(), $;
        }
        function of() {
          const $ = M(), be = Lo(
            131
            /* AssertsKeyword */
          ), Oe = X() === 110 ? up() : yo(), yt = gi(
            142
            /* IsKeyword */
          ) ? il() : void 0;
          return zt(m.createTypePredicateNode(be, Oe, yt), $);
        }
        function il() {
          if (Fr & 81920)
            return ks(81920, il);
          if (Kg())
            return nT();
          const $ = M(), be = Uw();
          if (!_t() && !t.hasPrecedingLineBreak() && gi(
            96
            /* ExtendsKeyword */
          )) {
            const Oe = Et(il);
            $t(
              58
              /* QuestionToken */
            );
            const yt = He(il);
            $t(
              59
              /* ColonToken */
            );
            const qt = He(il);
            return zt(m.createConditionalTypeNode(be, Oe, yt, qt), $);
          }
          return be;
        }
        function H0() {
          return gi(
            59
            /* ColonToken */
          ) ? il() : void 0;
        }
        function aT() {
          switch (X()) {
            case 110:
            case 108:
            case 106:
            case 112:
            case 97:
            case 9:
            case 10:
            case 11:
            case 15:
            case 16:
            case 21:
            case 23:
            case 19:
            case 100:
            case 86:
            case 105:
            case 44:
            case 69:
            case 80:
              return !0;
            case 102:
              return Mt(ng);
            default:
              return br();
          }
        }
        function wd() {
          if (aT())
            return !0;
          switch (X()) {
            case 40:
            case 41:
            case 55:
            case 54:
            case 91:
            case 114:
            case 116:
            case 46:
            case 47:
            case 30:
            case 135:
            case 127:
            case 81:
            case 60:
              return !0;
            default:
              return sh() ? !0 : br();
          }
        }
        function v1() {
          return X() !== 19 && X() !== 100 && X() !== 86 && X() !== 60 && wd();
        }
        function Vl() {
          const $ = kt();
          $ && Wn(
            /*val*/
            !1
          );
          const be = M();
          let Oe = F_(
            /*allowReturnTypeInArrowFunction*/
            !0
          ), yt;
          for (; yt = ps(
            28
            /* CommaToken */
          ); )
            Oe = Iv(Oe, yt, F_(
              /*allowReturnTypeInArrowFunction*/
              !0
            ), be);
          return $ && Wn(
            /*val*/
            !0
          ), Oe;
        }
        function th() {
          return gi(
            64
            /* EqualsToken */
          ) ? F_(
            /*allowReturnTypeInArrowFunction*/
            !0
          ) : void 0;
        }
        function F_($) {
          if (rh())
            return og();
          const be = Be($) || Ek($);
          if (be)
            return be;
          const Oe = M(), yt = ye(), qt = sa(
            0
            /* Lowest */
          );
          return qt.kind === 80 && X() === 39 ? b2(
            Oe,
            qt,
            $,
            yt,
            /*asyncModifier*/
            void 0
          ) : __(qt) && Ah(Yr()) ? Iv(qt, Bo(), F_($), Oe) : Dk(qt, Oe, $);
        }
        function rh() {
          return X() === 127 ? Ie() ? !0 : Mt(gT) : !1;
        }
        function nh() {
          return ke(), !t.hasPrecedingLineBreak() && br();
        }
        function og() {
          const $ = M();
          return ke(), !t.hasPrecedingLineBreak() && (X() === 42 || wd()) ? zt(
            m.createYieldExpression(
              ps(
                42
                /* AsteriskToken */
              ),
              F_(
                /*allowReturnTypeInArrowFunction*/
                !0
              )
            ),
            $
          ) : zt(m.createYieldExpression(
            /*asteriskToken*/
            void 0,
            /*expression*/
            void 0
          ), $);
        }
        function b2($, be, Oe, yt, qt) {
          E.assert(X() === 39, "parseSimpleArrowFunctionExpression should only have been called if we had a =>");
          const hr = m.createParameterDeclaration(
            /*modifiers*/
            void 0,
            /*dotDotDotToken*/
            void 0,
            be,
            /*questionToken*/
            void 0,
            /*type*/
            void 0,
            /*initializer*/
            void 0
          );
          zt(hr, be.pos);
          const Ln = Ca([hr], hr.pos, hr.end), Si = Lo(
            39
            /* EqualsGreaterThanToken */
          ), ri = cg(
            /*isAsync*/
            !!qt,
            Oe
          ), oi = m.createArrowFunction(
            qt,
            /*typeParameters*/
            void 0,
            Ln,
            /*type*/
            void 0,
            Si,
            ri
          );
          return cn(zt(oi, $), yt);
        }
        function Be($) {
          const be = G0();
          if (be !== 0)
            return be === 1 ? Gh(
              /*allowAmbiguity*/
              !0,
              /*allowReturnTypeInArrowFunction*/
              !0
            ) : cr(() => $0($));
        }
        function G0() {
          return X() === 21 || X() === 30 || X() === 134 ? Mt(Pd) : X() === 39 ? 1 : 0;
        }
        function Pd() {
          if (X() === 134 && (ke(), t.hasPrecedingLineBreak() || X() !== 21 && X() !== 30))
            return 0;
          const $ = X(), be = ke();
          if ($ === 21) {
            if (be === 22)
              switch (ke()) {
                case 39:
                case 59:
                case 19:
                  return 1;
                default:
                  return 0;
              }
            if (be === 23 || be === 19)
              return 2;
            if (be === 26)
              return 1;
            if (jy(be) && be !== 134 && Mt(tu))
              return ke() === 130 ? 0 : 1;
            if (!br() && be !== 110)
              return 0;
            switch (ke()) {
              case 59:
                return 1;
              case 58:
                return ke(), X() === 59 || X() === 28 || X() === 64 || X() === 22 ? 1 : 0;
              case 28:
              case 64:
              case 22:
                return 2;
            }
            return 0;
          } else
            return E.assert(
              $ === 30
              /* LessThanToken */
            ), !br() && X() !== 87 ? 0 : oe === 1 ? Mt(() => {
              gi(
                87
                /* ConstKeyword */
              );
              const yt = ke();
              if (yt === 96)
                switch (ke()) {
                  case 64:
                  case 32:
                  case 44:
                    return !1;
                  default:
                    return !0;
                }
              else if (yt === 28 || yt === 64)
                return !0;
              return !1;
            }) ? 1 : 0 : 2;
        }
        function $0($) {
          const be = t.getTokenStart();
          if (tr?.has(be))
            return;
          const Oe = Gh(
            /*allowAmbiguity*/
            !1,
            $
          );
          return Oe || (tr || (tr = /* @__PURE__ */ new Set())).add(be), Oe;
        }
        function Ek($) {
          if (X() === 134 && Mt(X0) === 1) {
            const be = M(), Oe = ye(), yt = hi(), qt = sa(
              0
              /* Lowest */
            );
            return b2(be, qt, $, Oe, yt);
          }
        }
        function X0() {
          if (X() === 134) {
            if (ke(), t.hasPrecedingLineBreak() || X() === 39)
              return 0;
            const $ = sa(
              0
              /* Lowest */
            );
            if (!t.hasPrecedingLineBreak() && $.kind === 80 && X() === 39)
              return 1;
          }
          return 0;
        }
        function Gh($, be) {
          const Oe = M(), yt = ye(), qt = hi(), hr = at(qt, DD) ? 2 : 0, Ln = vf();
          let Si;
          if ($t(
            21
            /* OpenParenToken */
          )) {
            if ($)
              Si = pn(hr, $);
            else {
              const zp = pn(hr, $);
              if (!zp)
                return;
              Si = zp;
            }
            if (!$t(
              22
              /* CloseParenToken */
            ) && !$)
              return;
          } else {
            if (!$)
              return;
            Si = yf();
          }
          const ri = X() === 59, oi = rr(
            59,
            /*isType*/
            !1
          );
          if (oi && !$ && nl(oi))
            return;
          let Ui = oi;
          for (; Ui?.kind === 196; )
            Ui = Ui.type;
          const io = Ui && v6(Ui);
          if (!$ && X() !== 39 && (io || X() !== 19))
            return;
          const so = X(), Fa = Lo(
            39
            /* EqualsGreaterThanToken */
          ), fp = so === 39 || so === 19 ? cg(at(qt, DD), be) : yo();
          if (!be && ri && X() !== 59)
            return;
          const dg = m.createArrowFunction(qt, Ln, Si, oi, Fa, fp);
          return cn(zt(dg, Oe), yt);
        }
        function cg($, be) {
          if (X() === 19)
            return ty(
              $ ? 2 : 0
              /* None */
            );
          if (X() !== 27 && X() !== 100 && X() !== 86 && TE() && !v1())
            return ty(16 | ($ ? 2 : 0));
          const Oe = it;
          it = !1;
          const yt = $ ? Q(() => F_(be)) : Ne(() => F_(be));
          return it = Oe, yt;
        }
        function Dk($, be, Oe) {
          const yt = ps(
            58
            /* QuestionToken */
          );
          if (!yt)
            return $;
          let qt;
          return zt(
            m.createConditionalExpression(
              $,
              yt,
              ks(n, () => F_(
                /*allowReturnTypeInArrowFunction*/
                !1
              )),
              qt = Lo(
                59
                /* ColonToken */
              ),
              Cp(qt) ? F_(Oe) : Ka(
                80,
                /*reportAtCurrentPosition*/
                !1,
                p._0_expected,
                Qs(
                  59
                  /* ColonToken */
                )
              )
            ),
            be
          );
        }
        function sa($) {
          const be = M(), Oe = Ri();
          return ih($, Oe, be);
        }
        function Il($) {
          return $ === 103 || $ === 165;
        }
        function ih($, be, Oe) {
          for (; ; ) {
            Yr();
            const yt = U3(X());
            if (!(X() === 43 ? yt >= $ : yt > $) || X() === 103 && ft())
              break;
            if (X() === 130 || X() === 152) {
              if (t.hasPrecedingLineBreak())
                break;
              {
                const hr = X();
                ke(), be = hr === 152 ? b1(be, il()) : Tm(be, il());
              }
            } else
              be = Iv(be, Bo(), sa(yt), Oe);
          }
          return be;
        }
        function sh() {
          return ft() && X() === 103 ? !1 : U3(X()) > 0;
        }
        function b1($, be) {
          return zt(m.createSatisfiesExpression($, be), $.pos);
        }
        function Iv($, be, Oe, yt) {
          return zt(m.createBinaryExpression($, be, Oe), yt);
        }
        function Tm($, be) {
          return zt(m.createAsExpression($, be), $.pos);
        }
        function $h() {
          const $ = M();
          return zt(m.createPrefixUnaryExpression(X(), jt(yn)), $);
        }
        function oT() {
          const $ = M();
          return zt(m.createDeleteExpression(jt(yn)), $);
        }
        function Q0() {
          const $ = M();
          return zt(m.createTypeOfExpression(jt(yn)), $);
        }
        function xm() {
          const $ = M();
          return zt(m.createVoidExpression(jt(yn)), $);
        }
        function lg() {
          return X() === 135 ? Ve() ? !0 : Mt(gT) : !1;
        }
        function S1() {
          const $ = M();
          return zt(m.createAwaitExpression(jt(yn)), $);
        }
        function Ri() {
          if (zu()) {
            const Oe = M(), yt = cT();
            return X() === 43 ? ih(U3(X()), yt, Oe) : yt;
          }
          const $ = X(), be = yn();
          if (X() === 43) {
            const Oe = ca(ue, be.pos), { end: yt } = be;
            be.kind === 216 ? we(Oe, yt, p.A_type_assertion_expression_is_not_allowed_in_the_left_hand_side_of_an_exponentiation_expression_Consider_enclosing_the_expression_in_parentheses) : (E.assert(l5($)), we(Oe, yt, p.An_unary_expression_with_the_0_operator_is_not_allowed_in_the_left_hand_side_of_an_exponentiation_expression_Consider_enclosing_the_expression_in_parentheses, Qs($)));
          }
          return be;
        }
        function yn() {
          switch (X()) {
            case 40:
            case 41:
            case 55:
            case 54:
              return $h();
            case 91:
              return oT();
            case 114:
              return Q0();
            case 116:
              return xm();
            case 30:
              return oe === 1 ? Ov(
                /*inExpressionContext*/
                !0,
                /*topInvalidNodePosition*/
                void 0,
                /*openingTag*/
                void 0,
                /*mustBeUnary*/
                !0
              ) : Wu();
            case 135:
              if (lg())
                return S1();
            // falls through
            default:
              return cT();
          }
        }
        function zu() {
          switch (X()) {
            case 40:
            case 41:
            case 55:
            case 54:
            case 91:
            case 114:
            case 116:
            case 135:
              return !1;
            case 30:
              if (oe !== 1)
                return !1;
            // We are in JSX context and the token is part of JSXElement.
            // falls through
            default:
              return !0;
          }
        }
        function cT() {
          if (X() === 46 || X() === 47) {
            const be = M();
            return zt(m.createPrefixUnaryExpression(X(), jt(km)), be);
          } else if (oe === 1 && X() === 30 && Mt(r_))
            return Ov(
              /*inExpressionContext*/
              !0
            );
          const $ = km();
          if (E.assert(__($)), (X() === 46 || X() === 47) && !t.hasPrecedingLineBreak()) {
            const be = X();
            return ke(), zt(m.createPostfixUnaryExpression($, be), $.pos);
          }
          return $;
        }
        function km() {
          const $ = M();
          let be;
          return X() === 102 ? Mt(Jf) ? (xe |= 4194304, be = Bo()) : Mt(af) ? (ke(), ke(), be = zt(m.createMetaProperty(102, ge()), $), xe |= 8388608) : be = po() : be = X() === 108 ? Fv() : po(), _g($, be);
        }
        function po() {
          const $ = M(), be = oh();
          return bf(
            $,
            be,
            /*allowOptionalChain*/
            !0
          );
        }
        function Fv() {
          const $ = M();
          let be = Bo();
          if (X() === 30) {
            const Oe = M(), yt = cr(K0);
            yt !== void 0 && (we(Oe, M(), p.super_may_not_use_type_arguments), Ad() || (be = m.createExpressionWithTypeArguments(be, yt)));
          }
          return X() === 21 || X() === 25 || X() === 23 ? be : (Lo(25, p.super_must_be_followed_by_an_argument_list_or_member_access), zt(j(be, Ut(
            /*allowIdentifierNames*/
            !0,
            /*allowPrivateIdentifiers*/
            !0,
            /*allowUnicodeEscapeSequenceInIdentifierName*/
            !0
          )), $));
        }
        function Ov($, be, Oe, yt = !1) {
          const qt = M(), hr = gE($);
          let Ln;
          if (hr.kind === 286) {
            let Si = T1(hr), ri;
            const oi = Si[Si.length - 1];
            if (oi?.kind === 284 && !dv(oi.openingElement.tagName, oi.closingElement.tagName) && dv(hr.tagName, oi.closingElement.tagName)) {
              const Ui = oi.children.end, io = zt(
                m.createJsxElement(
                  oi.openingElement,
                  oi.children,
                  zt(m.createJsxClosingElement(zt(D(""), Ui, Ui)), Ui, Ui)
                ),
                oi.openingElement.pos,
                Ui
              );
              Si = Ca([...Si.slice(0, Si.length - 1), io], Si.pos, Ui), ri = oi.closingElement;
            } else
              ri = hE(hr, $), dv(hr.tagName, ri.tagName) || (Oe && yd(Oe) && dv(ri.tagName, Oe.tagName) ? mt(hr.tagName, p.JSX_element_0_has_no_corresponding_closing_tag, O4(ue, hr.tagName)) : mt(ri.tagName, p.Expected_corresponding_JSX_closing_tag_for_0, O4(ue, hr.tagName)));
            Ln = zt(m.createJsxElement(hr, Si, ri), qt);
          } else hr.kind === 289 ? Ln = zt(m.createJsxFragment(hr, T1(hr), Pk($)), qt) : (E.assert(
            hr.kind === 285
            /* JsxSelfClosingElement */
          ), Ln = hr);
          if (!yt && $ && X() === 30) {
            const Si = typeof be > "u" ? Ln.pos : be, ri = cr(() => Ov(
              /*inExpressionContext*/
              !0,
              Si
            ));
            if (ri) {
              const oi = Ka(
                28,
                /*reportAtCurrentPosition*/
                !1
              );
              return FJ(oi, ri.pos, 0), we(ca(ue, Si), ri.end, p.JSX_expressions_must_have_one_parent_element), zt(m.createBinaryExpression(Ln, oi, ri), qt);
            }
          }
          return Ln;
        }
        function lT() {
          const $ = M(), be = m.createJsxText(
            t.getTokenValue(),
            Ee === 13
            /* JsxTextAllWhiteSpaces */
          );
          return Ee = t.scanJsxToken(), zt(be, $);
        }
        function wk($, be) {
          switch (be) {
            case 1:
              if (Yp($))
                mt($, p.JSX_fragment_has_no_corresponding_closing_tag);
              else {
                const Oe = $.tagName, yt = Math.min(ca(ue, Oe.pos), Oe.end);
                we(yt, Oe.end, p.JSX_element_0_has_no_corresponding_closing_tag, O4(ue, $.tagName));
              }
              return;
            case 31:
            case 7:
              return;
            case 12:
            case 13:
              return lT();
            case 19:
              return gs(
                /*inExpressionContext*/
                !1
              );
            case 30:
              return Ov(
                /*inExpressionContext*/
                !1,
                /*topInvalidNodePosition*/
                void 0,
                $
              );
            default:
              return E.assertNever(be);
          }
        }
        function T1($) {
          const be = [], Oe = M(), yt = Bt;
          for (Bt |= 16384; ; ) {
            const qt = wk($, Ee = t.reScanJsxToken());
            if (!qt || (be.push(qt), yd($) && qt?.kind === 284 && !dv(qt.openingElement.tagName, qt.closingElement.tagName) && dv($.tagName, qt.closingElement.tagName)))
              break;
          }
          return Bt = yt, Ca(be, Oe);
        }
        function Nd() {
          const $ = M();
          return zt(m.createJsxAttributes(Do(13, Y0)), $);
        }
        function gE($) {
          const be = M();
          if ($t(
            30
            /* LessThanToken */
          ), X() === 32)
            return wt(), zt(m.createJsxOpeningFragment(), be);
          const Oe = dn(), yt = (Fr & 524288) === 0 ? Vv() : void 0, qt = Nd();
          let hr;
          return X() === 32 ? (wt(), hr = m.createJsxOpeningElement(Oe, yt, qt)) : ($t(
            44
            /* SlashToken */
          ), $t(
            32,
            /*diagnosticMessage*/
            void 0,
            /*shouldAdvance*/
            !1
          ) && ($ ? ke() : wt()), hr = m.createJsxSelfClosingElement(Oe, yt, qt)), zt(hr, be);
        }
        function dn() {
          const $ = M(), be = Eu();
          if (vd(be))
            return be;
          let Oe = be;
          for (; gi(
            25
            /* DotToken */
          ); )
            Oe = zt(j(Oe, Ut(
              /*allowIdentifierNames*/
              !0,
              /*allowPrivateIdentifiers*/
              !1,
              /*allowUnicodeEscapeSequenceInIdentifierName*/
              !1
            )), $);
          return Oe;
        }
        function Eu() {
          const $ = M();
          Jt();
          const be = X() === 110, Oe = H();
          return gi(
            59
            /* ColonToken */
          ) ? (Jt(), zt(m.createJsxNamespacedName(Oe, H()), $)) : be ? zt(m.createToken(
            110
            /* ThisKeyword */
          ), $) : Oe;
        }
        function gs($) {
          const be = M();
          if (!$t(
            19
            /* OpenBraceToken */
          ))
            return;
          let Oe, yt;
          return X() !== 20 && ($ || (Oe = ps(
            26
            /* DotDotDotToken */
          )), yt = Vl()), $ ? $t(
            20
            /* CloseBraceToken */
          ) : $t(
            20,
            /*diagnosticMessage*/
            void 0,
            /*shouldAdvance*/
            !1
          ) && wt(), zt(m.createJsxExpression(Oe, yt), be);
        }
        function Y0() {
          if (X() === 19)
            return ln();
          const $ = M();
          return zt(m.createJsxAttribute(Lv(), uT()), $);
        }
        function uT() {
          if (X() === 64) {
            if (dr() === 11)
              return Ct();
            if (X() === 19)
              return gs(
                /*inExpressionContext*/
                !0
              );
            if (X() === 30)
              return Ov(
                /*inExpressionContext*/
                !0
              );
            Rt(p.or_JSX_element_expected);
          }
        }
        function Lv() {
          const $ = M();
          Jt();
          const be = H();
          return gi(
            59
            /* ColonToken */
          ) ? (Jt(), zt(m.createJsxNamespacedName(be, H()), $)) : be;
        }
        function ln() {
          const $ = M();
          $t(
            19
            /* OpenBraceToken */
          ), $t(
            26
            /* DotDotDotToken */
          );
          const be = Vl();
          return $t(
            20
            /* CloseBraceToken */
          ), zt(m.createJsxSpreadAttribute(be), $);
        }
        function hE($, be) {
          const Oe = M();
          $t(
            31
            /* LessThanSlashToken */
          );
          const yt = dn();
          return $t(
            32,
            /*diagnosticMessage*/
            void 0,
            /*shouldAdvance*/
            !1
          ) && (be || !dv($.tagName, yt) ? ke() : wt()), zt(m.createJsxClosingElement(yt), Oe);
        }
        function Pk($) {
          const be = M();
          return $t(
            31
            /* LessThanSlashToken */
          ), $t(
            32,
            p.Expected_corresponding_closing_tag_for_JSX_fragment,
            /*shouldAdvance*/
            !1
          ) && ($ ? ke() : wt()), zt(m.createJsxJsxClosingFragment(), be);
        }
        function Wu() {
          E.assert(oe !== 1, "Type assertions should never be parsed in JSX; they should be parsed as comparisons or JSX elements/fragments.");
          const $ = M();
          $t(
            30
            /* LessThanToken */
          );
          const be = il();
          $t(
            32
            /* GreaterThanToken */
          );
          const Oe = yn();
          return zt(m.createTypeAssertion(be, Oe), $);
        }
        function ug() {
          return ke(), l_(X()) || X() === 23 || Ad();
        }
        function rd() {
          return X() === 29 && Mt(ug);
        }
        function Z0($) {
          if ($.flags & 64)
            return !0;
          if (Ux($)) {
            let be = $.expression;
            for (; Ux(be) && !(be.flags & 64); )
              be = be.expression;
            if (be.flags & 64) {
              for (; Ux($); )
                $.flags |= 64, $ = $.expression;
              return !0;
            }
          }
          return !1;
        }
        function zf($, be, Oe) {
          const yt = Ut(
            /*allowIdentifierNames*/
            !0,
            /*allowPrivateIdentifiers*/
            !0,
            /*allowUnicodeEscapeSequenceInIdentifierName*/
            !0
          ), qt = Oe || Z0(be), hr = qt ? z(be, Oe, yt) : j(be, yt);
          if (qt && Di(hr.name) && mt(hr.name, p.An_optional_chain_cannot_contain_private_identifiers), Lh(be) && be.typeArguments) {
            const Ln = be.typeArguments.pos - 1, Si = ca(ue, be.typeArguments.end) + 1;
            we(Ln, Si, p.An_instantiation_expression_cannot_be_followed_by_a_property_access);
          }
          return zt(hr, $);
        }
        function ah($, be, Oe) {
          let yt;
          if (X() === 24)
            yt = Ka(
              80,
              /*reportAtCurrentPosition*/
              !0,
              p.An_element_access_expression_should_take_an_argument
            );
          else {
            const hr = gr(Vl);
            wf(hr) && (hr.text = Vc(hr.text)), yt = hr;
          }
          $t(
            24
            /* CloseBracketToken */
          );
          const qt = Oe || Z0(be) ? G(be, Oe, yt) : V(be, yt);
          return zt(qt, $);
        }
        function bf($, be, Oe) {
          for (; ; ) {
            let yt, qt = !1;
            if (Oe && rd() ? (yt = Lo(
              29
              /* QuestionDotToken */
            ), qt = l_(X())) : qt = gi(
              25
              /* DotToken */
            ), qt) {
              be = zf($, be, yt);
              continue;
            }
            if ((yt || !kt()) && gi(
              23
              /* OpenBracketToken */
            )) {
              be = ah($, be, yt);
              continue;
            }
            if (Ad()) {
              be = !yt && be.kind === 233 ? jp($, be.expression, yt, be.typeArguments) : jp(
                $,
                be,
                yt,
                /*typeArguments*/
                void 0
              );
              continue;
            }
            if (!yt) {
              if (X() === 54 && !t.hasPrecedingLineBreak()) {
                ke(), be = zt(m.createNonNullExpression(be), $);
                continue;
              }
              const hr = cr(K0);
              if (hr) {
                be = zt(m.createExpressionWithTypeArguments(be, hr), $);
                continue;
              }
            }
            return be;
          }
        }
        function Ad() {
          return X() === 15 || X() === 16;
        }
        function jp($, be, Oe, yt) {
          const qt = m.createTaggedTemplateExpression(
            be,
            yt,
            X() === 15 ? (Rr(
              /*isTaggedTemplate*/
              !0
            ), Ct()) : qr(
              /*isTaggedTemplate*/
              !0
            )
          );
          return (Oe || be.flags & 64) && (qt.flags |= 64), qt.questionDotToken = Oe, zt(qt, $);
        }
        function _g($, be) {
          for (; ; ) {
            be = bf(
              $,
              be,
              /*allowOptionalChain*/
              !0
            );
            let Oe;
            const yt = ps(
              29
              /* QuestionDotToken */
            );
            if (yt && (Oe = cr(K0), Ad())) {
              be = jp($, be, yt, Oe);
              continue;
            }
            if (Oe || X() === 21) {
              !yt && be.kind === 233 && (Oe = be.typeArguments, be = be.expression);
              const qt = S2(), hr = yt || Z0(be) ? pe(be, yt, Oe, qt) : W(be, Oe, qt);
              be = zt(hr, $);
              continue;
            }
            if (yt) {
              const qt = Ka(
                80,
                /*reportAtCurrentPosition*/
                !1,
                p.Identifier_expected
              );
              be = zt(z(be, yt, qt), $);
            }
            break;
          }
          return be;
        }
        function S2() {
          $t(
            21
            /* OpenParenToken */
          );
          const $ = Ju(11, nd);
          return $t(
            22
            /* CloseParenToken */
          ), $;
        }
        function K0() {
          if ((Fr & 524288) !== 0 || Ye() !== 30)
            return;
          ke();
          const $ = Ju(20, il);
          if (Yr() === 32)
            return ke(), $ && Nk() ? $ : void 0;
        }
        function Nk() {
          switch (X()) {
            // These tokens can follow a type argument list in a call expression.
            case 21:
            // foo<x>(
            case 15:
            // foo<T> `...`
            case 16:
              return !0;
            // A type argument list followed by `<` never makes sense, and a type argument list followed
            // by `>` is ambiguous with a (re-scanned) `>>` operator, so we disqualify both. Also, in
            // this context, `+` and `-` are unary operators, not binary operators.
            case 30:
            case 32:
            case 40:
            case 41:
              return !1;
          }
          return t.hasPrecedingLineBreak() || sh() || !wd();
        }
        function oh() {
          switch (X()) {
            case 15:
              t.getTokenFlags() & 26656 && Rr(
                /*isTaggedTemplate*/
                !1
              );
            // falls through
            case 9:
            case 10:
            case 11:
              return Ct();
            case 110:
            case 108:
            case 106:
            case 112:
            case 97:
              return Bo();
            case 21:
              return _T();
            case 23:
              return Ik();
            case 19:
              return ey();
            case 134:
              if (!Mt(SE))
                break;
              return T2();
            case 60:
              return us();
            case 86:
              return ma();
            case 100:
              return T2();
            case 105:
              return Xh();
            case 44:
            case 69:
              if (Mr() === 14)
                return Ct();
              break;
            case 16:
              return qr(
                /*isTaggedTemplate*/
                !1
              );
            case 81:
              return sn();
          }
          return yo(p.Expression_expected);
        }
        function _T() {
          const $ = M(), be = ye();
          $t(
            21
            /* OpenParenToken */
          );
          const Oe = gr(Vl);
          return $t(
            22
            /* CloseParenToken */
          ), cn(zt(U(Oe), $), be);
        }
        function Ak() {
          const $ = M();
          $t(
            26
            /* DotDotDotToken */
          );
          const be = F_(
            /*allowReturnTypeInArrowFunction*/
            !0
          );
          return zt(m.createSpreadElement(be), $);
        }
        function x1() {
          return X() === 26 ? Ak() : X() === 28 ? zt(m.createOmittedExpression(), M()) : F_(
            /*allowReturnTypeInArrowFunction*/
            !0
          );
        }
        function nd() {
          return ks(n, x1);
        }
        function Ik() {
          const $ = M(), be = t.getTokenStart(), Oe = $t(
            23
            /* OpenBracketToken */
          ), yt = t.hasPrecedingLineBreak(), qt = Ju(15, x1);
          return kc(23, 24, Oe, be), zt(O(qt, yt), $);
        }
        function fT() {
          const $ = M(), be = ye();
          if (ps(
            26
            /* DotDotDotToken */
          )) {
            const Ui = F_(
              /*allowReturnTypeInArrowFunction*/
              !0
            );
            return cn(zt(m.createSpreadAssignment(Ui), $), be);
          }
          const Oe = Yn(
            /*allowDecorators*/
            !0
          );
          if (xr(
            139
            /* GetKeyword */
          ))
            return Fd(
              $,
              be,
              Oe,
              177,
              0
              /* None */
            );
          if (xr(
            153
            /* SetKeyword */
          ))
            return Fd(
              $,
              be,
              Oe,
              178,
              0
              /* None */
            );
          const yt = ps(
            42
            /* AsteriskToken */
          ), qt = br(), hr = Ur(), Ln = ps(
            58
            /* QuestionToken */
          ), Si = ps(
            54
            /* ExclamationToken */
          );
          if (yt || X() === 21 || X() === 30)
            return Wf($, be, Oe, yt, hr, Ln, Si);
          let ri;
          if (qt && X() !== 59) {
            const Ui = ps(
              64
              /* EqualsToken */
            ), io = Ui ? gr(() => F_(
              /*allowReturnTypeInArrowFunction*/
              !0
            )) : void 0;
            ri = m.createShorthandPropertyAssignment(hr, io), ri.equalsToken = Ui;
          } else {
            $t(
              59
              /* ColonToken */
            );
            const Ui = gr(() => F_(
              /*allowReturnTypeInArrowFunction*/
              !0
            ));
            ri = m.createPropertyAssignment(hr, Ui);
          }
          return ri.modifiers = Oe, ri.questionToken = Ln, ri.exclamationToken = Si, cn(zt(ri, $), be);
        }
        function ey() {
          const $ = M(), be = t.getTokenStart(), Oe = $t(
            19
            /* OpenBraceToken */
          ), yt = t.hasPrecedingLineBreak(), qt = Ju(
            12,
            fT,
            /*considerSemicolonAsDelimiter*/
            !0
          );
          return kc(19, 20, Oe, be), zt(F(qt, yt), $);
        }
        function T2() {
          const $ = kt();
          Wn(
            /*val*/
            !1
          );
          const be = M(), Oe = ye(), yt = Yn(
            /*allowDecorators*/
            !1
          );
          $t(
            100
            /* FunctionKeyword */
          );
          const qt = ps(
            42
            /* AsteriskToken */
          ), hr = qt ? 1 : 0, Ln = at(yt, DD) ? 2 : 0, Si = hr && Ln ? qe(Cm) : hr ? ne(Cm) : Ln ? Q(Cm) : Cm(), ri = vf(), oi = Pr(hr | Ln), Ui = rr(
            59,
            /*isType*/
            !1
          ), io = ty(hr | Ln);
          Wn($);
          const so = m.createFunctionExpression(yt, qt, Si, ri, oi, Ui, io);
          return cn(zt(so, be), Oe);
        }
        function Cm() {
          return lr() ? eu() : void 0;
        }
        function Xh() {
          const $ = M();
          if ($t(
            105
            /* NewKeyword */
          ), gi(
            25
            /* DotToken */
          )) {
            const hr = ge();
            return zt(m.createMetaProperty(105, hr), $);
          }
          const be = M();
          let Oe = bf(
            be,
            oh(),
            /*allowOptionalChain*/
            !1
          ), yt;
          Oe.kind === 233 && (yt = Oe.typeArguments, Oe = Oe.expression), X() === 29 && Rt(p.Invalid_optional_chain_from_new_expression_Did_you_mean_to_call_0, O4(ue, Oe));
          const qt = X() === 21 ? S2() : void 0;
          return zt(K(Oe, yt, qt), $);
        }
        function Em($, be) {
          const Oe = M(), yt = ye(), qt = t.getTokenStart(), hr = $t(19, be);
          if (hr || $) {
            const Ln = t.hasPrecedingLineBreak(), Si = Do(1, Jp);
            kc(19, 20, hr, qt);
            const ri = cn(zt(ee(Si, Ln), Oe), yt);
            return X() === 64 && (Rt(p.Declaration_or_statement_expected_This_follows_a_block_of_statements_so_if_you_intended_to_write_a_destructuring_assignment_you_might_need_to_wrap_the_whole_assignment_in_parentheses), ke()), ri;
          } else {
            const Ln = yf();
            return cn(zt(ee(
              Ln,
              /*multiLine*/
              void 0
            ), Oe), yt);
          }
        }
        function ty($, be) {
          const Oe = Ie();
          zn(!!($ & 1));
          const yt = Ve();
          bi(!!($ & 2));
          const qt = it;
          it = !1;
          const hr = kt();
          hr && Wn(
            /*val*/
            !1
          );
          const Ln = Em(!!($ & 16), be);
          return hr && Wn(
            /*val*/
            !0
          ), it = qt, zn(Oe), bi(yt), Ln;
        }
        function Fl() {
          const $ = M(), be = ye();
          return $t(
            27
            /* SemicolonToken */
          ), cn(zt(m.createEmptyStatement(), $), be);
        }
        function pT() {
          const $ = M(), be = ye();
          $t(
            101
            /* IfKeyword */
          );
          const Oe = t.getTokenStart(), yt = $t(
            21
            /* OpenParenToken */
          ), qt = gr(Vl);
          kc(21, 22, yt, Oe);
          const hr = Jp(), Ln = gi(
            93
            /* ElseKeyword */
          ) ? Jp() : void 0;
          return cn(zt(fe(qt, hr, Ln), $), be);
        }
        function ch() {
          const $ = M(), be = ye();
          $t(
            92
            /* DoKeyword */
          );
          const Oe = Jp();
          $t(
            117
            /* WhileKeyword */
          );
          const yt = t.getTokenStart(), qt = $t(
            21
            /* OpenParenToken */
          ), hr = gr(Vl);
          return kc(21, 22, qt, yt), gi(
            27
            /* SemicolonToken */
          ), cn(zt(m.createDoStatement(Oe, hr), $), be);
        }
        function x2() {
          const $ = M(), be = ye();
          $t(
            117
            /* WhileKeyword */
          );
          const Oe = t.getTokenStart(), yt = $t(
            21
            /* OpenParenToken */
          ), qt = gr(Vl);
          kc(21, 22, yt, Oe);
          const hr = Jp();
          return cn(zt(me(qt, hr), $), be);
        }
        function Fk() {
          const $ = M(), be = ye();
          $t(
            99
            /* ForKeyword */
          );
          const Oe = ps(
            135
            /* AwaitKeyword */
          );
          $t(
            21
            /* OpenParenToken */
          );
          let yt;
          X() !== 27 && (X() === 115 || X() === 121 || X() === 87 || X() === 160 && Mt(Vu) || // this one is meant to allow of
          X() === 135 && Mt(hT) ? yt = O_(
            /*inForStatementInitializer*/
            !0
          ) : yt = ms(Vl));
          let qt;
          if (Oe ? $t(
            165
            /* OfKeyword */
          ) : gi(
            165
            /* OfKeyword */
          )) {
            const hr = gr(() => F_(
              /*allowReturnTypeInArrowFunction*/
              !0
            ));
            $t(
              22
              /* CloseParenToken */
            ), qt = he(Oe, yt, hr, Jp());
          } else if (gi(
            103
            /* InKeyword */
          )) {
            const hr = gr(Vl);
            $t(
              22
              /* CloseParenToken */
            ), qt = m.createForInStatement(yt, hr, Jp());
          } else {
            $t(
              27
              /* SemicolonToken */
            );
            const hr = X() !== 27 && X() !== 22 ? gr(Vl) : void 0;
            $t(
              27
              /* SemicolonToken */
            );
            const Ln = X() !== 22 ? gr(Vl) : void 0;
            $t(
              22
              /* CloseParenToken */
            ), qt = q(yt, hr, Ln, Jp());
          }
          return cn(zt(qt, $), be);
        }
        function fg($) {
          const be = M(), Oe = ye();
          $t(
            $ === 252 ? 83 : 88
            /* ContinueKeyword */
          );
          const yt = ss() ? void 0 : yo();
          Aa();
          const qt = $ === 252 ? m.createBreakStatement(yt) : m.createContinueStatement(yt);
          return cn(zt(qt, be), Oe);
        }
        function yE() {
          const $ = M(), be = ye();
          $t(
            107
            /* ReturnKeyword */
          );
          const Oe = ss() ? void 0 : gr(Vl);
          return Aa(), cn(zt(m.createReturnStatement(Oe), $), be);
        }
        function k2() {
          const $ = M(), be = ye();
          $t(
            118
            /* WithKeyword */
          );
          const Oe = t.getTokenStart(), yt = $t(
            21
            /* OpenParenToken */
          ), qt = gr(Vl);
          kc(21, 22, yt, Oe);
          const hr = ta(67108864, Jp);
          return cn(zt(m.createWithStatement(qt, hr), $), be);
        }
        function vE() {
          const $ = M(), be = ye();
          $t(
            84
            /* CaseKeyword */
          );
          const Oe = gr(Vl);
          $t(
            59
            /* ColonToken */
          );
          const yt = Do(3, Jp);
          return cn(zt(m.createCaseClause(Oe, yt), $), be);
        }
        function Mv() {
          const $ = M();
          $t(
            90
            /* DefaultKeyword */
          ), $t(
            59
            /* ColonToken */
          );
          const be = Do(3, Jp);
          return zt(m.createDefaultClause(be), $);
        }
        function dT() {
          return X() === 84 ? vE() : Mv();
        }
        function dc() {
          const $ = M();
          $t(
            19
            /* OpenBraceToken */
          );
          const be = Do(2, dT);
          return $t(
            20
            /* CloseBraceToken */
          ), zt(m.createCaseBlock(be), $);
        }
        function Uc() {
          const $ = M(), be = ye();
          $t(
            109
            /* SwitchKeyword */
          ), $t(
            21
            /* OpenParenToken */
          );
          const Oe = gr(Vl);
          $t(
            22
            /* CloseParenToken */
          );
          const yt = dc();
          return cn(zt(m.createSwitchStatement(Oe, yt), $), be);
        }
        function bE() {
          const $ = M(), be = ye();
          $t(
            111
            /* ThrowKeyword */
          );
          let Oe = t.hasPrecedingLineBreak() ? void 0 : gr(Vl);
          return Oe === void 0 && (St++, Oe = zt(D(""), M())), Vs() || Ns(Oe), cn(zt(m.createThrowStatement(Oe), $), be);
        }
        function cf() {
          const $ = M(), be = ye();
          $t(
            113
            /* TryKeyword */
          );
          const Oe = Em(
            /*ignoreMissingOpenBrace*/
            !1
          ), yt = X() === 85 ? Bp() : void 0;
          let qt;
          return (!yt || X() === 98) && ($t(98, p.catch_or_finally_expected), qt = Em(
            /*ignoreMissingOpenBrace*/
            !1
          )), cn(zt(m.createTryStatement(Oe, yt, qt), $), be);
        }
        function Bp() {
          const $ = M();
          $t(
            85
            /* CatchKeyword */
          );
          let be;
          gi(
            21
            /* OpenParenToken */
          ) ? (be = Sf(), $t(
            22
            /* CloseParenToken */
          )) : be = void 0;
          const Oe = Em(
            /*ignoreMissingOpenBrace*/
            !1
          );
          return zt(m.createCatchClause(be, Oe), $);
        }
        function Ok() {
          const $ = M(), be = ye();
          return $t(
            89
            /* DebuggerKeyword */
          ), Aa(), cn(zt(m.createDebuggerStatement(), $), be);
        }
        function Id() {
          const $ = M();
          let be = ye(), Oe;
          const yt = X() === 21, qt = gr(Vl);
          return Fe(qt) && gi(
            59
            /* ColonToken */
          ) ? Oe = m.createLabeledStatement(qt, Jp()) : (Vs() || Ns(qt), Oe = ie(qt), yt && (be = !1)), cn(zt(Oe, $), be);
        }
        function mT() {
          return ke(), l_(X()) && !t.hasPrecedingLineBreak();
        }
        function Qh() {
          return ke(), X() === 86 && !t.hasPrecedingLineBreak();
        }
        function SE() {
          return ke(), X() === 100 && !t.hasPrecedingLineBreak();
        }
        function gT() {
          return ke(), (l_(X()) || X() === 9 || X() === 10 || X() === 11) && !t.hasPrecedingLineBreak();
        }
        function mc() {
          for (; ; )
            switch (X()) {
              case 115:
              case 121:
              case 87:
              case 100:
              case 86:
              case 94:
                return !0;
              case 160:
                return E2();
              case 135:
                return b_();
              // 'declare', 'module', 'namespace', 'interface'* and 'type' are all legal JavaScript identifiers;
              // however, an identifier cannot be followed by another identifier on the same line. This is what we
              // count on to parse out the respective declarations. For instance, we exploit this to say that
              //
              //    namespace n
              //
              // can be none other than the beginning of a namespace declaration, but need to respect that JavaScript sees
              //
              //    namespace
              //    n
              //
              // as the identifier 'namespace' on one line followed by the identifier 'n' on another.
              // We need to look one token ahead to see if it permissible to try parsing a declaration.
              //
              // *Note*: 'interface' is actually a strict mode reserved word. So while
              //
              //   "use strict"
              //   interface
              //   I {}
              //
              // could be legal, it would add complexity for very little gain.
              case 120:
              case 156:
                return nh();
              case 144:
              case 145:
                return Rk();
              case 128:
              case 129:
              case 134:
              case 138:
              case 123:
              case 124:
              case 125:
              case 148:
                const $ = X();
                if (ke(), t.hasPrecedingLineBreak())
                  return !1;
                if ($ === 138 && X() === 156)
                  return !0;
                continue;
              case 162:
                return ke(), X() === 19 || X() === 80 || X() === 95;
              case 102:
                return ke(), X() === 11 || X() === 42 || X() === 19 || l_(X());
              case 95:
                let be = ke();
                if (be === 156 && (be = Mt(ke)), be === 64 || be === 42 || be === 19 || be === 90 || be === 130 || be === 60)
                  return !0;
                continue;
              case 126:
                ke();
                continue;
              default:
                return !1;
            }
        }
        function Rv() {
          return Mt(mc);
        }
        function TE() {
          switch (X()) {
            case 60:
            case 27:
            case 19:
            case 115:
            case 121:
            case 160:
            case 100:
            case 86:
            case 94:
            case 101:
            case 92:
            case 117:
            case 99:
            case 88:
            case 83:
            case 107:
            case 118:
            case 109:
            case 111:
            case 113:
            case 89:
            // 'catch' and 'finally' do not actually indicate that the code is part of a statement,
            // however, we say they are here so that we may gracefully parse them and error later.
            // falls through
            case 85:
            case 98:
              return !0;
            case 102:
              return Rv() || Mt(ng);
            case 87:
            case 95:
              return Rv();
            case 134:
            case 138:
            case 120:
            case 144:
            case 145:
            case 156:
            case 162:
              return !0;
            case 129:
            case 125:
            case 123:
            case 124:
            case 126:
            case 148:
              return Rv() || !Mt(mT);
            default:
              return wd();
          }
        }
        function C2() {
          return ke(), lr() || X() === 19 || X() === 23;
        }
        function qw() {
          return Mt(C2);
        }
        function Vu() {
          return jv(
            /*disallowOf*/
            !0
          );
        }
        function jv($) {
          return ke(), $ && X() === 165 ? !1 : (lr() || X() === 19) && !t.hasPrecedingLineBreak();
        }
        function E2() {
          return Mt(jv);
        }
        function hT($) {
          return ke() === 160 ? jv($) : !1;
        }
        function b_() {
          return Mt(hT);
        }
        function Jp() {
          switch (X()) {
            case 27:
              return Fl();
            case 19:
              return Em(
                /*ignoreMissingOpenBrace*/
                !1
              );
            case 115:
              return k1(
                M(),
                ye(),
                /*modifiers*/
                void 0
              );
            case 121:
              if (qw())
                return k1(
                  M(),
                  ye(),
                  /*modifiers*/
                  void 0
                );
              break;
            case 135:
              if (b_())
                return k1(
                  M(),
                  ye(),
                  /*modifiers*/
                  void 0
                );
              break;
            case 160:
              if (E2())
                return k1(
                  M(),
                  ye(),
                  /*modifiers*/
                  void 0
                );
              break;
            case 100:
              return vT(
                M(),
                ye(),
                /*modifiers*/
                void 0
              );
            case 86:
              return i_(
                M(),
                ye(),
                /*modifiers*/
                void 0
              );
            case 101:
              return pT();
            case 92:
              return ch();
            case 117:
              return x2();
            case 99:
              return Fk();
            case 88:
              return fg(
                251
                /* ContinueStatement */
              );
            case 83:
              return fg(
                252
                /* BreakStatement */
              );
            case 107:
              return yE();
            case 118:
              return k2();
            case 109:
              return Uc();
            case 111:
              return bE();
            case 113:
            // Include 'catch' and 'finally' for error recovery.
            // falls through
            case 85:
            case 98:
              return cf();
            case 89:
              return Ok();
            case 60:
              return Lk();
            case 134:
            case 120:
            case 156:
            case 144:
            case 145:
            case 138:
            case 87:
            case 94:
            case 95:
            case 102:
            case 123:
            case 124:
            case 125:
            case 128:
            case 129:
            case 126:
            case 148:
            case 162:
              if (Rv())
                return Lk();
              break;
          }
          return Id();
        }
        function ry($) {
          return $.kind === 138;
        }
        function Lk() {
          const $ = M(), be = ye(), Oe = Yn(
            /*allowDecorators*/
            !0
          );
          if (at(Oe, ry)) {
            const qt = Bv($);
            if (qt)
              return qt;
            for (const hr of Oe)
              hr.flags |= 33554432;
            return ta(33554432, () => Jv($, be, Oe));
          } else
            return Jv($, be, Oe);
        }
        function Bv($) {
          return ta(33554432, () => {
            const be = rc(Bt, $);
            if (be)
              return nc(be);
          });
        }
        function Jv($, be, Oe) {
          switch (X()) {
            case 115:
            case 121:
            case 87:
            case 160:
            case 135:
              return k1($, be, Oe);
            case 100:
              return vT($, be, Oe);
            case 86:
              return i_($, be, Oe);
            case 120:
              return ny($, be, Oe);
            case 156:
              return iy($, be, Oe);
            case 94:
              return wm($, be, Oe);
            case 162:
            case 144:
            case 145:
              return P2($, be, Oe);
            case 102:
              return Hr($, be, Oe);
            case 95:
              switch (ke(), X()) {
                case 90:
                case 64:
                  return Nm($, be, Oe);
                case 130:
                  return N2($, be, Oe);
                default:
                  return WL($, be, Oe);
              }
            default:
              if (Oe) {
                const yt = Ka(
                  282,
                  /*reportAtCurrentPosition*/
                  !0,
                  p.Declaration_expected
                );
                return gD(yt, $), yt.modifiers = Oe, yt;
              }
              return;
          }
        }
        function Mk() {
          return ke() === 11;
        }
        function zv() {
          return ke(), X() === 161 || X() === 64;
        }
        function Rk() {
          return ke(), !t.hasPrecedingLineBreak() && (br() || X() === 11);
        }
        function D2($, be) {
          if (X() !== 19) {
            if ($ & 4) {
              fn();
              return;
            }
            if (ss()) {
              Aa();
              return;
            }
          }
          return ty($, be);
        }
        function pg() {
          const $ = M();
          if (X() === 28)
            return zt(m.createOmittedExpression(), $);
          const be = ps(
            26
            /* DotDotDotToken */
          ), Oe = La(), yt = th();
          return zt(m.createBindingElement(
            be,
            /*propertyName*/
            void 0,
            Oe,
            yt
          ), $);
        }
        function lf() {
          const $ = M(), be = ps(
            26
            /* DotDotDotToken */
          ), Oe = lr();
          let yt = Ur(), qt;
          Oe && X() !== 59 ? (qt = yt, yt = void 0) : ($t(
            59
            /* ColonToken */
          ), qt = La());
          const hr = th();
          return zt(m.createBindingElement(be, yt, qt, hr), $);
        }
        function lh() {
          const $ = M();
          $t(
            19
            /* OpenBraceToken */
          );
          const be = gr(() => Ju(9, lf));
          return $t(
            20
            /* CloseBraceToken */
          ), zt(m.createObjectBindingPattern(be), $);
        }
        function yT() {
          const $ = M();
          $t(
            23
            /* OpenBracketToken */
          );
          const be = gr(() => Ju(10, pg));
          return $t(
            24
            /* CloseBracketToken */
          ), zt(m.createArrayBindingPattern(be), $);
        }
        function Wv() {
          return X() === 19 || X() === 23 || X() === 81 || lr();
        }
        function La($) {
          return X() === 23 ? yT() : X() === 19 ? lh() : eu($);
        }
        function vn() {
          return Sf(
            /*allowExclamation*/
            !0
          );
        }
        function Sf($) {
          const be = M(), Oe = ye(), yt = La(p.Private_identifiers_are_not_allowed_in_variable_declarations);
          let qt;
          $ && yt.kind === 80 && X() === 54 && !t.hasPrecedingLineBreak() && (qt = Bo());
          const hr = H0(), Ln = Il(X()) ? void 0 : th(), Si = Me(yt, qt, hr, Ln);
          return cn(zt(Si, be), Oe);
        }
        function O_($) {
          const be = M();
          let Oe = 0;
          switch (X()) {
            case 115:
              break;
            case 121:
              Oe |= 1;
              break;
            case 87:
              Oe |= 2;
              break;
            case 160:
              Oe |= 4;
              break;
            case 135:
              E.assert(b_()), Oe |= 6, ke();
              break;
            default:
              E.fail();
          }
          ke();
          let yt;
          if (X() === 165 && Mt(jk))
            yt = yf();
          else {
            const qt = ft();
            Vr($), yt = Ju(
              8,
              $ ? Sf : vn
            ), Vr(qt);
          }
          return zt(De(yt, Oe), be);
        }
        function jk() {
          return tu() && ke() === 22;
        }
        function k1($, be, Oe) {
          const yt = O_(
            /*inForStatementInitializer*/
            !1
          );
          Aa();
          const qt = te(Oe, yt);
          return cn(zt(qt, $), be);
        }
        function vT($, be, Oe) {
          const yt = Ve(), qt = rm(Oe);
          $t(
            100
            /* FunctionKeyword */
          );
          const hr = ps(
            42
            /* AsteriskToken */
          ), Ln = qt & 2048 ? Cm() : eu(), Si = hr ? 1 : 0, ri = qt & 1024 ? 2 : 0, oi = vf();
          qt & 32 && bi(
            /*value*/
            !0
          );
          const Ui = Pr(Si | ri), io = rr(
            59,
            /*isType*/
            !1
          ), so = D2(Si | ri, p.or_expected);
          bi(yt);
          const Fa = m.createFunctionDeclaration(Oe, hr, Ln, oi, Ui, io, so);
          return cn(zt(Fa, $), be);
        }
        function Bk() {
          if (X() === 137)
            return $t(
              137
              /* ConstructorKeyword */
            );
          if (X() === 11 && Mt(ke) === 21)
            return cr(() => {
              const $ = Ct();
              return $.text === "constructor" ? $ : void 0;
            });
        }
        function Jk($, be, Oe) {
          return cr(() => {
            if (Bk()) {
              const yt = vf(), qt = Pr(
                0
                /* None */
              ), hr = rr(
                59,
                /*isType*/
                !1
              ), Ln = D2(0, p.or_expected), Si = m.createConstructorDeclaration(Oe, qt, Ln);
              return Si.typeParameters = yt, Si.type = hr, cn(zt(Si, $), be);
            }
          });
        }
        function Wf($, be, Oe, yt, qt, hr, Ln, Si) {
          const ri = yt ? 1 : 0, oi = at(Oe, DD) ? 2 : 0, Ui = vf(), io = Pr(ri | oi), so = rr(
            59,
            /*isType*/
            !1
          ), Fa = D2(ri | oi, Si), fp = m.createMethodDeclaration(
            Oe,
            yt,
            qt,
            hr,
            Ui,
            io,
            so,
            Fa
          );
          return fp.exclamationToken = Ln, cn(zt(fp, $), be);
        }
        function Vf($, be, Oe, yt, qt) {
          const hr = !qt && !t.hasPrecedingLineBreak() ? ps(
            54
            /* ExclamationToken */
          ) : void 0, Ln = H0(), Si = ks(90112, th);
          Nc(yt, Ln, Si);
          const ri = m.createPropertyDeclaration(
            Oe,
            yt,
            qt || hr,
            Ln,
            Si
          );
          return cn(zt(ri, $), be);
        }
        function L_($, be, Oe) {
          const yt = ps(
            42
            /* AsteriskToken */
          ), qt = Ur(), hr = ps(
            58
            /* QuestionToken */
          );
          return yt || X() === 21 || X() === 30 ? Wf(
            $,
            be,
            Oe,
            yt,
            qt,
            hr,
            /*exclamationToken*/
            void 0,
            p.or_expected
          ) : Vf($, be, Oe, qt, hr);
        }
        function Fd($, be, Oe, yt, qt) {
          const hr = Ur(), Ln = vf(), Si = Pr(
            0
            /* None */
          ), ri = rr(
            59,
            /*isType*/
            !1
          ), oi = D2(qt), Ui = yt === 177 ? m.createGetAccessorDeclaration(Oe, hr, Si, ri, oi) : m.createSetAccessorDeclaration(Oe, hr, Si, oi);
          return Ui.typeParameters = Ln, P_(Ui) && (Ui.type = ri), cn(zt(Ui, $), be);
        }
        function Yh() {
          let $;
          if (X() === 60)
            return !0;
          for (; jy(X()); ) {
            if ($ = X(), Mj($))
              return !0;
            ke();
          }
          if (X() === 42 || (et() && ($ = X(), ke()), X() === 23))
            return !0;
          if ($ !== void 0) {
            if (!p_($) || $ === 153 || $ === 139)
              return !0;
            switch (X()) {
              case 21:
              // Method declaration
              case 30:
              // Generic Method declaration
              case 54:
              // Non-null assertion on property name
              case 59:
              // Type Annotation for declaration
              case 64:
              // Initializer for declaration
              case 58:
                return !0;
              default:
                return ss();
            }
          }
          return !1;
        }
        function uh($, be, Oe) {
          Lo(
            126
            /* StaticKeyword */
          );
          const yt = C(), qt = cn(zt(m.createClassStaticBlockDeclaration(yt), $), be);
          return qt.modifiers = Oe, qt;
        }
        function C() {
          const $ = Ie(), be = Ve();
          zn(!1), bi(!0);
          const Oe = Em(
            /*ignoreMissingOpenBrace*/
            !1
          );
          return zn($), bi(be), Oe;
        }
        function ce() {
          if (Ve() && X() === 135) {
            const $ = M(), be = yo(p.Expression_expected);
            ke();
            const Oe = bf(
              $,
              be,
              /*allowOptionalChain*/
              !0
            );
            return _g($, Oe);
          }
          return km();
        }
        function dt() {
          const $ = M();
          if (!gi(
            60
            /* AtToken */
          ))
            return;
          const be = rt(ce);
          return zt(m.createDecorator(be), $);
        }
        function ir($, be, Oe) {
          const yt = M(), qt = X();
          if (X() === 87 && be) {
            if (!cr(Li))
              return;
          } else {
            if (Oe && X() === 126 && Mt(Hk))
              return;
            if ($ && X() === 126)
              return;
            if (!vo())
              return;
          }
          return zt(A(qt), yt);
        }
        function Yn($, be, Oe) {
          const yt = M();
          let qt, hr, Ln, Si = !1, ri = !1, oi = !1;
          if ($ && X() === 60)
            for (; hr = dt(); )
              qt = Dr(qt, hr);
          for (; Ln = ir(Si, be, Oe); )
            Ln.kind === 126 && (Si = !0), qt = Dr(qt, Ln), ri = !0;
          if (ri && $ && X() === 60)
            for (; hr = dt(); )
              qt = Dr(qt, hr), oi = !0;
          if (oi)
            for (; Ln = ir(Si, be, Oe); )
              Ln.kind === 126 && (Si = !0), qt = Dr(qt, Ln);
          return qt && Ca(qt, yt);
        }
        function hi() {
          let $;
          if (X() === 134) {
            const be = M();
            ke();
            const Oe = zt(A(
              134
              /* AsyncKeyword */
            ), be);
            $ = Ca([Oe], be);
          }
          return $;
        }
        function Gi() {
          const $ = M(), be = ye();
          if (X() === 27)
            return ke(), cn(zt(m.createSemicolonClassElement(), $), be);
          const Oe = Yn(
            /*allowDecorators*/
            !0,
            /*permitConstAsModifier*/
            !0,
            /*stopOnStartOfClassStaticBlock*/
            !0
          );
          if (X() === 126 && Mt(Hk))
            return uh($, be, Oe);
          if (xr(
            139
            /* GetKeyword */
          ))
            return Fd(
              $,
              be,
              Oe,
              177,
              0
              /* None */
            );
          if (xr(
            153
            /* SetKeyword */
          ))
            return Fd(
              $,
              be,
              Oe,
              178,
              0
              /* None */
            );
          if (X() === 137 || X() === 11) {
            const yt = Jk($, be, Oe);
            if (yt)
              return yt;
          }
          if (ts())
            return Mi($, be, Oe);
          if (l_(X()) || X() === 11 || X() === 9 || X() === 10 || X() === 42 || X() === 23)
            if (at(Oe, ry)) {
              for (const qt of Oe)
                qt.flags |= 33554432;
              return ta(33554432, () => L_($, be, Oe));
            } else
              return L_($, be, Oe);
          if (Oe) {
            const yt = Ka(
              80,
              /*reportAtCurrentPosition*/
              !0,
              p.Declaration_expected
            );
            return Vf(
              $,
              be,
              Oe,
              yt,
              /*questionToken*/
              void 0
            );
          }
          return E.fail("Should not have attempted to parse class member declaration.");
        }
        function us() {
          const $ = M(), be = ye(), Oe = Yn(
            /*allowDecorators*/
            !0
          );
          if (X() === 86)
            return ic(
              $,
              be,
              Oe,
              231
              /* ClassExpression */
            );
          const yt = Ka(
            282,
            /*reportAtCurrentPosition*/
            !0,
            p.Expression_expected
          );
          return gD(yt, $), yt.modifiers = Oe, yt;
        }
        function ma() {
          return ic(
            M(),
            ye(),
            /*modifiers*/
            void 0,
            231
            /* ClassExpression */
          );
        }
        function i_($, be, Oe) {
          return ic(
            $,
            be,
            Oe,
            263
            /* ClassDeclaration */
          );
        }
        function ic($, be, Oe, yt) {
          const qt = Ve();
          $t(
            86
            /* ClassKeyword */
          );
          const hr = Jo(), Ln = vf();
          at(Oe, Rx) && bi(
            /*value*/
            !0
          );
          const Si = s_();
          let ri;
          $t(
            19
            /* OpenBraceToken */
          ) ? (ri = Vk(), $t(
            20
            /* CloseBraceToken */
          )) : ri = yf(), bi(qt);
          const oi = yt === 263 ? m.createClassDeclaration(Oe, hr, Ln, Si, ri) : m.createClassExpression(Oe, hr, Ln, Si, ri);
          return cn(zt(oi, $), be);
        }
        function Jo() {
          return lr() && !zk() ? tc(lr()) : void 0;
        }
        function zk() {
          return X() === 119 && Mt(Rf);
        }
        function s_() {
          if (Wk())
            return Do(22, Dm);
        }
        function Dm() {
          const $ = M(), be = X();
          E.assert(
            be === 96 || be === 119
            /* ImplementsKeyword */
          ), ke();
          const Oe = Ju(7, C1);
          return zt(m.createHeritageClause(be, Oe), $);
        }
        function C1() {
          const $ = M(), be = km();
          if (be.kind === 233)
            return be;
          const Oe = Vv();
          return zt(m.createExpressionWithTypeArguments(be, Oe), $);
        }
        function Vv() {
          return X() === 30 ? Z(
            20,
            il,
            30,
            32
            /* GreaterThanToken */
          ) : void 0;
        }
        function Wk() {
          return X() === 96 || X() === 119;
        }
        function Vk() {
          return Do(5, Gi);
        }
        function ny($, be, Oe) {
          $t(
            120
            /* InterfaceKeyword */
          );
          const yt = yo(), qt = vf(), hr = s_(), Ln = ig(), Si = m.createInterfaceDeclaration(Oe, yt, qt, hr, Ln);
          return cn(zt(Si, $), be);
        }
        function iy($, be, Oe) {
          $t(
            156
            /* TypeKeyword */
          ), t.hasPrecedingLineBreak() && Rt(p.Line_break_not_permitted_here);
          const yt = yo(), qt = vf();
          $t(
            64
            /* EqualsToken */
          );
          const hr = X() === 141 && cr(kk) || il();
          Aa();
          const Ln = m.createTypeAliasDeclaration(Oe, yt, qt, hr);
          return cn(zt(Ln, $), be);
        }
        function w2() {
          const $ = M(), be = ye(), Oe = Ur(), yt = gr(th);
          return cn(zt(m.createEnumMember(Oe, yt), $), be);
        }
        function wm($, be, Oe) {
          $t(
            94
            /* EnumKeyword */
          );
          const yt = yo();
          let qt;
          $t(
            19
            /* OpenBraceToken */
          ) ? (qt = Ze(() => Ju(6, w2)), $t(
            20
            /* CloseBraceToken */
          )) : qt = yf();
          const hr = m.createEnumDeclaration(Oe, yt, qt);
          return cn(zt(hr, $), be);
        }
        function Uk() {
          const $ = M();
          let be;
          return $t(
            19
            /* OpenBraceToken */
          ) ? (be = Do(1, Jp), $t(
            20
            /* CloseBraceToken */
          )) : be = yf(), zt(m.createModuleBlock(be), $);
        }
        function qk($, be, Oe, yt) {
          const qt = yt & 32, hr = yt & 8 ? ge() : yo(), Ln = gi(
            25
            /* DotToken */
          ) ? qk(
            M(),
            /*hasJSDoc*/
            !1,
            /*modifiers*/
            void 0,
            8 | qt
          ) : Uk(), Si = m.createModuleDeclaration(Oe, hr, Ln, yt);
          return cn(zt(Si, $), be);
        }
        function I8($, be, Oe) {
          let yt = 0, qt;
          X() === 162 ? (qt = yo(), yt |= 2048) : (qt = Ct(), qt.text = Vc(qt.text));
          let hr;
          X() === 19 ? hr = Uk() : Aa();
          const Ln = m.createModuleDeclaration(Oe, qt, hr, yt);
          return cn(zt(Ln, $), be);
        }
        function P2($, be, Oe) {
          let yt = 0;
          if (X() === 162)
            return I8($, be, Oe);
          if (gi(
            145
            /* NamespaceKeyword */
          ))
            yt |= 32;
          else if ($t(
            144
            /* ModuleKeyword */
          ), X() === 11)
            return I8($, be, Oe);
          return qk($, be, Oe, yt);
        }
        function F8() {
          return X() === 149 && Mt(Hw);
        }
        function Hw() {
          return ke() === 21;
        }
        function Hk() {
          return ke() === 19;
        }
        function Bi() {
          return ke() === 44;
        }
        function N2($, be, Oe) {
          $t(
            130
            /* AsKeyword */
          ), $t(
            145
            /* NamespaceKeyword */
          );
          const yt = yo();
          Aa();
          const qt = m.createNamespaceExportDeclaration(yt);
          return qt.modifiers = Oe, cn(zt(qt, $), be);
        }
        function Hr($, be, Oe) {
          $t(
            102
            /* ImportKeyword */
          );
          const yt = t.getTokenFullStart();
          let qt;
          br() && (qt = yo());
          let hr = !1;
          if (qt?.escapedText === "type" && (X() !== 161 || br() && Mt(zv)) && (br() || O8()) && (hr = !0, qt = br() ? yo() : void 0), qt && !qv())
            return JL($, be, Oe, qt, hr);
          const Ln = Uv(qt, yt, hr), Si = Xk(), ri = Gk();
          Aa();
          const oi = m.createImportDeclaration(Oe, Ln, Si, ri);
          return cn(zt(oi, $), be);
        }
        function Uv($, be, Oe, yt = !1) {
          let qt;
          return ($ || // import id
          X() === 42 || // import *
          X() === 19) && (qt = Hv($, be, Oe, yt), $t(
            161
            /* FromKeyword */
          )), qt;
        }
        function Gk() {
          const $ = X();
          if (($ === 118 || $ === 132) && !t.hasPrecedingLineBreak())
            return $k($);
        }
        function xE() {
          const $ = M(), be = l_(X()) ? ge() : Vi(
            11
            /* StringLiteral */
          );
          $t(
            59
            /* ColonToken */
          );
          const Oe = F_(
            /*allowReturnTypeInArrowFunction*/
            !0
          );
          return zt(m.createImportAttribute(be, Oe), $);
        }
        function $k($, be) {
          const Oe = M();
          be || $t($);
          const yt = t.getTokenStart();
          if ($t(
            19
            /* OpenBraceToken */
          )) {
            const qt = t.hasPrecedingLineBreak(), hr = Ju(
              24,
              xE,
              /*considerSemicolonAsDelimiter*/
              !0
            );
            if (!$t(
              20
              /* CloseBraceToken */
            )) {
              const Ln = Po(ve);
              Ln && Ln.code === p._0_expected.code && Ws(
                Ln,
                kx(re, ue, yt, 1, p.The_parser_expected_to_find_a_1_to_match_the_0_token_here, "{", "}")
              );
            }
            return zt(m.createImportAttributes(hr, qt, $), Oe);
          } else {
            const qt = Ca(
              [],
              M(),
              /*end*/
              void 0,
              /*hasTrailingComma*/
              !1
            );
            return zt(m.createImportAttributes(
              qt,
              /*multiLine*/
              !1,
              $
            ), Oe);
          }
        }
        function O8() {
          return X() === 42 || X() === 19;
        }
        function qv() {
          return X() === 28 || X() === 161;
        }
        function JL($, be, Oe, yt, qt) {
          $t(
            64
            /* EqualsToken */
          );
          const hr = zL();
          Aa();
          const Ln = m.createImportEqualsDeclaration(Oe, qt, yt, hr);
          return cn(zt(Ln, $), be);
        }
        function Hv($, be, Oe, yt) {
          let qt;
          return (!$ || gi(
            28
            /* CommaToken */
          )) && (yt && t.setSkipJsDocLeadingAsterisks(!0), qt = X() === 42 ? L8() : Gv(
            275
            /* NamedImports */
          ), yt && t.setSkipJsDocLeadingAsterisks(!1)), zt(m.createImportClause(Oe, $, qt), be);
        }
        function zL() {
          return F8() ? A2() : Ke(
            /*allowReservedWords*/
            !1
          );
        }
        function A2() {
          const $ = M();
          $t(
            149
            /* RequireKeyword */
          ), $t(
            21
            /* OpenParenToken */
          );
          const be = Xk();
          return $t(
            22
            /* CloseParenToken */
          ), zt(m.createExternalModuleReference(be), $);
        }
        function Xk() {
          if (X() === 11) {
            const $ = Ct();
            return $.text = Vc($.text), $;
          } else
            return Vl();
        }
        function L8() {
          const $ = M();
          $t(
            42
            /* AsteriskToken */
          ), $t(
            130
            /* AsKeyword */
          );
          const be = yo();
          return zt(m.createNamespaceImport(be), $);
        }
        function kE() {
          return l_(X()) || X() === 11;
        }
        function I2($) {
          return X() === 11 ? Ct() : $();
        }
        function Gv($) {
          const be = M(), Oe = $ === 275 ? m.createNamedImports(Z(
            23,
            $v,
            19,
            20
            /* CloseBraceToken */
          )) : m.createNamedExports(Z(
            23,
            Zh,
            19,
            20
            /* CloseBraceToken */
          ));
          return zt(Oe, be);
        }
        function Zh() {
          const $ = ye();
          return cn(Pm(
            281
            /* ExportSpecifier */
          ), $);
        }
        function $v() {
          return Pm(
            276
            /* ImportSpecifier */
          );
        }
        function Pm($) {
          const be = M();
          let Oe = p_(X()) && !br(), yt = t.getTokenStart(), qt = t.getTokenEnd(), hr = !1, Ln, Si = !0, ri = I2(ge);
          if (ri.kind === 80 && ri.escapedText === "type")
            if (X() === 130) {
              const io = ge();
              if (X() === 130) {
                const so = ge();
                kE() ? (hr = !0, Ln = io, ri = I2(Ui), Si = !1) : (Ln = ri, ri = so, Si = !1);
              } else kE() ? (Ln = ri, Si = !1, ri = I2(Ui)) : (hr = !0, ri = io);
            } else kE() && (hr = !0, ri = I2(Ui));
          Si && X() === 130 && (Ln = ri, $t(
            130
            /* AsKeyword */
          ), ri = I2(Ui)), $ === 276 && (ri.kind !== 80 ? (we(ca(ue, ri.pos), ri.end, p.Identifier_expected), ri = hd(Ka(
            80,
            /*reportAtCurrentPosition*/
            !1
          ), ri.pos, ri.pos)) : Oe && we(yt, qt, p.Identifier_expected));
          const oi = $ === 276 ? m.createImportSpecifier(hr, Ln, ri) : m.createExportSpecifier(hr, Ln, ri);
          return zt(oi, be);
          function Ui() {
            return Oe = p_(X()) && !br(), yt = t.getTokenStart(), qt = t.getTokenEnd(), ge();
          }
        }
        function CE($) {
          return zt(m.createNamespaceExport(I2(ge)), $);
        }
        function WL($, be, Oe) {
          const yt = Ve();
          bi(
            /*value*/
            !0
          );
          let qt, hr, Ln;
          const Si = gi(
            156
            /* TypeKeyword */
          ), ri = M();
          gi(
            42
            /* AsteriskToken */
          ) ? (gi(
            130
            /* AsKeyword */
          ) && (qt = CE(ri)), $t(
            161
            /* FromKeyword */
          ), hr = Xk()) : (qt = Gv(
            279
            /* NamedExports */
          ), (X() === 161 || X() === 11 && !t.hasPrecedingLineBreak()) && ($t(
            161
            /* FromKeyword */
          ), hr = Xk()));
          const oi = X();
          hr && (oi === 118 || oi === 132) && !t.hasPrecedingLineBreak() && (Ln = $k(oi)), Aa(), bi(yt);
          const Ui = m.createExportDeclaration(Oe, Si, qt, hr, Ln);
          return cn(zt(Ui, $), be);
        }
        function Nm($, be, Oe) {
          const yt = Ve();
          bi(
            /*value*/
            !0
          );
          let qt;
          gi(
            64
            /* EqualsToken */
          ) ? qt = !0 : $t(
            90
            /* DefaultKeyword */
          );
          const hr = F_(
            /*allowReturnTypeInArrowFunction*/
            !0
          );
          Aa(), bi(yt);
          const Ln = m.createExportAssignment(Oe, qt, hr);
          return cn(zt(Ln, $), be);
        }
        let Xv;
        (($) => {
          $[$.SourceElements = 0] = "SourceElements", $[$.BlockStatements = 1] = "BlockStatements", $[$.SwitchClauses = 2] = "SwitchClauses", $[$.SwitchClauseStatements = 3] = "SwitchClauseStatements", $[$.TypeMembers = 4] = "TypeMembers", $[$.ClassMembers = 5] = "ClassMembers", $[$.EnumMembers = 6] = "EnumMembers", $[$.HeritageClauseElement = 7] = "HeritageClauseElement", $[$.VariableDeclarations = 8] = "VariableDeclarations", $[$.ObjectBindingElements = 9] = "ObjectBindingElements", $[$.ArrayBindingElements = 10] = "ArrayBindingElements", $[$.ArgumentExpressions = 11] = "ArgumentExpressions", $[$.ObjectLiteralMembers = 12] = "ObjectLiteralMembers", $[$.JsxAttributes = 13] = "JsxAttributes", $[$.JsxChildren = 14] = "JsxChildren", $[$.ArrayLiteralMembers = 15] = "ArrayLiteralMembers", $[$.Parameters = 16] = "Parameters", $[$.JSDocParameters = 17] = "JSDocParameters", $[$.RestProperties = 18] = "RestProperties", $[$.TypeParameters = 19] = "TypeParameters", $[$.TypeArguments = 20] = "TypeArguments", $[$.TupleElementTypes = 21] = "TupleElementTypes", $[$.HeritageClauses = 22] = "HeritageClauses", $[$.ImportOrExportSpecifiers = 23] = "ImportOrExportSpecifiers", $[$.ImportAttributes = 24] = "ImportAttributes", $[$.JSDocComment = 25] = "JSDocComment", $[$.Count = 26] = "Count";
        })(Xv || (Xv = {}));
        let Gw;
        (($) => {
          $[$.False = 0] = "False", $[$.True = 1] = "True", $[$.Unknown = 2] = "Unknown";
        })(Gw || (Gw = {}));
        let qc;
        (($) => {
          function be(oi, Ui, io) {
            Pt(
              "file.js",
              oi,
              99,
              /*syntaxCursor*/
              void 0,
              1,
              0
              /* ParseAll */
            ), t.setText(oi, Ui, io), Ee = t.scan();
            const so = Oe(), Fa = ut(
              "file.js",
              99,
              1,
              /*isDeclarationFile*/
              !1,
              [],
              A(
                1
                /* EndOfFileToken */
              ),
              0,
              Ua
            ), fp = Cx(ve, Fa);
            return se && (Fa.jsDocDiagnostics = Cx(se, Fa)), Fn(), so ? { jsDocTypeExpression: so, diagnostics: fp } : void 0;
          }
          $.parseJSDocTypeExpressionForTests = be;
          function Oe(oi) {
            const Ui = M(), io = (oi ? gi : $t)(
              19
              /* OpenBraceToken */
            ), so = ta(16777216, bm);
            (!oi || io) && qo(
              20
              /* CloseBraceToken */
            );
            const Fa = m.createJSDocTypeExpression(so);
            return je(Fa), zt(Fa, Ui);
          }
          $.parseJSDocTypeExpression = Oe;
          function yt() {
            const oi = M(), Ui = gi(
              19
              /* OpenBraceToken */
            ), io = M();
            let so = Ke(
              /*allowReservedWords*/
              !1
            );
            for (; X() === 81; )
              gt(), st(), so = zt(m.createJSDocMemberName(so, yo()), io);
            Ui && qo(
              20
              /* CloseBraceToken */
            );
            const Fa = m.createJSDocNameReference(so);
            return je(Fa), zt(Fa, oi);
          }
          $.parseJSDocNameReference = yt;
          function qt(oi, Ui, io) {
            Pt(
              "",
              oi,
              99,
              /*syntaxCursor*/
              void 0,
              1,
              0
              /* ParseAll */
            );
            const so = ta(16777216, () => ri(Ui, io)), fp = Cx(ve, { languageVariant: 0, text: oi });
            return Fn(), so ? { jsDoc: so, diagnostics: fp } : void 0;
          }
          $.parseIsolatedJSDocComment = qt;
          function hr(oi, Ui, io) {
            const so = Ee, Fa = ve.length, fp = Wt, dg = ta(16777216, () => ri(Ui, io));
            return Wa(dg, oi), Fr & 524288 && (se || (se = []), wn(se, ve, Fa)), Ee = so, ve.length = Fa, Wt = fp, dg;
          }
          $.parseJSDocComment = hr;
          let Ln;
          ((oi) => {
            oi[oi.BeginningOfLine = 0] = "BeginningOfLine", oi[oi.SawAsterisk = 1] = "SawAsterisk", oi[oi.SavingComments = 2] = "SavingComments", oi[oi.SavingBackticks = 3] = "SavingBackticks";
          })(Ln || (Ln = {}));
          let Si;
          ((oi) => {
            oi[oi.Property = 1] = "Property", oi[oi.Parameter = 2] = "Parameter", oi[oi.CallbackParameter = 4] = "CallbackParameter";
          })(Si || (Si = {}));
          function ri(oi = 0, Ui) {
            const io = ue, so = Ui === void 0 ? io.length : oi + Ui;
            if (Ui = so - oi, E.assert(oi >= 0), E.assert(oi <= so), E.assert(so <= io.length), !Iz(io, oi))
              return;
            let Fa, fp, dg, zp, Ol, Od = [];
            const E1 = [], M8 = Bt;
            Bt |= 1 << 25;
            const Ma = t.scanRange(oi + 3, Ui - 5, _l);
            return Bt = M8, Ma;
            function _l() {
              let wr = 1, En, In = oi - (io.lastIndexOf(`
`, oi) + 1) + 4;
              function _i(Ja) {
                En || (En = In), Od.push(Ja), In += Ja.length;
              }
              for (st(); ay(
                5
                /* WhitespaceTrivia */
              ); ) ;
              ay(
                4
                /* NewLineTrivia */
              ) && (wr = 0, In = 0);
              e:
                for (; ; ) {
                  switch (X()) {
                    case 60:
                      Qk(Od), Ol || (Ol = M()), Yi(on(In)), wr = 0, En = void 0;
                      break;
                    case 4:
                      Od.push(t.getTokenText()), wr = 0, In = 0;
                      break;
                    case 42:
                      const Ja = t.getTokenText();
                      wr === 1 ? (wr = 2, _i(Ja)) : (E.assert(
                        wr === 0
                        /* BeginningOfLine */
                      ), wr = 1, In += Ja.length);
                      break;
                    case 5:
                      E.assert(wr !== 2, "whitespace shouldn't come from the scanner while saving top-level comment text");
                      const fu = t.getTokenText();
                      En !== void 0 && In + fu.length > En && Od.push(fu.slice(En - In)), In += fu.length;
                      break;
                    case 1:
                      break e;
                    case 82:
                      wr = 2, _i(t.getTokenValue());
                      break;
                    case 19:
                      wr = 2;
                      const Im = t.getTokenFullStart(), fl = t.getTokenEnd() - 1, Md = B(fl);
                      if (Md) {
                        zp || D1(Od), E1.push(zt(m.createJSDocText(Od.join("")), zp ?? oi, Im)), E1.push(Md), Od = [], zp = t.getTokenEnd();
                        break;
                      }
                    // fallthrough if it's not a {@link sequence
                    default:
                      wr = 2, _i(t.getTokenText());
                      break;
                  }
                  wr === 2 ? At(
                    /*inBackticks*/
                    !1
                  ) : st();
                }
              const pi = Od.join("").trimEnd();
              E1.length && pi.length && E1.push(zt(m.createJSDocText(pi), zp ?? oi, Ol)), E1.length && Fa && E.assertIsDefined(Ol, "having parsed tags implies that the end of the comment span should be set");
              const Ra = Fa && Ca(Fa, fp, dg);
              return zt(m.createJSDocComment(E1.length ? Ca(E1, oi, Ol) : pi.length ? pi : void 0, Ra), oi, so);
            }
            function D1(wr) {
              for (; wr.length && (wr[0] === `
` || wr[0] === "\r"); )
                wr.shift();
            }
            function Qk(wr) {
              for (; wr.length; ) {
                const En = wr[wr.length - 1].trimEnd();
                if (En === "")
                  wr.pop();
                else if (En.length < wr[wr.length - 1].length) {
                  wr[wr.length - 1] = En;
                  break;
                } else
                  break;
              }
            }
            function EE() {
              for (; ; ) {
                if (st(), X() === 1)
                  return !0;
                if (!(X() === 5 || X() === 4))
                  return !1;
              }
            }
            function S_() {
              if (!((X() === 5 || X() === 4) && Mt(EE)))
                for (; X() === 5 || X() === 4; )
                  st();
            }
            function w1() {
              if ((X() === 5 || X() === 4) && Mt(EE))
                return "";
              let wr = t.hasPrecedingLineBreak(), En = !1, In = "";
              for (; wr && X() === 42 || X() === 5 || X() === 4; )
                In += t.getTokenText(), X() === 4 ? (wr = !0, En = !0, In = "") : X() === 42 && (wr = !1), st();
              return En ? In : "";
            }
            function on(wr) {
              E.assert(
                X() === 60
                /* AtToken */
              );
              const En = t.getTokenStart();
              st();
              const In = id(
                /*message*/
                void 0
              ), _i = w1();
              let pi;
              switch (In.escapedText) {
                case "author":
                  pi = bT(En, In, wr, _i);
                  break;
                case "implements":
                  pi = mfe(En, In, wr, _i);
                  break;
                case "augments":
                case "extends":
                  pi = gfe(En, In, wr, _i);
                  break;
                case "class":
                case "constructor":
                  pi = Zk(En, m.createJSDocClassTag, In, wr, _i);
                  break;
                case "public":
                  pi = Zk(En, m.createJSDocPublicTag, In, wr, _i);
                  break;
                case "private":
                  pi = Zk(En, m.createJSDocPrivateTag, In, wr, _i);
                  break;
                case "protected":
                  pi = Zk(En, m.createJSDocProtectedTag, In, wr, _i);
                  break;
                case "readonly":
                  pi = Zk(En, m.createJSDocReadonlyTag, In, wr, _i);
                  break;
                case "override":
                  pi = Zk(En, m.createJSDocOverrideTag, In, wr, _i);
                  break;
                case "deprecated":
                  li = !0, pi = Zk(En, m.createJSDocDeprecatedTag, In, wr, _i);
                  break;
                case "this":
                  pi = UL(En, In, wr, _i);
                  break;
                case "enum":
                  pi = hfe(En, In, wr, _i);
                  break;
                case "arg":
                case "argument":
                case "param":
                  return mg(En, In, 2, wr);
                case "return":
                case "returns":
                  pi = Qv(En, In, wr, _i);
                  break;
                case "template":
                  pi = j8(En, In, wr, _i);
                  break;
                case "type":
                  pi = OG(En, In, wr, _i);
                  break;
                case "typedef":
                  pi = yfe(En, In, wr, _i);
                  break;
                case "callback":
                  pi = vfe(En, In, wr, _i);
                  break;
                case "overload":
                  pi = sy(En, In, wr, _i);
                  break;
                case "satisfies":
                  pi = Xw(En, In, wr, _i);
                  break;
                case "see":
                  pi = pfe(En, In, wr, _i);
                  break;
                case "exception":
                case "throws":
                  pi = dfe(En, In, wr, _i);
                  break;
                case "import":
                  pi = LG(En, In, wr, _i);
                  break;
                default:
                  pi = mn(En, In, wr, _i);
                  break;
              }
              return pi;
            }
            function v(wr, En, In, _i) {
              return _i || (In += En - wr), P(In, _i.slice(In));
            }
            function P(wr, En) {
              const In = M();
              let _i = [];
              const pi = [];
              let Ra, Ja = 0, fu;
              function Im(oy) {
                fu || (fu = wr), _i.push(oy), wr += oy.length;
              }
              En !== void 0 && (En !== "" && Im(En), Ja = 1);
              let fl = X();
              e:
                for (; ; ) {
                  switch (fl) {
                    case 4:
                      Ja = 0, _i.push(t.getTokenText()), wr = 0;
                      break;
                    case 60:
                      t.resetTokenState(t.getTokenEnd() - 1);
                      break e;
                    case 1:
                      break e;
                    case 5:
                      E.assert(Ja !== 2 && Ja !== 3, "whitespace shouldn't come from the scanner while saving comment text");
                      const oy = t.getTokenText();
                      fu !== void 0 && wr + oy.length > fu && (_i.push(oy.slice(fu - wr)), Ja = 2), wr += oy.length;
                      break;
                    case 19:
                      Ja = 2;
                      const B8 = t.getTokenFullStart(), Yv = t.getTokenEnd() - 1, J8 = B(Yv);
                      J8 ? (pi.push(zt(m.createJSDocText(_i.join("")), Ra ?? In, B8)), pi.push(J8), _i = [], Ra = t.getTokenEnd()) : Im(t.getTokenText());
                      break;
                    case 62:
                      Ja === 3 ? Ja = 2 : Ja = 3, Im(t.getTokenText());
                      break;
                    case 82:
                      Ja !== 3 && (Ja = 2), Im(t.getTokenValue());
                      break;
                    case 42:
                      if (Ja === 0) {
                        Ja = 1, wr += 1;
                        break;
                      }
                    // record the * as a comment
                    // falls through
                    default:
                      Ja !== 3 && (Ja = 2), Im(t.getTokenText());
                      break;
                  }
                  Ja === 2 || Ja === 3 ? fl = At(
                    Ja === 3
                    /* SavingBackticks */
                  ) : fl = st();
                }
              D1(_i);
              const Md = _i.join("").trimEnd();
              if (pi.length)
                return Md.length && pi.push(zt(m.createJSDocText(Md), Ra ?? In)), Ca(pi, In, t.getTokenEnd());
              if (Md.length)
                return Md;
            }
            function B(wr) {
              const En = cr(Je);
              if (!En)
                return;
              st(), S_();
              const In = le(), _i = [];
              for (; X() !== 20 && X() !== 4 && X() !== 1; )
                _i.push(t.getTokenText()), st();
              const pi = En === "link" ? m.createJSDocLink : En === "linkcode" ? m.createJSDocLinkCode : m.createJSDocLinkPlain;
              return zt(pi(In, _i.join("")), wr, t.getTokenEnd());
            }
            function le() {
              if (l_(X())) {
                const wr = M();
                let En = ge();
                for (; gi(
                  25
                  /* DotToken */
                ); )
                  En = zt(m.createQualifiedName(En, X() === 81 ? Ka(
                    80,
                    /*reportAtCurrentPosition*/
                    !1
                  ) : ge()), wr);
                for (; X() === 81; )
                  gt(), st(), En = zt(m.createJSDocMemberName(En, yo()), wr);
                return En;
              }
            }
            function Je() {
              if (w1(), X() === 19 && st() === 60 && l_(st())) {
                const wr = t.getTokenValue();
                if (Ht(wr)) return wr;
              }
            }
            function Ht(wr) {
              return wr === "link" || wr === "linkcode" || wr === "linkplain";
            }
            function mn(wr, En, In, _i) {
              return zt(m.createJSDocUnknownTag(En, v(wr, M(), In, _i)), wr);
            }
            function Yi(wr) {
              wr && (Fa ? Fa.push(wr) : (Fa = [wr], fp = wr.pos), dg = wr.end);
            }
            function Ha() {
              return w1(), X() === 19 ? Oe() : void 0;
            }
            function Ld() {
              const wr = ay(
                23
                /* OpenBracketToken */
              );
              wr && S_();
              const En = ay(
                62
                /* BacktickToken */
              ), In = MG();
              return En && Pa(
                62
                /* BacktickToken */
              ), wr && (S_(), ps(
                64
                /* EqualsToken */
              ) && Vl(), $t(
                24
                /* CloseBracketToken */
              )), { name: In, isBracketed: wr };
            }
            function _h(wr) {
              switch (wr.kind) {
                case 151:
                  return !0;
                case 188:
                  return _h(wr.elementType);
                default:
                  return X_(wr) && Fe(wr.typeName) && wr.typeName.escapedText === "Object" && !wr.typeArguments;
              }
            }
            function mg(wr, En, In, _i) {
              let pi = Ha(), Ra = !pi;
              w1();
              const { name: Ja, isBracketed: fu } = Ld(), Im = w1();
              Ra && !Mt(Je) && (pi = Ha());
              const fl = v(wr, M(), _i, Im), Md = Yk(pi, Ja, In, _i);
              Md && (pi = Md, Ra = !0);
              const oy = In === 1 ? m.createJSDocPropertyTag(En, Ja, fu, pi, Ra, fl) : m.createJSDocParameterTag(En, Ja, fu, pi, Ra, fl);
              return zt(oy, wr);
            }
            function Yk(wr, En, In, _i) {
              if (wr && _h(wr.type)) {
                const pi = M();
                let Ra, Ja;
                for (; Ra = cr(() => R8(In, _i, En)); )
                  Ra.kind === 341 || Ra.kind === 348 ? Ja = Dr(Ja, Ra) : Ra.kind === 345 && mt(Ra.tagName, p.A_JSDoc_template_tag_may_not_follow_a_typedef_callback_or_overload_tag);
                if (Ja) {
                  const fu = zt(m.createJSDocTypeLiteral(
                    Ja,
                    wr.type.kind === 188
                    /* ArrayType */
                  ), pi);
                  return zt(m.createJSDocTypeExpression(fu), pi);
                }
              }
            }
            function Qv(wr, En, In, _i) {
              at(Fa, PF) && we(En.pos, t.getTokenStart(), p._0_tag_already_specified, Ei(En.escapedText));
              const pi = Ha();
              return zt(m.createJSDocReturnTag(En, pi, v(wr, M(), In, _i)), wr);
            }
            function OG(wr, En, In, _i) {
              at(Fa, RD) && we(En.pos, t.getTokenStart(), p._0_tag_already_specified, Ei(En.escapedText));
              const pi = Oe(
                /*mayOmitBraces*/
                !0
              ), Ra = In !== void 0 && _i !== void 0 ? v(wr, M(), In, _i) : void 0;
              return zt(m.createJSDocTypeTag(En, pi, Ra), wr);
            }
            function pfe(wr, En, In, _i) {
              const Ra = X() === 23 || Mt(() => st() === 60 && l_(st()) && Ht(t.getTokenValue())) ? void 0 : yt(), Ja = In !== void 0 && _i !== void 0 ? v(wr, M(), In, _i) : void 0;
              return zt(m.createJSDocSeeTag(En, Ra, Ja), wr);
            }
            function dfe(wr, En, In, _i) {
              const pi = Ha(), Ra = v(wr, M(), In, _i);
              return zt(m.createJSDocThrowsTag(En, pi, Ra), wr);
            }
            function bT(wr, En, In, _i) {
              const pi = M(), Ra = $w();
              let Ja = t.getTokenFullStart();
              const fu = v(wr, Ja, In, _i);
              fu || (Ja = t.getTokenFullStart());
              const Im = typeof fu != "string" ? Ca(Ji([zt(Ra, pi, Ja)], fu), pi) : Ra.text + fu;
              return zt(m.createJSDocAuthorTag(En, Im), wr);
            }
            function $w() {
              const wr = [];
              let En = !1, In = t.getToken();
              for (; In !== 1 && In !== 4; ) {
                if (In === 30)
                  En = !0;
                else {
                  if (In === 60 && !En)
                    break;
                  if (In === 32 && En) {
                    wr.push(t.getTokenText()), t.resetTokenState(t.getTokenEnd());
                    break;
                  }
                }
                wr.push(t.getTokenText()), In = st();
              }
              return m.createJSDocText(wr.join(""));
            }
            function mfe(wr, En, In, _i) {
              const pi = VL();
              return zt(m.createJSDocImplementsTag(En, pi, v(wr, M(), In, _i)), wr);
            }
            function gfe(wr, En, In, _i) {
              const pi = VL();
              return zt(m.createJSDocAugmentsTag(En, pi, v(wr, M(), In, _i)), wr);
            }
            function Xw(wr, En, In, _i) {
              const pi = Oe(
                /*mayOmitBraces*/
                !1
              ), Ra = In !== void 0 && _i !== void 0 ? v(wr, M(), In, _i) : void 0;
              return zt(m.createJSDocSatisfiesTag(En, pi, Ra), wr);
            }
            function LG(wr, En, In, _i) {
              const pi = t.getTokenFullStart();
              let Ra;
              br() && (Ra = yo());
              const Ja = Uv(
                Ra,
                pi,
                /*isTypeOnly*/
                !0,
                /*skipJsDocLeadingAsterisks*/
                !0
              ), fu = Xk(), Im = Gk(), fl = In !== void 0 && _i !== void 0 ? v(wr, M(), In, _i) : void 0;
              return zt(m.createJSDocImportTag(En, Ja, fu, Im, fl), wr);
            }
            function VL() {
              const wr = gi(
                19
                /* OpenBraceToken */
              ), En = M(), In = Qw();
              t.setSkipJsDocLeadingAsterisks(!0);
              const _i = Vv();
              t.setSkipJsDocLeadingAsterisks(!1);
              const pi = m.createExpressionWithTypeArguments(In, _i), Ra = zt(pi, En);
              return wr && (S_(), $t(
                20
                /* CloseBraceToken */
              )), Ra;
            }
            function Qw() {
              const wr = M();
              let En = id();
              for (; gi(
                25
                /* DotToken */
              ); ) {
                const In = id();
                En = zt(j(En, In), wr);
              }
              return En;
            }
            function Zk(wr, En, In, _i, pi) {
              return zt(En(In, v(wr, M(), _i, pi)), wr);
            }
            function UL(wr, En, In, _i) {
              const pi = Oe(
                /*mayOmitBraces*/
                !0
              );
              return S_(), zt(m.createJSDocThisTag(En, pi, v(wr, M(), In, _i)), wr);
            }
            function hfe(wr, En, In, _i) {
              const pi = Oe(
                /*mayOmitBraces*/
                !0
              );
              return S_(), zt(m.createJSDocEnumTag(En, pi, v(wr, M(), In, _i)), wr);
            }
            function yfe(wr, En, In, _i) {
              let pi = Ha();
              w1();
              const Ra = qL();
              S_();
              let Ja = P(In), fu;
              if (!pi || _h(pi.type)) {
                let fl, Md, oy, B8 = !1;
                for (; (fl = cr(() => P1(In))) && fl.kind !== 345; )
                  if (B8 = !0, fl.kind === 344)
                    if (Md) {
                      const Yv = Rt(p.A_JSDoc_typedef_comment_may_not_contain_multiple_type_tags);
                      Yv && Ws(Yv, kx(re, ue, 0, 0, p.The_tag_was_first_specified_here));
                      break;
                    } else
                      Md = fl;
                  else
                    oy = Dr(oy, fl);
                if (B8) {
                  const Yv = pi && pi.type.kind === 188, J8 = m.createJSDocTypeLiteral(oy, Yv);
                  pi = Md && Md.typeExpression && !_h(Md.typeExpression.type) ? Md.typeExpression : zt(J8, wr), fu = pi.end;
                }
              }
              fu = fu || Ja !== void 0 ? M() : (Ra ?? pi ?? En).end, Ja || (Ja = v(wr, fu, In, _i));
              const Im = m.createJSDocTypedefTag(En, pi, Ra, Ja);
              return zt(Im, wr, fu);
            }
            function qL(wr) {
              const En = t.getTokenStart();
              if (!l_(X()))
                return;
              const In = id();
              if (gi(
                25
                /* DotToken */
              )) {
                const _i = qL(
                  /*nested*/
                  !0
                ), pi = m.createModuleDeclaration(
                  /*modifiers*/
                  void 0,
                  In,
                  _i,
                  wr ? 8 : void 0
                );
                return zt(pi, En);
              }
              return wr && (In.flags |= 4096), In;
            }
            function DE(wr) {
              const En = M();
              let In, _i;
              for (; In = cr(() => R8(4, wr)); ) {
                if (In.kind === 345) {
                  mt(In.tagName, p.A_JSDoc_template_tag_may_not_follow_a_typedef_callback_or_overload_tag);
                  break;
                }
                _i = Dr(_i, In);
              }
              return Ca(_i || [], En);
            }
            function HL(wr, En) {
              const In = DE(En), _i = cr(() => {
                if (ay(
                  60
                  /* AtToken */
                )) {
                  const pi = on(En);
                  if (pi && pi.kind === 342)
                    return pi;
                }
              });
              return zt(m.createJSDocSignature(
                /*typeParameters*/
                void 0,
                In,
                _i
              ), wr);
            }
            function vfe(wr, En, In, _i) {
              const pi = qL();
              S_();
              let Ra = P(In);
              const Ja = HL(wr, In);
              Ra || (Ra = v(wr, M(), In, _i));
              const fu = Ra !== void 0 ? M() : Ja.end;
              return zt(m.createJSDocCallbackTag(En, Ja, pi, Ra), wr, fu);
            }
            function sy(wr, En, In, _i) {
              S_();
              let pi = P(In);
              const Ra = HL(wr, In);
              pi || (pi = v(wr, M(), In, _i));
              const Ja = pi !== void 0 ? M() : Ra.end;
              return zt(m.createJSDocOverloadTag(En, Ra, pi), wr, Ja);
            }
            function Qr(wr, En) {
              for (; !Fe(wr) || !Fe(En); )
                if (!Fe(wr) && !Fe(En) && wr.right.escapedText === En.right.escapedText)
                  wr = wr.left, En = En.left;
                else
                  return !1;
              return wr.escapedText === En.escapedText;
            }
            function P1(wr) {
              return R8(1, wr);
            }
            function R8(wr, En, In) {
              let _i = !0, pi = !1;
              for (; ; )
                switch (st()) {
                  case 60:
                    if (_i) {
                      const Ra = Am(wr, En);
                      return Ra && (Ra.kind === 341 || Ra.kind === 348) && In && (Fe(Ra.name) || !Qr(In, Ra.name.left)) ? !1 : Ra;
                    }
                    pi = !1;
                    break;
                  case 4:
                    _i = !0, pi = !1;
                    break;
                  case 42:
                    pi && (_i = !1), pi = !0;
                    break;
                  case 80:
                    _i = !1;
                    break;
                  case 1:
                    return !1;
                }
            }
            function Am(wr, En) {
              E.assert(
                X() === 60
                /* AtToken */
              );
              const In = t.getTokenFullStart();
              st();
              const _i = id(), pi = w1();
              let Ra;
              switch (_i.escapedText) {
                case "type":
                  return wr === 1 && OG(In, _i);
                case "prop":
                case "property":
                  Ra = 1;
                  break;
                case "arg":
                case "argument":
                case "param":
                  Ra = 6;
                  break;
                case "template":
                  return j8(In, _i, En, pi);
                case "this":
                  return UL(In, _i, En, pi);
                default:
                  return !1;
              }
              return wr & Ra ? mg(In, _i, wr, En) : !1;
            }
            function wE() {
              const wr = M(), En = ay(
                23
                /* OpenBracketToken */
              );
              En && S_();
              const In = Yn(
                /*allowDecorators*/
                !1,
                /*permitConstAsModifier*/
                !0
              ), _i = id(p.Unexpected_token_A_type_parameter_name_was_expected_without_curly_braces);
              let pi;
              if (En && (S_(), $t(
                64
                /* EqualsToken */
              ), pi = ta(16777216, bm), $t(
                24
                /* CloseBracketToken */
              )), !cc(_i))
                return zt(m.createTypeParameterDeclaration(
                  In,
                  _i,
                  /*constraint*/
                  void 0,
                  pi
                ), wr);
            }
            function PE() {
              const wr = M(), En = [];
              do {
                S_();
                const In = wE();
                In !== void 0 && En.push(In), w1();
              } while (ay(
                28
                /* CommaToken */
              ));
              return Ca(En, wr);
            }
            function j8(wr, En, In, _i) {
              const pi = X() === 19 ? Oe() : void 0, Ra = PE();
              return zt(m.createJSDocTemplateTag(En, pi, Ra, v(wr, M(), In, _i)), wr);
            }
            function ay(wr) {
              return X() === wr ? (st(), !0) : !1;
            }
            function MG() {
              let wr = id();
              for (gi(
                23
                /* OpenBracketToken */
              ) && $t(
                24
                /* CloseBracketToken */
              ); gi(
                25
                /* DotToken */
              ); ) {
                const En = id();
                gi(
                  23
                  /* OpenBracketToken */
                ) && $t(
                  24
                  /* CloseBracketToken */
                ), wr = Vt(wr, En);
              }
              return wr;
            }
            function id(wr) {
              if (!l_(X()))
                return Ka(
                  80,
                  /*reportAtCurrentPosition*/
                  !wr,
                  wr || p.Identifier_expected
                );
              St++;
              const En = t.getTokenStart(), In = t.getTokenEnd(), _i = X(), pi = Vc(t.getTokenValue()), Ra = zt(D(pi, _i), En, In);
              return st(), Ra;
            }
          }
        })(qc = e.JSDocParser || (e.JSDocParser = {}));
      })(pv || (pv = {}));
      var W0e = /* @__PURE__ */ new WeakSet();
      function RLe(e) {
        W0e.has(e) && E.fail("Source file has already been incrementally parsed"), W0e.add(e);
      }
      var V0e = /* @__PURE__ */ new WeakSet();
      function jLe(e) {
        return V0e.has(e);
      }
      function fre(e) {
        V0e.add(e);
      }
      var Oz;
      ((e) => {
        function t(T, k, D, w) {
          if (w = w || E.shouldAssert(
            2
            /* Aggressive */
          ), m(T, k, D, w), UY(D))
            return T;
          if (T.statements.length === 0)
            return pv.parseSourceFile(
              T.fileName,
              k,
              T.languageVersion,
              /*syntaxCursor*/
              void 0,
              /*setParentNodes*/
              !0,
              T.scriptKind,
              T.setExternalModuleIndicator,
              T.jsDocParsingMode
            );
          RLe(T), pv.fixupParentReferences(T);
          const A = T.text, O = h(T), F = u(T, D);
          m(T, k, F, w), E.assert(F.span.start <= D.span.start), E.assert(Ko(F.span) === Ko(D.span)), E.assert(Ko(S4(F)) === Ko(S4(D)));
          const j = S4(F).length - F.span.length;
          _(T, F.span.start, Ko(F.span), Ko(S4(F)), j, A, k, w);
          const z = pv.parseSourceFile(
            T.fileName,
            k,
            T.languageVersion,
            O,
            /*setParentNodes*/
            !0,
            T.scriptKind,
            T.setExternalModuleIndicator,
            T.jsDocParsingMode
          );
          return z.commentDirectives = n(
            T.commentDirectives,
            z.commentDirectives,
            F.span.start,
            Ko(F.span),
            j,
            A,
            k,
            w
          ), z.impliedNodeFormat = T.impliedNodeFormat, Wte(T, z), z;
        }
        e.updateSourceFile = t;
        function n(T, k, D, w, A, O, F, j) {
          if (!T) return k;
          let z, V = !1;
          for (const W of T) {
            const { range: pe, type: K } = W;
            if (pe.end < D)
              z = Dr(z, W);
            else if (pe.pos > w) {
              G();
              const U = {
                range: { pos: pe.pos + A, end: pe.end + A },
                type: K
              };
              z = Dr(z, U), j && E.assert(O.substring(pe.pos, pe.end) === F.substring(U.range.pos, U.range.end));
            }
          }
          return G(), z;
          function G() {
            V || (V = !0, z ? k && z.push(...k) : z = k);
          }
        }
        function i(T, k, D, w, A, O, F) {
          D ? z(T) : j(T);
          return;
          function j(V) {
            let G = "";
            if (F && s(V) && (G = A.substring(V.pos, V.end)), vz(V, k), hd(V, V.pos + w, V.end + w), F && s(V) && E.assert(G === O.substring(V.pos, V.end)), Ss(V, j, z), pf(V))
              for (const W of V.jsDoc)
                j(W);
            c(V, F);
          }
          function z(V) {
            hd(V, V.pos + w, V.end + w);
            for (const G of V)
              j(G);
          }
        }
        function s(T) {
          switch (T.kind) {
            case 11:
            case 9:
            case 80:
              return !0;
          }
          return !1;
        }
        function o(T, k, D, w, A) {
          E.assert(T.end >= k, "Adjusting an element that was entirely before the change range"), E.assert(T.pos <= D, "Adjusting an element that was entirely after the change range"), E.assert(T.pos <= T.end);
          const O = Math.min(T.pos, w), F = T.end >= D ? (
            // Element ends after the change range.  Always adjust the end pos.
            T.end + A
          ) : (
            // Element ends in the change range.  The element will keep its position if
            // possible. Or Move backward to the new-end if it's in the 'Y' range.
            Math.min(T.end, w)
          );
          if (E.assert(O <= F), T.parent) {
            const j = T.parent;
            E.assertGreaterThanOrEqual(O, j.pos), E.assertLessThanOrEqual(F, j.end);
          }
          hd(T, O, F);
        }
        function c(T, k) {
          if (k) {
            let D = T.pos;
            const w = (A) => {
              E.assert(A.pos >= D), D = A.end;
            };
            if (pf(T))
              for (const A of T.jsDoc)
                w(A);
            Ss(T, w), E.assert(D <= T.end);
          }
        }
        function _(T, k, D, w, A, O, F, j) {
          z(T);
          return;
          function z(G) {
            if (E.assert(G.pos <= G.end), G.pos > D) {
              i(
                G,
                T,
                /*isArray*/
                !1,
                A,
                O,
                F,
                j
              );
              return;
            }
            const W = G.end;
            if (W >= k) {
              if (fre(G), vz(G, T), o(G, k, D, w, A), Ss(G, z, V), pf(G))
                for (const pe of G.jsDoc)
                  z(pe);
              c(G, j);
              return;
            }
            E.assert(W < k);
          }
          function V(G) {
            if (E.assert(G.pos <= G.end), G.pos > D) {
              i(
                G,
                T,
                /*isArray*/
                !0,
                A,
                O,
                F,
                j
              );
              return;
            }
            const W = G.end;
            if (W >= k) {
              fre(G), o(G, k, D, w, A);
              for (const pe of G)
                z(pe);
              return;
            }
            E.assert(W < k);
          }
        }
        function u(T, k) {
          let w = k.span.start;
          for (let F = 0; w > 0 && F <= 1; F++) {
            const j = g(T, w);
            E.assert(j.pos <= w);
            const z = j.pos;
            w = Math.max(0, z - 1);
          }
          const A = wc(w, Ko(k.span)), O = k.newLength + (k.span.start - w);
          return VP(A, O);
        }
        function g(T, k) {
          let D = T, w;
          if (Ss(T, O), w) {
            const F = A(w);
            F.pos > D.pos && (D = F);
          }
          return D;
          function A(F) {
            for (; ; ) {
              const j = uJ(F);
              if (j)
                F = j;
              else
                return F;
            }
          }
          function O(F) {
            if (!cc(F))
              if (F.pos <= k) {
                if (F.pos >= D.pos && (D = F), k < F.end)
                  return Ss(F, O), !0;
                E.assert(F.end <= k), w = F;
              } else
                return E.assert(F.pos > k), !0;
          }
        }
        function m(T, k, D, w) {
          const A = T.text;
          if (D && (E.assert(A.length - D.span.length + D.newLength === k.length), w || E.shouldAssert(
            3
            /* VeryAggressive */
          ))) {
            const O = A.substr(0, D.span.start), F = k.substr(0, D.span.start);
            E.assert(O === F);
            const j = A.substring(Ko(D.span), A.length), z = k.substring(Ko(S4(D)), k.length);
            E.assert(j === z);
          }
        }
        function h(T) {
          let k = T.statements, D = 0;
          E.assert(D < k.length);
          let w = k[D], A = -1;
          return {
            currentNode(F) {
              return F !== A && (w && w.end === F && D < k.length - 1 && (D++, w = k[D]), (!w || w.pos !== F) && O(F)), A = F, E.assert(!w || w.pos === F), w;
            }
          };
          function O(F) {
            k = void 0, D = -1, w = void 0, Ss(T, j, z);
            return;
            function j(V) {
              return F >= V.pos && F < V.end ? (Ss(V, j, z), !0) : !1;
            }
            function z(V) {
              if (F >= V.pos && F < V.end)
                for (let G = 0; G < V.length; G++) {
                  const W = V[G];
                  if (W) {
                    if (W.pos === F)
                      return k = V, D = G, w = W, !0;
                    if (W.pos < F && F < W.end)
                      return Ss(W, j, z), !0;
                  }
                }
              return !1;
            }
          }
        }
        e.createSyntaxCursor = h;
        let S;
        ((T) => {
          T[T.Value = -1] = "Value";
        })(S || (S = {}));
      })(Oz || (Oz = {}));
      function Sl(e) {
        return JF(e) !== void 0;
      }
      function JF(e) {
        const t = XT(
          e,
          X5,
          /*ignoreCase*/
          !1
        );
        if (t)
          return t;
        if (Wo(
          e,
          ".ts"
          /* Ts */
        )) {
          const n = Qc(e), i = n.lastIndexOf(".d.");
          if (i >= 0)
            return n.substring(i);
        }
      }
      function BLe(e, t, n, i) {
        if (e) {
          if (e === "import")
            return 99;
          if (e === "require")
            return 1;
          i(t, n - t, p.resolution_mode_should_be_either_require_or_import);
        }
      }
      function Lz(e, t) {
        const n = [];
        for (const i of wg(t, 0) || Ue) {
          const s = t.substring(i.pos, i.end);
          VLe(n, i, s);
        }
        e.pragmas = /* @__PURE__ */ new Map();
        for (const i of n) {
          if (e.pragmas.has(i.name)) {
            const s = e.pragmas.get(i.name);
            s instanceof Array ? s.push(i.args) : e.pragmas.set(i.name, [s, i.args]);
            continue;
          }
          e.pragmas.set(i.name, i.args);
        }
      }
      function Mz(e, t) {
        e.checkJsDirective = void 0, e.referencedFiles = [], e.typeReferenceDirectives = [], e.libReferenceDirectives = [], e.amdDependencies = [], e.hasNoDefaultLib = !1, e.pragmas.forEach((n, i) => {
          switch (i) {
            case "reference": {
              const s = e.referencedFiles, o = e.typeReferenceDirectives, c = e.libReferenceDirectives;
              ar(qT(n), (_) => {
                const { types: u, lib: g, path: m, ["resolution-mode"]: h, preserve: S } = _.arguments, T = S === "true" ? !0 : void 0;
                if (_.arguments["no-default-lib"] === "true")
                  e.hasNoDefaultLib = !0;
                else if (u) {
                  const k = BLe(h, u.pos, u.end, t);
                  o.push({ pos: u.pos, end: u.end, fileName: u.value, ...k ? { resolutionMode: k } : {}, ...T ? { preserve: T } : {} });
                } else g ? c.push({ pos: g.pos, end: g.end, fileName: g.value, ...T ? { preserve: T } : {} }) : m ? s.push({ pos: m.pos, end: m.end, fileName: m.value, ...T ? { preserve: T } : {} }) : t(_.range.pos, _.range.end - _.range.pos, p.Invalid_reference_directive_syntax);
              });
              break;
            }
            case "amd-dependency": {
              e.amdDependencies = fr(
                qT(n),
                (s) => ({ name: s.arguments.name, path: s.arguments.path })
              );
              break;
            }
            case "amd-module": {
              if (n instanceof Array)
                for (const s of n)
                  e.moduleName && t(s.range.pos, s.range.end - s.range.pos, p.An_AMD_module_cannot_have_multiple_name_assignments), e.moduleName = s.arguments.name;
              else
                e.moduleName = n.arguments.name;
              break;
            }
            case "ts-nocheck":
            case "ts-check": {
              ar(qT(n), (s) => {
                (!e.checkJsDirective || s.range.pos > e.checkJsDirective.pos) && (e.checkJsDirective = {
                  enabled: i === "ts-check",
                  end: s.range.end,
                  pos: s.range.pos
                });
              });
              break;
            }
            case "jsx":
            case "jsxfrag":
            case "jsximportsource":
            case "jsxruntime":
              return;
            // Accessed directly
            default:
              E.fail("Unhandled pragma kind");
          }
        });
      }
      var pre = /* @__PURE__ */ new Map();
      function JLe(e) {
        if (pre.has(e))
          return pre.get(e);
        const t = new RegExp(`(\\s${e}\\s*=\\s*)(?:(?:'([^']*)')|(?:"([^"]*)"))`, "im");
        return pre.set(e, t), t;
      }
      var zLe = /^\/\/\/\s*<(\S+)\s.*?\/>/m, WLe = /^\/\/\/?\s*@([^\s:]+)((?:[^\S\r\n]|:).*)?$/m;
      function VLe(e, t, n) {
        const i = t.kind === 2 && zLe.exec(n);
        if (i) {
          const o = i[1].toLowerCase(), c = YI[o];
          if (!c || !(c.kind & 1))
            return;
          if (c.args) {
            const _ = {};
            for (const u of c.args) {
              const m = JLe(u.name).exec(n);
              if (!m && !u.optional)
                return;
              if (m) {
                const h = m[2] || m[3];
                if (u.captureSpan) {
                  const S = t.pos + m.index + m[1].length + 1;
                  _[u.name] = {
                    value: h,
                    pos: S,
                    end: S + h.length
                  };
                } else
                  _[u.name] = h;
              }
            }
            e.push({ name: o, args: { arguments: _, range: t } });
          } else
            e.push({ name: o, args: { arguments: {}, range: t } });
          return;
        }
        const s = t.kind === 2 && WLe.exec(n);
        if (s)
          return U0e(e, t, 2, s);
        if (t.kind === 3) {
          const o = /@(\S+)(\s+(?:\S.*)?)?$/gm;
          let c;
          for (; c = o.exec(n); )
            U0e(e, t, 4, c);
        }
      }
      function U0e(e, t, n, i) {
        if (!i) return;
        const s = i[1].toLowerCase(), o = YI[s];
        if (!o || !(o.kind & n))
          return;
        const c = i[2], _ = ULe(o, c);
        _ !== "fail" && e.push({ name: s, args: { arguments: _, range: t } });
      }
      function ULe(e, t) {
        if (!t) return {};
        if (!e.args) return {};
        const n = t.trim().split(/\s+/), i = {};
        for (let s = 0; s < e.args.length; s++) {
          const o = e.args[s];
          if (!n[s] && !o.optional)
            return "fail";
          if (o.captureSpan)
            return E.fail("Capture spans not yet implemented for non-xml pragmas");
          i[o.name] = n[s];
        }
        return i;
      }
      function dv(e, t) {
        return e.kind !== t.kind ? !1 : e.kind === 80 ? e.escapedText === t.escapedText : e.kind === 110 ? !0 : e.kind === 295 ? e.namespace.escapedText === t.namespace.escapedText && e.name.escapedText === t.name.escapedText : e.name.escapedText === t.name.escapedText && dv(e.expression, t.expression);
      }
      var dre = {
        name: "compileOnSave",
        type: "boolean",
        defaultValueDescription: !1
      }, q0e = new Map(Object.entries({
        preserve: 1,
        "react-native": 3,
        react: 2,
        "react-jsx": 4,
        "react-jsxdev": 5
        /* ReactJSXDev */
      })), WN = new Map(e4(q0e.entries(), ([e, t]) => ["" + t, e])), H0e = [
        // JavaScript only
        ["es5", "lib.es5.d.ts"],
        ["es6", "lib.es2015.d.ts"],
        ["es2015", "lib.es2015.d.ts"],
        ["es7", "lib.es2016.d.ts"],
        ["es2016", "lib.es2016.d.ts"],
        ["es2017", "lib.es2017.d.ts"],
        ["es2018", "lib.es2018.d.ts"],
        ["es2019", "lib.es2019.d.ts"],
        ["es2020", "lib.es2020.d.ts"],
        ["es2021", "lib.es2021.d.ts"],
        ["es2022", "lib.es2022.d.ts"],
        ["es2023", "lib.es2023.d.ts"],
        ["es2024", "lib.es2024.d.ts"],
        ["esnext", "lib.esnext.d.ts"],
        // Host only
        ["dom", "lib.dom.d.ts"],
        ["dom.iterable", "lib.dom.iterable.d.ts"],
        ["dom.asynciterable", "lib.dom.asynciterable.d.ts"],
        ["webworker", "lib.webworker.d.ts"],
        ["webworker.importscripts", "lib.webworker.importscripts.d.ts"],
        ["webworker.iterable", "lib.webworker.iterable.d.ts"],
        ["webworker.asynciterable", "lib.webworker.asynciterable.d.ts"],
        ["scripthost", "lib.scripthost.d.ts"],
        // ES2015 Or ESNext By-feature options
        ["es2015.core", "lib.es2015.core.d.ts"],
        ["es2015.collection", "lib.es2015.collection.d.ts"],
        ["es2015.generator", "lib.es2015.generator.d.ts"],
        ["es2015.iterable", "lib.es2015.iterable.d.ts"],
        ["es2015.promise", "lib.es2015.promise.d.ts"],
        ["es2015.proxy", "lib.es2015.proxy.d.ts"],
        ["es2015.reflect", "lib.es2015.reflect.d.ts"],
        ["es2015.symbol", "lib.es2015.symbol.d.ts"],
        ["es2015.symbol.wellknown", "lib.es2015.symbol.wellknown.d.ts"],
        ["es2016.array.include", "lib.es2016.array.include.d.ts"],
        ["es2016.intl", "lib.es2016.intl.d.ts"],
        ["es2017.arraybuffer", "lib.es2017.arraybuffer.d.ts"],
        ["es2017.date", "lib.es2017.date.d.ts"],
        ["es2017.object", "lib.es2017.object.d.ts"],
        ["es2017.sharedmemory", "lib.es2017.sharedmemory.d.ts"],
        ["es2017.string", "lib.es2017.string.d.ts"],
        ["es2017.intl", "lib.es2017.intl.d.ts"],
        ["es2017.typedarrays", "lib.es2017.typedarrays.d.ts"],
        ["es2018.asyncgenerator", "lib.es2018.asyncgenerator.d.ts"],
        ["es2018.asynciterable", "lib.es2018.asynciterable.d.ts"],
        ["es2018.intl", "lib.es2018.intl.d.ts"],
        ["es2018.promise", "lib.es2018.promise.d.ts"],
        ["es2018.regexp", "lib.es2018.regexp.d.ts"],
        ["es2019.array", "lib.es2019.array.d.ts"],
        ["es2019.object", "lib.es2019.object.d.ts"],
        ["es2019.string", "lib.es2019.string.d.ts"],
        ["es2019.symbol", "lib.es2019.symbol.d.ts"],
        ["es2019.intl", "lib.es2019.intl.d.ts"],
        ["es2020.bigint", "lib.es2020.bigint.d.ts"],
        ["es2020.date", "lib.es2020.date.d.ts"],
        ["es2020.promise", "lib.es2020.promise.d.ts"],
        ["es2020.sharedmemory", "lib.es2020.sharedmemory.d.ts"],
        ["es2020.string", "lib.es2020.string.d.ts"],
        ["es2020.symbol.wellknown", "lib.es2020.symbol.wellknown.d.ts"],
        ["es2020.intl", "lib.es2020.intl.d.ts"],
        ["es2020.number", "lib.es2020.number.d.ts"],
        ["es2021.promise", "lib.es2021.promise.d.ts"],
        ["es2021.string", "lib.es2021.string.d.ts"],
        ["es2021.weakref", "lib.es2021.weakref.d.ts"],
        ["es2021.intl", "lib.es2021.intl.d.ts"],
        ["es2022.array", "lib.es2022.array.d.ts"],
        ["es2022.error", "lib.es2022.error.d.ts"],
        ["es2022.intl", "lib.es2022.intl.d.ts"],
        ["es2022.object", "lib.es2022.object.d.ts"],
        ["es2022.string", "lib.es2022.string.d.ts"],
        ["es2022.regexp", "lib.es2022.regexp.d.ts"],
        ["es2023.array", "lib.es2023.array.d.ts"],
        ["es2023.collection", "lib.es2023.collection.d.ts"],
        ["es2023.intl", "lib.es2023.intl.d.ts"],
        ["es2024.arraybuffer", "lib.es2024.arraybuffer.d.ts"],
        ["es2024.collection", "lib.es2024.collection.d.ts"],
        ["es2024.object", "lib.es2024.object.d.ts"],
        ["es2024.promise", "lib.es2024.promise.d.ts"],
        ["es2024.regexp", "lib.es2024.regexp.d.ts"],
        ["es2024.sharedmemory", "lib.es2024.sharedmemory.d.ts"],
        ["es2024.string", "lib.es2024.string.d.ts"],
        ["esnext.array", "lib.es2023.array.d.ts"],
        ["esnext.collection", "lib.esnext.collection.d.ts"],
        ["esnext.symbol", "lib.es2019.symbol.d.ts"],
        ["esnext.asynciterable", "lib.es2018.asynciterable.d.ts"],
        ["esnext.intl", "lib.esnext.intl.d.ts"],
        ["esnext.disposable", "lib.esnext.disposable.d.ts"],
        ["esnext.bigint", "lib.es2020.bigint.d.ts"],
        ["esnext.string", "lib.es2022.string.d.ts"],
        ["esnext.promise", "lib.es2024.promise.d.ts"],
        ["esnext.weakref", "lib.es2021.weakref.d.ts"],
        ["esnext.decorators", "lib.esnext.decorators.d.ts"],
        ["esnext.object", "lib.es2024.object.d.ts"],
        ["esnext.array", "lib.esnext.array.d.ts"],
        ["esnext.regexp", "lib.es2024.regexp.d.ts"],
        ["esnext.string", "lib.es2024.string.d.ts"],
        ["esnext.iterator", "lib.esnext.iterator.d.ts"],
        ["esnext.promise", "lib.esnext.promise.d.ts"],
        ["esnext.float16", "lib.esnext.float16.d.ts"],
        ["decorators", "lib.decorators.d.ts"],
        ["decorators.legacy", "lib.decorators.legacy.d.ts"]
      ], zF = H0e.map((e) => e[0]), Rz = new Map(H0e), Zx = [
        {
          name: "watchFile",
          type: new Map(Object.entries({
            fixedpollinginterval: 0,
            prioritypollinginterval: 1,
            dynamicprioritypolling: 2,
            fixedchunksizepolling: 3,
            usefsevents: 4,
            usefseventsonparentdirectory: 5
            /* UseFsEventsOnParentDirectory */
          })),
          category: p.Watch_and_Build_Modes,
          description: p.Specify_how_the_TypeScript_watch_mode_works,
          defaultValueDescription: 4
          /* UseFsEvents */
        },
        {
          name: "watchDirectory",
          type: new Map(Object.entries({
            usefsevents: 0,
            fixedpollinginterval: 1,
            dynamicprioritypolling: 2,
            fixedchunksizepolling: 3
            /* FixedChunkSizePolling */
          })),
          category: p.Watch_and_Build_Modes,
          description: p.Specify_how_directories_are_watched_on_systems_that_lack_recursive_file_watching_functionality,
          defaultValueDescription: 0
          /* UseFsEvents */
        },
        {
          name: "fallbackPolling",
          type: new Map(Object.entries({
            fixedinterval: 0,
            priorityinterval: 1,
            dynamicpriority: 2,
            fixedchunksize: 3
            /* FixedChunkSize */
          })),
          category: p.Watch_and_Build_Modes,
          description: p.Specify_what_approach_the_watcher_should_use_if_the_system_runs_out_of_native_file_watchers,
          defaultValueDescription: 1
          /* PriorityInterval */
        },
        {
          name: "synchronousWatchDirectory",
          type: "boolean",
          category: p.Watch_and_Build_Modes,
          description: p.Synchronously_call_callbacks_and_update_the_state_of_directory_watchers_on_platforms_that_don_t_support_recursive_watching_natively,
          defaultValueDescription: !1
        },
        {
          name: "excludeDirectories",
          type: "list",
          element: {
            name: "excludeDirectory",
            type: "string",
            isFilePath: !0,
            extraValidation: Mre
          },
          allowConfigDirTemplateSubstitution: !0,
          category: p.Watch_and_Build_Modes,
          description: p.Remove_a_list_of_directories_from_the_watch_process
        },
        {
          name: "excludeFiles",
          type: "list",
          element: {
            name: "excludeFile",
            type: "string",
            isFilePath: !0,
            extraValidation: Mre
          },
          allowConfigDirTemplateSubstitution: !0,
          category: p.Watch_and_Build_Modes,
          description: p.Remove_a_list_of_files_from_the_watch_mode_s_processing
        }
      ], WF = [
        {
          name: "help",
          shortName: "h",
          type: "boolean",
          showInSimplifiedHelpView: !0,
          isCommandLineOnly: !0,
          category: p.Command_line_Options,
          description: p.Print_this_message,
          defaultValueDescription: !1
        },
        {
          name: "help",
          shortName: "?",
          type: "boolean",
          isCommandLineOnly: !0,
          category: p.Command_line_Options,
          defaultValueDescription: !1
        },
        {
          name: "watch",
          shortName: "w",
          type: "boolean",
          showInSimplifiedHelpView: !0,
          isCommandLineOnly: !0,
          category: p.Command_line_Options,
          description: p.Watch_input_files,
          defaultValueDescription: !1
        },
        {
          name: "preserveWatchOutput",
          type: "boolean",
          showInSimplifiedHelpView: !1,
          category: p.Output_Formatting,
          description: p.Disable_wiping_the_console_in_watch_mode,
          defaultValueDescription: !1
        },
        {
          name: "listFiles",
          type: "boolean",
          category: p.Compiler_Diagnostics,
          description: p.Print_all_of_the_files_read_during_the_compilation,
          defaultValueDescription: !1
        },
        {
          name: "explainFiles",
          type: "boolean",
          category: p.Compiler_Diagnostics,
          description: p.Print_files_read_during_the_compilation_including_why_it_was_included,
          defaultValueDescription: !1
        },
        {
          name: "listEmittedFiles",
          type: "boolean",
          category: p.Compiler_Diagnostics,
          description: p.Print_the_names_of_emitted_files_after_a_compilation,
          defaultValueDescription: !1
        },
        {
          name: "pretty",
          type: "boolean",
          showInSimplifiedHelpView: !0,
          category: p.Output_Formatting,
          description: p.Enable_color_and_formatting_in_TypeScript_s_output_to_make_compiler_errors_easier_to_read,
          defaultValueDescription: !0
        },
        {
          name: "traceResolution",
          type: "boolean",
          category: p.Compiler_Diagnostics,
          description: p.Log_paths_used_during_the_moduleResolution_process,
          defaultValueDescription: !1
        },
        {
          name: "diagnostics",
          type: "boolean",
          category: p.Compiler_Diagnostics,
          description: p.Output_compiler_performance_information_after_building,
          defaultValueDescription: !1
        },
        {
          name: "extendedDiagnostics",
          type: "boolean",
          category: p.Compiler_Diagnostics,
          description: p.Output_more_detailed_compiler_performance_information_after_building,
          defaultValueDescription: !1
        },
        {
          name: "generateCpuProfile",
          type: "string",
          isFilePath: !0,
          paramType: p.FILE_OR_DIRECTORY,
          category: p.Compiler_Diagnostics,
          description: p.Emit_a_v8_CPU_profile_of_the_compiler_run_for_debugging,
          defaultValueDescription: "profile.cpuprofile"
        },
        {
          name: "generateTrace",
          type: "string",
          isFilePath: !0,
          paramType: p.DIRECTORY,
          category: p.Compiler_Diagnostics,
          description: p.Generates_an_event_trace_and_a_list_of_types
        },
        {
          name: "incremental",
          shortName: "i",
          type: "boolean",
          category: p.Projects,
          description: p.Save_tsbuildinfo_files_to_allow_for_incremental_compilation_of_projects,
          transpileOptionValue: void 0,
          defaultValueDescription: p.false_unless_composite_is_set
        },
        {
          name: "declaration",
          shortName: "d",
          type: "boolean",
          // Not setting affectsEmit because we calculate this flag might not affect full emit
          affectsBuildInfo: !0,
          showInSimplifiedHelpView: !0,
          category: p.Emit,
          transpileOptionValue: void 0,
          description: p.Generate_d_ts_files_from_TypeScript_and_JavaScript_files_in_your_project,
          defaultValueDescription: p.false_unless_composite_is_set
        },
        {
          name: "declarationMap",
          type: "boolean",
          // Not setting affectsEmit because we calculate this flag might not affect full emit
          affectsBuildInfo: !0,
          showInSimplifiedHelpView: !0,
          category: p.Emit,
          defaultValueDescription: !1,
          description: p.Create_sourcemaps_for_d_ts_files
        },
        {
          name: "emitDeclarationOnly",
          type: "boolean",
          // Not setting affectsEmit because we calculate this flag might not affect full emit
          affectsBuildInfo: !0,
          showInSimplifiedHelpView: !0,
          category: p.Emit,
          description: p.Only_output_d_ts_files_and_not_JavaScript_files,
          transpileOptionValue: void 0,
          defaultValueDescription: !1
        },
        {
          name: "sourceMap",
          type: "boolean",
          // Not setting affectsEmit because we calculate this flag might not affect full emit
          affectsBuildInfo: !0,
          showInSimplifiedHelpView: !0,
          category: p.Emit,
          defaultValueDescription: !1,
          description: p.Create_source_map_files_for_emitted_JavaScript_files
        },
        {
          name: "inlineSourceMap",
          type: "boolean",
          // Not setting affectsEmit because we calculate this flag might not affect full emit
          affectsBuildInfo: !0,
          category: p.Emit,
          description: p.Include_sourcemap_files_inside_the_emitted_JavaScript,
          defaultValueDescription: !1
        },
        {
          name: "noCheck",
          type: "boolean",
          showInSimplifiedHelpView: !1,
          category: p.Compiler_Diagnostics,
          description: p.Disable_full_type_checking_only_critical_parse_and_emit_errors_will_be_reported,
          transpileOptionValue: !0,
          defaultValueDescription: !1
          // Not setting affectsSemanticDiagnostics or affectsBuildInfo because we dont want all diagnostics to go away, its handled in builder
        },
        {
          name: "noEmit",
          type: "boolean",
          showInSimplifiedHelpView: !0,
          category: p.Emit,
          description: p.Disable_emitting_files_from_a_compilation,
          transpileOptionValue: void 0,
          defaultValueDescription: !1
        },
        {
          name: "assumeChangesOnlyAffectDirectDependencies",
          type: "boolean",
          affectsSemanticDiagnostics: !0,
          affectsEmit: !0,
          affectsBuildInfo: !0,
          category: p.Watch_and_Build_Modes,
          description: p.Have_recompiles_in_projects_that_use_incremental_and_watch_mode_assume_that_changes_within_a_file_will_only_affect_files_directly_depending_on_it,
          defaultValueDescription: !1
        },
        {
          name: "locale",
          type: "string",
          category: p.Command_line_Options,
          isCommandLineOnly: !0,
          description: p.Set_the_language_of_the_messaging_from_TypeScript_This_does_not_affect_emit,
          defaultValueDescription: p.Platform_specific
        }
      ], jz = {
        name: "target",
        shortName: "t",
        type: new Map(Object.entries({
          es3: 0,
          es5: 1,
          es6: 2,
          es2015: 2,
          es2016: 3,
          es2017: 4,
          es2018: 5,
          es2019: 6,
          es2020: 7,
          es2021: 8,
          es2022: 9,
          es2023: 10,
          es2024: 11,
          esnext: 99
          /* ESNext */
        })),
        affectsSourceFile: !0,
        affectsModuleResolution: !0,
        affectsEmit: !0,
        affectsBuildInfo: !0,
        deprecatedKeys: /* @__PURE__ */ new Set(["es3"]),
        paramType: p.VERSION,
        showInSimplifiedHelpView: !0,
        category: p.Language_and_Environment,
        description: p.Set_the_JavaScript_language_version_for_emitted_JavaScript_and_include_compatible_library_declarations,
        defaultValueDescription: 1
        /* ES5 */
      }, mre = {
        name: "module",
        shortName: "m",
        type: new Map(Object.entries({
          none: 0,
          commonjs: 1,
          amd: 2,
          system: 4,
          umd: 3,
          es6: 5,
          es2015: 5,
          es2020: 6,
          es2022: 7,
          esnext: 99,
          node16: 100,
          node18: 101,
          nodenext: 199,
          preserve: 200
          /* Preserve */
        })),
        affectsSourceFile: !0,
        affectsModuleResolution: !0,
        affectsEmit: !0,
        affectsBuildInfo: !0,
        paramType: p.KIND,
        showInSimplifiedHelpView: !0,
        category: p.Modules,
        description: p.Specify_what_module_code_is_generated,
        defaultValueDescription: void 0
      }, gre = [
        // CommandLine only options
        {
          name: "all",
          type: "boolean",
          showInSimplifiedHelpView: !0,
          category: p.Command_line_Options,
          description: p.Show_all_compiler_options,
          defaultValueDescription: !1
        },
        {
          name: "version",
          shortName: "v",
          type: "boolean",
          showInSimplifiedHelpView: !0,
          category: p.Command_line_Options,
          description: p.Print_the_compiler_s_version,
          defaultValueDescription: !1
        },
        {
          name: "init",
          type: "boolean",
          showInSimplifiedHelpView: !0,
          category: p.Command_line_Options,
          description: p.Initializes_a_TypeScript_project_and_creates_a_tsconfig_json_file,
          defaultValueDescription: !1
        },
        {
          name: "project",
          shortName: "p",
          type: "string",
          isFilePath: !0,
          showInSimplifiedHelpView: !0,
          category: p.Command_line_Options,
          paramType: p.FILE_OR_DIRECTORY,
          description: p.Compile_the_project_given_the_path_to_its_configuration_file_or_to_a_folder_with_a_tsconfig_json
        },
        {
          name: "showConfig",
          type: "boolean",
          showInSimplifiedHelpView: !0,
          category: p.Command_line_Options,
          isCommandLineOnly: !0,
          description: p.Print_the_final_configuration_instead_of_building,
          defaultValueDescription: !1
        },
        {
          name: "listFilesOnly",
          type: "boolean",
          category: p.Command_line_Options,
          isCommandLineOnly: !0,
          description: p.Print_names_of_files_that_are_part_of_the_compilation_and_then_stop_processing,
          defaultValueDescription: !1
        },
        // Basic
        jz,
        mre,
        {
          name: "lib",
          type: "list",
          element: {
            name: "lib",
            type: Rz,
            defaultValueDescription: void 0
          },
          affectsProgramStructure: !0,
          showInSimplifiedHelpView: !0,
          category: p.Language_and_Environment,
          description: p.Specify_a_set_of_bundled_library_declaration_files_that_describe_the_target_runtime_environment,
          transpileOptionValue: void 0
        },
        {
          name: "allowJs",
          type: "boolean",
          allowJsFlag: !0,
          affectsBuildInfo: !0,
          showInSimplifiedHelpView: !0,
          category: p.JavaScript_Support,
          description: p.Allow_JavaScript_files_to_be_a_part_of_your_program_Use_the_checkJS_option_to_get_errors_from_these_files,
          defaultValueDescription: !1
        },
        {
          name: "checkJs",
          type: "boolean",
          affectsModuleResolution: !0,
          affectsSemanticDiagnostics: !0,
          affectsBuildInfo: !0,
          showInSimplifiedHelpView: !0,
          category: p.JavaScript_Support,
          description: p.Enable_error_reporting_in_type_checked_JavaScript_files,
          defaultValueDescription: !1
        },
        {
          name: "jsx",
          type: q0e,
          affectsSourceFile: !0,
          affectsEmit: !0,
          affectsBuildInfo: !0,
          affectsModuleResolution: !0,
          // The checker emits an error when it sees JSX but this option is not set in compilerOptions.
          // This is effectively a semantic error, so mark this option as affecting semantic diagnostics
          // so we know to refresh errors when this option is changed.
          affectsSemanticDiagnostics: !0,
          paramType: p.KIND,
          showInSimplifiedHelpView: !0,
          category: p.Language_and_Environment,
          description: p.Specify_what_JSX_code_is_generated,
          defaultValueDescription: void 0
        },
        {
          name: "outFile",
          type: "string",
          affectsEmit: !0,
          affectsBuildInfo: !0,
          affectsDeclarationPath: !0,
          isFilePath: !0,
          paramType: p.FILE,
          showInSimplifiedHelpView: !0,
          category: p.Emit,
          description: p.Specify_a_file_that_bundles_all_outputs_into_one_JavaScript_file_If_declaration_is_true_also_designates_a_file_that_bundles_all_d_ts_output,
          transpileOptionValue: void 0
        },
        {
          name: "outDir",
          type: "string",
          affectsEmit: !0,
          affectsBuildInfo: !0,
          affectsDeclarationPath: !0,
          isFilePath: !0,
          paramType: p.DIRECTORY,
          showInSimplifiedHelpView: !0,
          category: p.Emit,
          description: p.Specify_an_output_folder_for_all_emitted_files
        },
        {
          name: "rootDir",
          type: "string",
          affectsEmit: !0,
          affectsBuildInfo: !0,
          affectsDeclarationPath: !0,
          isFilePath: !0,
          paramType: p.LOCATION,
          category: p.Modules,
          description: p.Specify_the_root_folder_within_your_source_files,
          defaultValueDescription: p.Computed_from_the_list_of_input_files
        },
        {
          name: "composite",
          type: "boolean",
          // Not setting affectsEmit because we calculate this flag might not affect full emit
          affectsBuildInfo: !0,
          isTSConfigOnly: !0,
          category: p.Projects,
          transpileOptionValue: void 0,
          defaultValueDescription: !1,
          description: p.Enable_constraints_that_allow_a_TypeScript_project_to_be_used_with_project_references
        },
        {
          name: "tsBuildInfoFile",
          type: "string",
          affectsEmit: !0,
          affectsBuildInfo: !0,
          isFilePath: !0,
          paramType: p.FILE,
          category: p.Projects,
          transpileOptionValue: void 0,
          defaultValueDescription: ".tsbuildinfo",
          description: p.Specify_the_path_to_tsbuildinfo_incremental_compilation_file
        },
        {
          name: "removeComments",
          type: "boolean",
          affectsEmit: !0,
          affectsBuildInfo: !0,
          showInSimplifiedHelpView: !0,
          category: p.Emit,
          defaultValueDescription: !1,
          description: p.Disable_emitting_comments
        },
        {
          name: "importHelpers",
          type: "boolean",
          affectsEmit: !0,
          affectsBuildInfo: !0,
          affectsSourceFile: !0,
          category: p.Emit,
          description: p.Allow_importing_helper_functions_from_tslib_once_per_project_instead_of_including_them_per_file,
          defaultValueDescription: !1
        },
        {
          name: "importsNotUsedAsValues",
          type: new Map(Object.entries({
            remove: 0,
            preserve: 1,
            error: 2
            /* Error */
          })),
          affectsEmit: !0,
          affectsSemanticDiagnostics: !0,
          affectsBuildInfo: !0,
          category: p.Backwards_Compatibility,
          description: p.Specify_emit_Slashchecking_behavior_for_imports_that_are_only_used_for_types,
          defaultValueDescription: 0
          /* Remove */
        },
        {
          name: "downlevelIteration",
          type: "boolean",
          affectsEmit: !0,
          affectsBuildInfo: !0,
          category: p.Emit,
          description: p.Emit_more_compliant_but_verbose_and_less_performant_JavaScript_for_iteration,
          defaultValueDescription: !1
        },
        {
          name: "isolatedModules",
          type: "boolean",
          category: p.Interop_Constraints,
          description: p.Ensure_that_each_file_can_be_safely_transpiled_without_relying_on_other_imports,
          transpileOptionValue: !0,
          defaultValueDescription: !1
        },
        {
          name: "verbatimModuleSyntax",
          type: "boolean",
          affectsEmit: !0,
          affectsSemanticDiagnostics: !0,
          affectsBuildInfo: !0,
          category: p.Interop_Constraints,
          description: p.Do_not_transform_or_elide_any_imports_or_exports_not_marked_as_type_only_ensuring_they_are_written_in_the_output_file_s_format_based_on_the_module_setting,
          defaultValueDescription: !1
        },
        {
          name: "isolatedDeclarations",
          type: "boolean",
          category: p.Interop_Constraints,
          description: p.Require_sufficient_annotation_on_exports_so_other_tools_can_trivially_generate_declaration_files,
          defaultValueDescription: !1,
          affectsBuildInfo: !0,
          affectsSemanticDiagnostics: !0
        },
        {
          name: "erasableSyntaxOnly",
          type: "boolean",
          category: p.Interop_Constraints,
          description: p.Do_not_allow_runtime_constructs_that_are_not_part_of_ECMAScript,
          defaultValueDescription: !1,
          affectsBuildInfo: !0,
          affectsSemanticDiagnostics: !0
        },
        {
          name: "libReplacement",
          type: "boolean",
          affectsProgramStructure: !0,
          category: p.Language_and_Environment,
          description: p.Enable_lib_replacement,
          defaultValueDescription: !0
        },
        // Strict Type Checks
        {
          name: "strict",
          type: "boolean",
          // Though this affects semantic diagnostics, affectsSemanticDiagnostics is not set here
          // The value of each strictFlag depends on own strictFlag value or this and never accessed directly.
          // But we need to store `strict` in builf info, even though it won't be examined directly, so that the
          // flags it controls (e.g. `strictNullChecks`) will be retrieved correctly
          affectsBuildInfo: !0,
          showInSimplifiedHelpView: !0,
          category: p.Type_Checking,
          description: p.Enable_all_strict_type_checking_options,
          defaultValueDescription: !1
        },
        {
          name: "noImplicitAny",
          type: "boolean",
          affectsSemanticDiagnostics: !0,
          affectsBuildInfo: !0,
          strictFlag: !0,
          category: p.Type_Checking,
          description: p.Enable_error_reporting_for_expressions_and_declarations_with_an_implied_any_type,
          defaultValueDescription: p.false_unless_strict_is_set
        },
        {
          name: "strictNullChecks",
          type: "boolean",
          affectsSemanticDiagnostics: !0,
          affectsBuildInfo: !0,
          strictFlag: !0,
          category: p.Type_Checking,
          description: p.When_type_checking_take_into_account_null_and_undefined,
          defaultValueDescription: p.false_unless_strict_is_set
        },
        {
          name: "strictFunctionTypes",
          type: "boolean",
          affectsSemanticDiagnostics: !0,
          affectsBuildInfo: !0,
          strictFlag: !0,
          category: p.Type_Checking,
          description: p.When_assigning_functions_check_to_ensure_parameters_and_the_return_values_are_subtype_compatible,
          defaultValueDescription: p.false_unless_strict_is_set
        },
        {
          name: "strictBindCallApply",
          type: "boolean",
          affectsSemanticDiagnostics: !0,
          affectsBuildInfo: !0,
          strictFlag: !0,
          category: p.Type_Checking,
          description: p.Check_that_the_arguments_for_bind_call_and_apply_methods_match_the_original_function,
          defaultValueDescription: p.false_unless_strict_is_set
        },
        {
          name: "strictPropertyInitialization",
          type: "boolean",
          affectsSemanticDiagnostics: !0,
          affectsBuildInfo: !0,
          strictFlag: !0,
          category: p.Type_Checking,
          description: p.Check_for_class_properties_that_are_declared_but_not_set_in_the_constructor,
          defaultValueDescription: p.false_unless_strict_is_set
        },
        {
          name: "strictBuiltinIteratorReturn",
          type: "boolean",
          affectsSemanticDiagnostics: !0,
          affectsBuildInfo: !0,
          strictFlag: !0,
          category: p.Type_Checking,
          description: p.Built_in_iterators_are_instantiated_with_a_TReturn_type_of_undefined_instead_of_any,
          defaultValueDescription: p.false_unless_strict_is_set
        },
        {
          name: "noImplicitThis",
          type: "boolean",
          affectsSemanticDiagnostics: !0,
          affectsBuildInfo: !0,
          strictFlag: !0,
          category: p.Type_Checking,
          description: p.Enable_error_reporting_when_this_is_given_the_type_any,
          defaultValueDescription: p.false_unless_strict_is_set
        },
        {
          name: "useUnknownInCatchVariables",
          type: "boolean",
          affectsSemanticDiagnostics: !0,
          affectsBuildInfo: !0,
          strictFlag: !0,
          category: p.Type_Checking,
          description: p.Default_catch_clause_variables_as_unknown_instead_of_any,
          defaultValueDescription: p.false_unless_strict_is_set
        },
        {
          name: "alwaysStrict",
          type: "boolean",
          affectsSourceFile: !0,
          affectsEmit: !0,
          affectsBuildInfo: !0,
          strictFlag: !0,
          category: p.Type_Checking,
          description: p.Ensure_use_strict_is_always_emitted,
          defaultValueDescription: p.false_unless_strict_is_set
        },
        // Additional Checks
        {
          name: "noUnusedLocals",
          type: "boolean",
          affectsSemanticDiagnostics: !0,
          affectsBuildInfo: !0,
          category: p.Type_Checking,
          description: p.Enable_error_reporting_when_local_variables_aren_t_read,
          defaultValueDescription: !1
        },
        {
          name: "noUnusedParameters",
          type: "boolean",
          affectsSemanticDiagnostics: !0,
          affectsBuildInfo: !0,
          category: p.Type_Checking,
          description: p.Raise_an_error_when_a_function_parameter_isn_t_read,
          defaultValueDescription: !1
        },
        {
          name: "exactOptionalPropertyTypes",
          type: "boolean",
          affectsSemanticDiagnostics: !0,
          affectsBuildInfo: !0,
          category: p.Type_Checking,
          description: p.Interpret_optional_property_types_as_written_rather_than_adding_undefined,
          defaultValueDescription: !1
        },
        {
          name: "noImplicitReturns",
          type: "boolean",
          affectsSemanticDiagnostics: !0,
          affectsBuildInfo: !0,
          category: p.Type_Checking,
          description: p.Enable_error_reporting_for_codepaths_that_do_not_explicitly_return_in_a_function,
          defaultValueDescription: !1
        },
        {
          name: "noFallthroughCasesInSwitch",
          type: "boolean",
          affectsBindDiagnostics: !0,
          affectsSemanticDiagnostics: !0,
          affectsBuildInfo: !0,
          category: p.Type_Checking,
          description: p.Enable_error_reporting_for_fallthrough_cases_in_switch_statements,
          defaultValueDescription: !1
        },
        {
          name: "noUncheckedIndexedAccess",
          type: "boolean",
          affectsSemanticDiagnostics: !0,
          affectsBuildInfo: !0,
          category: p.Type_Checking,
          description: p.Add_undefined_to_a_type_when_accessed_using_an_index,
          defaultValueDescription: !1
        },
        {
          name: "noImplicitOverride",
          type: "boolean",
          affectsSemanticDiagnostics: !0,
          affectsBuildInfo: !0,
          category: p.Type_Checking,
          description: p.Ensure_overriding_members_in_derived_classes_are_marked_with_an_override_modifier,
          defaultValueDescription: !1
        },
        {
          name: "noPropertyAccessFromIndexSignature",
          type: "boolean",
          affectsSemanticDiagnostics: !0,
          affectsBuildInfo: !0,
          showInSimplifiedHelpView: !1,
          category: p.Type_Checking,
          description: p.Enforces_using_indexed_accessors_for_keys_declared_using_an_indexed_type,
          defaultValueDescription: !1
        },
        // Module Resolution
        {
          name: "moduleResolution",
          type: new Map(Object.entries({
            // N.B. The first entry specifies the value shown in `tsc --init`
            node10: 2,
            node: 2,
            classic: 1,
            node16: 3,
            nodenext: 99,
            bundler: 100
            /* Bundler */
          })),
          deprecatedKeys: /* @__PURE__ */ new Set(["node"]),
          affectsSourceFile: !0,
          affectsModuleResolution: !0,
          paramType: p.STRATEGY,
          category: p.Modules,
          description: p.Specify_how_TypeScript_looks_up_a_file_from_a_given_module_specifier,
          defaultValueDescription: p.module_AMD_or_UMD_or_System_or_ES6_then_Classic_Otherwise_Node
        },
        {
          name: "baseUrl",
          type: "string",
          affectsModuleResolution: !0,
          isFilePath: !0,
          category: p.Modules,
          description: p.Specify_the_base_directory_to_resolve_non_relative_module_names
        },
        {
          // this option can only be specified in tsconfig.json
          // use type = object to copy the value as-is
          name: "paths",
          type: "object",
          affectsModuleResolution: !0,
          allowConfigDirTemplateSubstitution: !0,
          isTSConfigOnly: !0,
          category: p.Modules,
          description: p.Specify_a_set_of_entries_that_re_map_imports_to_additional_lookup_locations,
          transpileOptionValue: void 0
        },
        {
          // this option can only be specified in tsconfig.json
          // use type = object to copy the value as-is
          name: "rootDirs",
          type: "list",
          isTSConfigOnly: !0,
          element: {
            name: "rootDirs",
            type: "string",
            isFilePath: !0
          },
          affectsModuleResolution: !0,
          allowConfigDirTemplateSubstitution: !0,
          category: p.Modules,
          description: p.Allow_multiple_folders_to_be_treated_as_one_when_resolving_modules,
          transpileOptionValue: void 0,
          defaultValueDescription: p.Computed_from_the_list_of_input_files
        },
        {
          name: "typeRoots",
          type: "list",
          element: {
            name: "typeRoots",
            type: "string",
            isFilePath: !0
          },
          affectsModuleResolution: !0,
          allowConfigDirTemplateSubstitution: !0,
          category: p.Modules,
          description: p.Specify_multiple_folders_that_act_like_Slashnode_modules_Slash_types
        },
        {
          name: "types",
          type: "list",
          element: {
            name: "types",
            type: "string"
          },
          affectsProgramStructure: !0,
          showInSimplifiedHelpView: !0,
          category: p.Modules,
          description: p.Specify_type_package_names_to_be_included_without_being_referenced_in_a_source_file,
          transpileOptionValue: void 0
        },
        {
          name: "allowSyntheticDefaultImports",
          type: "boolean",
          affectsSemanticDiagnostics: !0,
          affectsBuildInfo: !0,
          category: p.Interop_Constraints,
          description: p.Allow_import_x_from_y_when_a_module_doesn_t_have_a_default_export,
          defaultValueDescription: p.module_system_or_esModuleInterop
        },
        {
          name: "esModuleInterop",
          type: "boolean",
          affectsSemanticDiagnostics: !0,
          affectsEmit: !0,
          affectsBuildInfo: !0,
          showInSimplifiedHelpView: !0,
          category: p.Interop_Constraints,
          description: p.Emit_additional_JavaScript_to_ease_support_for_importing_CommonJS_modules_This_enables_allowSyntheticDefaultImports_for_type_compatibility,
          defaultValueDescription: !1
        },
        {
          name: "preserveSymlinks",
          type: "boolean",
          category: p.Interop_Constraints,
          description: p.Disable_resolving_symlinks_to_their_realpath_This_correlates_to_the_same_flag_in_node,
          defaultValueDescription: !1
        },
        {
          name: "allowUmdGlobalAccess",
          type: "boolean",
          affectsSemanticDiagnostics: !0,
          affectsBuildInfo: !0,
          category: p.Modules,
          description: p.Allow_accessing_UMD_globals_from_modules,
          defaultValueDescription: !1
        },
        {
          name: "moduleSuffixes",
          type: "list",
          element: {
            name: "suffix",
            type: "string"
          },
          listPreserveFalsyValues: !0,
          affectsModuleResolution: !0,
          category: p.Modules,
          description: p.List_of_file_name_suffixes_to_search_when_resolving_a_module
        },
        {
          name: "allowImportingTsExtensions",
          type: "boolean",
          affectsSemanticDiagnostics: !0,
          affectsBuildInfo: !0,
          category: p.Modules,
          description: p.Allow_imports_to_include_TypeScript_file_extensions_Requires_moduleResolution_bundler_and_either_noEmit_or_emitDeclarationOnly_to_be_set,
          defaultValueDescription: !1,
          transpileOptionValue: void 0
        },
        {
          name: "rewriteRelativeImportExtensions",
          type: "boolean",
          affectsSemanticDiagnostics: !0,
          affectsBuildInfo: !0,
          category: p.Modules,
          description: p.Rewrite_ts_tsx_mts_and_cts_file_extensions_in_relative_import_paths_to_their_JavaScript_equivalent_in_output_files,
          defaultValueDescription: !1
        },
        {
          name: "resolvePackageJsonExports",
          type: "boolean",
          affectsModuleResolution: !0,
          category: p.Modules,
          description: p.Use_the_package_json_exports_field_when_resolving_package_imports,
          defaultValueDescription: p.true_when_moduleResolution_is_node16_nodenext_or_bundler_otherwise_false
        },
        {
          name: "resolvePackageJsonImports",
          type: "boolean",
          affectsModuleResolution: !0,
          category: p.Modules,
          description: p.Use_the_package_json_imports_field_when_resolving_imports,
          defaultValueDescription: p.true_when_moduleResolution_is_node16_nodenext_or_bundler_otherwise_false
        },
        {
          name: "customConditions",
          type: "list",
          element: {
            name: "condition",
            type: "string"
          },
          affectsModuleResolution: !0,
          category: p.Modules,
          description: p.Conditions_to_set_in_addition_to_the_resolver_specific_defaults_when_resolving_imports
        },
        {
          name: "noUncheckedSideEffectImports",
          type: "boolean",
          affectsSemanticDiagnostics: !0,
          affectsBuildInfo: !0,
          category: p.Modules,
          description: p.Check_side_effect_imports,
          defaultValueDescription: !1
        },
        // Source Maps
        {
          name: "sourceRoot",
          type: "string",
          affectsEmit: !0,
          affectsBuildInfo: !0,
          paramType: p.LOCATION,
          category: p.Emit,
          description: p.Specify_the_root_path_for_debuggers_to_find_the_reference_source_code
        },
        {
          name: "mapRoot",
          type: "string",
          affectsEmit: !0,
          affectsBuildInfo: !0,
          paramType: p.LOCATION,
          category: p.Emit,
          description: p.Specify_the_location_where_debugger_should_locate_map_files_instead_of_generated_locations
        },
        {
          name: "inlineSources",
          type: "boolean",
          affectsEmit: !0,
          affectsBuildInfo: !0,
          category: p.Emit,
          description: p.Include_source_code_in_the_sourcemaps_inside_the_emitted_JavaScript,
          defaultValueDescription: !1
        },
        // Experimental
        {
          name: "experimentalDecorators",
          type: "boolean",
          affectsEmit: !0,
          affectsSemanticDiagnostics: !0,
          affectsBuildInfo: !0,
          category: p.Language_and_Environment,
          description: p.Enable_experimental_support_for_legacy_experimental_decorators,
          defaultValueDescription: !1
        },
        {
          name: "emitDecoratorMetadata",
          type: "boolean",
          affectsSemanticDiagnostics: !0,
          affectsEmit: !0,
          affectsBuildInfo: !0,
          category: p.Language_and_Environment,
          description: p.Emit_design_type_metadata_for_decorated_declarations_in_source_files,
          defaultValueDescription: !1
        },
        // Advanced
        {
          name: "jsxFactory",
          type: "string",
          category: p.Language_and_Environment,
          description: p.Specify_the_JSX_factory_function_used_when_targeting_React_JSX_emit_e_g_React_createElement_or_h,
          defaultValueDescription: "`React.createElement`"
        },
        {
          name: "jsxFragmentFactory",
          type: "string",
          category: p.Language_and_Environment,
          description: p.Specify_the_JSX_Fragment_reference_used_for_fragments_when_targeting_React_JSX_emit_e_g_React_Fragment_or_Fragment,
          defaultValueDescription: "React.Fragment"
        },
        {
          name: "jsxImportSource",
          type: "string",
          affectsSemanticDiagnostics: !0,
          affectsEmit: !0,
          affectsBuildInfo: !0,
          affectsModuleResolution: !0,
          affectsSourceFile: !0,
          category: p.Language_and_Environment,
          description: p.Specify_module_specifier_used_to_import_the_JSX_factory_functions_when_using_jsx_Colon_react_jsx_Asterisk,
          defaultValueDescription: "react"
        },
        {
          name: "resolveJsonModule",
          type: "boolean",
          affectsModuleResolution: !0,
          category: p.Modules,
          description: p.Enable_importing_json_files,
          defaultValueDescription: !1
        },
        {
          name: "allowArbitraryExtensions",
          type: "boolean",
          affectsProgramStructure: !0,
          category: p.Modules,
          description: p.Enable_importing_files_with_any_extension_provided_a_declaration_file_is_present,
          defaultValueDescription: !1
        },
        {
          name: "out",
          type: "string",
          affectsEmit: !0,
          affectsBuildInfo: !0,
          affectsDeclarationPath: !0,
          isFilePath: !1,
          // This is intentionally broken to support compatibility with existing tsconfig files
          // for correct behaviour, please use outFile
          category: p.Backwards_Compatibility,
          paramType: p.FILE,
          transpileOptionValue: void 0,
          description: p.Deprecated_setting_Use_outFile_instead
        },
        {
          name: "reactNamespace",
          type: "string",
          affectsEmit: !0,
          affectsBuildInfo: !0,
          category: p.Language_and_Environment,
          description: p.Specify_the_object_invoked_for_createElement_This_only_applies_when_targeting_react_JSX_emit,
          defaultValueDescription: "`React`"
        },
        {
          name: "skipDefaultLibCheck",
          type: "boolean",
          // We need to store these to determine whether `lib` files need to be rechecked
          affectsBuildInfo: !0,
          category: p.Completeness,
          description: p.Skip_type_checking_d_ts_files_that_are_included_with_TypeScript,
          defaultValueDescription: !1
        },
        {
          name: "charset",
          type: "string",
          category: p.Backwards_Compatibility,
          description: p.No_longer_supported_In_early_versions_manually_set_the_text_encoding_for_reading_files,
          defaultValueDescription: "utf8"
        },
        {
          name: "emitBOM",
          type: "boolean",
          affectsEmit: !0,
          affectsBuildInfo: !0,
          category: p.Emit,
          description: p.Emit_a_UTF_8_Byte_Order_Mark_BOM_in_the_beginning_of_output_files,
          defaultValueDescription: !1
        },
        {
          name: "newLine",
          type: new Map(Object.entries({
            crlf: 0,
            lf: 1
            /* LineFeed */
          })),
          affectsEmit: !0,
          affectsBuildInfo: !0,
          paramType: p.NEWLINE,
          category: p.Emit,
          description: p.Set_the_newline_character_for_emitting_files,
          defaultValueDescription: "lf"
        },
        {
          name: "noErrorTruncation",
          type: "boolean",
          affectsSemanticDiagnostics: !0,
          affectsBuildInfo: !0,
          category: p.Output_Formatting,
          description: p.Disable_truncating_types_in_error_messages,
          defaultValueDescription: !1
        },
        {
          name: "noLib",
          type: "boolean",
          category: p.Language_and_Environment,
          affectsProgramStructure: !0,
          description: p.Disable_including_any_library_files_including_the_default_lib_d_ts,
          // We are not returning a sourceFile for lib file when asked by the program,
          // so pass --noLib to avoid reporting a file not found error.
          transpileOptionValue: !0,
          defaultValueDescription: !1
        },
        {
          name: "noResolve",
          type: "boolean",
          affectsModuleResolution: !0,
          category: p.Modules,
          description: p.Disallow_import_s_require_s_or_reference_s_from_expanding_the_number_of_files_TypeScript_should_add_to_a_project,
          // We are not doing a full typecheck, we are not resolving the whole context,
          // so pass --noResolve to avoid reporting missing file errors.
          transpileOptionValue: !0,
          defaultValueDescription: !1
        },
        {
          name: "stripInternal",
          type: "boolean",
          affectsEmit: !0,
          affectsBuildInfo: !0,
          category: p.Emit,
          description: p.Disable_emitting_declarations_that_have_internal_in_their_JSDoc_comments,
          defaultValueDescription: !1
        },
        {
          name: "disableSizeLimit",
          type: "boolean",
          affectsProgramStructure: !0,
          category: p.Editor_Support,
          description: p.Remove_the_20mb_cap_on_total_source_code_size_for_JavaScript_files_in_the_TypeScript_language_server,
          defaultValueDescription: !1
        },
        {
          name: "disableSourceOfProjectReferenceRedirect",
          type: "boolean",
          isTSConfigOnly: !0,
          category: p.Projects,
          description: p.Disable_preferring_source_files_instead_of_declaration_files_when_referencing_composite_projects,
          defaultValueDescription: !1
        },
        {
          name: "disableSolutionSearching",
          type: "boolean",
          isTSConfigOnly: !0,
          category: p.Projects,
          description: p.Opt_a_project_out_of_multi_project_reference_checking_when_editing,
          defaultValueDescription: !1
        },
        {
          name: "disableReferencedProjectLoad",
          type: "boolean",
          isTSConfigOnly: !0,
          category: p.Projects,
          description: p.Reduce_the_number_of_projects_loaded_automatically_by_TypeScript,
          defaultValueDescription: !1
        },
        {
          name: "noImplicitUseStrict",
          type: "boolean",
          affectsSemanticDiagnostics: !0,
          affectsBuildInfo: !0,
          category: p.Backwards_Compatibility,
          description: p.Disable_adding_use_strict_directives_in_emitted_JavaScript_files,
          defaultValueDescription: !1
        },
        {
          name: "noEmitHelpers",
          type: "boolean",
          affectsEmit: !0,
          affectsBuildInfo: !0,
          category: p.Emit,
          description: p.Disable_generating_custom_helper_functions_like_extends_in_compiled_output,
          defaultValueDescription: !1
        },
        {
          name: "noEmitOnError",
          type: "boolean",
          affectsEmit: !0,
          affectsBuildInfo: !0,
          category: p.Emit,
          transpileOptionValue: void 0,
          description: p.Disable_emitting_files_if_any_type_checking_errors_are_reported,
          defaultValueDescription: !1
        },
        {
          name: "preserveConstEnums",
          type: "boolean",
          affectsEmit: !0,
          affectsBuildInfo: !0,
          category: p.Emit,
          description: p.Disable_erasing_const_enum_declarations_in_generated_code,
          defaultValueDescription: !1
        },
        {
          name: "declarationDir",
          type: "string",
          affectsEmit: !0,
          affectsBuildInfo: !0,
          affectsDeclarationPath: !0,
          isFilePath: !0,
          paramType: p.DIRECTORY,
          category: p.Emit,
          transpileOptionValue: void 0,
          description: p.Specify_the_output_directory_for_generated_declaration_files
        },
        {
          name: "skipLibCheck",
          type: "boolean",
          // We need to store these to determine whether `lib` files need to be rechecked
          affectsBuildInfo: !0,
          category: p.Completeness,
          description: p.Skip_type_checking_all_d_ts_files,
          defaultValueDescription: !1
        },
        {
          name: "allowUnusedLabels",
          type: "boolean",
          affectsBindDiagnostics: !0,
          affectsSemanticDiagnostics: !0,
          affectsBuildInfo: !0,
          category: p.Type_Checking,
          description: p.Disable_error_reporting_for_unused_labels,
          defaultValueDescription: void 0
        },
        {
          name: "allowUnreachableCode",
          type: "boolean",
          affectsBindDiagnostics: !0,
          affectsSemanticDiagnostics: !0,
          affectsBuildInfo: !0,
          category: p.Type_Checking,
          description: p.Disable_error_reporting_for_unreachable_code,
          defaultValueDescription: void 0
        },
        {
          name: "suppressExcessPropertyErrors",
          type: "boolean",
          affectsSemanticDiagnostics: !0,
          affectsBuildInfo: !0,
          category: p.Backwards_Compatibility,
          description: p.Disable_reporting_of_excess_property_errors_during_the_creation_of_object_literals,
          defaultValueDescription: !1
        },
        {
          name: "suppressImplicitAnyIndexErrors",
          type: "boolean",
          affectsSemanticDiagnostics: !0,
          affectsBuildInfo: !0,
          category: p.Backwards_Compatibility,
          description: p.Suppress_noImplicitAny_errors_when_indexing_objects_that_lack_index_signatures,
          defaultValueDescription: !1
        },
        {
          name: "forceConsistentCasingInFileNames",
          type: "boolean",
          affectsModuleResolution: !0,
          category: p.Interop_Constraints,
          description: p.Ensure_that_casing_is_correct_in_imports,
          defaultValueDescription: !0
        },
        {
          name: "maxNodeModuleJsDepth",
          type: "number",
          affectsModuleResolution: !0,
          category: p.JavaScript_Support,
          description: p.Specify_the_maximum_folder_depth_used_for_checking_JavaScript_files_from_node_modules_Only_applicable_with_allowJs,
          defaultValueDescription: 0
        },
        {
          name: "noStrictGenericChecks",
          type: "boolean",
          affectsSemanticDiagnostics: !0,
          affectsBuildInfo: !0,
          category: p.Backwards_Compatibility,
          description: p.Disable_strict_checking_of_generic_signatures_in_function_types,
          defaultValueDescription: !1
        },
        {
          name: "useDefineForClassFields",
          type: "boolean",
          affectsSemanticDiagnostics: !0,
          affectsEmit: !0,
          affectsBuildInfo: !0,
          category: p.Language_and_Environment,
          description: p.Emit_ECMAScript_standard_compliant_class_fields,
          defaultValueDescription: p.true_for_ES2022_and_above_including_ESNext
        },
        {
          name: "preserveValueImports",
          type: "boolean",
          affectsEmit: !0,
          affectsBuildInfo: !0,
          category: p.Backwards_Compatibility,
          description: p.Preserve_unused_imported_values_in_the_JavaScript_output_that_would_otherwise_be_removed,
          defaultValueDescription: !1
        },
        {
          name: "keyofStringsOnly",
          type: "boolean",
          category: p.Backwards_Compatibility,
          description: p.Make_keyof_only_return_strings_instead_of_string_numbers_or_symbols_Legacy_option,
          defaultValueDescription: !1
        },
        {
          // A list of plugins to load in the language service
          name: "plugins",
          type: "list",
          isTSConfigOnly: !0,
          element: {
            name: "plugin",
            type: "object"
          },
          description: p.Specify_a_list_of_language_service_plugins_to_include,
          category: p.Editor_Support
        },
        {
          name: "moduleDetection",
          type: new Map(Object.entries({
            auto: 2,
            legacy: 1,
            force: 3
            /* Force */
          })),
          affectsSourceFile: !0,
          affectsModuleResolution: !0,
          description: p.Control_what_method_is_used_to_detect_module_format_JS_files,
          category: p.Language_and_Environment,
          defaultValueDescription: p.auto_Colon_Treat_files_with_imports_exports_import_meta_jsx_with_jsx_Colon_react_jsx_or_esm_format_with_module_Colon_node16_as_modules
        },
        {
          name: "ignoreDeprecations",
          type: "string",
          defaultValueDescription: void 0
        }
      ], Zp = [
        ...WF,
        ...gre
      ], hre = Zp.filter((e) => !!e.affectsSemanticDiagnostics), yre = Zp.filter((e) => !!e.affectsEmit), vre = Zp.filter((e) => !!e.affectsDeclarationPath), Bz = Zp.filter((e) => !!e.affectsModuleResolution), Jz = Zp.filter((e) => !!e.affectsSourceFile || !!e.affectsBindDiagnostics), bre = Zp.filter((e) => !!e.affectsProgramStructure), Sre = Zp.filter((e) => ao(e, "transpileOptionValue")), qLe = Zp.filter(
        (e) => e.allowConfigDirTemplateSubstitution || !e.isCommandLineOnly && e.isFilePath
      ), HLe = Zx.filter(
        (e) => e.allowConfigDirTemplateSubstitution || !e.isCommandLineOnly && e.isFilePath
      ), Tre = Zp.filter(GLe);
      function GLe(e) {
        return !cs(e.type);
      }
      var JS = {
        name: "build",
        type: "boolean",
        shortName: "b",
        showInSimplifiedHelpView: !0,
        category: p.Command_line_Options,
        description: p.Build_one_or_more_projects_and_their_dependencies_if_out_of_date,
        defaultValueDescription: !1
      }, zz = [
        JS,
        {
          name: "verbose",
          shortName: "v",
          category: p.Command_line_Options,
          description: p.Enable_verbose_logging,
          type: "boolean",
          defaultValueDescription: !1
        },
        {
          name: "dry",
          shortName: "d",
          category: p.Command_line_Options,
          description: p.Show_what_would_be_built_or_deleted_if_specified_with_clean,
          type: "boolean",
          defaultValueDescription: !1
        },
        {
          name: "force",
          shortName: "f",
          category: p.Command_line_Options,
          description: p.Build_all_projects_including_those_that_appear_to_be_up_to_date,
          type: "boolean",
          defaultValueDescription: !1
        },
        {
          name: "clean",
          category: p.Command_line_Options,
          description: p.Delete_the_outputs_of_all_projects,
          type: "boolean",
          defaultValueDescription: !1
        },
        {
          name: "stopBuildOnErrors",
          category: p.Command_line_Options,
          description: p.Skip_building_downstream_projects_on_error_in_upstream_project,
          type: "boolean",
          defaultValueDescription: !1
        }
      ], VN = [
        ...WF,
        ...zz
      ], VF = [
        {
          name: "enable",
          type: "boolean",
          defaultValueDescription: !1
        },
        {
          name: "include",
          type: "list",
          element: {
            name: "include",
            type: "string"
          }
        },
        {
          name: "exclude",
          type: "list",
          element: {
            name: "exclude",
            type: "string"
          }
        },
        {
          name: "disableFilenameBasedTypeAcquisition",
          type: "boolean",
          defaultValueDescription: !1
        }
      ];
      function UF(e) {
        const t = /* @__PURE__ */ new Map(), n = /* @__PURE__ */ new Map();
        return ar(e, (i) => {
          t.set(i.name.toLowerCase(), i), i.shortName && n.set(i.shortName, i.name);
        }), { optionsNameMap: t, shortOptionNames: n };
      }
      var G0e;
      function D6() {
        return G0e || (G0e = UF(Zp));
      }
      var $Le = {
        diagnostic: p.Compiler_option_0_may_only_be_used_with_build,
        getOptionsNameMap: Z0e
      }, Wz = {
        module: 1,
        target: 3,
        strict: !0,
        esModuleInterop: !0,
        forceConsistentCasingInFileNames: !0,
        skipLibCheck: !0
      };
      function xre(e) {
        return $0e(e, $o);
      }
      function $0e(e, t) {
        const n = rs(e.type.keys()), i = (e.deprecatedKeys ? n.filter((s) => !e.deprecatedKeys.has(s)) : n).map((s) => `'${s}'`).join(", ");
        return t(p.Argument_for_0_option_must_be_Colon_1, `--${e.name}`, i);
      }
      function qF(e, t, n) {
        return Fye(e, (t ?? "").trim(), n);
      }
      function kre(e, t = "", n) {
        if (t = t.trim(), Wi(t, "-"))
          return;
        if (e.type === "listOrElement" && !t.includes(","))
          return Kx(e, t, n);
        if (t === "")
          return [];
        const i = t.split(",");
        switch (e.element.type) {
          case "number":
            return Oi(i, (s) => Kx(e.element, parseInt(s), n));
          case "string":
            return Oi(i, (s) => Kx(e.element, s || "", n));
          case "boolean":
          case "object":
            return E.fail(`List of ${e.element.type} is not yet supported.`);
          default:
            return Oi(i, (s) => qF(e.element, s, n));
        }
      }
      function X0e(e) {
        return e.name;
      }
      function Cre(e, t, n, i, s) {
        var o;
        const c = (o = t.alternateMode) == null ? void 0 : o.getOptionsNameMap().optionsNameMap.get(e.toLowerCase());
        if (c)
          return mv(
            s,
            i,
            c !== JS ? t.alternateMode.diagnostic : p.Option_build_must_be_the_first_command_line_argument,
            e
          );
        const _ = hb(e, t.optionDeclarations, X0e);
        return _ ? mv(s, i, t.unknownDidYouMeanDiagnostic, n || e, _.name) : mv(s, i, t.unknownOptionDiagnostic, n || e);
      }
      function Vz(e, t, n) {
        const i = {};
        let s;
        const o = [], c = [];
        return _(t), {
          options: i,
          watchOptions: s,
          fileNames: o,
          errors: c
        };
        function _(g) {
          let m = 0;
          for (; m < g.length; ) {
            const h = g[m];
            if (m++, h.charCodeAt(0) === 64)
              u(h.slice(1));
            else if (h.charCodeAt(0) === 45) {
              const S = h.slice(h.charCodeAt(1) === 45 ? 2 : 1), T = Dre(
                e.getOptionsNameMap,
                S,
                /*allowShort*/
                !0
              );
              if (T)
                m = Q0e(g, m, e, T, i, c);
              else {
                const k = Dre(
                  Gz.getOptionsNameMap,
                  S,
                  /*allowShort*/
                  !0
                );
                k ? m = Q0e(g, m, Gz, k, s || (s = {}), c) : c.push(Cre(S, e, h));
              }
            } else
              o.push(h);
          }
        }
        function u(g) {
          const m = WD(g, n || ((T) => dl.readFile(T)));
          if (!cs(m)) {
            c.push(m);
            return;
          }
          const h = [];
          let S = 0;
          for (; ; ) {
            for (; S < m.length && m.charCodeAt(S) <= 32; ) S++;
            if (S >= m.length) break;
            const T = S;
            if (m.charCodeAt(T) === 34) {
              for (S++; S < m.length && m.charCodeAt(S) !== 34; ) S++;
              S < m.length ? (h.push(m.substring(T + 1, S)), S++) : c.push($o(p.Unterminated_quoted_string_in_response_file_0, g));
            } else {
              for (; m.charCodeAt(S) > 32; ) S++;
              h.push(m.substring(T, S));
            }
          }
          _(h);
        }
      }
      function Q0e(e, t, n, i, s, o) {
        if (i.isTSConfigOnly) {
          const c = e[t];
          c === "null" ? (s[i.name] = void 0, t++) : i.type === "boolean" ? c === "false" ? (s[i.name] = Kx(
            i,
            /*value*/
            !1,
            o
          ), t++) : (c === "true" && t++, o.push($o(p.Option_0_can_only_be_specified_in_tsconfig_json_file_or_set_to_false_or_null_on_command_line, i.name))) : (o.push($o(p.Option_0_can_only_be_specified_in_tsconfig_json_file_or_set_to_null_on_command_line, i.name)), c && !Wi(c, "-") && t++);
        } else if (!e[t] && i.type !== "boolean" && o.push($o(n.optionTypeMismatchDiagnostic, i.name, $z(i))), e[t] !== "null")
          switch (i.type) {
            case "number":
              s[i.name] = Kx(i, parseInt(e[t]), o), t++;
              break;
            case "boolean":
              const c = e[t];
              s[i.name] = Kx(i, c !== "false", o), (c === "false" || c === "true") && t++;
              break;
            case "string":
              s[i.name] = Kx(i, e[t] || "", o), t++;
              break;
            case "list":
              const _ = kre(i, e[t], o);
              s[i.name] = _ || [], _ && t++;
              break;
            case "listOrElement":
              E.fail("listOrElement not supported here");
              break;
            // If not a primitive, the possible types are specified in what is effectively a map of options.
            default:
              s[i.name] = qF(i, e[t], o), t++;
              break;
          }
        else
          s[i.name] = void 0, t++;
        return t;
      }
      var HF = {
        alternateMode: $Le,
        getOptionsNameMap: D6,
        optionDeclarations: Zp,
        unknownOptionDiagnostic: p.Unknown_compiler_option_0,
        unknownDidYouMeanDiagnostic: p.Unknown_compiler_option_0_Did_you_mean_1,
        optionTypeMismatchDiagnostic: p.Compiler_option_0_expects_an_argument
      };
      function Ere(e, t) {
        return Vz(HF, e, t);
      }
      function Uz(e, t) {
        return Dre(D6, e, t);
      }
      function Dre(e, t, n = !1) {
        t = t.toLowerCase();
        const { optionsNameMap: i, shortOptionNames: s } = e();
        if (n) {
          const o = s.get(t);
          o !== void 0 && (t = o);
        }
        return i.get(t);
      }
      var Y0e;
      function Z0e() {
        return Y0e || (Y0e = UF(VN));
      }
      var XLe = {
        diagnostic: p.Compiler_option_0_may_not_be_used_with_build,
        getOptionsNameMap: D6
      }, QLe = {
        alternateMode: XLe,
        getOptionsNameMap: Z0e,
        optionDeclarations: VN,
        unknownOptionDiagnostic: p.Unknown_build_option_0,
        unknownDidYouMeanDiagnostic: p.Unknown_build_option_0_Did_you_mean_1,
        optionTypeMismatchDiagnostic: p.Build_option_0_requires_a_value_of_type_1
      };
      function wre(e) {
        const { options: t, watchOptions: n, fileNames: i, errors: s } = Vz(
          QLe,
          e
        ), o = t;
        return i.length === 0 && i.push("."), o.clean && o.force && s.push($o(p.Options_0_and_1_cannot_be_combined, "clean", "force")), o.clean && o.verbose && s.push($o(p.Options_0_and_1_cannot_be_combined, "clean", "verbose")), o.clean && o.watch && s.push($o(p.Options_0_and_1_cannot_be_combined, "clean", "watch")), o.watch && o.dry && s.push($o(p.Options_0_and_1_cannot_be_combined, "watch", "dry")), { buildOptions: o, watchOptions: n, projects: i, errors: s };
      }
      function g_(e, ...t) {
        return Us($o(e, ...t).messageText, cs);
      }
      function UN(e, t, n, i, s, o) {
        const c = WD(e, (g) => n.readFile(g));
        if (!cs(c)) {
          n.onUnRecoverableConfigFileDiagnostic(c);
          return;
        }
        const _ = zN(e, c), u = n.getCurrentDirectory();
        return _.path = lo(e, u, Hl(n.useCaseSensitiveFileNames)), _.resolvedPath = _.path, _.originalFileName = _.fileName, GN(
          _,
          n,
          Xi(Un(e), u),
          t,
          Xi(e, u),
          /*resolutionStack*/
          void 0,
          o,
          i,
          s
        );
      }
      function qN(e, t) {
        const n = WD(e, t);
        return cs(n) ? qz(e, n) : { config: {}, error: n };
      }
      function qz(e, t) {
        const n = zN(e, t);
        return {
          config: _ye(
            n,
            n.parseDiagnostics,
            /*jsonConversionNotifier*/
            void 0
          ),
          error: n.parseDiagnostics.length ? n.parseDiagnostics[0] : void 0
        };
      }
      function Pre(e, t) {
        const n = WD(e, t);
        return cs(n) ? zN(e, n) : { fileName: e, parseDiagnostics: [n] };
      }
      function WD(e, t) {
        let n;
        try {
          n = t(e);
        } catch (i) {
          return $o(p.Cannot_read_file_0_Colon_1, e, i.message);
        }
        return n === void 0 ? $o(p.Cannot_read_file_0, e) : n;
      }
      function Hz(e) {
        return hC(e, X0e);
      }
      var K0e = {
        optionDeclarations: VF,
        unknownOptionDiagnostic: p.Unknown_type_acquisition_option_0,
        unknownDidYouMeanDiagnostic: p.Unknown_type_acquisition_option_0_Did_you_mean_1
      }, eye;
      function tye() {
        return eye || (eye = UF(Zx));
      }
      var Gz = {
        getOptionsNameMap: tye,
        optionDeclarations: Zx,
        unknownOptionDiagnostic: p.Unknown_watch_option_0,
        unknownDidYouMeanDiagnostic: p.Unknown_watch_option_0_Did_you_mean_1,
        optionTypeMismatchDiagnostic: p.Watch_option_0_requires_a_value_of_type_1
      }, rye;
      function nye() {
        return rye || (rye = Hz(Zp));
      }
      var iye;
      function sye() {
        return iye || (iye = Hz(Zx));
      }
      var aye;
      function oye() {
        return aye || (aye = Hz(VF));
      }
      var GF = {
        name: "extends",
        type: "listOrElement",
        element: {
          name: "extends",
          type: "string"
        },
        category: p.File_Management,
        disallowNullOrUndefined: !0
      }, cye = {
        name: "compilerOptions",
        type: "object",
        elementOptions: nye(),
        extraKeyDiagnostics: HF
      }, lye = {
        name: "watchOptions",
        type: "object",
        elementOptions: sye(),
        extraKeyDiagnostics: Gz
      }, uye = {
        name: "typeAcquisition",
        type: "object",
        elementOptions: oye(),
        extraKeyDiagnostics: K0e
      }, Nre;
      function YLe() {
        return Nre === void 0 && (Nre = {
          name: void 0,
          // should never be needed since this is root
          type: "object",
          elementOptions: Hz([
            cye,
            lye,
            uye,
            GF,
            {
              name: "references",
              type: "list",
              element: {
                name: "references",
                type: "object"
              },
              category: p.Projects
            },
            {
              name: "files",
              type: "list",
              element: {
                name: "files",
                type: "string"
              },
              category: p.File_Management
            },
            {
              name: "include",
              type: "list",
              element: {
                name: "include",
                type: "string"
              },
              category: p.File_Management,
              defaultValueDescription: p.if_files_is_specified_otherwise_Asterisk_Asterisk_Slash_Asterisk
            },
            {
              name: "exclude",
              type: "list",
              element: {
                name: "exclude",
                type: "string"
              },
              category: p.File_Management,
              defaultValueDescription: p.node_modules_bower_components_jspm_packages_plus_the_value_of_outDir_if_one_is_specified
            },
            dre
          ])
        }), Nre;
      }
      function _ye(e, t, n) {
        var i;
        const s = (i = e.statements[0]) == null ? void 0 : i.expression;
        if (s && s.kind !== 210) {
          if (t.push(Zf(
            e,
            s,
            p.The_root_value_of_a_0_file_must_be_an_object,
            Qc(e.fileName) === "jsconfig.json" ? "jsconfig.json" : "tsconfig.json"
          )), Ql(s)) {
            const o = Dn(s.elements, ua);
            if (o)
              return HN(
                e,
                o,
                t,
                /*returnValue*/
                !0,
                n
              );
          }
          return {};
        }
        return HN(
          e,
          s,
          t,
          /*returnValue*/
          !0,
          n
        );
      }
      function Are(e, t) {
        var n;
        return HN(
          e,
          (n = e.statements[0]) == null ? void 0 : n.expression,
          t,
          /*returnValue*/
          !0,
          /*jsonConversionNotifier*/
          void 0
        );
      }
      function HN(e, t, n, i, s) {
        if (!t)
          return i ? {} : void 0;
        return _(t, s?.rootOptions);
        function o(g, m) {
          var h;
          const S = i ? {} : void 0;
          for (const T of g.properties) {
            if (T.kind !== 303) {
              n.push(Zf(e, T, p.Property_assignment_expected));
              continue;
            }
            T.questionToken && n.push(Zf(e, T.questionToken, p.The_0_modifier_can_only_be_used_in_TypeScript_files, "?")), u(T.name) || n.push(Zf(e, T.name, p.String_literal_with_double_quotes_expected));
            const k = u3(T.name) ? void 0 : ux(T.name), D = k && Ei(k), w = D ? (h = m?.elementOptions) == null ? void 0 : h.get(D) : void 0, A = _(T.initializer, w);
            typeof D < "u" && (i && (S[D] = A), s?.onPropertySet(D, A, T, m, w));
          }
          return S;
        }
        function c(g, m) {
          if (!i) {
            g.forEach((h) => _(h, m));
            return;
          }
          return Tn(g.map((h) => _(h, m)), (h) => h !== void 0);
        }
        function _(g, m) {
          switch (g.kind) {
            case 112:
              return !0;
            case 97:
              return !1;
            case 106:
              return null;
            // eslint-disable-line no-restricted-syntax
            case 11:
              return u(g) || n.push(Zf(e, g, p.String_literal_with_double_quotes_expected)), g.text;
            case 9:
              return Number(g.text);
            case 224:
              if (g.operator !== 41 || g.operand.kind !== 9)
                break;
              return -Number(g.operand.text);
            case 210:
              return o(g, m);
            case 209:
              return c(
                g.elements,
                m && m.element
              );
          }
          m ? n.push(Zf(e, g, p.Compiler_option_0_requires_a_value_of_type_1, m.name, $z(m))) : n.push(Zf(e, g, p.Property_value_can_only_be_string_literal_numeric_literal_true_false_null_object_literal_or_array_literal));
        }
        function u(g) {
          return la(g) && i5(g, e);
        }
      }
      function $z(e) {
        return e.type === "listOrElement" ? `${$z(e.element)} or Array` : e.type === "list" ? "Array" : cs(e.type) ? e.type : "string";
      }
      function fye(e, t) {
        if (e) {
          if ($N(t)) return !e.disallowNullOrUndefined;
          if (e.type === "list")
            return fs(t);
          if (e.type === "listOrElement")
            return fs(t) || fye(e.element, t);
          const n = cs(e.type) ? e.type : "string";
          return typeof t === n;
        }
        return !1;
      }
      function Xz(e, t, n) {
        var i, s, o;
        const c = Hl(n.useCaseSensitiveFileNames), _ = fr(
          Tn(
            e.fileNames,
            (s = (i = e.options.configFile) == null ? void 0 : i.configFileSpecs) != null && s.validatedIncludeSpecs ? eMe(
              t,
              e.options.configFile.configFileSpecs.validatedIncludeSpecs,
              e.options.configFile.configFileSpecs.validatedExcludeSpecs,
              n
            ) : db
          ),
          (k) => kC(Xi(t, n.getCurrentDirectory()), Xi(k, n.getCurrentDirectory()), c)
        ), u = { configFilePath: Xi(t, n.getCurrentDirectory()), useCaseSensitiveFileNames: n.useCaseSensitiveFileNames }, g = XF(e.options, u), m = e.watchOptions && tMe(e.watchOptions), h = {
          compilerOptions: {
            ...$F(g),
            showConfig: void 0,
            configFile: void 0,
            configFilePath: void 0,
            help: void 0,
            init: void 0,
            listFiles: void 0,
            listEmittedFiles: void 0,
            project: void 0,
            build: void 0,
            version: void 0
          },
          watchOptions: m && $F(m),
          references: fr(e.projectReferences, (k) => ({ ...k, path: k.originalPath ? k.originalPath : "", originalPath: void 0 })),
          files: Ar(_) ? _ : void 0,
          ...(o = e.options.configFile) != null && o.configFileSpecs ? {
            include: KLe(e.options.configFile.configFileSpecs.validatedIncludeSpecs),
            exclude: e.options.configFile.configFileSpecs.validatedExcludeSpecs
          } : {},
          compileOnSave: e.compileOnSave ? !0 : void 0
        }, S = new Set(g.keys()), T = {};
        for (const k in cD)
          if (!S.has(k) && ZLe(k, S)) {
            const D = cD[k].computeValue(e.options), w = cD[k].computeValue({});
            D !== w && (T[k] = cD[k].computeValue(e.options));
          }
        return eS(h.compilerOptions, $F(XF(T, u))), h;
      }
      function ZLe(e, t) {
        const n = /* @__PURE__ */ new Set();
        return i(e);
        function i(s) {
          var o;
          return Pp(n, s) ? at((o = cD[s]) == null ? void 0 : o.dependencies, (c) => t.has(c) || i(c)) : !1;
        }
      }
      function $F(e) {
        return Object.fromEntries(e);
      }
      function KLe(e) {
        if (Ar(e)) {
          if (Ar(e) !== 1) return e;
          if (e[0] !== yye)
            return e;
        }
      }
      function eMe(e, t, n, i) {
        if (!t) return db;
        const s = q5(e, n, t, i.useCaseSensitiveFileNames, i.getCurrentDirectory()), o = s.excludePattern && k0(s.excludePattern, i.useCaseSensitiveFileNames), c = s.includeFilePattern && k0(s.includeFilePattern, i.useCaseSensitiveFileNames);
        return c ? o ? (_) => !(c.test(_) && !o.test(_)) : (_) => !c.test(_) : o ? (_) => o.test(_) : db;
      }
      function pye(e) {
        switch (e.type) {
          case "string":
          case "number":
          case "boolean":
          case "object":
            return;
          case "list":
          case "listOrElement":
            return pye(e.element);
          default:
            return e.type;
        }
      }
      function Qz(e, t) {
        return gl(t, (n, i) => {
          if (n === e)
            return i;
        });
      }
      function XF(e, t) {
        return dye(e, D6(), t);
      }
      function tMe(e) {
        return dye(e, tye());
      }
      function dye(e, { optionsNameMap: t }, n) {
        const i = /* @__PURE__ */ new Map(), s = n && Hl(n.useCaseSensitiveFileNames);
        for (const o in e)
          if (ao(e, o)) {
            if (t.has(o) && (t.get(o).category === p.Command_line_Options || t.get(o).category === p.Output_Formatting))
              continue;
            const c = e[o], _ = t.get(o.toLowerCase());
            if (_) {
              E.assert(_.type !== "listOrElement");
              const u = pye(_);
              u ? _.type === "list" ? i.set(o, c.map((g) => Qz(g, u))) : i.set(o, Qz(c, u)) : n && _.isFilePath ? i.set(o, kC(n.configFilePath, Xi(c, Un(n.configFilePath)), s)) : n && _.type === "list" && _.element.isFilePath ? i.set(o, c.map((g) => kC(n.configFilePath, Xi(g, Un(n.configFilePath)), s))) : i.set(o, c);
            }
          }
        return i;
      }
      function Ire(e, t) {
        const n = mye(e);
        return s();
        function i(o) {
          return Array(o + 1).join(" ");
        }
        function s() {
          const o = [], c = i(2);
          return gre.forEach((_) => {
            if (!n.has(_.name))
              return;
            const u = n.get(_.name), g = Jre(_);
            u !== g ? o.push(`${c}${_.name}: ${u}`) : ao(Wz, _.name) && o.push(`${c}${_.name}: ${g}`);
          }), o.join(t) + t;
        }
      }
      function mye(e) {
        const t = WI(e, Wz);
        return XF(t);
      }
      function Fre(e, t, n) {
        const i = mye(e);
        return c();
        function s(_) {
          return Array(_ + 1).join(" ");
        }
        function o({ category: _, name: u, isCommandLineOnly: g }) {
          const m = [p.Command_line_Options, p.Editor_Support, p.Compiler_Diagnostics, p.Backwards_Compatibility, p.Watch_and_Build_Modes, p.Output_Formatting];
          return !g && _ !== void 0 && (!m.includes(_) || i.has(u));
        }
        function c() {
          const _ = /* @__PURE__ */ new Map();
          _.set(p.Projects, []), _.set(p.Language_and_Environment, []), _.set(p.Modules, []), _.set(p.JavaScript_Support, []), _.set(p.Emit, []), _.set(p.Interop_Constraints, []), _.set(p.Type_Checking, []), _.set(p.Completeness, []);
          for (const T of Zp)
            if (o(T)) {
              let k = _.get(T.category);
              k || _.set(T.category, k = []), k.push(T);
            }
          let u = 0, g = 0;
          const m = [];
          _.forEach((T, k) => {
            m.length !== 0 && m.push({ value: "" }), m.push({ value: `/* ${hs(k)} */` });
            for (const D of T) {
              let w;
              i.has(D.name) ? w = `"${D.name}": ${JSON.stringify(i.get(D.name))}${(g += 1) === i.size ? "" : ","}` : w = `// "${D.name}": ${JSON.stringify(Jre(D))},`, m.push({
                value: w,
                description: `/* ${D.description && hs(D.description) || D.name} */`
              }), u = Math.max(w.length, u);
            }
          });
          const h = s(2), S = [];
          S.push("{"), S.push(`${h}"compilerOptions": {`), S.push(`${h}${h}/* ${hs(p.Visit_https_Colon_Slash_Slashaka_ms_Slashtsconfig_to_read_more_about_this_file)} */`), S.push("");
          for (const T of m) {
            const { value: k, description: D = "" } = T;
            S.push(k && `${h}${h}${k}${D && s(u - k.length + 2) + D}`);
          }
          if (t.length) {
            S.push(`${h}},`), S.push(`${h}"files": [`);
            for (let T = 0; T < t.length; T++)
              S.push(`${h}${h}${JSON.stringify(t[T])}${T === t.length - 1 ? "" : ","}`);
            S.push(`${h}]`);
          } else
            S.push(`${h}}`);
          return S.push("}"), S.join(n) + n;
        }
      }
      function QF(e, t) {
        const n = {}, i = D6().optionsNameMap;
        for (const s in e)
          ao(e, s) && (n[s] = rMe(
            i.get(s.toLowerCase()),
            e[s],
            t
          ));
        return n.configFilePath && (n.configFilePath = t(n.configFilePath)), n;
      }
      function rMe(e, t, n) {
        if (e && !$N(t)) {
          if (e.type === "list") {
            const i = t;
            if (e.element.isFilePath && i.length)
              return i.map(n);
          } else if (e.isFilePath)
            return n(t);
          E.assert(e.type !== "listOrElement");
        }
        return t;
      }
      function gye(e, t, n, i, s, o, c, _, u) {
        return vye(
          e,
          /*sourceFile*/
          void 0,
          t,
          n,
          i,
          u,
          s,
          o,
          c,
          _
        );
      }
      function GN(e, t, n, i, s, o, c, _, u) {
        var g, m;
        (g = rn) == null || g.push(rn.Phase.Parse, "parseJsonSourceFileConfigFileContent", { path: e.fileName });
        const h = vye(
          /*json*/
          void 0,
          e,
          t,
          n,
          i,
          u,
          s,
          o,
          c,
          _
        );
        return (m = rn) == null || m.pop(), h;
      }
      function Yz(e, t) {
        t && Object.defineProperty(e, "configFile", { enumerable: !1, writable: !1, value: t });
      }
      function $N(e) {
        return e == null;
      }
      function hye(e, t) {
        return Un(Xi(e, t));
      }
      var yye = "**/*";
      function vye(e, t, n, i, s = {}, o, c, _ = [], u = [], g) {
        E.assert(e === void 0 && t !== void 0 || e !== void 0 && t === void 0);
        const m = [], h = Cye(e, t, n, i, c, _, m, g), { raw: S } = h, T = bye(
          WI(s, h.options || {}),
          qLe,
          i
        ), k = YF(
          o && h.watchOptions ? WI(o, h.watchOptions) : h.watchOptions || o,
          i
        );
        T.configFilePath = c && Bl(c);
        const D = Gs(c ? hye(c, i) : i), w = A();
        return t && (t.configFileSpecs = w), Yz(T, t), {
          options: T,
          watchOptions: k,
          fileNames: O(D),
          projectReferences: F(D),
          typeAcquisition: h.typeAcquisition || eW(),
          raw: S,
          errors: m,
          // Wildcard directories (provided as part of a wildcard path) are stored in a
          // file map that marks whether it was a regular wildcard match (with a `*` or `?` token),
          // or a recursive directory. This information is used by filesystem watchers to monitor for
          // new entries in these paths.
          wildcardDirectories: dMe(w, D, n.useCaseSensitiveFileNames),
          compileOnSave: !!S.compileOnSave
        };
        function A() {
          const W = V("references", (De) => typeof De == "object", "object"), pe = j(z("files"));
          if (pe) {
            const De = W === "no-prop" || fs(W) && W.length === 0, re = ao(S, "extends");
            if (pe.length === 0 && De && !re)
              if (t) {
                const xe = c || "tsconfig.json", ue = p.The_files_list_in_config_file_0_is_empty, Xe = g3(t, "files", (oe) => oe.initializer), nt = mv(t, Xe, ue, xe);
                m.push(nt);
              } else
                G(p.The_files_list_in_config_file_0_is_empty, c || "tsconfig.json");
          }
          let K = j(z("include"));
          const U = z("exclude");
          let ee = !1, te = j(U);
          if (U === "no-prop") {
            const De = T.outDir, re = T.declarationDir;
            (De || re) && (te = Tn([De, re], (xe) => !!xe));
          }
          pe === void 0 && K === void 0 && (K = [yye], ee = !0);
          let ie, fe, me, q;
          K && (ie = Mye(
            K,
            m,
            /*disallowTrailingRecursion*/
            !0,
            t,
            "include"
          ), me = ZF(
            ie,
            D
          ) || ie), te && (fe = Mye(
            te,
            m,
            /*disallowTrailingRecursion*/
            !1,
            t,
            "exclude"
          ), q = ZF(
            fe,
            D
          ) || fe);
          const he = Tn(pe, cs), Me = ZF(
            he,
            D
          ) || he;
          return {
            filesSpecs: pe,
            includeSpecs: K,
            excludeSpecs: te,
            validatedFilesSpec: Me,
            validatedIncludeSpecs: me,
            validatedExcludeSpecs: q,
            validatedFilesSpecBeforeSubstitution: he,
            validatedIncludeSpecsBeforeSubstitution: ie,
            validatedExcludeSpecsBeforeSubstitution: fe,
            isDefaultIncludeSpec: ee
          };
        }
        function O(W) {
          const pe = VD(w, W, T, n, u);
          return kye(pe, XN(S), _) && m.push(xye(w, c)), pe;
        }
        function F(W) {
          let pe;
          const K = V("references", (U) => typeof U == "object", "object");
          if (fs(K))
            for (const U of K)
              typeof U.path != "string" ? G(p.Compiler_option_0_requires_a_value_of_type_1, "reference.path", "string") : (pe || (pe = [])).push({
                path: Xi(U.path, W),
                originalPath: U.path,
                prepend: U.prepend,
                circular: U.circular
              });
          return pe;
        }
        function j(W) {
          return fs(W) ? W : void 0;
        }
        function z(W) {
          return V(W, cs, "string");
        }
        function V(W, pe, K) {
          if (ao(S, W) && !$N(S[W]))
            if (fs(S[W])) {
              const U = S[W];
              return !t && !Pi(U, pe) && m.push($o(p.Compiler_option_0_requires_a_value_of_type_1, W, K)), U;
            } else
              return G(p.Compiler_option_0_requires_a_value_of_type_1, W, "Array"), "not-array";
          return "no-prop";
        }
        function G(W, ...pe) {
          t || m.push($o(W, ...pe));
        }
      }
      function YF(e, t) {
        return bye(e, HLe, t);
      }
      function bye(e, t, n) {
        if (!e) return e;
        let i;
        for (const o of t)
          if (e[o.name] !== void 0) {
            const c = e[o.name];
            switch (o.type) {
              case "string":
                E.assert(o.isFilePath), Zz(c) && s(o, Tye(c, n));
                break;
              case "list":
                E.assert(o.element.isFilePath);
                const _ = ZF(c, n);
                _ && s(o, _);
                break;
              case "object":
                E.assert(o.name === "paths");
                const u = nMe(c, n);
                u && s(o, u);
                break;
              default:
                E.fail("option type not supported");
            }
          }
        return i || e;
        function s(o, c) {
          (i ?? (i = eS({}, e)))[o.name] = c;
        }
      }
      var Sye = "${configDir}";
      function Zz(e) {
        return cs(e) && Wi(
          e,
          Sye,
          /*ignoreCase*/
          !0
        );
      }
      function Tye(e, t) {
        return Xi(e.replace(Sye, "./"), t);
      }
      function ZF(e, t) {
        if (!e) return e;
        let n;
        return e.forEach((i, s) => {
          Zz(i) && ((n ?? (n = e.slice()))[s] = Tye(i, t));
        }), n;
      }
      function nMe(e, t) {
        let n;
        return Ud(e).forEach((s) => {
          if (!fs(e[s])) return;
          const o = ZF(e[s], t);
          o && ((n ?? (n = eS({}, e)))[s] = o);
        }), n;
      }
      function iMe(e) {
        return e.code === p.No_inputs_were_found_in_config_file_0_Specified_include_paths_were_1_and_exclude_paths_were_2.code;
      }
      function xye({ includeSpecs: e, excludeSpecs: t }, n) {
        return $o(
          p.No_inputs_were_found_in_config_file_0_Specified_include_paths_were_1_and_exclude_paths_were_2,
          n || "tsconfig.json",
          JSON.stringify(e || []),
          JSON.stringify(t || [])
        );
      }
      function kye(e, t, n) {
        return e.length === 0 && t && (!n || n.length === 0);
      }
      function Kz(e) {
        return !e.fileNames.length && ao(e.raw, "references");
      }
      function XN(e) {
        return !ao(e, "files") && !ao(e, "references");
      }
      function KF(e, t, n, i, s) {
        const o = i.length;
        return kye(e, s) ? i.push(xye(n, t)) : yR(i, (c) => !iMe(c)), o !== i.length;
      }
      function sMe(e) {
        return !!e.options;
      }
      function Cye(e, t, n, i, s, o, c, _) {
        var u;
        i = Bl(i);
        const g = Xi(s || "", i);
        if (o.includes(g))
          return c.push($o(p.Circularity_detected_while_resolving_configuration_Colon_0, [...o, g].join(" -> "))), { raw: e || Are(t, c) };
        const m = e ? aMe(e, n, i, s, c) : oMe(t, n, i, s, c);
        if ((u = m.options) != null && u.paths && (m.options.pathsBasePath = i), m.extendedConfigPath) {
          o = o.concat([g]);
          const T = { options: {} };
          cs(m.extendedConfigPath) ? h(T, m.extendedConfigPath) : m.extendedConfigPath.forEach((k) => h(T, k)), T.include && (m.raw.include = T.include), T.exclude && (m.raw.exclude = T.exclude), T.files && (m.raw.files = T.files), m.raw.compileOnSave === void 0 && T.compileOnSave && (m.raw.compileOnSave = T.compileOnSave), t && T.extendedSourceFiles && (t.extendedSourceFiles = rs(T.extendedSourceFiles.keys())), m.options = eS(T.options, m.options), m.watchOptions = m.watchOptions && T.watchOptions ? S(T, m.watchOptions) : m.watchOptions || T.watchOptions;
        }
        return m;
        function h(T, k) {
          const D = cMe(t, k, n, o, c, _, T);
          if (D && sMe(D)) {
            const w = D.raw;
            let A;
            const O = (F) => {
              m.raw[F] || w[F] && (T[F] = fr(w[F], (j) => Zz(j) || V_(j) ? j : An(
                A || (A = d4(Un(k), i, Hl(n.useCaseSensitiveFileNames))),
                j
              )));
            };
            O("include"), O("exclude"), O("files"), w.compileOnSave !== void 0 && (T.compileOnSave = w.compileOnSave), eS(T.options, D.options), T.watchOptions = T.watchOptions && D.watchOptions ? S(T, D.watchOptions) : T.watchOptions || D.watchOptions;
          }
        }
        function S(T, k) {
          return T.watchOptionsCopied ? eS(T.watchOptions, k) : (T.watchOptionsCopied = !0, eS({}, T.watchOptions, k));
        }
      }
      function aMe(e, t, n, i, s) {
        ao(e, "excludes") && s.push($o(p.Unknown_option_excludes_Did_you_mean_exclude));
        const o = Aye(e.compilerOptions, n, s, i), c = Iye(e.typeAcquisition, n, s, i), _ = uMe(e.watchOptions, n, s);
        e.compileOnSave = lMe(e, n, s);
        const u = e.extends || e.extends === "" ? Eye(e.extends, t, n, i, s) : void 0;
        return { raw: e, options: o, watchOptions: _, typeAcquisition: c, extendedConfigPath: u };
      }
      function Eye(e, t, n, i, s, o, c, _) {
        let u;
        const g = i ? hye(i, n) : n;
        if (cs(e))
          u = Dye(
            e,
            t,
            g,
            s,
            c,
            _
          );
        else if (fs(e)) {
          u = [];
          for (let m = 0; m < e.length; m++) {
            const h = e[m];
            cs(h) ? u = Dr(
              u,
              Dye(
                h,
                t,
                g,
                s,
                c?.elements[m],
                _
              )
            ) : zS(GF.element, e, n, s, o, c?.elements[m], _);
          }
        } else
          zS(GF, e, n, s, o, c, _);
        return u;
      }
      function oMe(e, t, n, i, s) {
        const o = Nye(i);
        let c, _, u, g;
        const m = YLe(), h = _ye(
          e,
          s,
          { rootOptions: m, onPropertySet: S }
        );
        return c || (c = eW(i)), g && h && h.compilerOptions === void 0 && s.push(Zf(e, g[0], p._0_should_be_set_inside_the_compilerOptions_object_of_the_config_json_file, ux(g[0]))), { raw: h, options: o, watchOptions: _, typeAcquisition: c, extendedConfigPath: u };
        function S(T, k, D, w, A) {
          if (A && A !== GF && (k = zS(A, k, n, s, D, D.initializer, e)), w?.name)
            if (A) {
              let O;
              w === cye ? O = o : w === lye ? O = _ ?? (_ = {}) : w === uye ? O = c ?? (c = eW(i)) : E.fail("Unknown option"), O[A.name] = k;
            } else T && w?.extraKeyDiagnostics && (w.elementOptions ? s.push(Cre(
              T,
              w.extraKeyDiagnostics,
              /*unknownOptionErrorText*/
              void 0,
              D.name,
              e
            )) : s.push(Zf(e, D.name, w.extraKeyDiagnostics.unknownOptionDiagnostic, T)));
          else w === m && (A === GF ? u = Eye(k, t, n, i, s, D, D.initializer, e) : A || (T === "excludes" && s.push(Zf(e, D.name, p.Unknown_option_excludes_Did_you_mean_exclude)), Dn(gre, (O) => O.name === T) && (g = Dr(g, D.name))));
        }
      }
      function Dye(e, t, n, i, s, o) {
        if (e = Bl(e), V_(e) || Wi(e, "./") || Wi(e, "../")) {
          let _ = Xi(e, n);
          if (!t.fileExists(_) && !No(
            _,
            ".json"
            /* Json */
          ) && (_ = `${_}.json`, !t.fileExists(_))) {
            i.push(mv(o, s, p.File_0_not_found, e));
            return;
          }
          return _;
        }
        const c = Kre(e, An(n, "tsconfig.json"), t);
        if (c.resolvedModule)
          return c.resolvedModule.resolvedFileName;
        e === "" ? i.push(mv(o, s, p.Compiler_option_0_cannot_be_given_an_empty_string, "extends")) : i.push(mv(o, s, p.File_0_not_found, e));
      }
      function cMe(e, t, n, i, s, o, c) {
        const _ = n.useCaseSensitiveFileNames ? t : Ey(t);
        let u, g, m;
        if (o && (u = o.get(_)) ? { extendedResult: g, extendedConfig: m } = u : (g = Pre(t, (h) => n.readFile(h)), g.parseDiagnostics.length || (m = Cye(
          /*json*/
          void 0,
          g,
          n,
          Un(t),
          Qc(t),
          i,
          s,
          o
        )), o && o.set(_, { extendedResult: g, extendedConfig: m })), e && ((c.extendedSourceFiles ?? (c.extendedSourceFiles = /* @__PURE__ */ new Set())).add(g.fileName), g.extendedSourceFiles))
          for (const h of g.extendedSourceFiles)
            c.extendedSourceFiles.add(h);
        if (g.parseDiagnostics.length) {
          s.push(...g.parseDiagnostics);
          return;
        }
        return m;
      }
      function lMe(e, t, n) {
        if (!ao(e, dre.name))
          return !1;
        const i = zS(dre, e.compileOnSave, t, n);
        return typeof i == "boolean" && i;
      }
      function wye(e, t, n) {
        const i = [];
        return { options: Aye(e, t, i, n), errors: i };
      }
      function Pye(e, t, n) {
        const i = [];
        return { options: Iye(e, t, i, n), errors: i };
      }
      function Nye(e) {
        return e && Qc(e) === "jsconfig.json" ? { allowJs: !0, maxNodeModuleJsDepth: 2, allowSyntheticDefaultImports: !0, skipLibCheck: !0, noEmit: !0 } : {};
      }
      function Aye(e, t, n, i) {
        const s = Nye(i);
        return Ore(nye(), e, t, s, HF, n), i && (s.configFilePath = Bl(i)), s;
      }
      function eW(e) {
        return { enable: !!e && Qc(e) === "jsconfig.json", include: [], exclude: [] };
      }
      function Iye(e, t, n, i) {
        const s = eW(i);
        return Ore(oye(), e, t, s, K0e, n), s;
      }
      function uMe(e, t, n) {
        return Ore(
          sye(),
          e,
          t,
          /*defaultOptions*/
          void 0,
          Gz,
          n
        );
      }
      function Ore(e, t, n, i, s, o) {
        if (t) {
          for (const c in t) {
            const _ = e.get(c);
            _ ? (i || (i = {}))[_.name] = zS(_, t[c], n, o) : o.push(Cre(c, s));
          }
          return i;
        }
      }
      function mv(e, t, n, ...i) {
        return e && t ? Zf(e, t, n, ...i) : $o(n, ...i);
      }
      function zS(e, t, n, i, s, o, c) {
        if (e.isCommandLineOnly) {
          i.push(mv(c, s?.name, p.Option_0_can_only_be_specified_on_command_line, e.name));
          return;
        }
        if (fye(e, t)) {
          const _ = e.type;
          if (_ === "list" && fs(t))
            return Oye(e, t, n, i, s, o, c);
          if (_ === "listOrElement")
            return fs(t) ? Oye(e, t, n, i, s, o, c) : zS(e.element, t, n, i, s, o, c);
          if (!cs(e.type))
            return Fye(e, t, i, o, c);
          const u = Kx(e, t, i, o, c);
          return $N(u) ? u : _Me(e, n, u);
        } else
          i.push(mv(c, o, p.Compiler_option_0_requires_a_value_of_type_1, e.name, $z(e)));
      }
      function _Me(e, t, n) {
        return e.isFilePath && (n = Bl(n), n = Zz(n) ? n : Xi(n, t), n === "" && (n = ".")), n;
      }
      function Kx(e, t, n, i, s) {
        var o;
        if ($N(t)) return;
        const c = (o = e.extraValidation) == null ? void 0 : o.call(e, t);
        if (!c) return t;
        n.push(mv(s, i, ...c));
      }
      function Fye(e, t, n, i, s) {
        if ($N(t)) return;
        const o = t.toLowerCase(), c = e.type.get(o);
        if (c !== void 0)
          return Kx(e, c, n, i, s);
        n.push($0e(e, (_, ...u) => mv(s, i, _, ...u)));
      }
      function Oye(e, t, n, i, s, o, c) {
        return Tn(fr(t, (_, u) => zS(e.element, _, n, i, s, o?.elements[u], c)), (_) => e.listPreserveFalsyValues ? !0 : !!_);
      }
      var fMe = /(?:^|\/)\*\*\/?$/, pMe = /^[^*?]*(?=\/[^/]*[*?])/;
      function VD(e, t, n, i, s = Ue) {
        t = Gs(t);
        const o = Hl(i.useCaseSensitiveFileNames), c = /* @__PURE__ */ new Map(), _ = /* @__PURE__ */ new Map(), u = /* @__PURE__ */ new Map(), { validatedFilesSpec: g, validatedIncludeSpecs: m, validatedExcludeSpecs: h } = e, S = uD(n, s), T = lN(n, S);
        if (g)
          for (const A of g) {
            const O = Xi(A, t);
            c.set(o(O), O);
          }
        let k;
        if (m && m.length > 0)
          for (const A of i.readDirectory(
            t,
            Sp(T),
            h,
            m,
            /*depth*/
            void 0
          )) {
            if (Wo(
              A,
              ".json"
              /* Json */
            )) {
              if (!k) {
                const j = m.filter((V) => No(
                  V,
                  ".json"
                  /* Json */
                )), z = fr(V5(j, t, "files"), (V) => `^${V}$`);
                k = z ? z.map((V) => k0(V, i.useCaseSensitiveFileNames)) : Ue;
              }
              if (oc(k, (j) => j.test(A)) !== -1) {
                const j = o(A);
                !c.has(j) && !u.has(j) && u.set(j, A);
              }
              continue;
            }
            if (gMe(A, c, _, S, o))
              continue;
            hMe(A, _, S, o);
            const O = o(A);
            !c.has(O) && !_.has(O) && _.set(O, A);
          }
        const D = rs(c.values()), w = rs(_.values());
        return D.concat(w, rs(u.values()));
      }
      function Lre(e, t, n, i, s) {
        const { validatedFilesSpec: o, validatedIncludeSpecs: c, validatedExcludeSpecs: _ } = t;
        if (!Ar(c) || !Ar(_)) return !1;
        n = Gs(n);
        const u = Hl(i);
        if (o) {
          for (const g of o)
            if (u(Xi(g, n)) === e) return !1;
        }
        return tO(e, _, i, s, n);
      }
      function Lye(e) {
        const t = Wi(e, "**/") ? 0 : e.indexOf("/**/");
        return t === -1 ? !1 : (No(e, "/..") ? e.length : e.lastIndexOf("/../")) > t;
      }
      function eO(e, t, n, i) {
        return tO(
          e,
          Tn(t, (s) => !Lye(s)),
          n,
          i
        );
      }
      function tO(e, t, n, i, s) {
        const o = lD(t, An(Gs(i), s), "exclude"), c = o && k0(o, n);
        return c ? c.test(e) ? !0 : !xC(e) && c.test(ml(e)) : !1;
      }
      function Mye(e, t, n, i, s) {
        return e.filter((c) => {
          if (!cs(c)) return !1;
          const _ = Mre(c, n);
          return _ !== void 0 && t.push(o(..._)), _ === void 0;
        });
        function o(c, _) {
          const u = G7(i, s, _);
          return mv(i, u, c, _);
        }
      }
      function Mre(e, t) {
        if (E.assert(typeof e == "string"), t && fMe.test(e))
          return [p.File_specification_cannot_end_in_a_recursive_directory_wildcard_Asterisk_Asterisk_Colon_0, e];
        if (Lye(e))
          return [p.File_specification_cannot_contain_a_parent_directory_that_appears_after_a_recursive_directory_wildcard_Asterisk_Asterisk_Colon_0, e];
      }
      function dMe({ validatedIncludeSpecs: e, validatedExcludeSpecs: t }, n, i) {
        const s = lD(t, n, "exclude"), o = s && new RegExp(s, i ? "" : "i"), c = {}, _ = /* @__PURE__ */ new Map();
        if (e !== void 0) {
          const u = [];
          for (const g of e) {
            const m = Gs(An(n, g));
            if (o && o.test(m))
              continue;
            const h = mMe(m, i);
            if (h) {
              const { key: S, path: T, flags: k } = h, D = _.get(S), w = D !== void 0 ? c[D] : void 0;
              (w === void 0 || w < k) && (c[D !== void 0 ? D : T] = k, D === void 0 && _.set(S, T), k === 1 && u.push(S));
            }
          }
          for (const g in c)
            if (ao(c, g))
              for (const m of u) {
                const h = Rre(g, i);
                h !== m && Qf(m, h, n, !i) && delete c[g];
              }
        }
        return c;
      }
      function Rre(e, t) {
        return t ? e : Ey(e);
      }
      function mMe(e, t) {
        const n = pMe.exec(e);
        if (n) {
          const i = e.indexOf("?"), s = e.indexOf("*"), o = e.lastIndexOf(xo);
          return {
            key: Rre(n[0], t),
            path: n[0],
            flags: i !== -1 && i < o || s !== -1 && s < o ? 1 : 0
            /* None */
          };
        }
        if (SJ(e.substring(e.lastIndexOf(xo) + 1))) {
          const i = g0(e);
          return {
            key: Rre(i, t),
            path: i,
            flags: 1
            /* Recursive */
          };
        }
      }
      function gMe(e, t, n, i, s) {
        const o = ar(i, (c) => Dc(e, c) ? c : void 0);
        if (!o)
          return !1;
        for (const c of o) {
          if (Wo(e, c) && (c !== ".ts" || !Wo(
            e,
            ".d.ts"
            /* Dts */
          )))
            return !1;
          const _ = s(Oh(e, c));
          if (t.has(_) || n.has(_)) {
            if (c === ".d.ts" && (Wo(
              e,
              ".js"
              /* Js */
            ) || Wo(
              e,
              ".jsx"
              /* Jsx */
            )))
              continue;
            return !0;
          }
        }
        return !1;
      }
      function hMe(e, t, n, i) {
        const s = ar(n, (o) => Dc(e, o) ? o : void 0);
        if (s)
          for (let o = s.length - 1; o >= 0; o--) {
            const c = s[o];
            if (Wo(e, c))
              return;
            const _ = i(Oh(e, c));
            t.delete(_);
          }
      }
      function jre(e) {
        const t = {};
        for (const n in e)
          if (ao(e, n)) {
            const i = Uz(n);
            i !== void 0 && (t[n] = Bre(e[n], i));
          }
        return t;
      }
      function Bre(e, t) {
        if (e === void 0) return e;
        switch (t.type) {
          case "object":
            return "";
          case "string":
            return "";
          case "number":
            return typeof e == "number" ? e : "";
          case "boolean":
            return typeof e == "boolean" ? e : "";
          case "listOrElement":
            if (!fs(e)) return Bre(e, t.element);
          // fall through to list
          case "list":
            const n = t.element;
            return fs(e) ? Oi(e, (i) => Bre(i, n)) : "";
          default:
            return gl(t.type, (i, s) => {
              if (i === e)
                return s;
            });
        }
      }
      function Jre(e) {
        switch (e.type) {
          case "number":
            return 1;
          case "boolean":
            return !0;
          case "string":
            const t = e.defaultValueDescription;
            return e.isFilePath ? `./${t && typeof t == "string" ? t : ""}` : "";
          case "list":
            return [];
          case "listOrElement":
            return Jre(e.element);
          case "object":
            return {};
          default:
            const n = CP(e.type.keys());
            return n !== void 0 ? n : E.fail("Expected 'option.type' to have entries.");
        }
      }
      function es(e, t, ...n) {
        e.trace(Ex(t, ...n));
      }
      function a1(e, t) {
        return !!e.traceResolution && t.trace !== void 0;
      }
      function ek(e, t, n) {
        let i;
        if (t && e) {
          const s = e.contents.packageJsonContent;
          typeof s.name == "string" && typeof s.version == "string" && (i = {
            name: s.name,
            subModuleName: t.path.slice(e.packageDirectory.length + xo.length),
            version: s.version,
            peerDependencies: jMe(e, n)
          });
        }
        return t && { path: t.path, extension: t.ext, packageId: i, resolvedUsingTsExtension: t.resolvedUsingTsExtension };
      }
      function tW(e) {
        return ek(
          /*packageInfo*/
          void 0,
          e,
          /*state*/
          void 0
        );
      }
      function Rye(e) {
        if (e)
          return E.assert(e.packageId === void 0), { path: e.path, ext: e.extension, resolvedUsingTsExtension: e.resolvedUsingTsExtension };
      }
      function rO(e) {
        const t = [];
        return e & 1 && t.push("TypeScript"), e & 2 && t.push("JavaScript"), e & 4 && t.push("Declaration"), e & 8 && t.push("JSON"), t.join(", ");
      }
      function yMe(e) {
        const t = [];
        return e & 1 && t.push(...cN), e & 2 && t.push(...s6), e & 4 && t.push(...X5), e & 8 && t.push(
          ".json"
          /* Json */
        ), t;
      }
      function zre(e) {
        if (e)
          return E.assert(Y5(e.extension)), { fileName: e.path, packageId: e.packageId };
      }
      function jye(e, t, n, i, s, o, c, _, u) {
        if (!c.resultFromCache && !c.compilerOptions.preserveSymlinks && t && n && !t.originalPath && !Cl(e)) {
          const { resolvedFileName: g, originalPath: m } = zye(t.path, c.host, c.traceEnabled);
          m && (t = { ...t, path: g, originalPath: m });
        }
        return Bye(
          t,
          n,
          i,
          s,
          o,
          c.resultFromCache,
          _,
          u
        );
      }
      function Bye(e, t, n, i, s, o, c, _) {
        return o ? c?.isReadonly ? {
          ...o,
          failedLookupLocations: Wre(o.failedLookupLocations, n),
          affectingLocations: Wre(o.affectingLocations, i),
          resolutionDiagnostics: Wre(o.resolutionDiagnostics, s)
        } : (o.failedLookupLocations = w6(o.failedLookupLocations, n), o.affectingLocations = w6(o.affectingLocations, i), o.resolutionDiagnostics = w6(o.resolutionDiagnostics, s), o) : {
          resolvedModule: e && {
            resolvedFileName: e.path,
            originalPath: e.originalPath === !0 ? void 0 : e.originalPath,
            extension: e.extension,
            isExternalLibraryImport: t,
            packageId: e.packageId,
            resolvedUsingTsExtension: !!e.resolvedUsingTsExtension
          },
          failedLookupLocations: UD(n),
          affectingLocations: UD(i),
          resolutionDiagnostics: UD(s),
          alternateResult: _
        };
      }
      function UD(e) {
        return e.length ? e : void 0;
      }
      function w6(e, t) {
        return t?.length ? e?.length ? (e.push(...t), e) : t : e;
      }
      function Wre(e, t) {
        return e?.length ? t.length ? [...e, ...t] : e.slice() : UD(t);
      }
      function Vre(e, t, n, i) {
        if (!ao(e, t)) {
          i.traceEnabled && es(i.host, p.package_json_does_not_have_a_0_field, t);
          return;
        }
        const s = e[t];
        if (typeof s !== n || s === null) {
          i.traceEnabled && es(i.host, p.Expected_type_of_0_field_in_package_json_to_be_1_got_2, t, n, s === null ? "null" : typeof s);
          return;
        }
        return s;
      }
      function rW(e, t, n, i) {
        const s = Vre(e, t, "string", i);
        if (s === void 0)
          return;
        if (!s) {
          i.traceEnabled && es(i.host, p.package_json_had_a_falsy_0_field, t);
          return;
        }
        const o = Gs(An(n, s));
        return i.traceEnabled && es(i.host, p.package_json_has_0_field_1_that_references_2, t, s, o), o;
      }
      function vMe(e, t, n) {
        return rW(e, "typings", t, n) || rW(e, "types", t, n);
      }
      function bMe(e, t, n) {
        return rW(e, "tsconfig", t, n);
      }
      function SMe(e, t, n) {
        return rW(e, "main", t, n);
      }
      function TMe(e, t) {
        const n = Vre(e, "typesVersions", "object", t);
        if (n !== void 0)
          return t.traceEnabled && es(t.host, p.package_json_has_a_typesVersions_field_with_version_specific_path_mappings), n;
      }
      function xMe(e, t) {
        const n = TMe(e, t);
        if (n === void 0) return;
        if (t.traceEnabled)
          for (const c in n)
            ao(n, c) && !$I.tryParse(c) && es(t.host, p.package_json_has_a_typesVersions_entry_0_that_is_not_a_valid_semver_range, c);
        const i = nO(n);
        if (!i) {
          t.traceEnabled && es(t.host, p.package_json_does_not_have_a_typesVersions_entry_that_matches_version_0, K2);
          return;
        }
        const { version: s, paths: o } = i;
        if (typeof o != "object") {
          t.traceEnabled && es(t.host, p.Expected_type_of_0_field_in_package_json_to_be_1_got_2, `typesVersions['${s}']`, "object", typeof o);
          return;
        }
        return i;
      }
      var Ure;
      function nO(e) {
        Ure || (Ure = new ld(Gf));
        for (const t in e) {
          if (!ao(e, t)) continue;
          const n = $I.tryParse(t);
          if (n !== void 0 && n.test(Ure))
            return { version: t, paths: e[t] };
        }
      }
      function qD(e, t) {
        if (e.typeRoots)
          return e.typeRoots;
        let n;
        if (e.configFilePath ? n = Un(e.configFilePath) : t.getCurrentDirectory && (n = t.getCurrentDirectory()), n !== void 0)
          return kMe(n);
      }
      function kMe(e) {
        let t;
        return m4(Gs(e), (n) => {
          const i = An(n, CMe);
          (t ?? (t = [])).push(i);
        }), t;
      }
      var CMe = An("node_modules", "@types");
      function Jye(e, t, n) {
        const i = typeof n.useCaseSensitiveFileNames == "function" ? n.useCaseSensitiveFileNames() : n.useCaseSensitiveFileNames;
        return xh(e, t, !i) === 0;
      }
      function zye(e, t, n) {
        const i = Qye(e, t, n), s = Jye(e, i, t);
        return {
          // If the fileName and realpath are differing only in casing prefer fileName so that we can issue correct errors for casing under forceConsistentCasingInFileNames
          resolvedFileName: s ? e : i,
          originalPath: s ? void 0 : e
        };
      }
      function Wye(e, t, n) {
        const i = No(e, "/node_modules/@types") || No(e, "/node_modules/@types/") ? l1e(t, n) : t;
        return An(e, i);
      }
      function qre(e, t, n, i, s, o, c) {
        E.assert(typeof e == "string", "Non-string value passed to `ts.resolveTypeReferenceDirective`, likely by a wrapping package working with an outdated `resolveTypeReferenceDirectives` signature. This is probably not a problem in TS itself.");
        const _ = a1(n, i);
        s && (n = s.commandLine.options);
        const u = t ? Un(t) : void 0;
        let g = u ? o?.getFromDirectoryCache(e, c, u, s) : void 0;
        if (!g && u && !Cl(e) && (g = o?.getFromNonRelativeNameCache(e, c, u, s)), g)
          return _ && (es(i, p.Resolving_type_reference_directive_0_containing_file_1, e, t), s && es(i, p.Using_compiler_options_of_project_reference_redirect_0, s.sourceFile.fileName), es(i, p.Resolution_for_type_reference_directive_0_was_found_in_cache_from_location_1, e, u), z(g)), g;
        const m = qD(n, i);
        _ && (t === void 0 ? m === void 0 ? es(i, p.Resolving_type_reference_directive_0_containing_file_not_set_root_directory_not_set, e) : es(i, p.Resolving_type_reference_directive_0_containing_file_not_set_root_directory_1, e, m) : m === void 0 ? es(i, p.Resolving_type_reference_directive_0_containing_file_1_root_directory_not_set, e, t) : es(i, p.Resolving_type_reference_directive_0_containing_file_1_root_directory_2, e, t, m), s && es(i, p.Using_compiler_options_of_project_reference_redirect_0, s.sourceFile.fileName));
        const h = [], S = [];
        let T = Hre(n);
        c !== void 0 && (T |= 30);
        const k = vu(n);
        c === 99 && 3 <= k && k <= 99 && (T |= 32);
        const D = T & 8 ? o1(n, c) : [], w = [], A = {
          compilerOptions: n,
          host: i,
          traceEnabled: _,
          failedLookupLocations: h,
          affectingLocations: S,
          packageJsonInfoCache: o,
          features: T,
          conditions: D,
          requestContainingDirectory: u,
          reportDiagnostic: (W) => void w.push(W),
          isConfigLookup: !1,
          candidateIsFromPackageJsonField: !1,
          resolvedPackageDirectory: !1
        };
        let O = V(), F = !0;
        O || (O = G(), F = !1);
        let j;
        if (O) {
          const { fileName: W, packageId: pe } = O;
          let K = W, U;
          n.preserveSymlinks || ({ resolvedFileName: K, originalPath: U } = zye(W, i, _)), j = {
            primary: F,
            resolvedFileName: K,
            originalPath: U,
            packageId: pe,
            isExternalLibraryImport: c1(W)
          };
        }
        return g = {
          resolvedTypeReferenceDirective: j,
          failedLookupLocations: UD(h),
          affectingLocations: UD(S),
          resolutionDiagnostics: UD(w)
        }, u && o && !o.isReadonly && (o.getOrCreateCacheForDirectory(u, s).set(
          e,
          /*mode*/
          c,
          g
        ), Cl(e) || o.getOrCreateCacheForNonRelativeName(e, c, s).set(u, g)), _ && z(g), g;
        function z(W) {
          var pe;
          (pe = W.resolvedTypeReferenceDirective) != null && pe.resolvedFileName ? W.resolvedTypeReferenceDirective.packageId ? es(i, p.Type_reference_directive_0_was_successfully_resolved_to_1_with_Package_ID_2_primary_Colon_3, e, W.resolvedTypeReferenceDirective.resolvedFileName, q1(W.resolvedTypeReferenceDirective.packageId), W.resolvedTypeReferenceDirective.primary) : es(i, p.Type_reference_directive_0_was_successfully_resolved_to_1_primary_Colon_2, e, W.resolvedTypeReferenceDirective.resolvedFileName, W.resolvedTypeReferenceDirective.primary) : es(i, p.Type_reference_directive_0_was_not_resolved, e);
        }
        function V() {
          if (m && m.length)
            return _ && es(i, p.Resolving_with_primary_search_path_0, m.join(", ")), Ic(m, (W) => {
              const pe = Wye(W, e, A), K = md(W, i);
              if (!K && _ && es(i, p.Directory_0_does_not_exist_skipping_all_lookups_in_it, W), n.typeRoots) {
                const U = A6(4, pe, !K, A);
                if (U) {
                  const ee = YN(U.path), te = ee ? VS(
                    ee,
                    /*onlyRecordFailures*/
                    !1,
                    A
                  ) : void 0;
                  return zre(ek(te, U, A));
                }
              }
              return zre(
                tne(4, pe, !K, A)
              );
            });
          _ && es(i, p.Root_directory_cannot_be_determined_skipping_primary_search_paths);
        }
        function G() {
          const W = t && Un(t);
          if (W !== void 0) {
            let pe;
            if (!n.typeRoots || !No(t, ow))
              if (_ && es(i, p.Looking_up_in_node_modules_folder_initial_location_0, W), Cl(e)) {
                const { path: K } = Xye(W, e);
                pe = aW(
                  4,
                  K,
                  /*onlyRecordFailures*/
                  !1,
                  A,
                  /*considerPackageJson*/
                  !0
                );
              } else {
                const K = s1e(
                  4,
                  e,
                  W,
                  A,
                  /*cache*/
                  void 0,
                  /*redirectedReference*/
                  void 0
                );
                pe = K && K.value;
              }
            else _ && es(i, p.Resolving_type_reference_directive_for_program_that_specifies_custom_typeRoots_skipping_lookup_in_node_modules_folder);
            return zre(pe);
          } else
            _ && es(i, p.Containing_file_is_not_specified_and_root_directory_cannot_be_determined_skipping_lookup_in_node_modules_folder);
        }
      }
      function Hre(e) {
        let t = 0;
        switch (vu(e)) {
          case 3:
            t = 30;
            break;
          case 99:
            t = 30;
            break;
          case 100:
            t = 30;
            break;
        }
        return e.resolvePackageJsonExports ? t |= 8 : e.resolvePackageJsonExports === !1 && (t &= -9), e.resolvePackageJsonImports ? t |= 2 : e.resolvePackageJsonImports === !1 && (t &= -3), t;
      }
      function o1(e, t) {
        const n = vu(e);
        if (t === void 0) {
          if (n === 100)
            t = 99;
          else if (n === 2)
            return [];
        }
        const i = t === 99 ? ["import"] : ["require"];
        return e.noDtsResolution || i.push("types"), n !== 100 && i.push("node"), Ji(i, e.customConditions);
      }
      function nW(e, t, n, i, s) {
        const o = GD(s?.getPackageJsonInfoCache(), i, n);
        return Km(i, t, (c) => {
          if (Qc(c) !== "node_modules") {
            const _ = An(c, "node_modules"), u = An(_, e);
            return VS(
              u,
              /*onlyRecordFailures*/
              !1,
              o
            );
          }
        });
      }
      function iO(e, t) {
        if (e.types)
          return e.types;
        const n = [];
        if (t.directoryExists && t.getDirectories) {
          const i = qD(e, t);
          if (i) {
            for (const s of i)
              if (t.directoryExists(s))
                for (const o of t.getDirectories(s)) {
                  const c = Gs(o), _ = An(s, c, "package.json");
                  if (!(t.fileExists(_) && e6(_, t).typings === null)) {
                    const g = Qc(c);
                    g.charCodeAt(0) !== 46 && n.push(g);
                  }
                }
          }
        }
        return n;
      }
      function sO(e) {
        return !!e?.contents;
      }
      function Gre(e) {
        return !!e && !e.contents;
      }
      function $re(e) {
        var t;
        if (e === null || typeof e != "object")
          return "" + e;
        if (fs(e))
          return `[${(t = e.map((i) => $re(i))) == null ? void 0 : t.join(",")}]`;
        let n = "{";
        for (const i in e)
          ao(e, i) && (n += `${i}: ${$re(e[i])}`);
        return n + "}";
      }
      function iW(e, t) {
        return t.map((n) => $re(J5(e, n))).join("|") + `|${e.pathsBasePath}`;
      }
      function Vye(e, t) {
        const n = /* @__PURE__ */ new Map(), i = /* @__PURE__ */ new Map();
        let s = /* @__PURE__ */ new Map();
        return e && n.set(e, s), {
          getMapOfCacheRedirects: o,
          getOrCreateMapOfCacheRedirects: c,
          update: _,
          clear: g,
          getOwnMap: () => s
        };
        function o(h) {
          return h ? u(
            h.commandLine.options,
            /*create*/
            !1
          ) : s;
        }
        function c(h) {
          return h ? u(
            h.commandLine.options,
            /*create*/
            !0
          ) : s;
        }
        function _(h) {
          e !== h && (e ? s = u(
            h,
            /*create*/
            !0
          ) : n.set(h, s), e = h);
        }
        function u(h, S) {
          let T = n.get(h);
          if (T) return T;
          const k = m(h);
          if (T = i.get(k), !T) {
            if (e) {
              const D = m(e);
              D === k ? T = s : i.has(D) || i.set(D, s);
            }
            S && (T ?? (T = /* @__PURE__ */ new Map())), T && i.set(k, T);
          }
          return T && n.set(h, T), T;
        }
        function g() {
          const h = e && t.get(e);
          s.clear(), n.clear(), t.clear(), i.clear(), e && (h && t.set(e, h), n.set(e, s));
        }
        function m(h) {
          let S = t.get(h);
          return S || t.set(h, S = iW(h, Bz)), S;
        }
      }
      function EMe(e, t) {
        let n;
        return { getPackageJsonInfo: i, setPackageJsonInfo: s, clear: o, getInternalMap: c };
        function i(_) {
          return n?.get(lo(_, e, t));
        }
        function s(_, u) {
          (n || (n = /* @__PURE__ */ new Map())).set(lo(_, e, t), u);
        }
        function o() {
          n = void 0;
        }
        function c() {
          return n;
        }
      }
      function Uye(e, t, n, i) {
        const s = e.getOrCreateMapOfCacheRedirects(t);
        let o = s.get(n);
        return o || (o = i(), s.set(n, o)), o;
      }
      function DMe(e, t, n, i) {
        const s = Vye(n, i);
        return {
          getFromDirectoryCache: u,
          getOrCreateCacheForDirectory: _,
          clear: o,
          update: c,
          directoryToModuleNameMap: s
        };
        function o() {
          s.clear();
        }
        function c(g) {
          s.update(g);
        }
        function _(g, m) {
          const h = lo(g, e, t);
          return Uye(s, m, h, () => P6());
        }
        function u(g, m, h, S) {
          var T, k;
          const D = lo(h, e, t);
          return (k = (T = s.getMapOfCacheRedirects(S)) == null ? void 0 : T.get(D)) == null ? void 0 : k.get(g, m);
        }
      }
      function HD(e, t) {
        return t === void 0 ? e : `${t}|${e}`;
      }
      function P6() {
        const e = /* @__PURE__ */ new Map(), t = /* @__PURE__ */ new Map(), n = {
          get(s, o) {
            return e.get(i(s, o));
          },
          set(s, o, c) {
            return e.set(i(s, o), c), n;
          },
          delete(s, o) {
            return e.delete(i(s, o)), n;
          },
          has(s, o) {
            return e.has(i(s, o));
          },
          forEach(s) {
            return e.forEach((o, c) => {
              const [_, u] = t.get(c);
              return s(o, _, u);
            });
          },
          size() {
            return e.size;
          }
        };
        return n;
        function i(s, o) {
          const c = HD(s, o);
          return t.set(c, [s, o]), c;
        }
      }
      function wMe(e) {
        return e.resolvedModule && (e.resolvedModule.originalPath || e.resolvedModule.resolvedFileName);
      }
      function PMe(e) {
        return e.resolvedTypeReferenceDirective && (e.resolvedTypeReferenceDirective.originalPath || e.resolvedTypeReferenceDirective.resolvedFileName);
      }
      function NMe(e, t, n, i, s) {
        const o = Vye(n, s);
        return {
          getFromNonRelativeNameCache: u,
          getOrCreateCacheForNonRelativeName: g,
          clear: c,
          update: _
        };
        function c() {
          o.clear();
        }
        function _(h) {
          o.update(h);
        }
        function u(h, S, T, k) {
          var D, w;
          return E.assert(!Cl(h)), (w = (D = o.getMapOfCacheRedirects(k)) == null ? void 0 : D.get(HD(h, S))) == null ? void 0 : w.get(T);
        }
        function g(h, S, T) {
          return E.assert(!Cl(h)), Uye(o, T, HD(h, S), m);
        }
        function m() {
          const h = /* @__PURE__ */ new Map();
          return { get: S, set: T };
          function S(D) {
            return h.get(lo(D, e, t));
          }
          function T(D, w) {
            const A = lo(D, e, t);
            if (h.has(A))
              return;
            h.set(A, w);
            const O = i(w), F = O && k(A, O);
            let j = A;
            for (; j !== F; ) {
              const z = Un(j);
              if (z === j || h.has(z))
                break;
              h.set(z, w), j = z;
            }
          }
          function k(D, w) {
            const A = lo(Un(w), e, t);
            let O = 0;
            const F = Math.min(D.length, A.length);
            for (; O < F && D.charCodeAt(O) === A.charCodeAt(O); )
              O++;
            if (O === D.length && (A.length === O || A[O] === xo))
              return D;
            const j = ud(D);
            if (O < j)
              return;
            const z = D.lastIndexOf(xo, O - 1);
            if (z !== -1)
              return D.substr(0, Math.max(z, j));
          }
        }
      }
      function qye(e, t, n, i, s, o) {
        o ?? (o = /* @__PURE__ */ new Map());
        const c = DMe(
          e,
          t,
          n,
          o
        ), _ = NMe(
          e,
          t,
          n,
          s,
          o
        );
        return i ?? (i = EMe(e, t)), {
          ...i,
          ...c,
          ..._,
          clear: u,
          update: m,
          getPackageJsonInfoCache: () => i,
          clearAllExceptPackageJsonInfoCache: g,
          optionsToRedirectsKey: o
        };
        function u() {
          g(), i.clear();
        }
        function g() {
          c.clear(), _.clear();
        }
        function m(h) {
          c.update(h), _.update(h);
        }
      }
      function N6(e, t, n, i, s) {
        const o = qye(
          e,
          t,
          n,
          i,
          wMe,
          s
        );
        return o.getOrCreateCacheForModuleName = (c, _, u) => o.getOrCreateCacheForNonRelativeName(c, _, u), o;
      }
      function aO(e, t, n, i, s) {
        return qye(
          e,
          t,
          n,
          i,
          PMe,
          s
        );
      }
      function sW(e) {
        return { moduleResolution: 2, traceResolution: e.traceResolution };
      }
      function oO(e, t, n, i, s) {
        return WS(e, t, sW(n), i, s);
      }
      function Hye(e, t, n, i) {
        const s = Un(t);
        return n.getFromDirectoryCache(
          e,
          i,
          s,
          /*redirectedReference*/
          void 0
        );
      }
      function WS(e, t, n, i, s, o, c) {
        const _ = a1(n, i);
        o && (n = o.commandLine.options), _ && (es(i, p.Resolving_module_0_from_1, e, t), o && es(i, p.Using_compiler_options_of_project_reference_redirect_0, o.sourceFile.fileName));
        const u = Un(t);
        let g = s?.getFromDirectoryCache(e, c, u, o);
        if (g)
          _ && es(i, p.Resolution_for_module_0_was_found_in_cache_from_location_1, e, u);
        else {
          let m = n.moduleResolution;
          switch (m === void 0 ? (m = vu(n), _ && es(i, p.Module_resolution_kind_is_not_specified_using_0, SC[m])) : _ && es(i, p.Explicitly_specified_module_resolution_kind_Colon_0, SC[m]), m) {
            case 3:
              g = OMe(e, t, n, i, s, o, c);
              break;
            case 99:
              g = LMe(e, t, n, i, s, o, c);
              break;
            case 2:
              g = Zre(e, t, n, i, s, o, c ? o1(n, c) : void 0);
              break;
            case 1:
              g = ine(e, t, n, i, s, o);
              break;
            case 100:
              g = Yre(e, t, n, i, s, o, c ? o1(n, c) : void 0);
              break;
            default:
              return E.fail(`Unexpected moduleResolution: ${m}`);
          }
          s && !s.isReadonly && (s.getOrCreateCacheForDirectory(u, o).set(e, c, g), Cl(e) || s.getOrCreateCacheForNonRelativeName(e, c, o).set(u, g));
        }
        return _ && (g.resolvedModule ? g.resolvedModule.packageId ? es(i, p.Module_name_0_was_successfully_resolved_to_1_with_Package_ID_2, e, g.resolvedModule.resolvedFileName, q1(g.resolvedModule.packageId)) : es(i, p.Module_name_0_was_successfully_resolved_to_1, e, g.resolvedModule.resolvedFileName) : es(i, p.Module_name_0_was_not_resolved, e)), g;
      }
      function Gye(e, t, n, i, s) {
        const o = AMe(e, t, i, s);
        return o ? o.value : Cl(t) ? IMe(e, t, n, i, s) : FMe(e, t, i, s);
      }
      function AMe(e, t, n, i) {
        const { baseUrl: s, paths: o } = i.compilerOptions;
        if (o && !ff(t)) {
          i.traceEnabled && (s && es(i.host, p.baseUrl_option_is_set_to_0_using_this_value_to_resolve_non_relative_module_name_1, s, t), es(i.host, p.paths_option_is_specified_looking_for_a_pattern_to_match_module_name_0, t));
          const c = y5(i.compilerOptions, i.host), _ = fN(o);
          return rne(
            e,
            t,
            c,
            o,
            _,
            n,
            /*onlyRecordFailures*/
            !1,
            i
          );
        }
      }
      function IMe(e, t, n, i, s) {
        if (!s.compilerOptions.rootDirs)
          return;
        s.traceEnabled && es(s.host, p.rootDirs_option_is_set_using_it_to_resolve_relative_module_name_0, t);
        const o = Gs(An(n, t));
        let c, _;
        for (const u of s.compilerOptions.rootDirs) {
          let g = Gs(u);
          No(g, xo) || (g += xo);
          const m = Wi(o, g) && (_ === void 0 || _.length < g.length);
          s.traceEnabled && es(s.host, p.Checking_if_0_is_the_longest_matching_prefix_for_1_2, g, o, m), m && (_ = g, c = u);
        }
        if (_) {
          s.traceEnabled && es(s.host, p.Longest_matching_prefix_for_0_is_1, o, _);
          const u = o.substr(_.length);
          s.traceEnabled && es(s.host, p.Loading_0_from_the_root_dir_1_candidate_location_2, u, _, o);
          const g = i(e, o, !md(n, s.host), s);
          if (g)
            return g;
          s.traceEnabled && es(s.host, p.Trying_other_entries_in_rootDirs);
          for (const m of s.compilerOptions.rootDirs) {
            if (m === c)
              continue;
            const h = An(Gs(m), u);
            s.traceEnabled && es(s.host, p.Loading_0_from_the_root_dir_1_candidate_location_2, u, m, h);
            const S = Un(h), T = i(e, h, !md(S, s.host), s);
            if (T)
              return T;
          }
          s.traceEnabled && es(s.host, p.Module_resolution_using_rootDirs_has_failed);
        }
      }
      function FMe(e, t, n, i) {
        const { baseUrl: s } = i.compilerOptions;
        if (!s)
          return;
        i.traceEnabled && es(i.host, p.baseUrl_option_is_set_to_0_using_this_value_to_resolve_non_relative_module_name_1, s, t);
        const o = Gs(An(s, t));
        return i.traceEnabled && es(i.host, p.Resolving_module_name_0_relative_to_base_url_1_2, t, s, o), n(e, o, !md(Un(o), i.host), i);
      }
      function Xre(e, t, n) {
        const { resolvedModule: i, failedLookupLocations: s } = MMe(e, t, n);
        if (!i)
          throw new Error(`Could not resolve JS module '${e}' starting at '${t}'. Looked in: ${s?.join(", ")}`);
        return i.resolvedFileName;
      }
      var Qre = /* @__PURE__ */ ((e) => (e[e.None = 0] = "None", e[e.Imports = 2] = "Imports", e[e.SelfName = 4] = "SelfName", e[e.Exports = 8] = "Exports", e[e.ExportsPatternTrailers = 16] = "ExportsPatternTrailers", e[e.AllFeatures = 30] = "AllFeatures", e[e.Node16Default = 30] = "Node16Default", e[
        e.NodeNextDefault = 30
        /* AllFeatures */
      ] = "NodeNextDefault", e[e.BundlerDefault = 30] = "BundlerDefault", e[e.EsmMode = 32] = "EsmMode", e))(Qre || {});
      function OMe(e, t, n, i, s, o, c) {
        return $ye(
          30,
          e,
          t,
          n,
          i,
          s,
          o,
          c
        );
      }
      function LMe(e, t, n, i, s, o, c) {
        return $ye(
          30,
          e,
          t,
          n,
          i,
          s,
          o,
          c
        );
      }
      function $ye(e, t, n, i, s, o, c, _, u) {
        const g = Un(n), m = _ === 99 ? 32 : 0;
        let h = i.noDtsResolution ? 3 : 7;
        return jb(i) && (h |= 8), QN(
          e | m,
          t,
          g,
          i,
          s,
          o,
          h,
          /*isConfigLookup*/
          !1,
          c,
          u
        );
      }
      function MMe(e, t, n) {
        return QN(
          0,
          e,
          t,
          { moduleResolution: 2, allowJs: !0 },
          n,
          /*cache*/
          void 0,
          2,
          /*isConfigLookup*/
          !1,
          /*redirectedReference*/
          void 0,
          /*conditions*/
          void 0
        );
      }
      function Yre(e, t, n, i, s, o, c) {
        const _ = Un(t);
        let u = n.noDtsResolution ? 3 : 7;
        return jb(n) && (u |= 8), QN(
          Hre(n),
          e,
          _,
          n,
          i,
          s,
          u,
          /*isConfigLookup*/
          !1,
          o,
          c
        );
      }
      function Zre(e, t, n, i, s, o, c, _) {
        let u;
        return _ ? u = 8 : n.noDtsResolution ? (u = 3, jb(n) && (u |= 8)) : u = jb(n) ? 15 : 7, QN(c ? 30 : 0, e, Un(t), n, i, s, u, !!_, o, c);
      }
      function Kre(e, t, n) {
        return QN(
          30,
          e,
          Un(t),
          {
            moduleResolution: 99
            /* NodeNext */
          },
          n,
          /*cache*/
          void 0,
          8,
          /*isConfigLookup*/
          !0,
          /*redirectedReference*/
          void 0,
          /*conditions*/
          void 0
        );
      }
      function QN(e, t, n, i, s, o, c, _, u, g) {
        var m, h, S, T, k;
        const D = a1(i, s), w = [], A = [], O = vu(i);
        g ?? (g = o1(
          i,
          O === 100 || O === 2 ? void 0 : e & 32 ? 99 : 1
          /* CommonJS */
        ));
        const F = [], j = {
          compilerOptions: i,
          host: s,
          traceEnabled: D,
          failedLookupLocations: w,
          affectingLocations: A,
          packageJsonInfoCache: o,
          features: e,
          conditions: g ?? Ue,
          requestContainingDirectory: n,
          reportDiagnostic: (W) => void F.push(W),
          isConfigLookup: _,
          candidateIsFromPackageJsonField: !1,
          resolvedPackageDirectory: !1
        };
        D && i6(O) && es(s, p.Resolving_in_0_mode_with_conditions_1, e & 32 ? "ESM" : "CJS", j.conditions.map((W) => `'${W}'`).join(", "));
        let z;
        if (O === 2) {
          const W = c & 5, pe = c & -6;
          z = W && G(W, j) || pe && G(pe, j) || void 0;
        } else
          z = G(c, j);
        let V;
        if (j.resolvedPackageDirectory && !_ && !Cl(t)) {
          const W = z?.value && c & 5 && !r1e(5, z.value.resolved.extension);
          if ((m = z?.value) != null && m.isExternalLibraryImport && W && e & 8 && g?.includes("import")) {
            l1(j, p.Resolution_of_non_relative_name_failed_trying_with_modern_Node_resolution_features_disabled_to_see_if_npm_library_needs_configuration_update);
            const pe = {
              ...j,
              features: j.features & -9,
              reportDiagnostic: Ua
            }, K = G(c & 5, pe);
            (h = K?.value) != null && h.isExternalLibraryImport && (V = K.value.resolved.path);
          } else if ((!z?.value || W) && O === 2) {
            l1(j, p.Resolution_of_non_relative_name_failed_trying_with_moduleResolution_bundler_to_see_if_project_may_need_configuration_update);
            const pe = {
              ...j.compilerOptions,
              moduleResolution: 100
              /* Bundler */
            }, K = {
              ...j,
              compilerOptions: pe,
              features: 30,
              conditions: o1(pe),
              reportDiagnostic: Ua
            }, U = G(c & 5, K);
            (S = U?.value) != null && S.isExternalLibraryImport && (V = U.value.resolved.path);
          }
        }
        return jye(
          t,
          (T = z?.value) == null ? void 0 : T.resolved,
          (k = z?.value) == null ? void 0 : k.isExternalLibraryImport,
          w,
          A,
          F,
          j,
          o,
          V
        );
        function G(W, pe) {
          const U = Gye(W, t, n, (ee, te, ie, fe) => aW(
            ee,
            te,
            ie,
            fe,
            /*considerPackageJson*/
            !0
          ), pe);
          if (U)
            return If({ resolved: U, isExternalLibraryImport: c1(U.path) });
          if (Cl(t)) {
            const { path: ee, parts: te } = Xye(n, t), ie = aW(
              W,
              ee,
              /*onlyRecordFailures*/
              !1,
              pe,
              /*considerPackageJson*/
              !0
            );
            return ie && If({ resolved: ie, isExternalLibraryImport: _s(te, "node_modules") });
          } else {
            if (e & 2 && Wi(t, "#")) {
              const te = WMe(W, t, n, pe, o, u);
              if (te)
                return te.value && { value: { resolved: te.value, isExternalLibraryImport: !1 } };
            }
            if (e & 4) {
              const te = zMe(W, t, n, pe, o, u);
              if (te)
                return te.value && { value: { resolved: te.value, isExternalLibraryImport: !1 } };
            }
            if (t.includes(":")) {
              D && es(s, p.Skipping_module_0_that_looks_like_an_absolute_URI_target_file_types_Colon_1, t, rO(W));
              return;
            }
            D && es(s, p.Loading_module_0_from_node_modules_folder_target_file_types_Colon_1, t, rO(W));
            let ee = s1e(W, t, n, pe, o, u);
            return W & 4 && (ee ?? (ee = _1e(t, pe))), ee && { value: ee.value && { resolved: ee.value, isExternalLibraryImport: !0 } };
          }
        }
      }
      function Xye(e, t) {
        const n = An(e, t), i = ou(n), s = Po(i);
        return { path: s === "." || s === ".." ? ml(Gs(n)) : Gs(n), parts: i };
      }
      function Qye(e, t, n) {
        if (!t.realpath)
          return e;
        const i = Gs(t.realpath(e));
        return n && es(t, p.Resolving_real_path_for_0_result_1, e, i), i;
      }
      function aW(e, t, n, i, s) {
        if (i.traceEnabled && es(i.host, p.Loading_module_as_file_Slash_folder_candidate_module_location_0_target_file_types_Colon_1, t, rO(e)), !Ny(t)) {
          if (!n) {
            const c = Un(t);
            md(c, i.host) || (i.traceEnabled && es(i.host, p.Directory_0_does_not_exist_skipping_all_lookups_in_it, c), n = !0);
          }
          const o = A6(e, t, n, i);
          if (o) {
            const c = s ? YN(o.path) : void 0, _ = c ? VS(
              c,
              /*onlyRecordFailures*/
              !1,
              i
            ) : void 0;
            return ek(_, o, i);
          }
        }
        if (n || md(t, i.host) || (i.traceEnabled && es(i.host, p.Directory_0_does_not_exist_skipping_all_lookups_in_it, t), n = !0), !(i.features & 32))
          return tne(e, t, n, i, s);
      }
      var $g = "/node_modules/";
      function c1(e) {
        return e.includes($g);
      }
      function YN(e, t) {
        const n = Gs(e), i = n.lastIndexOf($g);
        if (i === -1)
          return;
        const s = i + $g.length;
        let o = Yye(n, s, t);
        return n.charCodeAt(s) === 64 && (o = Yye(n, o, t)), n.slice(0, o);
      }
      function Yye(e, t, n) {
        const i = e.indexOf(xo, t + 1);
        return i === -1 ? n ? e.length : t : i;
      }
      function ene(e, t, n, i) {
        return tW(A6(e, t, n, i));
      }
      function A6(e, t, n, i) {
        const s = Zye(e, t, n, i);
        if (s)
          return s;
        if (!(i.features & 32)) {
          const o = Kye(t, e, "", n, i);
          if (o)
            return o;
        }
      }
      function Zye(e, t, n, i) {
        if (!Qc(t).includes("."))
          return;
        let o = Ru(t);
        o === t && (o = t.substring(0, t.lastIndexOf(".")));
        const c = t.substring(o.length);
        return i.traceEnabled && es(i.host, p.File_name_0_has_a_1_extension_stripping_it, t, c), Kye(o, e, c, n, i);
      }
      function oW(e, t, n, i, s) {
        if (e & 1 && Dc(t, cN) || e & 4 && Dc(t, X5)) {
          const o = cW(t, i, s), c = D5(t);
          return o !== void 0 ? { path: t, ext: c, resolvedUsingTsExtension: n ? !No(n, c) : void 0 } : void 0;
        }
        return s.isConfigLookup && e === 8 && Wo(
          t,
          ".json"
          /* Json */
        ) ? cW(t, i, s) !== void 0 ? { path: t, ext: ".json", resolvedUsingTsExtension: void 0 } : void 0 : Zye(e, t, i, s);
      }
      function Kye(e, t, n, i, s) {
        if (!i) {
          const c = Un(e);
          c && (i = !md(c, s.host));
        }
        switch (n) {
          case ".mjs":
          case ".mts":
          case ".d.mts":
            return t & 1 && o(
              ".mts",
              n === ".mts" || n === ".d.mts"
              /* Dmts */
            ) || t & 4 && o(
              ".d.mts",
              n === ".mts" || n === ".d.mts"
              /* Dmts */
            ) || t & 2 && o(
              ".mjs"
              /* Mjs */
            ) || void 0;
          case ".cjs":
          case ".cts":
          case ".d.cts":
            return t & 1 && o(
              ".cts",
              n === ".cts" || n === ".d.cts"
              /* Dcts */
            ) || t & 4 && o(
              ".d.cts",
              n === ".cts" || n === ".d.cts"
              /* Dcts */
            ) || t & 2 && o(
              ".cjs"
              /* Cjs */
            ) || void 0;
          case ".json":
            return t & 4 && o(".d.json.ts") || t & 8 && o(
              ".json"
              /* Json */
            ) || void 0;
          case ".tsx":
          case ".jsx":
            return t & 1 && (o(
              ".tsx",
              n === ".tsx"
              /* Tsx */
            ) || o(
              ".ts",
              n === ".tsx"
              /* Tsx */
            )) || t & 4 && o(
              ".d.ts",
              n === ".tsx"
              /* Tsx */
            ) || t & 2 && (o(
              ".jsx"
              /* Jsx */
            ) || o(
              ".js"
              /* Js */
            )) || void 0;
          case ".ts":
          case ".d.ts":
          case ".js":
          case "":
            return t & 1 && (o(
              ".ts",
              n === ".ts" || n === ".d.ts"
              /* Dts */
            ) || o(
              ".tsx",
              n === ".ts" || n === ".d.ts"
              /* Dts */
            )) || t & 4 && o(
              ".d.ts",
              n === ".ts" || n === ".d.ts"
              /* Dts */
            ) || t & 2 && (o(
              ".js"
              /* Js */
            ) || o(
              ".jsx"
              /* Jsx */
            )) || s.isConfigLookup && o(
              ".json"
              /* Json */
            ) || void 0;
          default:
            return t & 4 && !Sl(e + n) && o(`.d${n}.ts`) || void 0;
        }
        function o(c, _) {
          const u = cW(e + c, i, s);
          return u === void 0 ? void 0 : { path: u, ext: c, resolvedUsingTsExtension: !s.candidateIsFromPackageJsonField && _ };
        }
      }
      function cW(e, t, n) {
        var i;
        if (!((i = n.compilerOptions.moduleSuffixes) != null && i.length))
          return e1e(e, t, n);
        const s = Vg(e) ?? "", o = s ? _N(e, s) : e;
        return ar(n.compilerOptions.moduleSuffixes, (c) => e1e(o + c + s, t, n));
      }
      function e1e(e, t, n) {
        var i;
        if (!t) {
          if (n.host.fileExists(e))
            return n.traceEnabled && es(n.host, p.File_0_exists_use_it_as_a_name_resolution_result, e), e;
          n.traceEnabled && es(n.host, p.File_0_does_not_exist, e);
        }
        (i = n.failedLookupLocations) == null || i.push(e);
      }
      function tne(e, t, n, i, s = !0) {
        const o = s ? VS(t, n, i) : void 0;
        return ek(o, uW(e, t, n, i, o), i);
      }
      function lW(e, t, n, i, s) {
        if (!s && e.contents.resolvedEntrypoints !== void 0)
          return e.contents.resolvedEntrypoints;
        let o;
        const c = 5 | (s ? 2 : 0), _ = Hre(t), u = GD(i?.getPackageJsonInfoCache(), n, t);
        u.conditions = o1(t), u.requestContainingDirectory = e.packageDirectory;
        const g = uW(
          c,
          e.packageDirectory,
          /*onlyRecordFailures*/
          !1,
          u,
          e
        );
        if (o = Dr(o, g?.path), _ & 8 && e.contents.packageJsonContent.exports) {
          const m = pb(
            [o1(
              t,
              99
              /* ESNext */
            ), o1(
              t,
              1
              /* CommonJS */
            )],
            Cf
          );
          for (const h of m) {
            const S = { ...u, failedLookupLocations: [], conditions: h, host: n }, T = RMe(
              e,
              e.contents.packageJsonContent.exports,
              S,
              c
            );
            if (T)
              for (const k of T)
                o = Sh(o, k.path);
          }
        }
        return e.contents.resolvedEntrypoints = o || !1;
      }
      function RMe(e, t, n, i) {
        let s;
        if (fs(t))
          for (const c of t)
            o(c);
        else if (typeof t == "object" && t !== null && lO(t))
          for (const c in t)
            o(t[c]);
        else
          o(t);
        return s;
        function o(c) {
          var _, u;
          if (typeof c == "string" && Wi(c, "./"))
            if (c.includes("*") && n.host.readDirectory) {
              if (c.indexOf("*") !== c.lastIndexOf("*"))
                return !1;
              n.host.readDirectory(
                e.packageDirectory,
                yMe(i),
                /*excludes*/
                void 0,
                [
                  n7(ES(c, "**/*"), ".*")
                ]
              ).forEach((g) => {
                s = Sh(s, {
                  path: g,
                  ext: XT(g),
                  resolvedUsingTsExtension: void 0
                });
              });
            } else {
              const g = ou(c).slice(2);
              if (g.includes("..") || g.includes(".") || g.includes("node_modules"))
                return !1;
              const m = An(e.packageDirectory, c), h = Xi(m, (u = (_ = n.host).getCurrentDirectory) == null ? void 0 : u.call(_)), S = oW(
                i,
                h,
                c,
                /*onlyRecordFailures*/
                !1,
                n
              );
              if (S)
                return s = Sh(s, S, (T, k) => T.path === k.path), !0;
            }
          else if (Array.isArray(c)) {
            for (const g of c)
              if (o(g))
                return !0;
          } else if (typeof c == "object" && c !== null)
            return ar(Ud(c), (g) => {
              if (g === "default" || _s(n.conditions, g) || ZN(n.conditions, g))
                return o(c[g]), !0;
            });
        }
      }
      function GD(e, t, n) {
        return {
          host: t,
          compilerOptions: n,
          traceEnabled: a1(n, t),
          failedLookupLocations: void 0,
          affectingLocations: void 0,
          packageJsonInfoCache: e,
          features: 0,
          conditions: Ue,
          requestContainingDirectory: void 0,
          reportDiagnostic: Ua,
          isConfigLookup: !1,
          candidateIsFromPackageJsonField: !1,
          resolvedPackageDirectory: !1
        };
      }
      function $D(e, t) {
        return Km(
          t.host,
          e,
          (n) => VS(
            n,
            /*onlyRecordFailures*/
            !1,
            t
          )
        );
      }
      function t1e(e, t) {
        return e.contents.versionPaths === void 0 && (e.contents.versionPaths = xMe(e.contents.packageJsonContent, t) || !1), e.contents.versionPaths || void 0;
      }
      function jMe(e, t) {
        return e.contents.peerDependencies === void 0 && (e.contents.peerDependencies = BMe(e, t) || !1), e.contents.peerDependencies || void 0;
      }
      function BMe(e, t) {
        const n = Vre(e.contents.packageJsonContent, "peerDependencies", "object", t);
        if (n === void 0) return;
        t.traceEnabled && es(t.host, p.package_json_has_a_peerDependencies_field);
        const i = Qye(e.packageDirectory, t.host, t.traceEnabled), s = i.substring(0, i.lastIndexOf("node_modules") + 12) + xo;
        let o = "";
        for (const c in n)
          if (ao(n, c)) {
            const _ = VS(
              s + c,
              /*onlyRecordFailures*/
              !1,
              t
            );
            if (_) {
              const u = _.contents.packageJsonContent.version;
              o += `+${c}@${u}`, t.traceEnabled && es(t.host, p.Found_peerDependency_0_with_1_version, c, u);
            } else
              t.traceEnabled && es(t.host, p.Failed_to_find_peerDependency_0, c);
          }
        return o;
      }
      function VS(e, t, n) {
        var i, s, o, c, _, u;
        const { host: g, traceEnabled: m } = n, h = An(e, "package.json");
        if (t) {
          (i = n.failedLookupLocations) == null || i.push(h);
          return;
        }
        const S = (s = n.packageJsonInfoCache) == null ? void 0 : s.getPackageJsonInfo(h);
        if (S !== void 0) {
          if (sO(S))
            return m && es(g, p.File_0_exists_according_to_earlier_cached_lookups, h), (o = n.affectingLocations) == null || o.push(h), S.packageDirectory === e ? S : { packageDirectory: e, contents: S.contents };
          S.directoryExists && m && es(g, p.File_0_does_not_exist_according_to_earlier_cached_lookups, h), (c = n.failedLookupLocations) == null || c.push(h);
          return;
        }
        const T = md(e, g);
        if (T && g.fileExists(h)) {
          const k = e6(h, g);
          m && es(g, p.Found_package_json_at_0, h);
          const D = { packageDirectory: e, contents: { packageJsonContent: k, versionPaths: void 0, resolvedEntrypoints: void 0, peerDependencies: void 0 } };
          return n.packageJsonInfoCache && !n.packageJsonInfoCache.isReadonly && n.packageJsonInfoCache.setPackageJsonInfo(h, D), (_ = n.affectingLocations) == null || _.push(h), D;
        } else
          T && m && es(g, p.File_0_does_not_exist, h), n.packageJsonInfoCache && !n.packageJsonInfoCache.isReadonly && n.packageJsonInfoCache.setPackageJsonInfo(h, { packageDirectory: e, directoryExists: T }), (u = n.failedLookupLocations) == null || u.push(h);
      }
      function uW(e, t, n, i, s) {
        const o = s && t1e(s, i);
        let c;
        s && Jye(s?.packageDirectory, t, i.host) && (i.isConfigLookup ? c = bMe(s.contents.packageJsonContent, s.packageDirectory, i) : c = e & 4 && vMe(s.contents.packageJsonContent, s.packageDirectory, i) || e & 7 && SMe(s.contents.packageJsonContent, s.packageDirectory, i) || void 0);
        const _ = (S, T, k, D) => {
          const w = oW(
            S,
            T,
            /*packageJsonValue*/
            void 0,
            k,
            D
          );
          if (w)
            return tW(w);
          const A = S === 4 ? 5 : S, O = D.features, F = D.candidateIsFromPackageJsonField;
          D.candidateIsFromPackageJsonField = !0, s?.contents.packageJsonContent.type !== "module" && (D.features &= -33);
          const j = aW(
            A,
            T,
            k,
            D,
            /*considerPackageJson*/
            !1
          );
          return D.features = O, D.candidateIsFromPackageJsonField = F, j;
        }, u = c ? !md(Un(c), i.host) : void 0, g = n || !md(t, i.host), m = An(t, i.isConfigLookup ? "tsconfig" : "index");
        if (o && (!c || Qf(t, c))) {
          const S = Ef(
            t,
            c || m,
            /*ignoreCase*/
            !1
          );
          i.traceEnabled && es(i.host, p.package_json_has_a_typesVersions_entry_0_that_matches_compiler_version_1_looking_for_a_pattern_to_match_module_name_2, o.version, Gf, S);
          const T = fN(o.paths), k = rne(e, S, t, o.paths, T, _, u || g, i);
          if (k)
            return Rye(k.value);
        }
        const h = c && Rye(_(e, c, u, i));
        if (h) return h;
        if (!(i.features & 32))
          return A6(e, m, g, i);
      }
      function r1e(e, t) {
        return e & 2 && (t === ".js" || t === ".jsx" || t === ".mjs" || t === ".cjs") || e & 1 && (t === ".ts" || t === ".tsx" || t === ".mts" || t === ".cts") || e & 4 && (t === ".d.ts" || t === ".d.mts" || t === ".d.cts") || e & 8 && t === ".json" || !1;
      }
      function cO(e) {
        let t = e.indexOf(xo);
        return e[0] === "@" && (t = e.indexOf(xo, t + 1)), t === -1 ? { packageName: e, rest: "" } : { packageName: e.slice(0, t), rest: e.slice(t + 1) };
      }
      function lO(e) {
        return Pi(Ud(e), (t) => Wi(t, "."));
      }
      function JMe(e) {
        return !at(Ud(e), (t) => Wi(t, "."));
      }
      function zMe(e, t, n, i, s, o) {
        var c, _;
        const u = Xi(n, (_ = (c = i.host).getCurrentDirectory) == null ? void 0 : _.call(c)), g = $D(u, i);
        if (!g || !g.contents.packageJsonContent.exports || typeof g.contents.packageJsonContent.name != "string")
          return;
        const m = ou(t), h = ou(g.contents.packageJsonContent.name);
        if (!Pi(h, (w, A) => m[A] === w))
          return;
        const S = m.slice(h.length), T = Ar(S) ? `.${xo}${S.join(xo)}` : ".";
        if (Zy(i.compilerOptions) && !c1(n))
          return _W(g, e, T, i, s, o);
        const k = e & 5, D = e & -6;
        return _W(g, k, T, i, s, o) || _W(g, D, T, i, s, o);
      }
      function _W(e, t, n, i, s, o) {
        if (e.contents.packageJsonContent.exports) {
          if (n === ".") {
            let c;
            if (typeof e.contents.packageJsonContent.exports == "string" || Array.isArray(e.contents.packageJsonContent.exports) || typeof e.contents.packageJsonContent.exports == "object" && JMe(e.contents.packageJsonContent.exports) ? c = e.contents.packageJsonContent.exports : ao(e.contents.packageJsonContent.exports, ".") && (c = e.contents.packageJsonContent.exports["."]), c)
              return i1e(
                t,
                i,
                s,
                o,
                n,
                e,
                /*isImports*/
                !1
              )(
                c,
                "",
                /*pattern*/
                !1,
                "."
              );
          } else if (lO(e.contents.packageJsonContent.exports)) {
            if (typeof e.contents.packageJsonContent.exports != "object")
              return i.traceEnabled && es(i.host, p.Export_specifier_0_does_not_exist_in_package_json_scope_at_path_1, n, e.packageDirectory), If(
                /*value*/
                void 0
              );
            const c = n1e(
              t,
              i,
              s,
              o,
              n,
              e.contents.packageJsonContent.exports,
              e,
              /*isImports*/
              !1
            );
            if (c)
              return c;
          }
          return i.traceEnabled && es(i.host, p.Export_specifier_0_does_not_exist_in_package_json_scope_at_path_1, n, e.packageDirectory), If(
            /*value*/
            void 0
          );
        }
      }
      function WMe(e, t, n, i, s, o) {
        var c, _;
        if (t === "#" || Wi(t, "#/"))
          return i.traceEnabled && es(i.host, p.Invalid_import_specifier_0_has_no_possible_resolutions, t), If(
            /*value*/
            void 0
          );
        const u = Xi(n, (_ = (c = i.host).getCurrentDirectory) == null ? void 0 : _.call(c)), g = $D(u, i);
        if (!g)
          return i.traceEnabled && es(i.host, p.Directory_0_has_no_containing_package_json_scope_Imports_will_not_resolve, u), If(
            /*value*/
            void 0
          );
        if (!g.contents.packageJsonContent.imports)
          return i.traceEnabled && es(i.host, p.package_json_scope_0_has_no_imports_defined, g.packageDirectory), If(
            /*value*/
            void 0
          );
        const m = n1e(
          e,
          i,
          s,
          o,
          t,
          g.contents.packageJsonContent.imports,
          g,
          /*isImports*/
          !0
        );
        return m || (i.traceEnabled && es(i.host, p.Import_specifier_0_does_not_exist_in_package_json_scope_at_path_1, t, g.packageDirectory), If(
          /*value*/
          void 0
        ));
      }
      function fW(e, t) {
        const n = e.indexOf("*"), i = t.indexOf("*"), s = n === -1 ? e.length : n + 1, o = i === -1 ? t.length : i + 1;
        return s > o ? -1 : o > s || n === -1 ? 1 : i === -1 || e.length > t.length ? -1 : t.length > e.length ? 1 : 0;
      }
      function n1e(e, t, n, i, s, o, c, _) {
        const u = i1e(e, t, n, i, s, c, _);
        if (!No(s, xo) && !s.includes("*") && ao(o, s)) {
          const h = o[s];
          return u(
            h,
            /*subpath*/
            "",
            /*pattern*/
            !1,
            s
          );
        }
        const g = J_(Tn(Ud(o), (h) => VMe(h) || No(h, "/")), fW);
        for (const h of g)
          if (t.features & 16 && m(h, s)) {
            const S = o[h], T = h.indexOf("*"), k = s.substring(h.substring(0, T).length, s.length - (h.length - 1 - T));
            return u(
              S,
              k,
              /*pattern*/
              !0,
              h
            );
          } else if (No(h, "*") && Wi(s, h.substring(0, h.length - 1))) {
            const S = o[h], T = s.substring(h.length - 1);
            return u(
              S,
              T,
              /*pattern*/
              !0,
              h
            );
          } else if (Wi(s, h)) {
            const S = o[h], T = s.substring(h.length);
            return u(
              S,
              T,
              /*pattern*/
              !1,
              h
            );
          }
        function m(h, S) {
          if (No(h, "*")) return !1;
          const T = h.indexOf("*");
          return T === -1 ? !1 : Wi(S, h.substring(0, T)) && No(S, h.substring(T + 1));
        }
      }
      function VMe(e) {
        const t = e.indexOf("*");
        return t !== -1 && t === e.lastIndexOf("*");
      }
      function i1e(e, t, n, i, s, o, c) {
        return _;
        function _(u, g, m, h) {
          var S, T;
          if (typeof u == "string") {
            if (!m && g.length > 0 && !No(u, "/"))
              return t.traceEnabled && es(t.host, p.package_json_scope_0_has_invalid_type_for_target_of_specifier_1, o.packageDirectory, s), If(
                /*value*/
                void 0
              );
            if (!Wi(u, "./")) {
              if (c && !Wi(u, "../") && !Wi(u, "/") && !V_(u)) {
                const G = m ? u.replace(/\*/g, g) : u + g;
                l1(t, p.Using_0_subpath_1_with_target_2, "imports", h, G), l1(t, p.Resolving_module_0_from_1, G, o.packageDirectory + "/");
                const W = QN(
                  t.features,
                  G,
                  o.packageDirectory + "/",
                  t.compilerOptions,
                  t.host,
                  n,
                  e,
                  /*isConfigLookup*/
                  !1,
                  i,
                  t.conditions
                );
                return (S = t.failedLookupLocations) == null || S.push(...W.failedLookupLocations ?? Ue), (T = t.affectingLocations) == null || T.push(...W.affectingLocations ?? Ue), If(
                  W.resolvedModule ? {
                    path: W.resolvedModule.resolvedFileName,
                    extension: W.resolvedModule.extension,
                    packageId: W.resolvedModule.packageId,
                    originalPath: W.resolvedModule.originalPath,
                    resolvedUsingTsExtension: W.resolvedModule.resolvedUsingTsExtension
                  } : void 0
                );
              }
              return t.traceEnabled && es(t.host, p.package_json_scope_0_has_invalid_type_for_target_of_specifier_1, o.packageDirectory, s), If(
                /*value*/
                void 0
              );
            }
            const O = (ff(u) ? ou(u).slice(1) : ou(u)).slice(1);
            if (O.includes("..") || O.includes(".") || O.includes("node_modules"))
              return t.traceEnabled && es(t.host, p.package_json_scope_0_has_invalid_type_for_target_of_specifier_1, o.packageDirectory, s), If(
                /*value*/
                void 0
              );
            const F = An(o.packageDirectory, u), j = ou(g);
            if (j.includes("..") || j.includes(".") || j.includes("node_modules"))
              return t.traceEnabled && es(t.host, p.package_json_scope_0_has_invalid_type_for_target_of_specifier_1, o.packageDirectory, s), If(
                /*value*/
                void 0
              );
            t.traceEnabled && es(t.host, p.Using_0_subpath_1_with_target_2, c ? "imports" : "exports", h, m ? u.replace(/\*/g, g) : u + g);
            const z = k(m ? F.replace(/\*/g, g) : F + g), V = w(z, g, An(o.packageDirectory, "package.json"), c);
            return V || If(ek(o, oW(
              e,
              z,
              u,
              /*onlyRecordFailures*/
              !1,
              t
            ), t));
          } else if (typeof u == "object" && u !== null)
            if (Array.isArray(u)) {
              if (!Ar(u))
                return t.traceEnabled && es(t.host, p.package_json_scope_0_has_invalid_type_for_target_of_specifier_1, o.packageDirectory, s), If(
                  /*value*/
                  void 0
                );
              for (const A of u) {
                const O = _(A, g, m, h);
                if (O)
                  return O;
              }
            } else {
              l1(t, p.Entering_conditional_exports);
              for (const A of Ud(u))
                if (A === "default" || t.conditions.includes(A) || ZN(t.conditions, A)) {
                  l1(t, p.Matched_0_condition_1, c ? "imports" : "exports", A);
                  const O = u[A], F = _(O, g, m, h);
                  if (F)
                    return l1(t, p.Resolved_under_condition_0, A), l1(t, p.Exiting_conditional_exports), F;
                  l1(t, p.Failed_to_resolve_under_condition_0, A);
                } else
                  l1(t, p.Saw_non_matching_condition_0, A);
              l1(t, p.Exiting_conditional_exports);
              return;
            }
          else if (u === null)
            return t.traceEnabled && es(t.host, p.package_json_scope_0_explicitly_maps_specifier_1_to_null, o.packageDirectory, s), If(
              /*value*/
              void 0
            );
          return t.traceEnabled && es(t.host, p.package_json_scope_0_has_invalid_type_for_target_of_specifier_1, o.packageDirectory, s), If(
            /*value*/
            void 0
          );
          function k(A) {
            var O, F;
            return A === void 0 ? A : Xi(A, (F = (O = t.host).getCurrentDirectory) == null ? void 0 : F.call(O));
          }
          function D(A, O) {
            return ml(An(A, O));
          }
          function w(A, O, F, j) {
            var z, V, G, W;
            if (!t.isConfigLookup && (t.compilerOptions.declarationDir || t.compilerOptions.outDir) && !A.includes("/node_modules/") && (!t.compilerOptions.configFile || Qf(o.packageDirectory, k(t.compilerOptions.configFile.fileName), !pW(t)))) {
              const K = Nh({ useCaseSensitiveFileNames: () => pW(t) }), U = [];
              if (t.compilerOptions.rootDir || t.compilerOptions.composite && t.compilerOptions.configFilePath) {
                const ee = k(sw(t.compilerOptions, () => [], ((V = (z = t.host).getCurrentDirectory) == null ? void 0 : V.call(z)) || "", K));
                U.push(ee);
              } else if (t.requestContainingDirectory) {
                const ee = k(An(t.requestContainingDirectory, "index.ts")), te = k(sw(t.compilerOptions, () => [ee, k(F)], ((W = (G = t.host).getCurrentDirectory) == null ? void 0 : W.call(G)) || "", K));
                U.push(te);
                let ie = ml(te);
                for (; ie && ie.length > 1; ) {
                  const fe = ou(ie);
                  fe.pop();
                  const me = z1(fe);
                  U.unshift(me), ie = ml(me);
                }
              }
              U.length > 1 && t.reportDiagnostic($o(
                j ? p.The_project_root_is_ambiguous_but_is_required_to_resolve_import_map_entry_0_in_file_1_Supply_the_rootDir_compiler_option_to_disambiguate : p.The_project_root_is_ambiguous_but_is_required_to_resolve_export_map_entry_0_in_file_1_Supply_the_rootDir_compiler_option_to_disambiguate,
                O === "" ? "." : O,
                // replace empty string with `.` - the reverse of the operation done when entries are built - so main entrypoint errors don't look weird
                F
              ));
              for (const ee of U) {
                const te = pe(ee);
                for (const ie of te)
                  if (Qf(ie, A, !pW(t))) {
                    const fe = A.slice(ie.length + 1), me = An(ee, fe), q = [
                      ".mjs",
                      ".cjs",
                      ".js",
                      ".json",
                      ".d.mts",
                      ".d.cts",
                      ".d.ts"
                      /* Dts */
                    ];
                    for (const he of q)
                      if (Wo(me, he)) {
                        const Me = UB(me);
                        for (const De of Me) {
                          if (!r1e(e, De)) continue;
                          const re = FP(me, De, he, !pW(t));
                          if (t.host.fileExists(re))
                            return If(ek(o, oW(
                              e,
                              re,
                              /*packageJsonValue*/
                              void 0,
                              /*onlyRecordFailures*/
                              !1,
                              t
                            ), t));
                        }
                      }
                  }
              }
            }
            return;
            function pe(K) {
              var U, ee;
              const te = t.compilerOptions.configFile ? ((ee = (U = t.host).getCurrentDirectory) == null ? void 0 : ee.call(U)) || "" : K, ie = [];
              return t.compilerOptions.declarationDir && ie.push(k(D(te, t.compilerOptions.declarationDir))), t.compilerOptions.outDir && t.compilerOptions.outDir !== t.compilerOptions.declarationDir && ie.push(k(D(te, t.compilerOptions.outDir))), ie;
            }
          }
        }
      }
      function ZN(e, t) {
        if (!e.includes("types") || !Wi(t, "types@")) return !1;
        const n = $I.tryParse(t.substring(6));
        return n ? n.test(Gf) : !1;
      }
      function s1e(e, t, n, i, s, o) {
        return a1e(
          e,
          t,
          n,
          i,
          /*typesScopeOnly*/
          !1,
          s,
          o
        );
      }
      function UMe(e, t, n) {
        return a1e(
          4,
          e,
          t,
          n,
          /*typesScopeOnly*/
          !0,
          /*cache*/
          void 0,
          /*redirectedReference*/
          void 0
        );
      }
      function a1e(e, t, n, i, s, o, c) {
        const _ = i.features === 0 ? void 0 : i.features & 32 || i.conditions.includes("import") ? 99 : 1, u = e & 5, g = e & -6;
        if (u) {
          l1(i, p.Searching_all_ancestor_node_modules_directories_for_preferred_extensions_Colon_0, rO(u));
          const h = m(u);
          if (h) return h;
        }
        if (g && !s)
          return l1(i, p.Searching_all_ancestor_node_modules_directories_for_fallback_extensions_Colon_0, rO(g)), m(g);
        function m(h) {
          return Km(
            i.host,
            Bl(n),
            (S) => {
              if (Qc(S) !== "node_modules") {
                const T = u1e(o, t, _, S, c, i);
                return T || If(o1e(h, t, S, i, s, o, c));
              }
            }
          );
        }
      }
      function Km(e, t, n) {
        var i;
        const s = (i = e?.getGlobalTypingsCacheLocation) == null ? void 0 : i.call(e);
        return m4(t, (o) => {
          const c = n(o);
          if (c !== void 0) return c;
          if (o === s) return !1;
        }) || void 0;
      }
      function o1e(e, t, n, i, s, o, c) {
        const _ = An(n, "node_modules"), u = md(_, i.host);
        if (!u && i.traceEnabled && es(i.host, p.Directory_0_does_not_exist_skipping_all_lookups_in_it, _), !s) {
          const g = c1e(e, t, _, u, i, o, c);
          if (g)
            return g;
        }
        if (e & 4) {
          const g = An(_, "@types");
          let m = u;
          return u && !md(g, i.host) && (i.traceEnabled && es(i.host, p.Directory_0_does_not_exist_skipping_all_lookups_in_it, g), m = !1), c1e(4, l1e(t, i), g, m, i, o, c);
        }
      }
      function c1e(e, t, n, i, s, o, c) {
        var _, u;
        const g = Gs(An(n, t)), { packageName: m, rest: h } = cO(t), S = An(n, m);
        let T, k = VS(g, !i, s);
        if (h !== "" && k && (!(s.features & 8) || !ao(((_ = T = VS(S, !i, s)) == null ? void 0 : _.contents.packageJsonContent) ?? Ue, "exports"))) {
          const A = A6(e, g, !i, s);
          if (A)
            return tW(A);
          const O = uW(
            e,
            g,
            !i,
            s,
            k
          );
          return ek(k, O, s);
        }
        const D = (A, O, F, j) => {
          let z = (h || !(j.features & 32)) && A6(A, O, F, j) || uW(
            A,
            O,
            F,
            j,
            k
          );
          return !z && !h && k && (k.contents.packageJsonContent.exports === void 0 || k.contents.packageJsonContent.exports === null) && j.features & 32 && (z = A6(A, An(O, "index.js"), F, j)), ek(k, z, j);
        };
        if (h !== "" && (k = T ?? VS(S, !i, s)), k && (s.resolvedPackageDirectory = !0), k && k.contents.packageJsonContent.exports && s.features & 8)
          return (u = _W(k, e, An(".", h), s, o, c)) == null ? void 0 : u.value;
        const w = h !== "" && k ? t1e(k, s) : void 0;
        if (w) {
          s.traceEnabled && es(s.host, p.package_json_has_a_typesVersions_entry_0_that_matches_compiler_version_1_looking_for_a_pattern_to_match_module_name_2, w.version, Gf, h);
          const A = i && md(S, s.host), O = fN(w.paths), F = rne(e, h, S, w.paths, O, D, !A, s);
          if (F)
            return F.value;
        }
        return D(e, g, !i, s);
      }
      function rne(e, t, n, i, s, o, c, _) {
        const u = wJ(s, t);
        if (u) {
          const g = cs(u) ? void 0 : aQ(u, t), m = cs(u) ? u : sQ(u);
          return _.traceEnabled && es(_.host, p.Module_name_0_matched_pattern_1, t, m), { value: ar(i[m], (S) => {
            const T = g ? ES(S, g) : S, k = Gs(An(n, T));
            _.traceEnabled && es(_.host, p.Trying_substitution_0_candidate_module_location_Colon_1, S, T);
            const D = Vg(S);
            if (D !== void 0) {
              const w = cW(k, c, _);
              if (w !== void 0)
                return tW({ path: w, ext: D, resolvedUsingTsExtension: void 0 });
            }
            return o(e, k, c || !md(Un(k), _.host), _);
          }) };
        }
      }
      var nne = "__";
      function l1e(e, t) {
        const n = I6(e);
        return t.traceEnabled && n !== e && es(t.host, p.Scoped_package_detected_looking_in_0, n), n;
      }
      function uO(e) {
        return `@types/${I6(e)}`;
      }
      function I6(e) {
        if (Wi(e, "@")) {
          const t = e.replace(xo, nne);
          if (t !== e)
            return t.slice(1);
        }
        return e;
      }
      function XD(e) {
        const t = s4(e, "@types/");
        return t !== e ? KN(t) : e;
      }
      function KN(e) {
        return e.includes(nne) ? "@" + e.replace(nne, xo) : e;
      }
      function u1e(e, t, n, i, s, o) {
        const c = e && e.getFromNonRelativeNameCache(t, n, i, s);
        if (c)
          return o.traceEnabled && es(o.host, p.Resolution_for_module_0_was_found_in_cache_from_location_1, t, i), o.resultFromCache = c, {
            value: c.resolvedModule && {
              path: c.resolvedModule.resolvedFileName,
              originalPath: c.resolvedModule.originalPath || !0,
              extension: c.resolvedModule.extension,
              packageId: c.resolvedModule.packageId,
              resolvedUsingTsExtension: c.resolvedModule.resolvedUsingTsExtension
            }
          };
      }
      function ine(e, t, n, i, s, o) {
        const c = a1(n, i), _ = [], u = [], g = Un(t), m = [], h = {
          compilerOptions: n,
          host: i,
          traceEnabled: c,
          failedLookupLocations: _,
          affectingLocations: u,
          packageJsonInfoCache: s,
          features: 0,
          conditions: [],
          requestContainingDirectory: g,
          reportDiagnostic: (k) => void m.push(k),
          isConfigLookup: !1,
          candidateIsFromPackageJsonField: !1,
          resolvedPackageDirectory: !1
        }, S = T(
          5
          /* Declaration */
        ) || T(2 | (n.resolveJsonModule ? 8 : 0));
        return jye(
          e,
          S && S.value,
          S?.value && c1(S.value.path),
          _,
          u,
          m,
          h,
          s
        );
        function T(k) {
          const D = Gye(k, e, g, ene, h);
          if (D)
            return { value: D };
          if (Cl(e)) {
            const w = Gs(An(g, e));
            return If(ene(
              k,
              w,
              /*onlyRecordFailures*/
              !1,
              h
            ));
          } else {
            const w = Km(
              h.host,
              g,
              (A) => {
                const O = u1e(
                  s,
                  e,
                  /*mode*/
                  void 0,
                  A,
                  o,
                  h
                );
                if (O)
                  return O;
                const F = Gs(An(A, e));
                return If(ene(
                  k,
                  F,
                  /*onlyRecordFailures*/
                  !1,
                  h
                ));
              }
            );
            if (w) return w;
            if (k & 5) {
              let A = UMe(e, g, h);
              return k & 4 && (A ?? (A = _1e(e, h))), A;
            }
          }
        }
      }
      function _1e(e, t) {
        if (t.compilerOptions.typeRoots)
          for (const n of t.compilerOptions.typeRoots) {
            const i = Wye(n, e, t), s = md(n, t.host);
            !s && t.traceEnabled && es(t.host, p.Directory_0_does_not_exist_skipping_all_lookups_in_it, n);
            const o = A6(4, i, !s, t);
            if (o) {
              const _ = YN(o.path), u = _ ? VS(
                _,
                /*onlyRecordFailures*/
                !1,
                t
              ) : void 0;
              return If(ek(u, o, t));
            }
            const c = tne(4, i, !s, t);
            if (c) return If(c);
          }
      }
      function F6(e, t) {
        return dee(e) || !!t && Sl(t);
      }
      function sne(e, t, n, i, s, o) {
        const c = a1(n, i);
        c && es(i, p.Auto_discovery_for_typings_is_enabled_in_project_0_Running_extra_resolution_pass_for_module_1_using_cache_location_2, t, e, s);
        const _ = [], u = [], g = [], m = {
          compilerOptions: n,
          host: i,
          traceEnabled: c,
          failedLookupLocations: _,
          affectingLocations: u,
          packageJsonInfoCache: o,
          features: 0,
          conditions: [],
          requestContainingDirectory: void 0,
          reportDiagnostic: (S) => void g.push(S),
          isConfigLookup: !1,
          candidateIsFromPackageJsonField: !1,
          resolvedPackageDirectory: !1
        }, h = o1e(
          4,
          e,
          s,
          m,
          /*typesScopeOnly*/
          !1,
          /*cache*/
          void 0,
          /*redirectedReference*/
          void 0
        );
        return Bye(
          h,
          /*isExternalLibraryImport*/
          !0,
          _,
          u,
          g,
          m.resultFromCache,
          /*cache*/
          void 0
        );
      }
      function If(e) {
        return e !== void 0 ? { value: e } : void 0;
      }
      function l1(e, t, ...n) {
        e.traceEnabled && es(e.host, t, ...n);
      }
      function pW(e) {
        return e.host.useCaseSensitiveFileNames ? typeof e.host.useCaseSensitiveFileNames == "boolean" ? e.host.useCaseSensitiveFileNames : e.host.useCaseSensitiveFileNames() : !0;
      }
      var ane = /* @__PURE__ */ ((e) => (e[e.NonInstantiated = 0] = "NonInstantiated", e[e.Instantiated = 1] = "Instantiated", e[e.ConstEnumOnly = 2] = "ConstEnumOnly", e))(ane || {});
      function jh(e, t) {
        return e.body && !e.body.parent && (Wa(e.body, e), tv(
          e.body,
          /*incremental*/
          !1
        )), e.body ? one(e.body, t) : 1;
      }
      function one(e, t = /* @__PURE__ */ new Map()) {
        const n = Oa(e);
        if (t.has(n))
          return t.get(n) || 0;
        t.set(n, void 0);
        const i = qMe(e, t);
        return t.set(n, i), i;
      }
      function qMe(e, t) {
        switch (e.kind) {
          // 1. interface declarations, type alias declarations
          case 264:
          case 265:
            return 0;
          // 2. const enum declarations
          case 266:
            if (H1(e))
              return 2;
            break;
          // 3. non-exported import declarations
          case 272:
          case 271:
            if (!qn(
              e,
              32
              /* Export */
            ))
              return 0;
            break;
          // 4. Export alias declarations pointing at only uninstantiated modules or things uninstantiated modules contain
          case 278:
            const n = e;
            if (!n.moduleSpecifier && n.exportClause && n.exportClause.kind === 279) {
              let i = 0;
              for (const s of n.exportClause.elements) {
                const o = HMe(s, t);
                if (o > i && (i = o), i === 1)
                  return i;
              }
              return i;
            }
            break;
          // 5. other uninstantiated module declarations.
          case 268: {
            let i = 0;
            return Ss(e, (s) => {
              const o = one(s, t);
              switch (o) {
                case 0:
                  return;
                case 2:
                  i = 2;
                  return;
                case 1:
                  return i = 1, !0;
                default:
                  E.assertNever(o);
              }
            }), i;
          }
          case 267:
            return jh(e, t);
          case 80:
            if (e.flags & 4096)
              return 0;
        }
        return 1;
      }
      function HMe(e, t) {
        const n = e.propertyName || e.name;
        if (n.kind !== 80)
          return 1;
        let i = e.parent;
        for (; i; ) {
          if (Cs(i) || om(i) || xi(i)) {
            const s = i.statements;
            let o;
            for (const c of s)
              if (UP(c, n)) {
                c.parent || (Wa(c, i), tv(
                  c,
                  /*incremental*/
                  !1
                ));
                const _ = one(c, t);
                if ((o === void 0 || _ > o) && (o = _), o === 1)
                  return o;
                c.kind === 271 && (o = 1);
              }
            if (o !== void 0)
              return o;
          }
          i = i.parent;
        }
        return 1;
      }
      var cne = /* @__PURE__ */ ((e) => (e[e.None = 0] = "None", e[e.IsContainer = 1] = "IsContainer", e[e.IsBlockScopedContainer = 2] = "IsBlockScopedContainer", e[e.IsControlFlowContainer = 4] = "IsControlFlowContainer", e[e.IsFunctionLike = 8] = "IsFunctionLike", e[e.IsFunctionExpression = 16] = "IsFunctionExpression", e[e.HasLocals = 32] = "HasLocals", e[e.IsInterface = 64] = "IsInterface", e[e.IsObjectLiteralOrClassExpressionMethodOrAccessor = 128] = "IsObjectLiteralOrClassExpressionMethodOrAccessor", e))(cne || {});
      function eg(e, t, n) {
        return E.attachFlowNodeDebugInfo({ flags: e, id: 0, node: t, antecedent: n });
      }
      var GMe = /* @__PURE__ */ $Me();
      function lne(e, t) {
        Zo("beforeBind"), GMe(e, t), Zo("afterBind"), Xf("Bind", "beforeBind", "afterBind");
      }
      function $Me() {
        var e, t, n, i, s, o, c, _, u, g, m, h, S, T, k, D, w, A, O, F, j, z, V, G, W, pe = !1, K = 0, U, ee, te = eg(
          1,
          /*node*/
          void 0,
          /*antecedent*/
          void 0
        ), ie = eg(
          1,
          /*node*/
          void 0,
          /*antecedent*/
          void 0
        ), fe = M();
        return q;
        function me(L, Re, ...Ct) {
          return Zf(Er(L) || e, L, Re, ...Ct);
        }
        function q(L, Re) {
          var Ct, Sr;
          e = L, t = Re, n = ga(t), W = he(e, Re), ee = /* @__PURE__ */ new Set(), K = 0, U = Xl.getSymbolConstructor(), E.attachFlowNodeDebugInfo(te), E.attachFlowNodeDebugInfo(ie), e.locals || ((Ct = rn) == null || Ct.push(
            rn.Phase.Bind,
            "bindSourceFile",
            { path: e.path },
            /*separateBeginAndEnd*/
            !0
          ), xr(e), (Sr = rn) == null || Sr.pop(), e.symbolCount = K, e.classifiableNames = ee, Lo(), Pa()), e = void 0, t = void 0, n = void 0, i = void 0, s = void 0, o = void 0, c = void 0, _ = void 0, u = void 0, m = void 0, g = !1, h = void 0, S = void 0, T = void 0, k = void 0, D = void 0, w = void 0, A = void 0, F = void 0, j = !1, z = !1, V = !1, pe = !1, G = 0;
        }
        function he(L, Re) {
          return lu(Re, "alwaysStrict") && !L.isDeclarationFile ? !0 : !!L.externalModuleIndicator;
        }
        function Me(L, Re) {
          return K++, new U(L, Re);
        }
        function De(L, Re, Ct) {
          L.flags |= Ct, Re.symbol = L, L.declarations = Sh(L.declarations, Re), Ct & 1955 && !L.exports && (L.exports = qs()), Ct & 6240 && !L.members && (L.members = qs()), L.constEnumOnlyModule && L.flags & 304 && (L.constEnumOnlyModule = !1), Ct & 111551 && A3(L, Re);
        }
        function re(L) {
          if (L.kind === 277)
            return L.isExportEquals ? "export=" : "default";
          const Re = ls(L);
          if (Re) {
            if (Fu(L)) {
              const Ct = ep(Re);
              return $m(L) ? "__global" : `"${Ct}"`;
            }
            if (Re.kind === 167) {
              const Ct = Re.expression;
              if (wf(Ct))
                return ec(Ct.text);
              if (_5(Ct))
                return Qs(Ct.operator) + Ct.operand.text;
              E.fail("Only computed properties with literal names have declaration names");
            }
            if (Di(Re)) {
              const Ct = Jl(L);
              if (!Ct)
                return;
              const Sr = Ct.symbol;
              return z3(Sr, Re.escapedText);
            }
            return vd(Re) ? Ax(Re) : Kd(Re) ? X4(Re) : void 0;
          }
          switch (L.kind) {
            case 176:
              return "__constructor";
            case 184:
            case 179:
            case 323:
              return "__call";
            case 185:
            case 180:
              return "__new";
            case 181:
              return "__index";
            case 278:
              return "__export";
            case 307:
              return "export=";
            case 226:
              if (Pc(L) === 2)
                return "export=";
              E.fail("Unknown binary declaration kind");
              break;
            case 317:
              return mx(L) ? "__new" : "__call";
            case 169:
              return E.assert(L.parent.kind === 317, "Impossible parameter parent kind", () => `parent is: ${E.formatSyntaxKind(L.parent.kind)}, expected JSDocFunctionType`), "arg" + L.parent.parameters.indexOf(L);
          }
        }
        function xe(L) {
          return El(L) ? _o(L.name) : Ei(E.checkDefined(re(L)));
        }
        function ue(L, Re, Ct, Sr, Zi, fi, Vi) {
          E.assert(Vi || !Ph(Ct));
          const as = qn(
            Ct,
            2048
            /* Default */
          ) || bu(Ct) && Gm(Ct.name), Ao = Vi ? "__computed" : as && Re ? "default" : re(Ct);
          let ra;
          if (Ao === void 0)
            ra = Me(
              0,
              "__missing"
              /* Missing */
            );
          else if (ra = L.get(Ao), Sr & 2885600 && ee.add(Ao), !ra)
            L.set(Ao, ra = Me(0, Ao)), fi && (ra.isReplaceableByMethod = !0);
          else {
            if (fi && !ra.isReplaceableByMethod)
              return ra;
            if (ra.flags & Zi) {
              if (ra.isReplaceableByMethod)
                L.set(Ao, ra = Me(0, Ao));
              else if (!(Sr & 3 && ra.flags & 67108864)) {
                El(Ct) && Wa(Ct.name, Ct);
                let nl = ra.flags & 2 ? p.Cannot_redeclare_block_scoped_variable_0 : p.Duplicate_identifier_0, sf = !0;
                (ra.flags & 384 || Sr & 384) && (nl = p.Enum_declarations_can_only_merge_with_namespace_or_other_enum_declarations, sf = !1);
                let up = !1;
                Ar(ra.declarations) && (as || ra.declarations && ra.declarations.length && Ct.kind === 277 && !Ct.isExportEquals) && (nl = p.A_module_cannot_have_multiple_default_exports, sf = !1, up = !0);
                const Ed = [];
                Ap(Ct) && cc(Ct.type) && qn(
                  Ct,
                  32
                  /* Export */
                ) && ra.flags & 2887656 && Ed.push(me(Ct, p.Did_you_mean_0, `export type { ${Ei(Ct.name.escapedText)} }`));
                const qh = ls(Ct) || Ct;
                ar(ra.declarations, (A_, Dd) => {
                  const bm = ls(A_) || A_, Rp = sf ? me(bm, nl, xe(A_)) : me(bm, nl);
                  e.bindDiagnostics.push(
                    up ? Ws(Rp, me(qh, Dd === 0 ? p.Another_export_default_is_here : p.and_here)) : Rp
                  ), up && Ed.push(me(bm, p.The_first_export_default_is_here));
                });
                const Zg = sf ? me(qh, nl, xe(Ct)) : me(qh, nl);
                e.bindDiagnostics.push(Ws(Zg, ...Ed)), ra = Me(0, Ao);
              }
            }
          }
          return De(ra, Ct, Sr), ra.parent ? E.assert(ra.parent === Re, "Existing symbol parent should match new one") : ra.parent = Re, ra;
        }
        function Xe(L, Re, Ct) {
          const Sr = !!(W1(L) & 32) || nt(L);
          if (Re & 2097152)
            return L.kind === 281 || L.kind === 271 && Sr ? ue(s.symbol.exports, s.symbol, L, Re, Ct) : (E.assertNode(s, qm), ue(
              s.locals,
              /*parent*/
              void 0,
              L,
              Re,
              Ct
            ));
          if (Dp(L) && E.assert(tn(L)), !Fu(L) && (Sr || s.flags & 128)) {
            if (!qm(s) || !s.locals || qn(
              L,
              2048
              /* Default */
            ) && !re(L))
              return ue(s.symbol.exports, s.symbol, L, Re, Ct);
            const Zi = Re & 111551 ? 1048576 : 0, fi = ue(
              s.locals,
              /*parent*/
              void 0,
              L,
              Zi,
              Ct
            );
            return fi.exportSymbol = ue(s.symbol.exports, s.symbol, L, Re, Ct), L.localSymbol = fi, fi;
          } else
            return E.assertNode(s, qm), ue(
              s.locals,
              /*parent*/
              void 0,
              L,
              Re,
              Ct
            );
        }
        function nt(L) {
          if (L.parent && zc(L) && (L = L.parent), !Dp(L)) return !1;
          if (!NN(L) && L.fullName) return !0;
          const Re = ls(L);
          return Re ? !!(Y3(Re.parent) && hf(Re.parent) || Dl(Re.parent) && W1(Re.parent) & 32) : !1;
        }
        function oe(L, Re) {
          const Ct = s, Sr = o, Zi = c, fi = z;
          if (L.kind === 219 && L.body.kind !== 241 && (z = !0), Re & 1 ? (L.kind !== 219 && (o = s), s = c = L, Re & 32 && (s.locals = qs(), cr(s))) : Re & 2 && (c = L, Re & 32 && (c.locals = void 0)), Re & 4) {
            const Vi = h, as = S, Ao = T, ra = k, nl = A, sf = F, up = j, Ed = Re & 16 && !qn(
              L,
              1024
              /* Async */
            ) && !L.asteriskToken && !!Db(L) || L.kind === 175;
            Ed || (h = eg(
              2,
              /*node*/
              void 0,
              /*antecedent*/
              void 0
            ), Re & 144 && (h.node = L)), k = Ed || L.kind === 176 || tn(L) && (L.kind === 262 || L.kind === 218) ? Wt() : void 0, A = void 0, S = void 0, T = void 0, F = void 0, j = !1, Ee(L), L.flags &= -5633, !(h.flags & 1) && Re & 8 && Cp(L.body) && (L.flags |= 512, j && (L.flags |= 1024), L.endFlowNode = h), L.kind === 307 && (L.flags |= G, L.endFlowNode = h), k && (Pt(k, h), h = ci(k), (L.kind === 176 || L.kind === 175 || tn(L) && (L.kind === 262 || L.kind === 218)) && (L.returnFlowNode = h)), Ed || (h = Vi), S = as, T = Ao, k = ra, A = nl, F = sf, j = up;
          } else Re & 64 ? (g = !1, Ee(L), E.assertNotNode(L, Fe), L.flags = g ? L.flags | 256 : L.flags & -257) : Ee(L);
          z = fi, s = Ct, o = Sr, c = Zi;
        }
        function ve(L) {
          se(L, (Re) => Re.kind === 262 ? xr(Re) : void 0), se(L, (Re) => Re.kind !== 262 ? xr(Re) : void 0);
        }
        function se(L, Re = xr) {
          L !== void 0 && ar(L, Re);
        }
        function Pe(L) {
          Ss(L, xr, se);
        }
        function Ee(L) {
          const Re = pe;
          if (pe = !1, Ii(L)) {
            HC(L) && L.flowNode && (L.flowNode = void 0), Pe(L), Li(L), pe = Re;
            return;
          }
          switch (L.kind >= 243 && L.kind <= 259 && (!t.allowUnreachableCode || L.kind === 253) && (L.flowNode = h), L.kind) {
            case 247:
              ta(L);
              break;
            case 246:
              gr(L);
              break;
            case 248:
              ms(L);
              break;
            case 249:
            case 250:
              He(L);
              break;
            case 245:
              Et(L);
              break;
            case 253:
            case 257:
              ne(L);
              break;
            case 252:
            case 251:
              Ne(L);
              break;
            case 258:
              qe(L);
              break;
            case 255:
              Ze(L);
              break;
            case 269:
              bt(L);
              break;
            case 296:
              Ie(L);
              break;
            case 244:
              ft(L);
              break;
            case 256:
              kt(L);
              break;
            case 224:
              we(L);
              break;
            case 225:
              mt(L);
              break;
            case 226:
              if (T0(L)) {
                pe = Re, _e(L);
                return;
              }
              fe(L);
              break;
            case 220:
              ye(L);
              break;
            case 227:
              X(L);
              break;
            case 260:
              jt(L);
              break;
            case 211:
            case 212:
              Kt(L);
              break;
            case 213:
              Mt(L);
              break;
            case 235:
              dr(L);
              break;
            case 346:
            case 338:
            case 340:
              Yr(L);
              break;
            case 351:
              Rr(L);
              break;
            // In source files and blocks, bind functions first to match hoisting that occurs at runtime
            case 307: {
              ve(L.statements), xr(L.endOfFileToken);
              break;
            }
            case 241:
            case 268:
              ve(L.statements);
              break;
            case 208:
              ke(L);
              break;
            case 169:
              st(L);
              break;
            case 210:
            case 209:
            case 303:
            case 230:
              pe = Re;
            // falls through
            default:
              Pe(L);
              break;
          }
          Li(L), pe = Re;
        }
        function Ce(L) {
          switch (L.kind) {
            case 80:
            case 110:
              return !0;
            case 211:
            case 212:
              return St(L);
            case 213:
              return Bt(L);
            case 217:
              if (Yb(L))
                return !1;
            // fallthrough
            case 235:
              return Ce(L.expression);
            case 226:
              return Fr(L);
            case 224:
              return L.operator === 54 && Ce(L.operand);
            case 221:
              return Ce(L.expression);
          }
          return !1;
        }
        function ze(L) {
          switch (L.kind) {
            case 80:
            case 110:
            case 108:
            case 236:
              return !0;
            case 211:
            case 217:
            case 235:
              return ze(L.expression);
            case 212:
              return (wf(L.argumentExpression) || to(L.argumentExpression)) && ze(L.expression);
            case 226:
              return L.operatorToken.kind === 28 && ze(L.right) || Ah(L.operatorToken.kind) && __(L.left);
          }
          return !1;
        }
        function St(L) {
          return ze(L) || hu(L) && St(L.expression);
        }
        function Bt(L) {
          if (L.arguments) {
            for (const Re of L.arguments)
              if (St(Re))
                return !0;
          }
          return !!(L.expression.kind === 211 && St(L.expression.expression));
        }
        function tr(L, Re) {
          return f6(L) && it(L.expression) && Ba(Re);
        }
        function Fr(L) {
          switch (L.operatorToken.kind) {
            case 64:
            case 76:
            case 77:
            case 78:
              return St(L.left);
            case 35:
            case 36:
            case 37:
            case 38:
              const Re = za(L.left), Ct = za(L.right);
              return it(Re) || it(Ct) || tr(Ct, Re) || tr(Re, Ct) || P4(Ct) && Ce(Re) || P4(Re) && Ce(Ct);
            case 104:
              return it(L.left);
            case 103:
              return Ce(L.right);
            case 28:
              return Ce(L.right);
          }
          return !1;
        }
        function it(L) {
          switch (L.kind) {
            case 217:
              return it(L.expression);
            case 226:
              switch (L.operatorToken.kind) {
                case 64:
                  return it(L.left);
                case 28:
                  return it(L.right);
              }
          }
          return St(L);
        }
        function Wt() {
          return eg(
            4,
            /*node*/
            void 0,
            /*antecedent*/
            void 0
          );
        }
        function Wr() {
          return eg(
            8,
            /*node*/
            void 0,
            /*antecedent*/
            void 0
          );
        }
        function ai(L, Re, Ct) {
          return eg(1024, { target: L, antecedents: Re }, Ct);
        }
        function zi(L) {
          L.flags |= L.flags & 2048 ? 4096 : 2048;
        }
        function Pt(L, Re) {
          !(Re.flags & 1) && !_s(L.antecedent, Re) && ((L.antecedent || (L.antecedent = [])).push(Re), zi(Re));
        }
        function Fn(L, Re, Ct) {
          return Re.flags & 1 ? Re : Ct ? (Ct.kind === 112 && L & 64 || Ct.kind === 97 && L & 32) && !g7(Ct) && !Aj(Ct.parent) ? te : Ce(Ct) ? (zi(Re), eg(L, Ct, Re)) : Re : L & 32 ? Re : te;
        }
        function ii(L, Re, Ct, Sr) {
          return zi(L), eg(128, { switchStatement: Re, clauseStart: Ct, clauseEnd: Sr }, L);
        }
        function li(L, Re, Ct) {
          zi(Re), V = !0;
          const Sr = eg(L, Ct, Re);
          return A && Pt(A, Sr), Sr;
        }
        function cn(L, Re) {
          return zi(L), V = !0, eg(512, Re, L);
        }
        function ci(L) {
          const Re = L.antecedent;
          return Re ? Re.length === 1 ? Re[0] : L : te;
        }
        function je(L) {
          const Re = L.parent;
          switch (Re.kind) {
            case 245:
            case 247:
            case 246:
              return Re.expression === L;
            case 248:
            case 227:
              return Re.condition === L;
          }
          return !1;
        }
        function ut(L) {
          for (; ; )
            if (L.kind === 217)
              L = L.expression;
            else if (L.kind === 224 && L.operator === 54)
              L = L.operand;
            else
              return X3(L);
        }
        function er(L) {
          return ZB(za(L));
        }
        function Vr(L) {
          for (; Zu(L.parent) || sv(L.parent) && L.parent.operator === 54; )
            L = L.parent;
          return !je(L) && !ut(L.parent) && !(hu(L.parent) && L.parent.expression === L);
        }
        function zn(L, Re, Ct, Sr) {
          const Zi = D, fi = w;
          D = Ct, w = Sr, L(Re), D = Zi, w = fi;
        }
        function Wn(L, Re, Ct) {
          zn(xr, L, Re, Ct), (!L || !er(L) && !ut(L) && !(hu(L) && k4(L))) && (Pt(Re, Fn(32, h, L)), Pt(Ct, Fn(64, h, L)));
        }
        function bi(L, Re, Ct) {
          const Sr = S, Zi = T;
          S = Re, T = Ct, xr(L), S = Sr, T = Zi;
        }
        function ks(L, Re) {
          let Ct = F;
          for (; Ct && L.parent.kind === 256; )
            Ct.continueTarget = Re, Ct = Ct.next, L = L.parent;
          return Re;
        }
        function ta(L) {
          const Re = ks(L, Wr()), Ct = Wt(), Sr = Wt();
          Pt(Re, h), h = Re, Wn(L.expression, Ct, Sr), h = ci(Ct), bi(L.statement, Sr, Re), Pt(Re, h), h = ci(Sr);
        }
        function gr(L) {
          const Re = Wr(), Ct = ks(L, Wt()), Sr = Wt();
          Pt(Re, h), h = Re, bi(L.statement, Sr, Ct), Pt(Ct, h), h = ci(Ct), Wn(L.expression, Re, Sr), h = ci(Sr);
        }
        function ms(L) {
          const Re = ks(L, Wr()), Ct = Wt(), Sr = Wt(), Zi = Wt();
          xr(L.initializer), Pt(Re, h), h = Re, Wn(L.condition, Ct, Zi), h = ci(Ct), bi(L.statement, Zi, Sr), Pt(Sr, h), h = ci(Sr), xr(L.incrementor), Pt(Re, h), h = ci(Zi);
        }
        function He(L) {
          const Re = ks(L, Wr()), Ct = Wt();
          xr(L.expression), Pt(Re, h), h = Re, L.kind === 250 && xr(L.awaitModifier), Pt(Ct, h), xr(L.initializer), L.initializer.kind !== 261 && Rt(L.initializer), bi(L.statement, Ct, Re), Pt(Re, h), h = ci(Ct);
        }
        function Et(L) {
          const Re = Wt(), Ct = Wt(), Sr = Wt();
          Wn(L.expression, Re, Ct), h = ci(Re), xr(L.thenStatement), Pt(Sr, h), h = ci(Ct), xr(L.elseStatement), Pt(Sr, h), h = ci(Sr);
        }
        function ne(L) {
          const Re = z;
          z = !0, xr(L.expression), z = Re, L.kind === 253 && (j = !0, k && Pt(k, h)), h = te, V = !0;
        }
        function rt(L) {
          for (let Re = F; Re; Re = Re.next)
            if (Re.name === L)
              return Re;
        }
        function Q(L, Re, Ct) {
          const Sr = L.kind === 252 ? Re : Ct;
          Sr && (Pt(Sr, h), h = te, V = !0);
        }
        function Ne(L) {
          if (xr(L.label), L.label) {
            const Re = rt(L.label.escapedText);
            Re && (Re.referenced = !0, Q(L, Re.breakTarget, Re.continueTarget));
          } else
            Q(L, S, T);
        }
        function qe(L) {
          const Re = k, Ct = A, Sr = Wt(), Zi = Wt();
          let fi = Wt();
          if (L.finallyBlock && (k = Zi), Pt(fi, h), A = fi, xr(L.tryBlock), Pt(Sr, h), L.catchClause && (h = ci(fi), fi = Wt(), Pt(fi, h), A = fi, xr(L.catchClause), Pt(Sr, h)), k = Re, A = Ct, L.finallyBlock) {
            const Vi = Wt();
            Vi.antecedent = Ji(Ji(Sr.antecedent, fi.antecedent), Zi.antecedent), h = Vi, xr(L.finallyBlock), h.flags & 1 ? h = te : (k && Zi.antecedent && Pt(k, ai(Vi, Zi.antecedent, h)), A && fi.antecedent && Pt(A, ai(Vi, fi.antecedent, h)), h = Sr.antecedent ? ai(Vi, Sr.antecedent, h) : te);
          } else
            h = ci(Sr);
        }
        function Ze(L) {
          const Re = Wt();
          xr(L.expression);
          const Ct = S, Sr = O;
          S = Re, O = h, xr(L.caseBlock), Pt(Re, h);
          const Zi = ar(
            L.caseBlock.clauses,
            (fi) => fi.kind === 297
            /* DefaultClause */
          );
          L.possiblyExhaustive = !Zi && !Re.antecedent, Zi || Pt(Re, ii(O, L, 0, 0)), S = Ct, O = Sr, h = ci(Re);
        }
        function bt(L) {
          const Re = L.clauses, Ct = L.parent.expression.kind === 112 || Ce(L.parent.expression);
          let Sr = te;
          for (let Zi = 0; Zi < Re.length; Zi++) {
            const fi = Zi;
            for (; !Re[Zi].statements.length && Zi + 1 < Re.length; )
              Sr === te && (h = O), xr(Re[Zi]), Zi++;
            const Vi = Wt();
            Pt(Vi, Ct ? ii(O, L.parent, fi, Zi + 1) : O), Pt(Vi, Sr), h = ci(Vi);
            const as = Re[Zi];
            xr(as), Sr = h, !(h.flags & 1) && Zi !== Re.length - 1 && t.noFallthroughCasesInSwitch && (as.fallthroughFlowNode = h);
          }
        }
        function Ie(L) {
          const Re = h;
          h = O, xr(L.expression), h = Re, se(L.statements);
        }
        function ft(L) {
          xr(L.expression), _t(L.expression);
        }
        function _t(L) {
          if (L.kind === 213) {
            const Re = L;
            Re.expression.kind !== 108 && Q3(Re.expression) && (h = cn(h, Re));
          }
        }
        function kt(L) {
          const Re = Wt();
          F = {
            next: F,
            name: L.label.escapedText,
            breakTarget: Re,
            continueTarget: void 0,
            referenced: !1
          }, xr(L.label), xr(L.statement), !F.referenced && !t.allowUnusedLabels && Ur(hee(t), L.label, p.Unused_label), F = F.next, Pt(Re, h), h = ci(Re);
        }
        function Ve(L) {
          L.kind === 226 && L.operatorToken.kind === 64 ? Rt(L.left) : Rt(L);
        }
        function Rt(L) {
          if (ze(L))
            h = li(16, h, L);
          else if (L.kind === 209)
            for (const Re of L.elements)
              Re.kind === 230 ? Rt(Re.expression) : Ve(Re);
          else if (L.kind === 210)
            for (const Re of L.properties)
              Re.kind === 303 ? Ve(Re.initializer) : Re.kind === 304 ? Rt(Re.name) : Re.kind === 305 && Rt(Re.expression);
        }
        function Zr(L, Re, Ct) {
          const Sr = Wt();
          L.operatorToken.kind === 56 || L.operatorToken.kind === 77 ? Wn(L.left, Sr, Ct) : Wn(L.left, Re, Sr), h = ci(Sr), xr(L.operatorToken), eD(L.operatorToken.kind) ? (zn(xr, L.right, Re, Ct), Rt(L.left), Pt(Re, Fn(32, h, L)), Pt(Ct, Fn(64, h, L))) : Wn(L.right, Re, Ct);
        }
        function we(L) {
          if (L.operator === 54) {
            const Re = D;
            D = w, w = Re, Pe(L), w = D, D = Re;
          } else
            Pe(L), (L.operator === 46 || L.operator === 47) && Rt(L.operand);
        }
        function mt(L) {
          Pe(L), (L.operator === 46 || L.operator === 47) && Rt(L.operand);
        }
        function _e(L) {
          pe ? (pe = !1, xr(L.operatorToken), xr(L.right), pe = !0, xr(L.left)) : (pe = !0, xr(L.left), pe = !1, xr(L.operatorToken), xr(L.right)), Rt(L.left);
        }
        function M() {
          return RF(
            L,
            Re,
            Ct,
            Sr,
            Zi,
            /*foldState*/
            void 0
          );
          function L(Vi, as) {
            if (as) {
              as.stackIndex++, Wa(Vi, i);
              const ra = W;
              da(Vi);
              const nl = i;
              i = Vi, as.skip = !1, as.inStrictModeStack[as.stackIndex] = ra, as.parentStack[as.stackIndex] = nl;
            } else
              as = {
                stackIndex: 0,
                skip: !1,
                inStrictModeStack: [void 0],
                parentStack: [void 0]
              };
            const Ao = Vi.operatorToken.kind;
            if (k5(Ao) || eD(Ao)) {
              if (Vr(Vi)) {
                const ra = Wt(), nl = h, sf = V;
                V = !1, Zr(Vi, ra, ra), h = V ? ci(ra) : nl, V || (V = sf);
              } else
                Zr(Vi, D, w);
              as.skip = !0;
            }
            return as;
          }
          function Re(Vi, as, Ao) {
            if (!as.skip) {
              const ra = fi(Vi);
              return Ao.operatorToken.kind === 28 && _t(Vi), ra;
            }
          }
          function Ct(Vi, as, Ao) {
            as.skip || xr(Vi);
          }
          function Sr(Vi, as, Ao) {
            if (!as.skip) {
              const ra = fi(Vi);
              return Ao.operatorToken.kind === 28 && _t(Vi), ra;
            }
          }
          function Zi(Vi, as) {
            if (!as.skip) {
              const nl = Vi.operatorToken.kind;
              if (Ah(nl) && !Gy(Vi) && (Rt(Vi.left), nl === 64 && Vi.left.kind === 212)) {
                const sf = Vi.left;
                it(sf.expression) && (h = li(256, h, Vi));
              }
            }
            const Ao = as.inStrictModeStack[as.stackIndex], ra = as.parentStack[as.stackIndex];
            Ao !== void 0 && (W = Ao), ra !== void 0 && (i = ra), as.skip = !1, as.stackIndex--;
          }
          function fi(Vi) {
            if (Vi && _n(Vi) && !T0(Vi))
              return Vi;
            xr(Vi);
          }
        }
        function ye(L) {
          Pe(L), L.expression.kind === 211 && Rt(L.expression);
        }
        function X(L) {
          const Re = Wt(), Ct = Wt(), Sr = Wt(), Zi = h, fi = V;
          V = !1, Wn(L.condition, Re, Ct), h = ci(Re), z && (L.flowNodeWhenTrue = h), xr(L.questionToken), xr(L.whenTrue), Pt(Sr, h), h = ci(Ct), z && (L.flowNodeWhenFalse = h), xr(L.colonToken), xr(L.whenFalse), Pt(Sr, h), h = V ? ci(Sr) : Zi, V || (V = fi);
        }
        function pt(L) {
          const Re = vl(L) ? void 0 : L.name;
          if (Ps(Re))
            for (const Ct of Re.elements)
              pt(Ct);
          else
            h = li(16, h, L);
        }
        function jt(L) {
          Pe(L), (L.initializer || uS(L.parent.parent)) && pt(L);
        }
        function ke(L) {
          xr(L.dotDotDotToken), xr(L.propertyName), At(L.initializer), xr(L.name);
        }
        function st(L) {
          se(L.modifiers), xr(L.dotDotDotToken), xr(L.questionToken), xr(L.type), At(L.initializer), xr(L.name);
        }
        function At(L) {
          if (!L)
            return;
          const Re = h;
          if (xr(L), Re === te || Re === h)
            return;
          const Ct = Wt();
          Pt(Ct, Re), Pt(Ct, h), h = ci(Ct);
        }
        function Yr(L) {
          xr(L.tagName), L.kind !== 340 && L.fullName && (Wa(L.fullName, L), tv(
            L.fullName,
            /*incremental*/
            !1
          )), typeof L.comment != "string" && se(L.comment);
        }
        function Mr(L) {
          Pe(L);
          const Re = X1(L);
          Re && Re.kind !== 174 && De(
            Re.symbol,
            Re,
            32
            /* Class */
          );
        }
        function Rr(L) {
          xr(L.tagName), xr(L.moduleSpecifier), xr(L.attributes), typeof L.comment != "string" && se(L.comment);
        }
        function Ye(L, Re, Ct) {
          zn(xr, L, Re, Ct), (!hu(L) || k4(L)) && (Pt(Re, Fn(32, h, L)), Pt(Ct, Fn(64, h, L)));
        }
        function gt(L) {
          switch (L.kind) {
            case 211:
              xr(L.questionDotToken), xr(L.name);
              break;
            case 212:
              xr(L.questionDotToken), xr(L.argumentExpression);
              break;
            case 213:
              xr(L.questionDotToken), se(L.typeArguments), se(L.arguments);
              break;
          }
        }
        function Jt(L, Re, Ct) {
          const Sr = x4(L) ? Wt() : void 0;
          Ye(L.expression, Sr || Re, Ct), Sr && (h = ci(Sr)), zn(gt, L, Re, Ct), k4(L) && (Pt(Re, Fn(32, h, L)), Pt(Ct, Fn(64, h, L)));
        }
        function wt(L) {
          if (Vr(L)) {
            const Re = Wt(), Ct = h, Sr = V;
            Jt(L, Re, Re), h = V ? ci(Re) : Ct, V || (V = Sr);
          } else
            Jt(L, D, w);
        }
        function dr(L) {
          hu(L) ? wt(L) : Pe(L);
        }
        function Kt(L) {
          hu(L) ? wt(L) : Pe(L);
        }
        function Mt(L) {
          if (hu(L))
            wt(L);
          else {
            const Re = za(L.expression);
            Re.kind === 218 || Re.kind === 219 ? (se(L.typeArguments), se(L.arguments), xr(L.expression)) : (Pe(L), L.expression.kind === 108 && (h = cn(h, L)));
          }
          if (L.expression.kind === 211) {
            const Re = L.expression;
            Fe(Re.name) && it(Re.expression) && OB(Re.name) && (h = li(256, h, L));
          }
        }
        function cr(L) {
          _ && (_.nextContainer = L), _ = L;
        }
        function lr(L, Re, Ct) {
          switch (s.kind) {
            // Modules, source files, and classes need specialized handling for how their
            // members are declared (for example, a member of a class will go into a specific
            // symbol table depending on if it is static or not). We defer to specialized
            // handlers to take care of declaring these child members.
            case 267:
              return Xe(L, Re, Ct);
            case 307:
              return $t(L, Re, Ct);
            case 231:
            case 263:
              return br(L, Re, Ct);
            case 266:
              return ue(s.symbol.exports, s.symbol, L, Re, Ct);
            case 187:
            case 322:
            case 210:
            case 264:
            case 292:
              return ue(s.symbol.members, s.symbol, L, Re, Ct);
            case 184:
            case 185:
            case 179:
            case 180:
            case 323:
            case 181:
            case 174:
            case 173:
            case 176:
            case 177:
            case 178:
            case 262:
            case 218:
            case 219:
            case 317:
            case 175:
            case 265:
            case 200:
              return s.locals && E.assertNode(s, qm), ue(
                s.locals,
                /*parent*/
                void 0,
                L,
                Re,
                Ct
              );
          }
        }
        function br(L, Re, Ct) {
          return zs(L) ? ue(s.symbol.exports, s.symbol, L, Re, Ct) : ue(s.symbol.members, s.symbol, L, Re, Ct);
        }
        function $t(L, Re, Ct) {
          return ol(e) ? Xe(L, Re, Ct) : ue(
            e.locals,
            /*parent*/
            void 0,
            L,
            Re,
            Ct
          );
        }
        function Qn(L) {
          const Re = xi(L) ? L : Mn(L.body, om);
          return !!Re && Re.statements.some((Ct) => Oc(Ct) || Oo(Ct));
        }
        function Ns(L) {
          L.flags & 33554432 && !Qn(L) ? L.flags |= 128 : L.flags &= -129;
        }
        function $s(L) {
          if (Ns(L), Fu(L))
            if (qn(
              L,
              32
              /* Export */
            ) && Zt(L, p.export_modifier_cannot_be_applied_to_ambient_modules_and_module_augmentations_since_they_are_always_visible), iB(L))
              Es(L);
            else {
              let Re;
              if (L.name.kind === 11) {
                const { text: Sr } = L.name;
                Re = wx(Sr), Re === void 0 && Zt(L.name, p.Pattern_0_can_have_at_most_one_Asterisk_character, Sr);
              }
              const Ct = lr(
                L,
                512,
                110735
                /* ValueModuleExcludes */
              );
              e.patternAmbientModules = Dr(e.patternAmbientModules, Re && !cs(Re) ? { pattern: Re, symbol: Ct } : void 0);
            }
          else {
            const Re = Es(L);
            if (Re !== 0) {
              const { symbol: Ct } = L;
              Ct.constEnumOnlyModule = !(Ct.flags & 304) && Re === 2 && Ct.constEnumOnlyModule !== !1;
            }
          }
        }
        function Es(L) {
          const Re = jh(L), Ct = Re !== 0;
          return lr(
            L,
            Ct ? 512 : 1024,
            Ct ? 110735 : 0
            /* NamespaceModuleExcludes */
          ), Re;
        }
        function Nc(L) {
          const Re = Me(131072, re(L));
          De(
            Re,
            L,
            131072
            /* Signature */
          );
          const Ct = Me(
            2048,
            "__type"
            /* Type */
          );
          De(
            Ct,
            L,
            2048
            /* TypeLiteral */
          ), Ct.members = qs(), Ct.members.set(Re.escapedName, Re);
        }
        function qo(L) {
          return ps(
            L,
            4096,
            "__object"
            /* Object */
          );
        }
        function kc(L) {
          return ps(
            L,
            4096,
            "__jsxAttributes"
            /* JSXAttributes */
          );
        }
        function gi(L, Re, Ct) {
          return lr(L, Re, Ct);
        }
        function ps(L, Re, Ct) {
          const Sr = Me(Re, Ct);
          return Re & 106508 && (Sr.parent = s.symbol), De(Sr, L, Re), Sr;
        }
        function Wc(L, Re, Ct) {
          switch (c.kind) {
            case 267:
              Xe(L, Re, Ct);
              break;
            case 307:
              if (H_(s)) {
                Xe(L, Re, Ct);
                break;
              }
            // falls through
            default:
              E.assertNode(c, qm), c.locals || (c.locals = qs(), cr(c)), ue(
                c.locals,
                /*parent*/
                void 0,
                L,
                Re,
                Ct
              );
          }
        }
        function Lo() {
          if (!u)
            return;
          const L = s, Re = _, Ct = c, Sr = i, Zi = h;
          for (const fi of u) {
            const Vi = fi.parent.parent;
            s = J7(Vi) || e, c = pd(Vi) || e, h = eg(
              2,
              /*node*/
              void 0,
              /*antecedent*/
              void 0
            ), i = fi, xr(fi.typeExpression);
            const as = ls(fi);
            if ((NN(fi) || !fi.fullName) && as && Y3(as.parent)) {
              const Ao = hf(as.parent);
              if (Ao) {
                n_(
                  e.symbol,
                  as.parent,
                  Ao,
                  !!_r(as, (nl) => kn(nl) && nl.name.escapedText === "prototype"),
                  /*containerIsClass*/
                  !1
                );
                const ra = s;
                switch (P3(as.parent)) {
                  case 1:
                  case 2:
                    H_(e) ? s = e : s = void 0;
                    break;
                  case 4:
                    s = as.parent.expression;
                    break;
                  case 3:
                    s = as.parent.expression.name;
                    break;
                  case 5:
                    s = Kb(e, as.parent.expression) ? e : kn(as.parent.expression) ? as.parent.expression.name : as.parent.expression;
                    break;
                  case 0:
                    return E.fail("Shouldn't have detected typedef or enum on non-assignment declaration");
                }
                s && Xe(
                  fi,
                  524288,
                  788968
                  /* TypeAliasExcludes */
                ), s = ra;
              }
            } else NN(fi) || !fi.fullName || fi.fullName.kind === 80 ? (i = fi.parent, Wc(
              fi,
              524288,
              788968
              /* TypeAliasExcludes */
            )) : xr(fi.fullName);
          }
          s = L, _ = Re, c = Ct, i = Sr, h = Zi;
        }
        function Pa() {
          if (m === void 0)
            return;
          const L = s, Re = _, Ct = c, Sr = i, Zi = h;
          for (const fi of m) {
            const Vi = Nb(fi), as = Vi ? J7(Vi) : void 0, Ao = Vi ? pd(Vi) : void 0;
            s = as || e, c = Ao || e, h = eg(
              2,
              /*node*/
              void 0,
              /*antecedent*/
              void 0
            ), i = fi, xr(fi.importClause);
          }
          s = L, _ = Re, c = Ct, i = Sr, h = Zi;
        }
        function Bo(L) {
          if (!e.parseDiagnostics.length && !(L.flags & 33554432) && !(L.flags & 16777216) && !DK(L)) {
            const Re = sS(L);
            if (Re === void 0)
              return;
            W && Re >= 119 && Re <= 127 ? e.bindDiagnostics.push(me(L, rf(L), _o(L))) : Re === 135 ? ol(e) && Q7(L) ? e.bindDiagnostics.push(me(L, p.Identifier_expected_0_is_a_reserved_word_at_the_top_level_of_a_module, _o(L))) : L.flags & 65536 && e.bindDiagnostics.push(me(L, p.Identifier_expected_0_is_a_reserved_word_that_cannot_be_used_here, _o(L))) : Re === 127 && L.flags & 16384 && e.bindDiagnostics.push(me(L, p.Identifier_expected_0_is_a_reserved_word_that_cannot_be_used_here, _o(L)));
          }
        }
        function rf(L) {
          return Jl(L) ? p.Identifier_expected_0_is_a_reserved_word_in_strict_mode_Class_definitions_are_automatically_in_strict_mode : e.externalModuleIndicator ? p.Identifier_expected_0_is_a_reserved_word_in_strict_mode_Modules_are_automatically_in_strict_mode : p.Identifier_expected_0_is_a_reserved_word_in_strict_mode;
        }
        function ss(L) {
          L.escapedText === "#constructor" && (e.parseDiagnostics.length || e.bindDiagnostics.push(me(L, p.constructor_is_a_reserved_word, _o(L))));
        }
        function Vs(L) {
          W && __(L.left) && Ah(L.operatorToken.kind) && Ka(L, L.left);
        }
        function Aa(L) {
          W && L.variableDeclaration && Ka(L, L.variableDeclaration.name);
        }
        function Ca(L) {
          if (W && L.expression.kind === 80) {
            const Re = pS(e, L.expression);
            e.bindDiagnostics.push(al(e, Re.start, Re.length, p.delete_cannot_be_called_on_an_identifier_in_strict_mode));
          }
        }
        function zt(L) {
          return Fe(L) && (L.escapedText === "eval" || L.escapedText === "arguments");
        }
        function Ka(L, Re) {
          if (Re && Re.kind === 80) {
            const Ct = Re;
            if (zt(Ct)) {
              const Sr = pS(e, Re);
              e.bindDiagnostics.push(al(e, Sr.start, Sr.length, Vc(L), Pn(Ct)));
            }
          }
        }
        function Vc(L) {
          return Jl(L) ? p.Code_contained_in_a_class_is_evaluated_in_JavaScript_s_strict_mode_which_does_not_allow_this_use_of_0_For_more_information_see_https_Colon_Slash_Slashdeveloper_mozilla_org_Slashen_US_Slashdocs_SlashWeb_SlashJavaScript_SlashReference_SlashStrict_mode : e.externalModuleIndicator ? p.Invalid_use_of_0_Modules_are_automatically_in_strict_mode : p.Invalid_use_of_0_in_strict_mode;
        }
        function tc(L) {
          W && !(L.flags & 33554432) && Ka(L, L.name);
        }
        function eu(L) {
          return Jl(L) ? p.Function_declarations_are_not_allowed_inside_blocks_in_strict_mode_when_targeting_ES5_Class_definitions_are_automatically_in_strict_mode : e.externalModuleIndicator ? p.Function_declarations_are_not_allowed_inside_blocks_in_strict_mode_when_targeting_ES5_Modules_are_automatically_in_strict_mode : p.Function_declarations_are_not_allowed_inside_blocks_in_strict_mode_when_targeting_ES5;
        }
        function yo(L) {
          if (n < 2 && c.kind !== 307 && c.kind !== 267 && !IC(c)) {
            const Re = pS(e, L);
            e.bindDiagnostics.push(al(e, Re.start, Re.length, eu(L)));
          }
        }
        function ge(L) {
          W && Ka(L, L.operand);
        }
        function H(L) {
          W && (L.operator === 46 || L.operator === 47) && Ka(L, L.operand);
        }
        function et(L) {
          W && Zt(L, p.with_statements_are_not_allowed_in_strict_mode);
        }
        function Ot(L) {
          W && ga(t) >= 2 && (kZ(L.statement) || Sc(L.statement)) && Zt(L.label, p.A_label_is_not_allowed_here);
        }
        function Zt(L, Re, ...Ct) {
          const Sr = Xd(e, L.pos);
          e.bindDiagnostics.push(al(e, Sr.start, Sr.length, Re, ...Ct));
        }
        function Ur(L, Re, Ct) {
          Vn(L, Re, Re, Ct);
        }
        function Vn(L, Re, Ct, Sr) {
          sn(L, { pos: Vy(Re, e), end: Ct.end }, Sr);
        }
        function sn(L, Re, Ct) {
          const Sr = al(e, Re.pos, Re.end - Re.pos, Ct);
          L ? e.bindDiagnostics.push(Sr) : e.bindSuggestionDiagnostics = Dr(e.bindSuggestionDiagnostics, {
            ...Sr,
            category: 2
            /* Suggestion */
          });
        }
        function xr(L) {
          if (!L)
            return;
          Wa(L, i), rn && (L.tracingPath = e.path);
          const Re = W;
          if (da(L), L.kind > 165) {
            const Ct = i;
            i = L;
            const Sr = dW(L);
            Sr === 0 ? Ee(L) : oe(L, Sr), i = Ct;
          } else {
            const Ct = i;
            L.kind === 1 && (i = L), Li(L), i = Ct;
          }
          W = Re;
        }
        function Li(L) {
          if (pf(L))
            if (tn(L))
              for (const Re of L.jsDoc)
                xr(Re);
            else
              for (const Re of L.jsDoc)
                Wa(Re, L), tv(
                  Re,
                  /*incremental*/
                  !1
                );
        }
        function Qi(L) {
          if (!W)
            for (const Re of L) {
              if (!Qd(Re))
                return;
              if (no(Re)) {
                W = !0;
                return;
              }
            }
        }
        function no(L) {
          const Re = xb(e, L.expression);
          return Re === '"use strict"' || Re === "'use strict'";
        }
        function da(L) {
          switch (L.kind) {
            /* Strict mode checks */
            case 80:
              if (L.flags & 4096) {
                let Vi = L.parent;
                for (; Vi && !Dp(Vi); )
                  Vi = Vi.parent;
                Wc(
                  Vi,
                  524288,
                  788968
                  /* TypeAliasExcludes */
                );
                break;
              }
            // falls through
            case 110:
              return h && (lt(L) || i.kind === 304) && (L.flowNode = h), Bo(L);
            case 166:
              h && e5(L) && (L.flowNode = h);
              break;
            case 236:
            case 108:
              L.flowNode = h;
              break;
            case 81:
              return ss(L);
            case 211:
            case 212:
              const Re = L;
              h && ze(Re) && (Re.flowNode = h), yK(Re) && Ac(Re), tn(Re) && e.commonJsModuleIndicator && Rg(Re) && !_O(c, "module") && ue(
                e.locals,
                /*parent*/
                void 0,
                Re.expression,
                134217729,
                111550
                /* FunctionScopedVariableExcludes */
              );
              break;
            case 226:
              switch (Pc(L)) {
                case 1:
                  It(L);
                  break;
                case 2:
                  Xr(L);
                  break;
                case 3:
                  Mc(L.left, L);
                  break;
                case 6:
                  rc(L);
                  break;
                case 4:
                  Is(L);
                  break;
                case 5:
                  const Vi = L.left.expression;
                  if (tn(L) && Fe(Vi)) {
                    const as = _O(c, Vi.escapedText);
                    if (Y7(as?.valueDeclaration)) {
                      Is(L);
                      break;
                    }
                  }
                  ul(L);
                  break;
                case 0:
                  break;
                default:
                  E.fail("Unknown binary expression special property assignment kind");
              }
              return Vs(L);
            case 299:
              return Aa(L);
            case 220:
              return Ca(L);
            case 225:
              return ge(L);
            case 224:
              return H(L);
            case 254:
              return et(L);
            case 256:
              return Ot(L);
            case 197:
              g = !0;
              return;
            case 182:
              break;
            // Binding the children will handle everything
            case 168:
              return On(L);
            case 169:
              return Ke(L);
            case 260:
              return Z(L);
            case 208:
              return L.flowNode = h, Z(L);
            case 172:
            case 171:
              return vo(L);
            case 303:
            case 304:
              return vr(
                L,
                4,
                0
                /* PropertyExcludes */
              );
            case 306:
              return vr(
                L,
                8,
                900095
                /* EnumMemberExcludes */
              );
            case 179:
            case 180:
            case 181:
              return lr(
                L,
                131072,
                0
                /* None */
              );
            case 174:
            case 173:
              return vr(
                L,
                8192 | (L.questionToken ? 16777216 : 0),
                Ep(L) ? 0 : 103359
                /* MethodExcludes */
              );
            case 262:
              return Vt(L);
            case 176:
              return lr(
                L,
                16384,
                /*symbolExcludes:*/
                0
                /* None */
              );
            case 177:
              return vr(
                L,
                32768,
                46015
                /* GetAccessorExcludes */
              );
            case 178:
              return vr(
                L,
                65536,
                78783
                /* SetAccessorExcludes */
              );
            case 184:
            case 317:
            case 323:
            case 185:
              return Nc(L);
            case 187:
            case 322:
            case 200:
              return fc(L);
            case 332:
              return Mr(L);
            case 210:
              return qo(L);
            case 218:
            case 219:
              return Ut(L);
            case 213:
              switch (Pc(L)) {
                case 7:
                  return ll(L);
                case 8:
                  return Ae(L);
                case 9:
                  return nc(L);
                case 0:
                  break;
                // Nothing to do
                default:
                  return E.fail("Unknown call expression assignment declaration kind");
              }
              tn(L) && vm(L);
              break;
            // Members of classes, interfaces, and modules
            case 231:
            case 263:
              return W = !0, yf(L);
            case 264:
              return Wc(
                L,
                64,
                788872
                /* InterfaceExcludes */
              );
            case 265:
              return Wc(
                L,
                524288,
                788968
                /* TypeAliasExcludes */
              );
            case 266:
              return Yg(L);
            case 267:
              return $s(L);
            // Jsx-attributes
            case 292:
              return kc(L);
            case 291:
              return gi(
                L,
                4,
                0
                /* PropertyExcludes */
              );
            // Imports and exports
            case 271:
            case 274:
            case 276:
            case 281:
              return lr(
                L,
                2097152,
                2097152
                /* AliasExcludes */
              );
            case 270:
              return Cd(L);
            case 273:
              return Rf(L);
            case 278:
              return tu(L);
            case 277:
              return pc(L);
            case 307:
              return Qi(L.statements), Lc();
            case 241:
              if (!IC(L.parent))
                return;
            // falls through
            case 268:
              return Qi(L.statements);
            case 341:
              if (L.parent.kind === 323)
                return Ke(L);
              if (L.parent.kind !== 322)
                break;
            // falls through
            case 348:
              const Zi = L, fi = Zi.isBracketed || Zi.typeExpression && Zi.typeExpression.type.kind === 316 ? 16777220 : 4;
              return lr(
                Zi,
                fi,
                0
                /* PropertyExcludes */
              );
            case 346:
            case 338:
            case 340:
              return (u || (u = [])).push(L);
            case 339:
              return xr(L.typeExpression);
            case 351:
              return (m || (m = [])).push(L);
          }
        }
        function vo(L) {
          const Re = u_(L), Ct = Re ? 98304 : 4, Sr = Re ? 13247 : 0;
          return vr(L, Ct | (L.questionToken ? 16777216 : 0), Sr);
        }
        function fc(L) {
          return ps(
            L,
            2048,
            "__type"
            /* Type */
          );
        }
        function Lc() {
          if (Ns(e), ol(e))
            bo();
          else if (Kf(e)) {
            bo();
            const L = e.symbol;
            ue(
              e.symbol.exports,
              e.symbol,
              e,
              4,
              -1
              /* All */
            ), e.symbol = L;
          }
        }
        function bo() {
          ps(e, 512, `"${Ru(e.fileName)}"`);
        }
        function pc(L) {
          if (!s.symbol || !s.symbol.exports)
            ps(L, 111551, re(L));
          else {
            const Re = B3(L) ? 2097152 : 4, Ct = ue(
              s.symbol.exports,
              s.symbol,
              L,
              Re,
              -1
              /* All */
            );
            L.isExportEquals && A3(Ct, L);
          }
        }
        function Cd(L) {
          at(L.modifiers) && e.bindDiagnostics.push(me(L, p.Modifiers_cannot_appear_here));
          const Re = xi(L.parent) ? ol(L.parent) ? L.parent.isDeclarationFile ? void 0 : p.Global_module_exports_may_only_appear_in_declaration_files : p.Global_module_exports_may_only_appear_in_module_files : p.Global_module_exports_may_only_appear_at_top_level;
          Re ? e.bindDiagnostics.push(me(L, Re)) : (e.symbol.globalExports = e.symbol.globalExports || qs(), ue(
            e.symbol.globalExports,
            e.symbol,
            L,
            2097152,
            2097152
            /* AliasExcludes */
          ));
        }
        function tu(L) {
          !s.symbol || !s.symbol.exports ? ps(L, 8388608, re(L)) : L.exportClause ? Zm(L.exportClause) && (Wa(L.exportClause, L), ue(
            s.symbol.exports,
            s.symbol,
            L.exportClause,
            2097152,
            2097152
            /* AliasExcludes */
          )) : ue(
            s.symbol.exports,
            s.symbol,
            L,
            8388608,
            0
            /* None */
          );
        }
        function Rf(L) {
          L.name && lr(
            L,
            2097152,
            2097152
            /* AliasExcludes */
          );
        }
        function r_(L) {
          return e.externalModuleIndicator && e.externalModuleIndicator !== !0 ? !1 : (e.commonJsModuleIndicator || (e.commonJsModuleIndicator = L, e.externalModuleIndicator || bo()), !0);
        }
        function Ae(L) {
          if (!r_(L))
            return;
          const Re = Ju(
            L.arguments[0],
            /*parent*/
            void 0,
            (Ct, Sr) => (Sr && De(
              Sr,
              Ct,
              67110400
              /* Assignment */
            ), Sr)
          );
          Re && ue(
            Re.exports,
            Re,
            L,
            1048580,
            0
            /* None */
          );
        }
        function It(L) {
          if (!r_(L))
            return;
          const Re = Ju(
            L.left.expression,
            /*parent*/
            void 0,
            (Ct, Sr) => (Sr && De(
              Sr,
              Ct,
              67110400
              /* Assignment */
            ), Sr)
          );
          if (Re) {
            const Sr = c5(L.right) && (gS(L.left.expression) || Rg(L.left.expression)) ? 2097152 : 1048580;
            Wa(L.left, L), ue(
              Re.exports,
              Re,
              L.left,
              Sr,
              0
              /* None */
            );
          }
        }
        function Xr(L) {
          if (!r_(L))
            return;
          const Re = D3(L.right);
          if (rJ(Re) || s === e && Kb(e, Re))
            return;
          if (ua(Re) && Pi(Re.properties, _u)) {
            ar(Re.properties, qi);
            return;
          }
          const Ct = B3(L) ? 2097152 : 1049092, Sr = ue(
            e.symbol.exports,
            e.symbol,
            L,
            Ct | 67108864,
            0
            /* None */
          );
          A3(Sr, L);
        }
        function qi(L) {
          ue(
            e.symbol.exports,
            e.symbol,
            L,
            69206016,
            0
            /* None */
          );
        }
        function Is(L) {
          if (E.assert(tn(L)), _n(L) && kn(L.left) && Di(L.left.name) || kn(L) && Di(L.name))
            return;
          const Ct = Ou(
            L,
            /*includeArrowFunctions*/
            !1,
            /*includeClassComputedPropertyName*/
            !1
          );
          switch (Ct.kind) {
            case 262:
            case 218:
              let Sr = Ct.symbol;
              if (_n(Ct.parent) && Ct.parent.operatorToken.kind === 64) {
                const Vi = Ct.parent.left;
                Pb(Vi) && Qy(Vi.expression) && (Sr = y_(Vi.expression.expression, o));
              }
              Sr && Sr.valueDeclaration && (Sr.members = Sr.members || qs(), Ph(L) ? Ea(L, Sr, Sr.members) : ue(
                Sr.members,
                Sr,
                L,
                67108868,
                0
                /* Property */
              ), De(
                Sr,
                Sr.valueDeclaration,
                32
                /* Class */
              ));
              break;
            case 176:
            case 172:
            case 174:
            case 177:
            case 178:
            case 175:
              const Zi = Ct.parent, fi = zs(Ct) ? Zi.symbol.exports : Zi.symbol.members;
              Ph(L) ? Ea(L, Zi.symbol, fi) : ue(
                fi,
                Zi.symbol,
                L,
                67108868,
                0,
                /*isReplaceableByMethod*/
                !0
              );
              break;
            case 307:
              if (Ph(L))
                break;
              Ct.commonJsModuleIndicator ? ue(
                Ct.symbol.exports,
                Ct.symbol,
                L,
                1048580,
                0
                /* None */
              ) : lr(
                L,
                1,
                111550
                /* FunctionScopedVariableExcludes */
              );
              break;
            // Namespaces are not allowed in javascript files, so do nothing here
            case 267:
              break;
            default:
              E.failBadSyntaxKind(Ct);
          }
        }
        function Ea(L, Re, Ct) {
          ue(
            Ct,
            Re,
            L,
            4,
            0,
            /*isReplaceableByMethod*/
            !0,
            /*isComputedName*/
            !0
          ), Do(L, Re);
        }
        function Do(L, Re) {
          Re && (Re.assignmentDeclarationMembers || (Re.assignmentDeclarationMembers = /* @__PURE__ */ new Map())).set(Oa(L), L);
        }
        function Ac(L) {
          L.expression.kind === 110 ? Is(L) : Pb(L) && L.parent.parent.kind === 307 && (Qy(L.expression) ? Mc(L, L.parent) : nf(L));
        }
        function rc(L) {
          Wa(L.left, L), Wa(L.right, L), ym(
            L.left.expression,
            L.left,
            /*isPrototypeProperty*/
            !1,
            /*containerIsClass*/
            !0
          );
        }
        function nc(L) {
          const Re = y_(L.arguments[0].expression);
          Re && Re.valueDeclaration && De(
            Re,
            Re.valueDeclaration,
            32
            /* Class */
          ), ed(
            L,
            Re,
            /*isPrototypeProperty*/
            !0
          );
        }
        function Mc(L, Re) {
          const Ct = L.expression, Sr = Ct.expression;
          Wa(Sr, Ct), Wa(Ct, L), Wa(L, Re), ym(
            Sr,
            L,
            /*isPrototypeProperty*/
            !0,
            /*containerIsClass*/
            !0
          );
        }
        function ll(L) {
          let Re = y_(L.arguments[0]);
          const Ct = L.parent.parent.kind === 307;
          Re = n_(
            Re,
            L.arguments[0],
            Ct,
            /*isPrototypeProperty*/
            !1,
            /*containerIsClass*/
            !1
          ), ed(
            L,
            Re,
            /*isPrototypeProperty*/
            !1
          );
        }
        function ul(L) {
          var Re;
          const Ct = y_(L.left.expression, c) || y_(L.left.expression, s);
          if (!tn(L) && !vK(Ct))
            return;
          const Sr = r6(L.left);
          if (!(Fe(Sr) && ((Re = _O(s, Sr.escapedText)) == null ? void 0 : Re.flags) & 2097152))
            if (Wa(L.left, L), Wa(L.right, L), Fe(L.left.expression) && s === e && Kb(e, L.left.expression))
              It(L);
            else if (Ph(L)) {
              ps(
                L,
                67108868,
                "__computed"
                /* Computed */
              );
              const Zi = n_(
                Ct,
                L.left.expression,
                hf(L.left),
                /*isPrototypeProperty*/
                !1,
                /*containerIsClass*/
                !1
              );
              Do(L, Zi);
            } else
              nf(Us(L.left, yS));
        }
        function nf(L) {
          E.assert(!Fe(L)), Wa(L.expression, L), ym(
            L.expression,
            L,
            /*isPrototypeProperty*/
            !1,
            /*containerIsClass*/
            !1
          );
        }
        function n_(L, Re, Ct, Sr, Zi) {
          return L?.flags & 2097152 || (Ct && !Sr && (L = Ju(Re, L, (as, Ao, ra) => {
            if (Ao)
              return De(Ao, as, 67110400), Ao;
            {
              const nl = ra ? ra.exports : e.jsGlobalAugmentations || (e.jsGlobalAugmentations = qs());
              return ue(nl, ra, as, 67110400, 110735);
            }
          })), Zi && L && L.valueDeclaration && De(
            L,
            L.valueDeclaration,
            32
            /* Class */
          )), L;
        }
        function ed(L, Re, Ct) {
          if (!Re || !Qg(Re))
            return;
          const Sr = Ct ? Re.members || (Re.members = qs()) : Re.exports || (Re.exports = qs());
          let Zi = 0, fi = 0;
          uo(_x(L)) ? (Zi = 8192, fi = 103359) : Ms(L) && hS(L) && (at(L.arguments[2].properties, (Vi) => {
            const as = ls(Vi);
            return !!as && Fe(as) && Pn(as) === "set";
          }) && (Zi |= 65540, fi |= 78783), at(L.arguments[2].properties, (Vi) => {
            const as = ls(Vi);
            return !!as && Fe(as) && Pn(as) === "get";
          }) && (Zi |= 32772, fi |= 46015)), Zi === 0 && (Zi = 4, fi = 0), ue(
            Sr,
            Re,
            L,
            Zi | 67108864,
            fi & -67108865
            /* Assignment */
          );
        }
        function hf(L) {
          return _n(L.parent) ? jf(L.parent).parent.kind === 307 : L.parent.parent.kind === 307;
        }
        function ym(L, Re, Ct, Sr) {
          let Zi = y_(L, c) || y_(L, s);
          const fi = hf(Re);
          Zi = n_(Zi, Re.expression, fi, Ct, Sr), ed(Re, Zi, Ct);
        }
        function Qg(L) {
          if (L.flags & 1072)
            return !0;
          const Re = L.valueDeclaration;
          if (Re && Ms(Re))
            return !!_x(Re);
          let Ct = Re ? Zn(Re) ? Re.initializer : _n(Re) ? Re.right : kn(Re) && _n(Re.parent) ? Re.parent.right : void 0 : void 0;
          if (Ct = Ct && D3(Ct), Ct) {
            const Sr = Qy(Zn(Re) ? Re.name : _n(Re) ? Re.left : Re);
            return !!$1(_n(Ct) && (Ct.operatorToken.kind === 57 || Ct.operatorToken.kind === 61) ? Ct.right : Ct, Sr);
          }
          return !1;
        }
        function jf(L) {
          for (; _n(L.parent); )
            L = L.parent;
          return L.parent;
        }
        function y_(L, Re = s) {
          if (Fe(L))
            return _O(Re, L.escapedText);
          {
            const Ct = y_(L.expression);
            return Ct && Ct.exports && Ct.exports.get(wh(L));
          }
        }
        function Ju(L, Re, Ct) {
          if (Kb(e, L))
            return e.symbol;
          if (Fe(L))
            return Ct(L, y_(L), Re);
          {
            const Sr = Ju(L.expression, Re, Ct), Zi = w3(L);
            return Di(Zi) && E.fail("unexpected PrivateIdentifier"), Ct(Zi, Sr && Sr.exports && Sr.exports.get(wh(L)), Sr);
          }
        }
        function vm(L) {
          !e.commonJsModuleIndicator && f_(
            L,
            /*requireStringLiteralLikeArgument*/
            !1
          ) && r_(L);
        }
        function yf(L) {
          if (L.kind === 263)
            Wc(
              L,
              32,
              899503
              /* ClassExcludes */
            );
          else {
            const Zi = L.name ? L.name.escapedText : "__class";
            ps(L, 32, Zi), L.name && ee.add(L.name.escapedText);
          }
          const { symbol: Re } = L, Ct = Me(4194308, "prototype"), Sr = Re.exports.get(Ct.escapedName);
          Sr && (L.name && Wa(L.name, L), e.bindDiagnostics.push(me(Sr.declarations[0], p.Duplicate_identifier_0, bc(Ct)))), Re.exports.set(Ct.escapedName, Ct), Ct.parent = Re;
        }
        function Yg(L) {
          return H1(L) ? Wc(
            L,
            128,
            899967
            /* ConstEnumExcludes */
          ) : Wc(
            L,
            256,
            899327
            /* RegularEnumExcludes */
          );
        }
        function Z(L) {
          if (W && Ka(L, L.name), !Ps(L.name)) {
            const Re = L.kind === 260 ? L : L.parent.parent;
            tn(L) && wb(Re) && !V1(L) && !(W1(L) & 32) ? lr(
              L,
              2097152,
              2097152
              /* AliasExcludes */
            ) : tB(L) ? Wc(
              L,
              2,
              111551
              /* BlockScopedVariableExcludes */
            ) : Z1(L) ? lr(
              L,
              1,
              111551
              /* ParameterExcludes */
            ) : lr(
              L,
              1,
              111550
              /* FunctionScopedVariableExcludes */
            );
          }
        }
        function Ke(L) {
          if (!(L.kind === 341 && s.kind !== 323) && (W && !(L.flags & 33554432) && Ka(L, L.name), Ps(L.name) ? ps(L, 1, "__" + L.parent.parameters.indexOf(L)) : lr(
            L,
            1,
            111551
            /* ParameterExcludes */
          ), U_(L, L.parent))) {
            const Re = L.parent.parent;
            ue(
              Re.symbol.members,
              Re.symbol,
              L,
              4 | (L.questionToken ? 16777216 : 0),
              0
              /* PropertyExcludes */
            );
          }
        }
        function Vt(L) {
          !e.isDeclarationFile && !(L.flags & 33554432) && $4(L) && (G |= 4096), tc(L), W ? (yo(L), Wc(
            L,
            16,
            110991
            /* FunctionExcludes */
          )) : lr(
            L,
            16,
            110991
            /* FunctionExcludes */
          );
        }
        function Ut(L) {
          !e.isDeclarationFile && !(L.flags & 33554432) && $4(L) && (G |= 4096), h && (L.flowNode = h), tc(L);
          const Re = L.name ? L.name.escapedText : "__function";
          return ps(L, 16, Re);
        }
        function vr(L, Re, Ct) {
          return !e.isDeclarationFile && !(L.flags & 33554432) && $4(L) && (G |= 4096), h && H7(L) && (L.flowNode = h), Ph(L) ? ps(
            L,
            Re,
            "__computed"
            /* Computed */
          ) : lr(L, Re, Ct);
        }
        function qr(L) {
          const Re = _r(L, (Ct) => Ct.parent && Ub(Ct.parent) && Ct.parent.extendsType === Ct);
          return Re && Re.parent;
        }
        function On(L) {
          if (Ip(L.parent)) {
            const Re = o5(L.parent);
            Re ? (E.assertNode(Re, qm), Re.locals ?? (Re.locals = qs()), ue(
              Re.locals,
              /*parent*/
              void 0,
              L,
              262144,
              526824
              /* TypeParameterExcludes */
            )) : lr(
              L,
              262144,
              526824
              /* TypeParameterExcludes */
            );
          } else if (L.parent.kind === 195) {
            const Re = qr(L.parent);
            Re ? (E.assertNode(Re, qm), Re.locals ?? (Re.locals = qs()), ue(
              Re.locals,
              /*parent*/
              void 0,
              L,
              262144,
              526824
              /* TypeParameterExcludes */
            )) : ps(L, 262144, re(L));
          } else
            lr(
              L,
              262144,
              526824
              /* TypeParameterExcludes */
            );
        }
        function ti(L) {
          const Re = jh(L);
          return Re === 1 || Re === 2 && Yy(t);
        }
        function Ii(L) {
          if (!(h.flags & 1))
            return !1;
          if (h === te && // report error on all statements except empty ones
          (r3(L) && L.kind !== 242 || // report error on class declarations
          L.kind === 263 || // report errors on enums with preserved emit
          f1e(L, t) || // report error on instantiated modules
          L.kind === 267 && ti(L)) && (h = ie, !t.allowUnreachableCode)) {
            const Ct = gee(t) && !(L.flags & 33554432) && (!Sc(L) || !!(Ch(L.declarationList) & 7) || L.declarationList.declarations.some((Sr) => !!Sr.initializer));
            XMe(L, t, (Sr, Zi) => Vn(Ct, Sr, Zi, p.Unreachable_code_detected));
          }
          return !0;
        }
      }
      function f1e(e, t) {
        return e.kind === 266 && (!H1(e) || Yy(t));
      }
      function XMe(e, t, n) {
        if (yi(e) && i(e) && Cs(e.parent)) {
          const { statements: o } = e.parent, c = PJ(o, e);
          TR(c, i, (_, u) => n(c[_], c[u - 1]));
        } else
          n(e, e);
        function i(o) {
          return !Tc(o) && !s(o) && // `var x;` may declare a variable used above
          !(Sc(o) && !(Ch(o) & 7) && o.declarationList.declarations.some((c) => !c.initializer));
        }
        function s(o) {
          switch (o.kind) {
            case 264:
            case 265:
              return !0;
            case 267:
              return jh(o) !== 1;
            case 266:
              return !f1e(o, t);
            default:
              return !1;
          }
        }
      }
      function Kb(e, t) {
        let n = 0;
        const i = DP();
        for (i.enqueue(t); !i.isEmpty() && n < 100; ) {
          if (n++, t = i.dequeue(), gS(t) || Rg(t))
            return !0;
          if (Fe(t)) {
            const s = _O(e, t.escapedText);
            if (s && s.valueDeclaration && Zn(s.valueDeclaration) && s.valueDeclaration.initializer) {
              const o = s.valueDeclaration.initializer;
              i.enqueue(o), wl(
                o,
                /*excludeCompoundAssignment*/
                !0
              ) && (i.enqueue(o.left), i.enqueue(o.right));
            }
          }
        }
        return !1;
      }
      function dW(e) {
        switch (e.kind) {
          case 231:
          case 263:
          case 266:
          case 210:
          case 187:
          case 322:
          case 292:
            return 1;
          case 264:
            return 65;
          case 267:
          case 265:
          case 200:
          case 181:
            return 33;
          case 307:
            return 37;
          case 177:
          case 178:
          case 174:
            if (H7(e))
              return 173;
          // falls through
          case 176:
          case 262:
          case 173:
          case 179:
          case 323:
          case 317:
          case 184:
          case 180:
          case 185:
          case 175:
            return 45;
          case 218:
          case 219:
            return 61;
          case 268:
            return 4;
          case 172:
            return e.initializer ? 4 : 0;
          case 299:
          case 248:
          case 249:
          case 250:
          case 269:
            return 34;
          case 241:
            return Ts(e.parent) || hc(e.parent) ? 0 : 34;
        }
        return 0;
      }
      function _O(e, t) {
        var n, i, s, o;
        const c = (i = (n = Mn(e, qm)) == null ? void 0 : n.locals) == null ? void 0 : i.get(t);
        if (c)
          return c.exportSymbol ?? c;
        if (xi(e) && e.jsGlobalAugmentations && e.jsGlobalAugmentations.has(t))
          return e.jsGlobalAugmentations.get(t);
        if (fd(e))
          return (o = (s = e.symbol) == null ? void 0 : s.exports) == null ? void 0 : o.get(t);
      }
      function une(e, t, n, i, s, o, c, _, u, g) {
        return m;
        function m(h = () => !0) {
          const S = [], T = [];
          return {
            walkType: (pe) => {
              try {
                return k(pe), { visitedTypes: UT(S), visitedSymbols: UT(T) };
              } finally {
                bp(S), bp(T);
              }
            },
            walkSymbol: (pe) => {
              try {
                return W(pe), { visitedTypes: UT(S), visitedSymbols: UT(T) };
              } finally {
                bp(S), bp(T);
              }
            }
          };
          function k(pe) {
            if (!(!pe || S[pe.id] || (S[pe.id] = pe, W(pe.symbol)))) {
              if (pe.flags & 524288) {
                const U = pe, ee = U.objectFlags;
                ee & 4 && D(pe), ee & 32 && j(pe), ee & 3 && V(pe), ee & 24 && G(U);
              }
              pe.flags & 262144 && w(pe), pe.flags & 3145728 && A(pe), pe.flags & 4194304 && O(pe), pe.flags & 8388608 && F(pe);
            }
          }
          function D(pe) {
            k(pe.target), ar(g(pe), k);
          }
          function w(pe) {
            k(_(pe));
          }
          function A(pe) {
            ar(pe.types, k);
          }
          function O(pe) {
            k(pe.type);
          }
          function F(pe) {
            k(pe.objectType), k(pe.indexType), k(pe.constraint);
          }
          function j(pe) {
            k(pe.typeParameter), k(pe.constraintType), k(pe.templateType), k(pe.modifiersType);
          }
          function z(pe) {
            const K = t(pe);
            K && k(K.type), ar(pe.typeParameters, k);
            for (const U of pe.parameters)
              W(U);
            k(e(pe)), k(n(pe));
          }
          function V(pe) {
            G(pe), ar(pe.typeParameters, k), ar(i(pe), k), k(pe.thisType);
          }
          function G(pe) {
            const K = s(pe);
            for (const U of K.indexInfos)
              k(U.keyType), k(U.type);
            for (const U of K.callSignatures)
              z(U);
            for (const U of K.constructSignatures)
              z(U);
            for (const U of K.properties)
              W(U);
          }
          function W(pe) {
            if (!pe)
              return !1;
            const K = ea(pe);
            if (T[K])
              return !1;
            if (T[K] = pe, !h(pe))
              return !0;
            const U = o(pe);
            return k(U), pe.exports && pe.exports.forEach(W), ar(pe.declarations, (ee) => {
              if (ee.type && ee.type.kind === 186) {
                const te = ee.type, ie = c(u(te.exprName));
                W(ie);
              }
            }), !1;
          }
        }
      }
      var Bh = {};
      Ta(Bh, {
        RelativePreference: () => p1e,
        countPathComponents: () => dO,
        forEachFileNameOfModule: () => v1e,
        getLocalModuleSpecifierBetweenFileNames: () => tRe,
        getModuleSpecifier: () => ZMe,
        getModuleSpecifierPreferences: () => eA,
        getModuleSpecifiers: () => g1e,
        getModuleSpecifiersWithCacheInfo: () => h1e,
        getNodeModulesPackageName: () => KMe,
        tryGetJSExtensionForFile: () => gW,
        tryGetModuleSpecifiersFromCache: () => eRe,
        tryGetRealFileNameForNonJsDeclarationFileName: () => k1e,
        updateModuleSpecifier: () => YMe
      });
      var QMe = qd((e) => {
        try {
          let t = e.indexOf("/");
          if (t !== 0)
            return new RegExp(e);
          const n = e.lastIndexOf("/");
          if (t === n)
            return new RegExp(e);
          for (; (t = e.indexOf("/", t + 1)) !== n; )
            if (e[t - 1] !== "\\")
              return new RegExp(e);
          const i = e.substring(n + 1).replace(/[^iu]/g, "");
          return e = e.substring(1, n), new RegExp(e, i);
        } catch {
          return;
        }
      }), p1e = /* @__PURE__ */ ((e) => (e[e.Relative = 0] = "Relative", e[e.NonRelative = 1] = "NonRelative", e[e.Shortest = 2] = "Shortest", e[e.ExternalNonRelative = 3] = "ExternalNonRelative", e))(p1e || {});
      function eA({ importModuleSpecifierPreference: e, importModuleSpecifierEnding: t, autoImportSpecifierExcludeRegexes: n }, i, s, o, c) {
        const _ = u();
        return {
          excludeRegexes: n,
          relativePreference: c !== void 0 ? Cl(c) ? 0 : 1 : e === "relative" ? 0 : e === "non-relative" ? 1 : e === "project-relative" ? 3 : 2,
          getAllowedEndingsInPreferredOrder: (g) => {
            const m = hW(o, i, s), h = g !== m ? u(g) : _, S = vu(s);
            if ((g ?? m) === 99 && 3 <= S && S <= 99)
              return F6(s, o.fileName) ? [
                3,
                2
                /* JsExtension */
              ] : [
                2
                /* JsExtension */
              ];
            if (vu(s) === 1)
              return h === 2 ? [
                2,
                1
                /* Index */
              ] : [
                1,
                2
                /* JsExtension */
              ];
            const T = F6(s, o.fileName);
            switch (h) {
              case 2:
                return T ? [
                  2,
                  3,
                  0,
                  1
                  /* Index */
                ] : [
                  2,
                  0,
                  1
                  /* Index */
                ];
              case 3:
                return [
                  3,
                  0,
                  2,
                  1
                  /* Index */
                ];
              case 1:
                return T ? [
                  1,
                  0,
                  3,
                  2
                  /* JsExtension */
                ] : [
                  1,
                  0,
                  2
                  /* JsExtension */
                ];
              case 0:
                return T ? [
                  0,
                  1,
                  3,
                  2
                  /* JsExtension */
                ] : [
                  0,
                  1,
                  2
                  /* JsExtension */
                ];
              default:
                E.assertNever(h);
            }
          }
        };
        function u(g) {
          if (c !== void 0) {
            if (Wg(c)) return 2;
            if (No(c, "/index")) return 1;
          }
          return wee(
            t,
            g ?? hW(o, i, s),
            s,
            Mg(o) ? o : void 0
          );
        }
      }
      function YMe(e, t, n, i, s, o, c = {}) {
        const _ = d1e(e, t, n, i, s, eA({}, s, e, t, o), {}, c);
        if (_ !== o)
          return _;
      }
      function ZMe(e, t, n, i, s, o = {}) {
        return d1e(e, t, n, i, s, eA({}, s, e, t), {}, o);
      }
      function KMe(e, t, n, i, s, o = {}) {
        const c = pO(t.fileName, i), _ = b1e(c, n, i, s, e, o);
        return Ic(_, (u) => pne(
          u,
          c,
          t,
          i,
          e,
          s,
          /*packageNameOnly*/
          !0,
          o.overrideImportMode
        ));
      }
      function d1e(e, t, n, i, s, o, c, _ = {}) {
        const u = pO(n, s), g = b1e(u, i, s, c, e, _);
        return Ic(g, (m) => pne(
          m,
          u,
          t,
          s,
          e,
          c,
          /*packageNameOnly*/
          void 0,
          _.overrideImportMode
        )) || _ne(i, u, e, s, _.overrideImportMode || hW(t, s, e), o);
      }
      function eRe(e, t, n, i, s = {}) {
        const o = m1e(
          e,
          t,
          n,
          i,
          s
        );
        return o[1] && { kind: o[0], moduleSpecifiers: o[1], computedWithoutCache: !1 };
      }
      function m1e(e, t, n, i, s = {}) {
        var o;
        const c = s3(e);
        if (!c)
          return Ue;
        const _ = (o = n.getModuleSpecifierCache) == null ? void 0 : o.call(n), u = _?.get(t.path, c.path, i, s);
        return [u?.kind, u?.moduleSpecifiers, c, u?.modulePaths, _];
      }
      function g1e(e, t, n, i, s, o, c = {}) {
        return h1e(
          e,
          t,
          n,
          i,
          s,
          o,
          c,
          /*forAutoImport*/
          !1
        ).moduleSpecifiers;
      }
      function h1e(e, t, n, i, s, o, c = {}, _) {
        let u = !1;
        const g = aRe(e, t);
        if (g)
          return {
            kind: "ambient",
            moduleSpecifiers: _ && fO(g, o.autoImportSpecifierExcludeRegexes) ? Ue : [g],
            computedWithoutCache: u
          };
        let [m, h, S, T, k] = m1e(
          e,
          i,
          s,
          o,
          c
        );
        if (h) return { kind: m, moduleSpecifiers: h, computedWithoutCache: u };
        if (!S) return { kind: void 0, moduleSpecifiers: Ue, computedWithoutCache: u };
        u = !0, T || (T = S1e(pO(i.fileName, s), S.originalFileName, s, n, c));
        const D = rRe(
          T,
          n,
          i,
          s,
          o,
          c,
          _
        );
        return k?.set(i.path, S.path, o, c, D.kind, T, D.moduleSpecifiers), D;
      }
      function tRe(e, t, n, i, s, o = {}) {
        const c = pO(e.fileName, i), _ = o.overrideImportMode ?? e.impliedNodeFormat;
        return _ne(
          t,
          c,
          n,
          i,
          _,
          eA(s, i, n, e)
        );
      }
      function rRe(e, t, n, i, s, o = {}, c) {
        const _ = pO(n.fileName, i), u = eA(s, i, t, n), g = Mg(n) && ar(e, (D) => ar(
          i.getFileIncludeReasons().get(lo(D.path, i.getCurrentDirectory(), _.getCanonicalFileName)),
          (w) => {
            if (w.kind !== 3 || w.file !== n.path) return;
            const A = i.getModeForResolutionAtIndex(n, w.index), O = o.overrideImportMode ?? i.getDefaultResolutionModeForFile(n);
            if (A !== O && A !== void 0 && O !== void 0)
              return;
            const F = hA(n, w.index).text;
            return u.relativePreference !== 1 || !ff(F) ? F : void 0;
          }
        ));
        if (g)
          return { kind: void 0, moduleSpecifiers: [g], computedWithoutCache: !0 };
        const m = at(e, (D) => D.isInNodeModules);
        let h, S, T, k;
        for (const D of e) {
          const w = D.isInNodeModules ? pne(
            D,
            _,
            n,
            i,
            t,
            s,
            /*packageNameOnly*/
            void 0,
            o.overrideImportMode
          ) : void 0;
          if (w && !(c && fO(w, u.excludeRegexes)) && (h = Dr(h, w), D.isRedirect))
            return { kind: "node_modules", moduleSpecifiers: h, computedWithoutCache: !0 };
          const A = _ne(
            D.path,
            _,
            t,
            i,
            o.overrideImportMode || n.impliedNodeFormat,
            u,
            /*pathsOnly*/
            D.isRedirect || !!w
          );
          !A || c && fO(A, u.excludeRegexes) || (D.isRedirect ? T = Dr(T, A) : fj(A) ? c1(A) ? k = Dr(k, A) : S = Dr(S, A) : (c || !m || D.isInNodeModules) && (k = Dr(k, A)));
        }
        return S?.length ? { kind: "paths", moduleSpecifiers: S, computedWithoutCache: !0 } : T?.length ? { kind: "redirect", moduleSpecifiers: T, computedWithoutCache: !0 } : h?.length ? { kind: "node_modules", moduleSpecifiers: h, computedWithoutCache: !0 } : { kind: "relative", moduleSpecifiers: k ?? Ue, computedWithoutCache: !0 };
      }
      function fO(e, t) {
        return at(t, (n) => {
          var i;
          return !!((i = QMe(n)) != null && i.test(e));
        });
      }
      function pO(e, t) {
        e = Xi(e, t.getCurrentDirectory());
        const n = Hl(t.useCaseSensitiveFileNames ? t.useCaseSensitiveFileNames() : !0), i = Un(e);
        return {
          getCanonicalFileName: n,
          importingSourceFileName: e,
          sourceDirectory: i,
          canonicalSourceDirectory: n(i)
        };
      }
      function _ne(e, t, n, i, s, { getAllowedEndingsInPreferredOrder: o, relativePreference: c, excludeRegexes: _ }, u) {
        const { baseUrl: g, paths: m, rootDirs: h } = n;
        if (u && !m)
          return;
        const { sourceDirectory: S, canonicalSourceDirectory: T, getCanonicalFileName: k } = t, D = o(s), w = h && lRe(h, e, S, k, D, n) || tA(nS(Ef(S, e, k)), D, n);
        if (!g && !m && !iN(n) || c === 0)
          return u ? void 0 : w;
        const A = Xi(y5(n, i) || g, i.getCurrentDirectory()), O = dne(e, A, k);
        if (!O)
          return u ? void 0 : w;
        const F = u ? void 0 : cRe(
          e,
          S,
          n,
          i,
          s,
          _Re(D)
        ), j = u || F === void 0 ? m && T1e(O, m, D, A, k, i, n) : void 0;
        if (u)
          return j;
        const z = F ?? (j === void 0 && g !== void 0 ? tA(O, D, n) : j);
        if (!z)
          return w;
        const V = fO(w, _), G = fO(z, _);
        if (!V && G)
          return w;
        if (V && !G || c === 1 && !ff(z))
          return z;
        if (c === 3 && !ff(z)) {
          const W = n.configFilePath ? lo(Un(n.configFilePath), i.getCurrentDirectory(), t.getCanonicalFileName) : t.getCanonicalFileName(i.getCurrentDirectory()), pe = lo(e, W, k), K = Wi(T, W), U = Wi(pe, W);
          if (K && !U || !K && U)
            return z;
          const ee = fne(i, Un(pe)), te = fne(i, S), ie = !TS(i);
          return nRe(ee, te, ie) ? w : z;
        }
        return C1e(z) || dO(w) < dO(z) ? w : z;
      }
      function nRe(e, t, n) {
        return e === t ? !0 : e === void 0 || t === void 0 ? !1 : xh(e, t, n) === 0;
      }
      function dO(e) {
        let t = 0;
        for (let n = Wi(e, "./") ? 2 : 0; n < e.length; n++)
          e.charCodeAt(n) === 47 && t++;
        return t;
      }
      function y1e(e, t) {
        return J1(t.isRedirect, e.isRedirect) || uN(e.path, t.path);
      }
      function fne(e, t) {
        return e.getNearestAncestorDirectoryWithPackageJson ? e.getNearestAncestorDirectoryWithPackageJson(t) : Km(
          e,
          t,
          (n) => e.fileExists(An(n, "package.json")) ? n : void 0
        );
      }
      function v1e(e, t, n, i, s) {
        var o;
        const c = Nh(n), _ = n.getCurrentDirectory(), u = n.isSourceOfProjectReferenceRedirect(t) ? n.getProjectReferenceRedirect(t) : void 0, g = lo(t, _, c), m = n.redirectTargetsMap.get(g) || Ue, S = [...u ? [u] : Ue, t, ...m].map((A) => Xi(A, _));
        let T = !Pi(S, hD);
        if (!i) {
          const A = ar(S, (O) => !(T && hD(O)) && s(O, u === O));
          if (A) return A;
        }
        const k = (o = n.getSymlinkCache) == null ? void 0 : o.call(n).getSymlinkedDirectoriesByRealpath(), D = Xi(t, _);
        return k && Km(
          n,
          Un(D),
          (A) => {
            const O = k.get(ml(lo(A, _, c)));
            if (O)
              return mj(e, A, c) ? !1 : ar(S, (F) => {
                if (!mj(F, A, c))
                  return;
                const j = Ef(A, F, c);
                for (const z of O) {
                  const V = Ay(z, j), G = s(V, F === u);
                  if (T = !0, G) return G;
                }
              });
          }
        ) || (i ? ar(S, (A) => T && hD(A) ? void 0 : s(A, A === u)) : void 0);
      }
      function b1e(e, t, n, i, s, o = {}) {
        var c;
        const _ = lo(e.importingSourceFileName, n.getCurrentDirectory(), Nh(n)), u = lo(t, n.getCurrentDirectory(), Nh(n)), g = (c = n.getModuleSpecifierCache) == null ? void 0 : c.call(n);
        if (g) {
          const h = g.get(_, u, i, o);
          if (h?.modulePaths) return h.modulePaths;
        }
        const m = S1e(e, t, n, s, o);
        return g && g.setModulePaths(_, u, i, o, m), m;
      }
      var iRe = ["dependencies", "peerDependencies", "optionalDependencies"];
      function sRe(e) {
        let t;
        for (const n of iRe) {
          const i = e[n];
          i && typeof i == "object" && (t = Ji(t, Ud(i)));
        }
        return t;
      }
      function S1e(e, t, n, i, s) {
        var o, c;
        const _ = (o = n.getModuleResolutionCache) == null ? void 0 : o.call(n), u = (c = n.getSymlinkCache) == null ? void 0 : c.call(n);
        if (_ && u && n.readFile && !c1(e.importingSourceFileName)) {
          E.type(n);
          const h = GD(_.getPackageJsonInfoCache(), n, {}), S = $D(Un(e.importingSourceFileName), h);
          if (S) {
            const T = sRe(S.contents.packageJsonContent);
            for (const k of T || Ue) {
              const D = WS(
                k,
                An(S.packageDirectory, "package.json"),
                i,
                n,
                _,
                /*redirectedReference*/
                void 0,
                s.overrideImportMode
              );
              u.setSymlinksFromResolution(D.resolvedModule);
            }
          }
        }
        const g = /* @__PURE__ */ new Map();
        v1e(
          e.importingSourceFileName,
          t,
          n,
          /*preferSymlinks*/
          !0,
          (h, S) => {
            const T = c1(h);
            g.set(h, { path: e.getCanonicalFileName(h), isRedirect: S, isInNodeModules: T });
          }
        );
        const m = [];
        for (let h = e.canonicalSourceDirectory; g.size !== 0; ) {
          const S = ml(h);
          let T;
          g.forEach(({ path: D, isRedirect: w, isInNodeModules: A }, O) => {
            Wi(D, S) && ((T || (T = [])).push({ path: O, isRedirect: w, isInNodeModules: A }), g.delete(O));
          }), T && (T.length > 1 && T.sort(y1e), m.push(...T));
          const k = Un(h);
          if (k === h) break;
          h = k;
        }
        if (g.size) {
          const h = rs(
            g.entries(),
            ([S, { isRedirect: T, isInNodeModules: k }]) => ({ path: S, isRedirect: T, isInNodeModules: k })
          );
          h.length > 1 && h.sort(y1e), m.push(...h);
        }
        return m;
      }
      function aRe(e, t) {
        var n;
        const i = (n = e.declarations) == null ? void 0 : n.find(
          (c) => nB(c) && (!Cb(c) || !Cl(ep(c.name)))
        );
        if (i)
          return i.name.text;
        const o = Oi(e.declarations, (c) => {
          var _, u, g, m;
          if (!zc(c)) return;
          const h = D(c);
          if (!((_ = h?.parent) != null && _.parent && om(h.parent) && Fu(h.parent.parent) && xi(h.parent.parent.parent))) return;
          const S = (m = (g = (u = h.parent.parent.symbol.exports) == null ? void 0 : u.get("export=")) == null ? void 0 : g.valueDeclaration) == null ? void 0 : m.expression;
          if (!S) return;
          const T = t.getSymbolAtLocation(S);
          if (!T) return;
          if ((T?.flags & 2097152 ? t.getAliasedSymbol(T) : T) === c.symbol) return h.parent.parent;
          function D(w) {
            for (; w.flags & 8; )
              w = w.parent;
            return w;
          }
        })[0];
        if (o)
          return o.name.text;
      }
      function T1e(e, t, n, i, s, o, c) {
        for (const u in t)
          for (const g of t[u]) {
            const m = Gs(g), h = dne(m, i, s) ?? m, S = h.indexOf("*"), T = n.map((k) => ({
              ending: k,
              value: tA(e, [k], c)
            }));
            if (Vg(h) && T.push({ ending: void 0, value: e }), S !== -1) {
              const k = h.substring(0, S), D = h.substring(S + 1);
              for (const { ending: w, value: A } of T)
                if (A.length >= k.length + D.length && Wi(A, k) && No(A, D) && _({ ending: w, value: A })) {
                  const O = A.substring(k.length, A.length - D.length);
                  if (!ff(O))
                    return ES(u, O);
                }
            } else if (at(T, (k) => k.ending !== 0 && h === k.value) || at(T, (k) => k.ending === 0 && h === k.value && _(k)))
              return u;
          }
        function _({ ending: u, value: g }) {
          return u !== 0 || g === tA(e, [u], c, o);
        }
      }
      function mO(e, t, n, i, s, o, c, _, u, g) {
        if (typeof o == "string") {
          const m = !TS(t), h = () => t.getCommonSourceDirectory(), S = u && qW(n, e, m, h), T = u && UW(n, e, m, h), k = Xi(
            An(i, o),
            /*currentDirectory*/
            void 0
          ), D = CS(n) ? Ru(n) + gW(n, e) : void 0, w = g && Eee(n);
          switch (_) {
            case 0:
              if (D && xh(D, k, m) === 0 || xh(n, k, m) === 0 || S && xh(S, k, m) === 0 || T && xh(T, k, m) === 0)
                return { moduleFileToTry: s };
              break;
            case 1:
              if (w && Qf(n, k, m)) {
                const j = Ef(
                  k,
                  n,
                  /*ignoreCase*/
                  !1
                );
                return { moduleFileToTry: Xi(
                  An(An(s, o), j),
                  /*currentDirectory*/
                  void 0
                ) };
              }
              if (D && Qf(k, D, m)) {
                const j = Ef(
                  k,
                  D,
                  /*ignoreCase*/
                  !1
                );
                return { moduleFileToTry: Xi(
                  An(An(s, o), j),
                  /*currentDirectory*/
                  void 0
                ) };
              }
              if (!w && Qf(k, n, m)) {
                const j = Ef(
                  k,
                  n,
                  /*ignoreCase*/
                  !1
                );
                return { moduleFileToTry: Xi(
                  An(An(s, o), j),
                  /*currentDirectory*/
                  void 0
                ) };
              }
              if (S && Qf(k, S, m)) {
                const j = Ef(
                  k,
                  S,
                  /*ignoreCase*/
                  !1
                );
                return { moduleFileToTry: An(s, j) };
              }
              if (T && Qf(k, T, m)) {
                const j = n7(Ef(
                  k,
                  T,
                  /*ignoreCase*/
                  !1
                ), mW(T, e));
                return { moduleFileToTry: An(s, j) };
              }
              break;
            case 2:
              const A = k.indexOf("*"), O = k.slice(0, A), F = k.slice(A + 1);
              if (w && Wi(n, O, m) && No(n, F, m)) {
                const j = n.slice(O.length, n.length - F.length);
                return { moduleFileToTry: ES(s, j) };
              }
              if (D && Wi(D, O, m) && No(D, F, m)) {
                const j = D.slice(O.length, D.length - F.length);
                return { moduleFileToTry: ES(s, j) };
              }
              if (!w && Wi(n, O, m) && No(n, F, m)) {
                const j = n.slice(O.length, n.length - F.length);
                return { moduleFileToTry: ES(s, j) };
              }
              if (S && Wi(S, O, m) && No(S, F, m)) {
                const j = S.slice(O.length, S.length - F.length);
                return { moduleFileToTry: ES(s, j) };
              }
              if (T && Wi(T, O, m) && No(T, F, m)) {
                const j = T.slice(O.length, T.length - F.length), z = ES(s, j), V = gW(T, e);
                return V ? { moduleFileToTry: n7(z, V) } : void 0;
              }
              break;
          }
        } else {
          if (Array.isArray(o))
            return ar(o, (m) => mO(e, t, n, i, s, m, c, _, u, g));
          if (typeof o == "object" && o !== null) {
            for (const m of Ud(o))
              if (m === "default" || c.indexOf(m) >= 0 || ZN(c, m)) {
                const h = o[m], S = mO(e, t, n, i, s, h, c, _, u, g);
                if (S)
                  return S;
              }
          }
        }
      }
      function oRe(e, t, n, i, s, o, c) {
        return typeof o == "object" && o !== null && !Array.isArray(o) && lO(o) ? ar(Ud(o), (_) => {
          const u = Xi(
            An(s, _),
            /*currentDirectory*/
            void 0
          ), g = No(_, "/") ? 1 : _.includes("*") ? 2 : 0;
          return mO(
            e,
            t,
            n,
            i,
            u,
            o[_],
            c,
            g,
            /*isImports*/
            !1,
            /*preferTsExtension*/
            !1
          );
        }) : mO(
          e,
          t,
          n,
          i,
          s,
          o,
          c,
          0,
          /*isImports*/
          !1,
          /*preferTsExtension*/
          !1
        );
      }
      function cRe(e, t, n, i, s, o) {
        var c, _, u;
        if (!i.readFile || !iN(n))
          return;
        const g = fne(i, t);
        if (!g)
          return;
        const m = An(g, "package.json"), h = (_ = (c = i.getPackageJsonInfoCache) == null ? void 0 : c.call(i)) == null ? void 0 : _.getPackageJsonInfo(m);
        if (Gre(h) || !i.fileExists(m))
          return;
        const S = h?.contents.packageJsonContent || w5(i.readFile(m)), T = S?.imports;
        if (!T)
          return;
        const k = o1(n, s);
        return (u = ar(Ud(T), (D) => {
          if (!Wi(D, "#") || D === "#" || Wi(D, "#/")) return;
          const w = No(D, "/") ? 1 : D.includes("*") ? 2 : 0;
          return mO(
            n,
            i,
            e,
            g,
            D,
            T[D],
            k,
            w,
            /*isImports*/
            !0,
            o
          );
        })) == null ? void 0 : u.moduleFileToTry;
      }
      function lRe(e, t, n, i, s, o) {
        const c = x1e(t, e, i);
        if (c === void 0)
          return;
        const _ = x1e(n, e, i), u = oa(_, (m) => fr(c, (h) => nS(Ef(m, h, i)))), g = FR(u, uN);
        if (g)
          return tA(g, s, o);
      }
      function pne({ path: e, isRedirect: t }, { getCanonicalFileName: n, canonicalSourceDirectory: i }, s, o, c, _, u, g) {
        if (!o.fileExists || !o.readFile)
          return;
        const m = rF(e);
        if (!m)
          return;
        const S = eA(_, o, c, s).getAllowedEndingsInPreferredOrder();
        let T = e, k = !1;
        if (!u) {
          let j = m.packageRootIndex, z;
          for (; ; ) {
            const { moduleFileToTry: V, packageRootPath: G, blockedByExports: W, verbatimFromExports: pe } = F(j);
            if (vu(c) !== 1) {
              if (W)
                return;
              if (pe)
                return V;
            }
            if (G) {
              T = G, k = !0;
              break;
            }
            if (z || (z = V), j = e.indexOf(xo, j + 1), j === -1) {
              T = tA(z, S, c, o);
              break;
            }
          }
        }
        if (t && !k)
          return;
        const D = o.getGlobalTypingsCacheLocation && o.getGlobalTypingsCacheLocation(), w = n(T.substring(0, m.topLevelNodeModulesIndex));
        if (!(Wi(i, w) || D && Wi(n(D), w)))
          return;
        const A = T.substring(m.topLevelPackageNameIndex + 1), O = XD(A);
        return vu(c) === 1 && O === A ? void 0 : O;
        function F(j) {
          var z, V;
          const G = e.substring(0, j), W = An(G, "package.json");
          let pe = e, K = !1;
          const U = (V = (z = o.getPackageJsonInfoCache) == null ? void 0 : z.call(o)) == null ? void 0 : V.getPackageJsonInfo(W);
          if (sO(U) || U === void 0 && o.fileExists(W)) {
            const ee = U?.contents.packageJsonContent || w5(o.readFile(W)), te = g || hW(s, o, c);
            if (nN(c)) {
              const me = G.substring(m.topLevelPackageNameIndex + 1), q = XD(me), he = o1(c, te), Me = ee?.exports ? oRe(
                c,
                o,
                e,
                G,
                q,
                ee.exports,
                he
              ) : void 0;
              if (Me)
                return { ...Me, verbatimFromExports: !0 };
              if (ee?.exports)
                return { moduleFileToTry: e, blockedByExports: !0 };
            }
            const ie = ee?.typesVersions ? nO(ee.typesVersions) : void 0;
            if (ie) {
              const me = e.slice(G.length + 1), q = T1e(
                me,
                ie.paths,
                S,
                G,
                n,
                o,
                c
              );
              q === void 0 ? K = !0 : pe = An(G, q);
            }
            const fe = ee?.typings || ee?.types || ee?.main || "index.js";
            if (cs(fe) && !(K && wJ(fN(ie.paths), fe))) {
              const me = lo(fe, G, n), q = n(pe);
              if (Ru(me) === Ru(q))
                return { packageRootPath: G, moduleFileToTry: pe };
              if (ee?.type !== "module" && !Dc(q, Q5) && Wi(q, me) && Un(q) === g0(me) && Ru(Qc(q)) === "index")
                return { packageRootPath: G, moduleFileToTry: pe };
            }
          } else {
            const ee = n(pe.substring(m.packageRootIndex + 1));
            if (ee === "index.d.ts" || ee === "index.js" || ee === "index.ts" || ee === "index.tsx")
              return { moduleFileToTry: pe, packageRootPath: G };
          }
          return { moduleFileToTry: pe };
        }
      }
      function uRe(e, t) {
        if (!e.fileExists) return;
        const n = Sp(uD({ allowJs: !0 }, [{ extension: "node", isMixedContent: !1 }, {
          extension: "json",
          isMixedContent: !1,
          scriptKind: 6
          /* JSON */
        }]));
        for (const i of n) {
          const s = t + i;
          if (e.fileExists(s))
            return s;
        }
      }
      function x1e(e, t, n) {
        return Oi(t, (i) => {
          const s = dne(e, i, n);
          return s !== void 0 && C1e(s) ? void 0 : s;
        });
      }
      function tA(e, t, n, i) {
        if (Dc(e, [
          ".json",
          ".mjs",
          ".cjs"
          /* Cjs */
        ]))
          return e;
        const s = Ru(e);
        if (e === s)
          return e;
        const o = t.indexOf(
          2
          /* JsExtension */
        ), c = t.indexOf(
          3
          /* TsExtension */
        );
        if (Dc(e, [
          ".mts",
          ".cts"
          /* Cts */
        ]) && c !== -1 && c < o)
          return e;
        if (Dc(e, [
          ".d.mts",
          ".mts",
          ".d.cts",
          ".cts"
          /* Cts */
        ]))
          return s + mW(e, n);
        if (!Dc(e, [
          ".d.ts"
          /* Dts */
        ]) && Dc(e, [
          ".ts"
          /* Ts */
        ]) && e.includes(".d."))
          return k1e(e);
        switch (t[0]) {
          case 0:
            const _ = bC(s, "/index");
            return i && _ !== s && uRe(i, _) ? s : _;
          case 1:
            return s;
          case 2:
            return s + mW(e, n);
          case 3:
            if (Sl(e)) {
              const u = t.findIndex(
                (g) => g === 0 || g === 1
                /* Index */
              );
              return u !== -1 && u < o ? s : s + mW(e, n);
            }
            return e;
          default:
            return E.assertNever(t[0]);
        }
      }
      function k1e(e) {
        const t = Qc(e);
        if (!No(
          e,
          ".ts"
          /* Ts */
        ) || !t.includes(".d.") || Dc(t, [
          ".d.ts"
          /* Dts */
        ])) return;
        const n = _N(
          e,
          ".ts"
          /* Ts */
        ), i = n.substring(n.lastIndexOf("."));
        return n.substring(0, n.indexOf(".d.")) + i;
      }
      function mW(e, t) {
        return gW(e, t) ?? E.fail(`Extension ${fD(e)} is unsupported:: FileName:: ${e}`);
      }
      function gW(e, t) {
        const n = Vg(e);
        switch (n) {
          case ".ts":
          case ".d.ts":
            return ".js";
          case ".tsx":
            return t.jsx === 1 ? ".jsx" : ".js";
          case ".js":
          case ".jsx":
          case ".json":
            return n;
          case ".d.mts":
          case ".mts":
          case ".mjs":
            return ".mjs";
          case ".d.cts":
          case ".cts":
          case ".cjs":
            return ".cjs";
          default:
            return;
        }
      }
      function dne(e, t, n) {
        const i = YT(
          t,
          e,
          t,
          n,
          /*isAbsolutePathAnUrl*/
          !1
        );
        return V_(i) ? void 0 : i;
      }
      function C1e(e) {
        return Wi(e, "..");
      }
      function hW(e, t, n) {
        return Mg(e) ? t.getDefaultResolutionModeForFile(e) : MO(e, n);
      }
      function _Re(e) {
        const t = e.indexOf(
          3
          /* TsExtension */
        );
        return t > -1 && t < e.indexOf(
          2
          /* JsExtension */
        );
      }
      var mne = /^".+"$/, yW = "(anonymous)", E1e = 1, D1e = 1, w1e = 1, P1e = 1, vW = /* @__PURE__ */ ((e) => (e[e.None = 0] = "None", e[e.TypeofEQString = 1] = "TypeofEQString", e[e.TypeofEQNumber = 2] = "TypeofEQNumber", e[e.TypeofEQBigInt = 4] = "TypeofEQBigInt", e[e.TypeofEQBoolean = 8] = "TypeofEQBoolean", e[e.TypeofEQSymbol = 16] = "TypeofEQSymbol", e[e.TypeofEQObject = 32] = "TypeofEQObject", e[e.TypeofEQFunction = 64] = "TypeofEQFunction", e[e.TypeofEQHostObject = 128] = "TypeofEQHostObject", e[e.TypeofNEString = 256] = "TypeofNEString", e[e.TypeofNENumber = 512] = "TypeofNENumber", e[e.TypeofNEBigInt = 1024] = "TypeofNEBigInt", e[e.TypeofNEBoolean = 2048] = "TypeofNEBoolean", e[e.TypeofNESymbol = 4096] = "TypeofNESymbol", e[e.TypeofNEObject = 8192] = "TypeofNEObject", e[e.TypeofNEFunction = 16384] = "TypeofNEFunction", e[e.TypeofNEHostObject = 32768] = "TypeofNEHostObject", e[e.EQUndefined = 65536] = "EQUndefined", e[e.EQNull = 131072] = "EQNull", e[e.EQUndefinedOrNull = 262144] = "EQUndefinedOrNull", e[e.NEUndefined = 524288] = "NEUndefined", e[e.NENull = 1048576] = "NENull", e[e.NEUndefinedOrNull = 2097152] = "NEUndefinedOrNull", e[e.Truthy = 4194304] = "Truthy", e[e.Falsy = 8388608] = "Falsy", e[e.IsUndefined = 16777216] = "IsUndefined", e[e.IsNull = 33554432] = "IsNull", e[e.IsUndefinedOrNull = 50331648] = "IsUndefinedOrNull", e[e.All = 134217727] = "All", e[e.BaseStringStrictFacts = 3735041] = "BaseStringStrictFacts", e[e.BaseStringFacts = 12582401] = "BaseStringFacts", e[e.StringStrictFacts = 16317953] = "StringStrictFacts", e[e.StringFacts = 16776705] = "StringFacts", e[e.EmptyStringStrictFacts = 12123649] = "EmptyStringStrictFacts", e[
        e.EmptyStringFacts = 12582401
        /* BaseStringFacts */
      ] = "EmptyStringFacts", e[e.NonEmptyStringStrictFacts = 7929345] = "NonEmptyStringStrictFacts", e[e.NonEmptyStringFacts = 16776705] = "NonEmptyStringFacts", e[e.BaseNumberStrictFacts = 3734786] = "BaseNumberStrictFacts", e[e.BaseNumberFacts = 12582146] = "BaseNumberFacts", e[e.NumberStrictFacts = 16317698] = "NumberStrictFacts", e[e.NumberFacts = 16776450] = "NumberFacts", e[e.ZeroNumberStrictFacts = 12123394] = "ZeroNumberStrictFacts", e[
        e.ZeroNumberFacts = 12582146
        /* BaseNumberFacts */
      ] = "ZeroNumberFacts", e[e.NonZeroNumberStrictFacts = 7929090] = "NonZeroNumberStrictFacts", e[e.NonZeroNumberFacts = 16776450] = "NonZeroNumberFacts", e[e.BaseBigIntStrictFacts = 3734276] = "BaseBigIntStrictFacts", e[e.BaseBigIntFacts = 12581636] = "BaseBigIntFacts", e[e.BigIntStrictFacts = 16317188] = "BigIntStrictFacts", e[e.BigIntFacts = 16775940] = "BigIntFacts", e[e.ZeroBigIntStrictFacts = 12122884] = "ZeroBigIntStrictFacts", e[
        e.ZeroBigIntFacts = 12581636
        /* BaseBigIntFacts */
      ] = "ZeroBigIntFacts", e[e.NonZeroBigIntStrictFacts = 7928580] = "NonZeroBigIntStrictFacts", e[e.NonZeroBigIntFacts = 16775940] = "NonZeroBigIntFacts", e[e.BaseBooleanStrictFacts = 3733256] = "BaseBooleanStrictFacts", e[e.BaseBooleanFacts = 12580616] = "BaseBooleanFacts", e[e.BooleanStrictFacts = 16316168] = "BooleanStrictFacts", e[e.BooleanFacts = 16774920] = "BooleanFacts", e[e.FalseStrictFacts = 12121864] = "FalseStrictFacts", e[
        e.FalseFacts = 12580616
        /* BaseBooleanFacts */
      ] = "FalseFacts", e[e.TrueStrictFacts = 7927560] = "TrueStrictFacts", e[e.TrueFacts = 16774920] = "TrueFacts", e[e.SymbolStrictFacts = 7925520] = "SymbolStrictFacts", e[e.SymbolFacts = 16772880] = "SymbolFacts", e[e.ObjectStrictFacts = 7888800] = "ObjectStrictFacts", e[e.ObjectFacts = 16736160] = "ObjectFacts", e[e.FunctionStrictFacts = 7880640] = "FunctionStrictFacts", e[e.FunctionFacts = 16728e3] = "FunctionFacts", e[e.VoidFacts = 9830144] = "VoidFacts", e[e.UndefinedFacts = 26607360] = "UndefinedFacts", e[e.NullFacts = 42917664] = "NullFacts", e[e.EmptyObjectStrictFacts = 83427327] = "EmptyObjectStrictFacts", e[e.EmptyObjectFacts = 83886079] = "EmptyObjectFacts", e[e.UnknownFacts = 83886079] = "UnknownFacts", e[e.AllTypeofNE = 556800] = "AllTypeofNE", e[e.OrFactsMask = 8256] = "OrFactsMask", e[e.AndFactsMask = 134209471] = "AndFactsMask", e))(vW || {}), gne = new Map(Object.entries({
        string: 256,
        number: 512,
        bigint: 1024,
        boolean: 2048,
        symbol: 4096,
        undefined: 524288,
        object: 8192,
        function: 16384
        /* TypeofNEFunction */
      })), bW = /* @__PURE__ */ ((e) => (e[e.Normal = 0] = "Normal", e[e.Contextual = 1] = "Contextual", e[e.Inferential = 2] = "Inferential", e[e.SkipContextSensitive = 4] = "SkipContextSensitive", e[e.SkipGenericFunctions = 8] = "SkipGenericFunctions", e[e.IsForSignatureHelp = 16] = "IsForSignatureHelp", e[e.RestBindingElement = 32] = "RestBindingElement", e[e.TypeOnly = 64] = "TypeOnly", e))(bW || {}), SW = /* @__PURE__ */ ((e) => (e[e.None = 0] = "None", e[e.BivariantCallback = 1] = "BivariantCallback", e[e.StrictCallback = 2] = "StrictCallback", e[e.IgnoreReturnTypes = 4] = "IgnoreReturnTypes", e[e.StrictArity = 8] = "StrictArity", e[e.StrictTopSignature = 16] = "StrictTopSignature", e[e.Callback = 3] = "Callback", e))(SW || {}), fRe = qI(A1e, dRe), TW = new Map(Object.entries({
        Uppercase: 0,
        Lowercase: 1,
        Capitalize: 2,
        Uncapitalize: 3,
        NoInfer: 4
        /* NoInfer */
      })), N1e = class {
      };
      function pRe() {
        this.flags = 0;
      }
      function Oa(e) {
        return e.id || (e.id = D1e, D1e++), e.id;
      }
      function ea(e) {
        return e.id || (e.id = E1e, E1e++), e.id;
      }
      function xW(e, t) {
        const n = jh(e);
        return n === 1 || t && n === 2;
      }
      function hne(e) {
        var t = [], n = (r) => {
          t.push(r);
        }, i, s, o = Xl.getSymbolConstructor(), c = Xl.getTypeConstructor(), _ = Xl.getSignatureConstructor(), u = 0, g = 0, m = 0, h = 0, S = 0, T = 0, k, D, w = !1, A = qs(), O = [
          1
          /* Covariant */
        ], F = e.getCompilerOptions(), j = ga(F), z = Mu(F), V = !!F.experimentalDecorators, G = sN(F), W = hJ(F), pe = Dx(F), K = lu(F, "strictNullChecks"), U = lu(F, "strictFunctionTypes"), ee = lu(F, "strictBindCallApply"), te = lu(F, "strictPropertyInitialization"), ie = lu(F, "strictBuiltinIteratorReturn"), fe = lu(F, "noImplicitAny"), me = lu(F, "noImplicitThis"), q = lu(F, "useUnknownInCatchVariables"), he = F.exactOptionalPropertyTypes, Me = !!F.noUncheckedSideEffectImports, De = qot(), re = E_t(), xe = JL(), ue = Sse(F, xe.syntacticBuilderResolver), Xe = qee({
          evaluateElementAccessExpression: gut,
          evaluateEntityNameExpression: P7e
        }), nt = qs(), oe = sa(4, "undefined");
        oe.declarations = [];
        var ve = sa(
          1536,
          "globalThis",
          8
          /* Readonly */
        );
        ve.exports = nt, ve.declarations = [], nt.set(ve.escapedName, ve);
        var se = sa(4, "arguments"), Pe = sa(4, "require"), Ee = F.verbatimModuleSyntax ? "verbatimModuleSyntax" : "isolatedModules", Ce = !F.verbatimModuleSyntax, ze, St, Bt = 0, tr, Fr = 0, it = JJ({
          compilerOptions: F,
          requireSymbol: Pe,
          argumentsSymbol: se,
          globals: nt,
          getSymbolOfDeclaration: vn,
          error: Be,
          getRequiresScopeChangeCache: po,
          setRequiresScopeChangeCache: Fv,
          lookup: zu,
          onPropertyWithInvalidInitializer: Ov,
          onFailedToResolveSymbol: lT,
          onSuccessfullyResolvedSymbol: wk
        }), Wt = JJ({
          compilerOptions: F,
          requireSymbol: Pe,
          argumentsSymbol: se,
          globals: nt,
          getSymbolOfDeclaration: vn,
          error: Be,
          getRequiresScopeChangeCache: po,
          setRequiresScopeChangeCache: Fv,
          lookup: fat
        });
        const Wr = {
          getNodeCount: () => Hu(e.getSourceFiles(), (r, a) => r + a.nodeCount, 0),
          getIdentifierCount: () => Hu(e.getSourceFiles(), (r, a) => r + a.identifierCount, 0),
          getSymbolCount: () => Hu(e.getSourceFiles(), (r, a) => r + a.symbolCount, g),
          getTypeCount: () => u,
          getInstantiationCount: () => m,
          getRelationCacheSizes: () => ({
            assignable: v_.size,
            identity: of.size,
            subtype: eh.size,
            strictSubtype: _p.size
          }),
          isUndefinedSymbol: (r) => r === oe,
          isArgumentsSymbol: (r) => r === se,
          isUnknownSymbol: (r) => r === Q,
          getMergedSymbol: La,
          symbolIsValue: Fd,
          getDiagnostics: R7e,
          getGlobalDiagnostics: zut,
          getRecursionIdentity: g$,
          getUnmatchedProperties: Upe,
          getTypeOfSymbolAtLocation: (r, a) => {
            const l = ds(a);
            return l ? Dit(r, l) : Ve;
          },
          getTypeOfSymbol: Qr,
          getSymbolsOfParameterPropertyDeclaration: (r, a) => {
            const l = ds(r, Ni);
            return l === void 0 ? E.fail("Cannot get symbols of a synthetic parameter that cannot be resolved to a parse-tree node.") : (E.assert(U_(l, l.parent)), cT(l, ec(a)));
          },
          getDeclaredTypeOfSymbol: wo,
          getPropertiesOfType: Ga,
          getPropertyOfType: (r, a) => Zs(r, ec(a)),
          getPrivateIdentifierPropertyOfType: (r, a, l) => {
            const f = ds(l);
            if (!f)
              return;
            const d = ec(a), y = BM(d, f);
            return y ? Y$(r, y) : void 0;
          },
          getTypeOfPropertyOfType: (r, a) => qc(r, ec(a)),
          getIndexInfoOfType: (r, a) => ph(r, a === 0 ? st : At),
          getIndexInfosOfType: pu,
          getIndexInfosOfIndexSymbol: qG,
          getSignaturesOfType: As,
          getIndexTypeOfType: (r, a) => Zv(r, a === 0 ? st : At),
          getIndexType: (r) => Om(r),
          getBaseTypes: fl,
          getBaseTypeOfLiteralType: s0,
          getWidenedType: _f,
          getWidenedLiteralType: ib,
          fillMissingTypeArguments: uy,
          getTypeFromTypeNode: (r) => {
            const a = ds(r, si);
            return a ? Ci(a) : Ve;
          },
          getParameterType: zd,
          getParameterIdentifierInfoAtPosition: aot,
          getPromisedTypeOfPromise: EI,
          getAwaitedType: (r) => fC(r),
          getReturnTypeOfSignature: Va,
          isNullableType: jM,
          getNullableType: SM,
          getNonNullableType: a0,
          getNonOptionalType: b$,
          getTypeArguments: Io,
          typeToTypeNode: xe.typeToTypeNode,
          typePredicateToTypePredicateNode: xe.typePredicateToTypePredicateNode,
          indexInfoToIndexSignatureDeclaration: xe.indexInfoToIndexSignatureDeclaration,
          signatureToSignatureDeclaration: xe.signatureToSignatureDeclaration,
          symbolToEntityName: xe.symbolToEntityName,
          symbolToExpression: xe.symbolToExpression,
          symbolToNode: xe.symbolToNode,
          symbolToTypeParameterDeclarations: xe.symbolToTypeParameterDeclarations,
          symbolToParameterDeclaration: xe.symbolToParameterDeclaration,
          typeParameterToDeclaration: xe.typeParameterToDeclaration,
          getSymbolsInScope: (r, a) => {
            const l = ds(r);
            return l ? Wut(l, a) : [];
          },
          getSymbolAtLocation: (r) => {
            const a = ds(r);
            return a ? vp(
              a,
              /*ignoreErrors*/
              !0
            ) : void 0;
          },
          getIndexInfosAtLocation: (r) => {
            const a = ds(r);
            return a ? Qut(a) : void 0;
          },
          getShorthandAssignmentValueSymbol: (r) => {
            const a = ds(r);
            return a ? Yut(a) : void 0;
          },
          getExportSpecifierLocalTargetSymbol: (r) => {
            const a = ds(r, bu);
            return a ? Zut(a) : void 0;
          },
          getExportSymbolOfSymbol(r) {
            return La(r.exportSymbol || r);
          },
          getTypeAtLocation: (r) => {
            const a = ds(r);
            return a ? dC(a) : Ve;
          },
          getTypeOfAssignmentPattern: (r) => {
            const a = ds(r, N4);
            return a && wX(a) || Ve;
          },
          getPropertySymbolOfDestructuringAssignment: (r) => {
            const a = ds(r, Fe);
            return a ? Kut(a) : void 0;
          },
          signatureToString: (r, a, l, f) => N2(r, ds(a), l, f),
          typeToString: (r, a, l) => Hr(r, ds(a), l),
          symbolToString: (r, a, l, f) => Bi(r, ds(a), l, f),
          typePredicateToString: (r, a, l) => Hv(r, ds(a), l),
          writeSignature: (r, a, l, f, d) => N2(r, ds(a), l, f, d),
          writeType: (r, a, l, f) => Hr(r, ds(a), l, f),
          writeSymbol: (r, a, l, f, d) => Bi(r, ds(a), l, f, d),
          writeTypePredicate: (r, a, l, f) => Hv(r, ds(a), l, f),
          getAugmentedPropertiesOfType: Ome,
          getRootSymbols: q7e,
          getSymbolOfExpando: nX,
          getContextualType: (r, a) => {
            const l = ds(r, lt);
            if (l)
              return a & 4 ? Fn(l, () => o_(l, a)) : o_(l, a);
          },
          getContextualTypeForObjectLiteralElement: (r) => {
            const a = ds(r, Eh);
            return a ? bde(
              a,
              /*contextFlags*/
              void 0
            ) : void 0;
          },
          getContextualTypeForArgumentAtIndex: (r, a) => {
            const l = ds(r, Sb);
            return l && hde(l, a);
          },
          getContextualTypeForJsxAttribute: (r) => {
            const a = ds(r, k7);
            return a && a8e(
              a,
              /*contextFlags*/
              void 0
            );
          },
          isContextSensitive: Hf,
          getTypeOfPropertyOfContextualType: ab,
          getFullyQualifiedName: Qh,
          getResolvedSignature: (r, a, l) => ii(
            r,
            a,
            l,
            0
            /* Normal */
          ),
          getCandidateSignaturesForStringLiteralCompletions: zi,
          getResolvedSignatureForSignatureHelp: (r, a, l) => Pt(r, () => ii(
            r,
            a,
            l,
            16
            /* IsForSignatureHelp */
          )),
          getExpandedParameters: qPe,
          hasEffectiveRestParameter: Tg,
          containsArgumentsReference: Rfe,
          getConstantValue: (r) => {
            const a = ds(r, Y7e);
            return a ? Mme(a) : void 0;
          },
          isValidPropertyAccess: (r, a) => {
            const l = ds(r, hZ);
            return !!l && mat(l, ec(a));
          },
          isValidPropertyAccessForCompletions: (r, a, l) => {
            const f = ds(r, kn);
            return !!f && R8e(f, a, l);
          },
          getSignatureFromDeclaration: (r) => {
            const a = ds(r, Ts);
            return a ? qf(a) : void 0;
          },
          isImplementationOfOverload: (r) => {
            const a = ds(r, Ts);
            return a ? X7e(a) : void 0;
          },
          getImmediateAliasedSymbol: U$,
          getAliasedSymbol: Uc,
          getEmitResolver: rh,
          requiresAddingImplicitUndefined: _R,
          getExportsOfModule: Jv,
          getExportsAndPropertiesOfModule: Mk,
          forEachExportAndPropertyOfModule: zv,
          getSymbolWalker: une(
            Wet,
            dp,
            Va,
            fl,
            jd,
            Qr,
            Du,
            a_,
            Xu,
            Io
          ),
          getAmbientModules: dft,
          getJsxIntrinsicTagNamesAt: Xst,
          isOptionalParameter: (r) => {
            const a = ds(r, Ni);
            return a ? q8(a) : !1;
          },
          tryGetMemberInModuleExports: (r, a) => Rk(ec(r), a),
          tryGetMemberInModuleExportsAndProperties: (r, a) => D2(ec(r), a),
          tryFindAmbientModule: (r) => _3e(
            r,
            /*withAugmentations*/
            !0
          ),
          getApparentType: Uu,
          getUnionType: Gn,
          isTypeAssignableTo: js,
          createAnonymousType: Jo,
          createSignature: fh,
          createSymbol: sa,
          createIndexInfo: dh,
          getAnyType: () => Ie,
          getStringType: () => st,
          getStringLiteralType: x_,
          getNumberType: () => At,
          getNumberLiteralType: ad,
          getBigIntType: () => Yr,
          getBigIntLiteralType: cM,
          getUnknownType: () => mt,
          createPromiseType: XM,
          createArrayType: du,
          getElementTypeOfArrayType: bM,
          getBooleanType: () => Jt,
          getFalseType: (r) => r ? Mr : Rr,
          getTrueType: (r) => r ? Ye : gt,
          getVoidType: () => dr,
          getUndefinedType: () => _e,
          getNullType: () => jt,
          getESSymbolType: () => wt,
          getNeverType: () => Kt,
          getOptionalType: () => pt,
          getPromiseType: () => rM(
            /*reportErrors*/
            !1
          ),
          getPromiseLikeType: () => L3e(
            /*reportErrors*/
            !1
          ),
          getAnyAsyncIterableType: () => {
            const r = nM(
              /*reportErrors*/
              !1
            );
            if (r !== zt)
              return e0(r, [Ie, Ie, Ie]);
          },
          isSymbolAccessible: wm,
          isArrayType: gp,
          isTupleType: va,
          isArrayLikeType: py,
          isEmptyAnonymousObjectType: Sg,
          isTypeInvalidDueToUnionDiscriminant: xet,
          getExactOptionalProperties: tnt,
          getAllPossiblePropertiesOfTypes: ket,
          getSuggestedSymbolForNonexistentProperty: Ode,
          getSuggestedSymbolForNonexistentJSXAttribute: F8e,
          getSuggestedSymbolForNonexistentSymbol: (r, a, l) => L8e(r, ec(a), l),
          getSuggestedSymbolForNonexistentModule: Lde,
          getSuggestedSymbolForNonexistentClassMember: I8e,
          getBaseConstraintOfType: ru,
          getDefaultFromTypeParameter: (r) => r && r.flags & 262144 ? M2(r) : void 0,
          resolveName(r, a, l, f) {
            return it(
              a,
              ec(r),
              l,
              /*nameNotFoundMessage*/
              void 0,
              /*isUse*/
              !1,
              f
            );
          },
          getJsxNamespace: (r) => Ei(Vl(r)),
          getJsxFragmentFactory: (r) => {
            const a = Jme(r);
            return a && Ei(Xu(a).escapedText);
          },
          getAccessibleSymbolChain: C1,
          getTypePredicateOfSignature: dp,
          resolveExternalModuleName: (r) => {
            const a = ds(r, lt);
            return a && Vu(
              a,
              a,
              /*ignoreErrors*/
              !0
            );
          },
          resolveExternalModuleSymbol: b_,
          tryGetThisTypeAt: (r, a, l) => {
            const f = ds(r);
            return f && pde(f, a, l);
          },
          getTypeArgumentConstraint: (r) => {
            const a = ds(r, si);
            return a && kct(a);
          },
          getSuggestionDiagnostics: (r, a) => {
            const l = ds(r, xi) || E.fail("Could not determine parsed source file.");
            if (a6(l, F, e))
              return Ue;
            let f;
            try {
              return i = a, Ime(l), E.assert(!!(yn(l).flags & 1)), f = wn(f, Av.getDiagnostics(l.fileName)), t7e(M7e(l), (d, y, x) => {
                !cx(d) && !L7e(y, !!(d.flags & 33554432)) && (f || (f = [])).push({
                  ...x,
                  category: 2
                  /* Suggestion */
                });
              }), f || Ue;
            } finally {
              i = void 0;
            }
          },
          runWithCancellationToken: (r, a) => {
            try {
              return i = r, a(Wr);
            } finally {
              i = void 0;
            }
          },
          getLocalTypeParametersOfClassOrInterfaceOrTypeAlias: id,
          isDeclarationVisible: Zh,
          isPropertyAccessible: Rde,
          getTypeOnlyAliasDeclaration: Id,
          getMemberOverrideModifierStatus: sut,
          isTypeParameterPossiblyReferenced: _M,
          typeHasCallOrConstructSignatures: PX,
          getSymbolFlags: cf,
          getTypeArgumentsForResolvedSignature: ai
        };
        function ai(r) {
          if (r.mapper !== void 0)
            return bg((r.target || r).typeParameters, r.mapper);
        }
        function zi(r, a) {
          const l = /* @__PURE__ */ new Set(), f = [];
          Fn(a, () => ii(
            r,
            f,
            /*argumentCount*/
            void 0,
            0
            /* Normal */
          ));
          for (const d of f)
            l.add(d);
          f.length = 0, Pt(a, () => ii(
            r,
            f,
            /*argumentCount*/
            void 0,
            0
            /* Normal */
          ));
          for (const d of f)
            l.add(d);
          return rs(l);
        }
        function Pt(r, a) {
          if (r = _r(r, Jj), r) {
            const l = [], f = [];
            for (; r; ) {
              const y = yn(r);
              if (l.push([y, y.resolvedSignature]), y.resolvedSignature = void 0, Ky(r)) {
                const x = Ri(vn(r)), I = x.type;
                f.push([x, I]), x.type = void 0;
              }
              r = _r(r.parent, Jj);
            }
            const d = a();
            for (const [y, x] of l)
              y.resolvedSignature = x;
            for (const [y, x] of f)
              y.type = x;
            return d;
          }
          return a();
        }
        function Fn(r, a) {
          const l = _r(r, Sb);
          if (l) {
            let d = r;
            do
              yn(d).skipDirectInference = !0, d = d.parent;
            while (d && d !== l);
          }
          w = !0;
          const f = Pt(r, a);
          if (w = !1, l) {
            let d = r;
            do
              yn(d).skipDirectInference = void 0, d = d.parent;
            while (d && d !== l);
          }
          return f;
        }
        function ii(r, a, l, f) {
          const d = ds(r, Sb);
          ze = l;
          const y = d ? HE(d, a, f) : void 0;
          return ze = void 0, y;
        }
        var li = /* @__PURE__ */ new Map(), cn = /* @__PURE__ */ new Map(), ci = /* @__PURE__ */ new Map(), je = /* @__PURE__ */ new Map(), ut = /* @__PURE__ */ new Map(), er = /* @__PURE__ */ new Map(), Vr = /* @__PURE__ */ new Map(), zn = /* @__PURE__ */ new Map(), Wn = /* @__PURE__ */ new Map(), bi = /* @__PURE__ */ new Map(), ks = /* @__PURE__ */ new Map(), ta = /* @__PURE__ */ new Map(), gr = /* @__PURE__ */ new Map(), ms = /* @__PURE__ */ new Map(), He = /* @__PURE__ */ new Map(), Et = [], ne = /* @__PURE__ */ new Map(), rt = /* @__PURE__ */ new Set(), Q = sa(4, "unknown"), Ne = sa(
          0,
          "__resolving__"
          /* Resolving */
        ), qe = /* @__PURE__ */ new Map(), Ze = /* @__PURE__ */ new Map(), bt = /* @__PURE__ */ new Set(), Ie = ce(1, "any"), ft = ce(1, "any", 262144, "auto"), _t = ce(
          1,
          "any",
          /*objectFlags*/
          void 0,
          "wildcard"
        ), kt = ce(
          1,
          "any",
          /*objectFlags*/
          void 0,
          "blocked string"
        ), Ve = ce(1, "error"), Rt = ce(1, "unresolved"), Zr = ce(1, "any", 65536, "non-inferrable"), we = ce(1, "intrinsic"), mt = ce(2, "unknown"), _e = ce(32768, "undefined"), M = K ? _e : ce(32768, "undefined", 65536, "widening"), ye = ce(
          32768,
          "undefined",
          /*objectFlags*/
          void 0,
          "missing"
        ), X = he ? ye : _e, pt = ce(
          32768,
          "undefined",
          /*objectFlags*/
          void 0,
          "optional"
        ), jt = ce(65536, "null"), ke = K ? jt : ce(65536, "null", 65536, "widening"), st = ce(4, "string"), At = ce(8, "number"), Yr = ce(64, "bigint"), Mr = ce(
          512,
          "false",
          /*objectFlags*/
          void 0,
          "fresh"
        ), Rr = ce(512, "false"), Ye = ce(
          512,
          "true",
          /*objectFlags*/
          void 0,
          "fresh"
        ), gt = ce(512, "true");
        Ye.regularType = gt, Ye.freshType = Ye, gt.regularType = gt, gt.freshType = Ye, Mr.regularType = Rr, Mr.freshType = Mr, Rr.regularType = Rr, Rr.freshType = Mr;
        var Jt = Gn([Rr, gt]), wt = ce(4096, "symbol"), dr = ce(16384, "void"), Kt = ce(131072, "never"), Mt = ce(131072, "never", 262144, "silent"), cr = ce(
          131072,
          "never",
          /*objectFlags*/
          void 0,
          "implicit"
        ), lr = ce(
          131072,
          "never",
          /*objectFlags*/
          void 0,
          "unreachable"
        ), br = ce(67108864, "object"), $t = Gn([st, At]), Qn = Gn([st, At, wt]), Ns = Gn([At, Yr]), $s = Gn([st, At, Jt, Yr, jt, _e]), Es = kT(["", ""], [At]), Nc = uM((r) => r.flags & 262144 ? Drt(r) : r, () => "(restrictive mapper)"), qo = uM((r) => r.flags & 262144 ? _t : r, () => "(permissive mapper)"), kc = ce(
          131072,
          "never",
          /*objectFlags*/
          void 0,
          "unique literal"
        ), gi = uM((r) => r.flags & 262144 ? kc : r, () => "(unique literal mapper)"), ps, Wc = uM((r) => (ps && (r === yo || r === ge || r === H) && ps(
          /*onlyUnreliable*/
          !0
        ), r), () => "(unmeasurable reporter)"), Lo = uM((r) => (ps && (r === yo || r === ge || r === H) && ps(
          /*onlyUnreliable*/
          !1
        ), r), () => "(unreliable reporter)"), Pa = Jo(
          /*symbol*/
          void 0,
          A,
          Ue,
          Ue,
          Ue
        ), Bo = Jo(
          /*symbol*/
          void 0,
          A,
          Ue,
          Ue,
          Ue
        );
        Bo.objectFlags |= 2048;
        var rf = Jo(
          /*symbol*/
          void 0,
          A,
          Ue,
          Ue,
          Ue
        );
        rf.objectFlags |= 141440;
        var ss = sa(
          2048,
          "__type"
          /* Type */
        );
        ss.members = qs();
        var Vs = Jo(ss, A, Ue, Ue, Ue), Aa = Jo(
          /*symbol*/
          void 0,
          A,
          Ue,
          Ue,
          Ue
        ), Ca = K ? Gn([_e, jt, Aa]) : mt, zt = Jo(
          /*symbol*/
          void 0,
          A,
          Ue,
          Ue,
          Ue
        );
        zt.instantiations = /* @__PURE__ */ new Map();
        var Ka = Jo(
          /*symbol*/
          void 0,
          A,
          Ue,
          Ue,
          Ue
        );
        Ka.objectFlags |= 262144;
        var Vc = Jo(
          /*symbol*/
          void 0,
          A,
          Ue,
          Ue,
          Ue
        ), tc = Jo(
          /*symbol*/
          void 0,
          A,
          Ue,
          Ue,
          Ue
        ), eu = Jo(
          /*symbol*/
          void 0,
          A,
          Ue,
          Ue,
          Ue
        ), yo = hi(), ge = hi();
        ge.constraint = yo;
        var H = hi(), et = hi(), Ot = hi();
        Ot.constraint = et;
        var Zt = H8(1, "<<unresolved>>", 0, Ie), Ur = fh(
          /*declaration*/
          void 0,
          /*typeParameters*/
          void 0,
          /*thisParameter*/
          void 0,
          Ue,
          Ie,
          /*resolvedTypePredicate*/
          void 0,
          0,
          0
          /* None */
        ), Vn = fh(
          /*declaration*/
          void 0,
          /*typeParameters*/
          void 0,
          /*thisParameter*/
          void 0,
          Ue,
          Ve,
          /*resolvedTypePredicate*/
          void 0,
          0,
          0
          /* None */
        ), sn = fh(
          /*declaration*/
          void 0,
          /*typeParameters*/
          void 0,
          /*thisParameter*/
          void 0,
          Ue,
          Ie,
          /*resolvedTypePredicate*/
          void 0,
          0,
          0
          /* None */
        ), xr = fh(
          /*declaration*/
          void 0,
          /*typeParameters*/
          void 0,
          /*thisParameter*/
          void 0,
          Ue,
          Mt,
          /*resolvedTypePredicate*/
          void 0,
          0,
          0
          /* None */
        ), Li = dh(
          At,
          st,
          /*isReadonly*/
          !0
        ), Qi = dh(
          st,
          Ie,
          /*isReadonly*/
          !1
        ), no = /* @__PURE__ */ new Map(), da = {
          get yieldType() {
            return E.fail("Not supported");
          },
          get returnType() {
            return E.fail("Not supported");
          },
          get nextType() {
            return E.fail("Not supported");
          }
        }, vo = cb(Ie, Ie, Ie), fc = {
          iterableCacheKey: "iterationTypesOfAsyncIterable",
          iteratorCacheKey: "iterationTypesOfAsyncIterator",
          iteratorSymbolName: "asyncIterator",
          getGlobalIteratorType: stt,
          getGlobalIterableType: nM,
          getGlobalIterableIteratorType: M3e,
          getGlobalIteratorObjectType: ott,
          getGlobalGeneratorType: ctt,
          getGlobalBuiltinIteratorTypes: att,
          resolveIterationType: (r, a) => fC(r, a, p.Type_of_await_operand_must_either_be_a_valid_promise_or_must_not_contain_a_callable_then_member),
          mustHaveANextMethodDiagnostic: p.An_async_iterator_must_have_a_next_method,
          mustBeAMethodDiagnostic: p.The_0_property_of_an_async_iterator_must_be_a_method,
          mustHaveAValueDiagnostic: p.The_type_returned_by_the_0_method_of_an_async_iterator_must_be_a_promise_for_a_type_with_a_value_property
        }, Lc = {
          iterableCacheKey: "iterationTypesOfIterable",
          iteratorCacheKey: "iterationTypesOfIterator",
          iteratorSymbolName: "iterator",
          getGlobalIteratorType: ltt,
          getGlobalIterableType: KG,
          getGlobalIterableIteratorType: R3e,
          getGlobalIteratorObjectType: _tt,
          getGlobalGeneratorType: ftt,
          getGlobalBuiltinIteratorTypes: utt,
          resolveIterationType: (r, a) => r,
          mustHaveANextMethodDiagnostic: p.An_iterator_must_have_a_next_method,
          mustBeAMethodDiagnostic: p.The_0_property_of_an_iterator_must_be_a_method,
          mustHaveAValueDiagnostic: p.The_type_returned_by_the_0_method_of_an_iterator_must_have_a_value_property
        }, bo, pc = /* @__PURE__ */ new Map(), Cd = /* @__PURE__ */ new Map(), tu, Rf, r_, Ae, It, Xr, qi, Is, Ea, Do, Ac, rc, nc, Mc, ll, ul, nf, n_, ed, hf, ym, Qg, jf, y_, Ju, vm, yf, Yg, Z, Ke, Vt, Ut, vr, qr, On, ti, Ii, L, Re, Ct, Sr, Zi, fi, Vi, as, Ao, ra, nl, sf, up, Ed, qh, Zg, A_, Dd, bm, Rp, m1, vf, J0, g1, z0 = /* @__PURE__ */ new Map(), Le = 0, Qe = 0, Nt = 0, rr = !1, jr = 0, pn, Pr, fn, vi = [], ts = [], Hn = [], Mi = 0, Ds = [], Al = [], Bf = [], Jf = 0, af = x_(""), ng = ad(0), td = cM({ negative: !1, base10Value: "0" }), ig = [], W0 = [], sg = [], V0 = 0, Pv = !1, m2 = 0, Vw = 10, xk = [], pE = [], g2 = [], dE = [], nT = [], kk = [], h2 = [], mE = [], iT = [], Ck = [], sT = [], Sm = [], U0 = [], Hh = [], ag = [], Nv = [], h1 = [], y2 = [], v2 = [], q0 = 0, Ia = Y4(), Av = Y4(), Uw = Yn(), y1, Kg, eh = /* @__PURE__ */ new Map(), _p = /* @__PURE__ */ new Map(), v_ = /* @__PURE__ */ new Map(), I_ = /* @__PURE__ */ new Map(), of = /* @__PURE__ */ new Map(), il = /* @__PURE__ */ new Map(), H0 = [
          [".mts", ".mjs"],
          [".ts", ".js"],
          [".cts", ".cjs"],
          [".mjs", ".mjs"],
          [".js", ".js"],
          [".cjs", ".cjs"],
          [".tsx", F.jsx === 1 ? ".jsx" : ".js"],
          [".jsx", ".jsx"],
          [".json", ".json"]
        ];
        return D_t(), Wr;
        function aT(r) {
          return !kn(r) || !Fe(r.name) || !kn(r.expression) && !Fe(r.expression) ? !1 : Fe(r.expression) ? Pn(r.expression) === "Symbol" && Du(r.expression) === (RE(
            "Symbol",
            1160127,
            /*diagnostic*/
            void 0
          ) || Q) : Fe(r.expression.expression) ? Pn(r.expression.name) === "Symbol" && Pn(r.expression.expression) === "globalThis" && Du(r.expression.expression) === ve : !1;
        }
        function wd(r) {
          return r ? He.get(r) : void 0;
        }
        function v1(r, a) {
          return r && He.set(r, a), a;
        }
        function Vl(r) {
          if (r) {
            const a = Er(r);
            if (a)
              if (Yp(r)) {
                if (a.localJsxFragmentNamespace)
                  return a.localJsxFragmentNamespace;
                const l = a.pragmas.get("jsxfrag");
                if (l) {
                  const d = fs(l) ? l[0] : l;
                  if (a.localJsxFragmentFactory = Yx(d.arguments.factory, j), $e(a.localJsxFragmentFactory, F_, Gu), a.localJsxFragmentFactory)
                    return a.localJsxFragmentNamespace = Xu(a.localJsxFragmentFactory).escapedText;
                }
                const f = Jme(r);
                if (f)
                  return a.localJsxFragmentFactory = f, a.localJsxFragmentNamespace = Xu(f).escapedText;
              } else {
                const l = th(a);
                if (l)
                  return a.localJsxNamespace = l;
              }
          }
          return y1 || (y1 = "React", F.jsxFactory ? (Kg = Yx(F.jsxFactory, j), $e(Kg, F_), Kg && (y1 = Xu(Kg).escapedText)) : F.reactNamespace && (y1 = ec(F.reactNamespace))), Kg || (Kg = N.createQualifiedName(N.createIdentifier(Ei(y1)), "createElement")), y1;
        }
        function th(r) {
          if (r.localJsxNamespace)
            return r.localJsxNamespace;
          const a = r.pragmas.get("jsx");
          if (a) {
            const l = fs(a) ? a[0] : a;
            if (r.localJsxFactory = Yx(l.arguments.factory, j), $e(r.localJsxFactory, F_, Gu), r.localJsxFactory)
              return r.localJsxNamespace = Xu(r.localJsxFactory).escapedText;
          }
        }
        function F_(r) {
          return hd(r, -1, -1), yr(
            r,
            F_,
            /*context*/
            void 0
          );
        }
        function rh(r, a, l) {
          return l || R7e(r, a), re;
        }
        function nh(r, a, ...l) {
          const f = r ? Kr(r, a, ...l) : $o(a, ...l), d = Ia.lookup(f);
          return d || (Ia.add(f), f);
        }
        function og(r, a, l, ...f) {
          const d = Be(a, l, ...f);
          return d.skippedOn = r, d;
        }
        function b2(r, a, ...l) {
          return r ? Kr(r, a, ...l) : $o(a, ...l);
        }
        function Be(r, a, ...l) {
          const f = b2(r, a, ...l);
          return Ia.add(f), f;
        }
        function G0(r, a) {
          r ? Ia.add(a) : Av.add({
            ...a,
            category: 2
            /* Suggestion */
          });
        }
        function Pd(r, a, l, ...f) {
          if (a.pos < 0 || a.end < 0) {
            if (!r)
              return;
            const d = Er(a);
            G0(r, "message" in l ? al(d, 0, 0, l, ...f) : _B(d, l));
            return;
          }
          G0(r, "message" in l ? Kr(a, l, ...f) : Lg(Er(a), a, l));
        }
        function $0(r, a, l, ...f) {
          const d = Be(r, l, ...f);
          if (a) {
            const y = Kr(r, p.Did_you_forget_to_use_await);
            Ws(d, y);
          }
          return d;
        }
        function Ek(r, a) {
          const l = Array.isArray(r) ? ar(r, Dj) : Dj(r);
          return l && Ws(
            a,
            Kr(l, p.The_declaration_was_marked_as_deprecated_here)
          ), Av.add(a), a;
        }
        function X0(r) {
          const a = O_(r);
          return a && Ar(r.declarations) > 1 ? a.flags & 64 ? at(r.declarations, Gh) : Pi(r.declarations, Gh) : !!r.valueDeclaration && Gh(r.valueDeclaration) || Ar(r.declarations) && Pi(r.declarations, Gh);
        }
        function Gh(r) {
          return !!(Y2(r) & 536870912);
        }
        function cg(r, a, l) {
          const f = Kr(r, p._0_is_deprecated, l);
          return Ek(a, f);
        }
        function Dk(r, a, l, f) {
          const d = l ? Kr(r, p.The_signature_0_of_1_is_deprecated, f, l) : Kr(r, p._0_is_deprecated, f);
          return Ek(a, d);
        }
        function sa(r, a, l) {
          g++;
          const f = new o(r | 33554432, a);
          return f.links = new N1e(), f.links.checkFlags = l || 0, f;
        }
        function Il(r, a) {
          const l = sa(1, r);
          return l.links.type = a, l;
        }
        function ih(r, a) {
          const l = sa(4, r);
          return l.links.type = a, l;
        }
        function sh(r) {
          let a = 0;
          return r & 2 && (a |= 111551), r & 1 && (a |= 111550), r & 4 && (a |= 0), r & 8 && (a |= 900095), r & 16 && (a |= 110991), r & 32 && (a |= 899503), r & 64 && (a |= 788872), r & 256 && (a |= 899327), r & 128 && (a |= 899967), r & 512 && (a |= 110735), r & 8192 && (a |= 103359), r & 32768 && (a |= 46015), r & 65536 && (a |= 78783), r & 262144 && (a |= 526824), r & 524288 && (a |= 788968), r & 2097152 && (a |= 2097152), a;
        }
        function b1(r, a) {
          a.mergeId || (a.mergeId = w1e, w1e++), xk[a.mergeId] = r;
        }
        function Iv(r) {
          const a = sa(r.flags, r.escapedName);
          return a.declarations = r.declarations ? r.declarations.slice() : [], a.parent = r.parent, r.valueDeclaration && (a.valueDeclaration = r.valueDeclaration), r.constEnumOnlyModule && (a.constEnumOnlyModule = !0), r.members && (a.members = new Map(r.members)), r.exports && (a.exports = new Map(r.exports)), b1(a, r), a;
        }
        function Tm(r, a, l = !1) {
          if (!(r.flags & sh(a.flags)) || (a.flags | r.flags) & 67108864) {
            if (a === r)
              return r;
            if (!(r.flags & 33554432)) {
              const y = dc(r);
              if (y === Q)
                return a;
              if (!(y.flags & sh(a.flags)) || (a.flags | y.flags) & 67108864)
                r = Iv(y);
              else
                return f(r, a), a;
            }
            a.flags & 512 && r.flags & 512 && r.constEnumOnlyModule && !a.constEnumOnlyModule && (r.constEnumOnlyModule = !1), r.flags |= a.flags, a.valueDeclaration && A3(r, a.valueDeclaration), wn(r.declarations, a.declarations), a.members && (r.members || (r.members = qs()), xm(r.members, a.members, l)), a.exports && (r.exports || (r.exports = qs()), xm(r.exports, a.exports, l, r)), l || b1(r, a);
          } else r.flags & 1024 ? r !== ve && Be(
            a.declarations && ls(a.declarations[0]),
            p.Cannot_augment_module_0_with_value_exports_because_it_resolves_to_a_non_module_entity,
            Bi(r)
          ) : f(r, a);
          return r;
          function f(y, x) {
            const I = !!(y.flags & 384 || x.flags & 384), R = !!(y.flags & 2 || x.flags & 2), J = I ? p.Enum_declarations_can_only_merge_with_namespace_or_other_enum_declarations : R ? p.Cannot_redeclare_block_scoped_variable_0 : p.Duplicate_identifier_0, Y = x.declarations && Er(x.declarations[0]), Te = y.declarations && Er(y.declarations[0]), de = F4(Y, F.checkJs), Ge = F4(Te, F.checkJs), ct = Bi(x);
            if (Y && Te && bo && !I && Y !== Te) {
              const ht = xh(Y.path, Te.path) === -1 ? Y : Te, nr = ht === Y ? Te : Y, Xt = r4(bo, `${ht.path}|${nr.path}`, () => ({ firstFile: ht, secondFile: nr, conflictingSymbols: /* @__PURE__ */ new Map() })), Gr = r4(Xt.conflictingSymbols, ct, () => ({ isBlockScoped: R, firstFileLocations: [], secondFileLocations: [] }));
              de || d(Gr.firstFileLocations, x), Ge || d(Gr.secondFileLocations, y);
            } else
              de || $h(x, J, ct, y), Ge || $h(y, J, ct, x);
          }
          function d(y, x) {
            if (x.declarations)
              for (const I of x.declarations)
                $f(y, I);
          }
        }
        function $h(r, a, l, f) {
          ar(r.declarations, (d) => {
            oT(d, a, l, f.declarations);
          });
        }
        function oT(r, a, l, f) {
          const d = ($1(
            r,
            /*isPrototypeAssignment*/
            !1
          ) ? vB(r) : ls(r)) || r, y = nh(d, a, l);
          for (const x of f || Ue) {
            const I = ($1(
              x,
              /*isPrototypeAssignment*/
              !1
            ) ? vB(x) : ls(x)) || x;
            if (I === d) continue;
            y.relatedInformation = y.relatedInformation || [];
            const R = Kr(I, p._0_was_also_declared_here, l), J = Kr(I, p.and_here);
            Ar(y.relatedInformation) >= 5 || at(
              y.relatedInformation,
              (Y) => oD(Y, J) === 0 || oD(Y, R) === 0
              /* EqualTo */
            ) || Ws(y, Ar(y.relatedInformation) ? J : R);
          }
        }
        function Q0(r, a) {
          if (!r?.size) return a;
          if (!a?.size) return r;
          const l = qs();
          return xm(l, r), xm(l, a), l;
        }
        function xm(r, a, l = !1, f) {
          a.forEach((d, y) => {
            const x = r.get(y), I = x ? Tm(x, d, l) : La(d);
            f && x && (I.parent = f), r.set(y, I);
          });
        }
        function lg(r) {
          var a, l, f;
          const d = r.parent;
          if (((a = d.symbol.declarations) == null ? void 0 : a[0]) !== d) {
            E.assert(d.symbol.declarations.length > 1);
            return;
          }
          if ($m(d))
            xm(nt, d.symbol.exports);
          else {
            const y = r.parent.parent.flags & 33554432 ? void 0 : p.Invalid_module_name_in_augmentation_module_0_cannot_be_found;
            let x = jv(
              r,
              r,
              y,
              /*ignoreErrors*/
              !1,
              /*isForAugmentation*/
              !0
            );
            if (!x)
              return;
            if (x = b_(x), x.flags & 1920)
              if (at(Rf, (I) => x === I.symbol)) {
                const I = Tm(
                  d.symbol,
                  x,
                  /*unidirectional*/
                  !0
                );
                r_ || (r_ = /* @__PURE__ */ new Map()), r_.set(r.text, I);
              } else {
                if ((l = x.exports) != null && l.get(
                  "__export"
                  /* ExportStar */
                ) && ((f = d.symbol.exports) != null && f.size)) {
                  const I = Tfe(
                    x,
                    "resolvedExports"
                    /* resolvedExports */
                  );
                  for (const [R, J] of rs(d.symbol.exports.entries()))
                    I.has(R) && !x.exports.has(R) && Tm(I.get(R), J);
                }
                Tm(x, d.symbol);
              }
            else
              Be(r, p.Cannot_augment_module_0_because_it_resolves_to_a_non_module_entity, r.text);
          }
        }
        function S1() {
          const r = oe.escapedName, a = nt.get(r);
          a ? ar(a.declarations, (l) => {
            Px(l) || Ia.add(Kr(l, p.Declaration_name_conflicts_with_built_in_global_identifier_0, Ei(r)));
          }) : nt.set(r, oe);
        }
        function Ri(r) {
          if (r.flags & 33554432) return r.links;
          const a = ea(r);
          return pE[a] ?? (pE[a] = new N1e());
        }
        function yn(r) {
          const a = Oa(r);
          return g2[a] || (g2[a] = new pRe());
        }
        function zu(r, a, l) {
          if (l) {
            const f = La(r.get(a));
            if (f && (f.flags & l || f.flags & 2097152 && cf(f) & l))
              return f;
          }
        }
        function cT(r, a) {
          const l = r.parent, f = r.parent.parent, d = zu(
            l.locals,
            a,
            111551
            /* Value */
          ), y = zu(
            gg(f.symbol),
            a,
            111551
            /* Value */
          );
          return d && y ? [d, y] : E.fail("There should exist two symbols, one as property declaration and one as parameter declaration");
        }
        function km(r, a) {
          const l = Er(r), f = Er(a), d = pd(r);
          if (l !== f) {
            if (z && (l.externalModuleIndicator || f.externalModuleIndicator) || !F.outFile || yx(a) || r.flags & 33554432 || x(a, r))
              return !0;
            const R = e.getSourceFiles();
            return R.indexOf(l) <= R.indexOf(f);
          }
          if (a.flags & 16777216 || yx(a) || Ype(a))
            return !0;
          if (r.pos <= a.pos && !(is(r) && y3(a.parent) && !r.initializer && !r.exclamationToken)) {
            if (r.kind === 208) {
              const R = Y1(
                a,
                208
                /* BindingElement */
              );
              return R ? _r(R, ya) !== _r(r, ya) || r.pos < R.pos : km(Y1(
                r,
                260
                /* VariableDeclaration */
              ), a);
            } else {
              if (r.kind === 260)
                return !y(r, a);
              if (Xn(r)) {
                const R = _r(a, (J) => J === r ? "quit" : ia(J) ? J.parent.parent === r : !V && yl(J) && (J.parent === r || uc(J.parent) && J.parent.parent === r || GP(J.parent) && J.parent.parent === r || is(J.parent) && J.parent.parent === r || Ni(J.parent) && J.parent.parent.parent === r));
                return R ? !V && yl(R) ? !!_r(a, (J) => J === R ? "quit" : Ts(J) && !Db(J)) : !1 : !0;
              } else {
                if (is(r))
                  return !I(
                    r,
                    a,
                    /*stopAtAnyPropertyDeclaration*/
                    !1
                  );
                if (U_(r, r.parent))
                  return !(W && Jl(r) === Jl(a) && x(a, r));
              }
            }
            return !0;
          }
          if (a.parent.kind === 281 || a.parent.kind === 277 && a.parent.isExportEquals || a.kind === 277 && a.isExportEquals)
            return !0;
          if (x(a, r))
            return W && Jl(r) && (is(r) || U_(r, r.parent)) ? !I(
              r,
              a,
              /*stopAtAnyPropertyDeclaration*/
              !0
            ) : !0;
          return !1;
          function y(R, J) {
            switch (R.parent.parent.kind) {
              case 243:
              case 248:
              case 250:
                if (rd(J, R, d))
                  return !0;
                break;
            }
            const Y = R.parent.parent;
            return uS(Y) && rd(J, Y.expression, d);
          }
          function x(R, J) {
            return !!_r(R, (Y) => {
              if (Y === d)
                return "quit";
              if (Ts(Y))
                return !0;
              if (hc(Y))
                return J.pos < R.pos;
              const Te = Mn(Y.parent, is);
              if (Te && Te.initializer === Y) {
                if (zs(Y.parent)) {
                  if (J.kind === 174)
                    return !0;
                  if (is(J) && Jl(R) === Jl(J)) {
                    const Ge = J.name;
                    if (Fe(Ge) || Di(Ge)) {
                      const ct = Qr(vn(J)), ht = Tn(J.parent.members, hc);
                      if (_ut(Ge, ct, ht, J.parent.pos, Y.pos))
                        return !0;
                    }
                  }
                } else if (!(J.kind === 172 && !zs(J)) || Jl(R) !== Jl(J))
                  return !0;
              }
              return !1;
            });
          }
          function I(R, J, Y) {
            return J.end > R.end ? !1 : _r(J, (de) => {
              if (de === R)
                return "quit";
              switch (de.kind) {
                case 219:
                  return !0;
                case 172:
                  return Y && (is(R) && de.parent === R.parent || U_(R, R.parent) && de.parent === R.parent.parent) ? "quit" : !0;
                case 241:
                  switch (de.parent.kind) {
                    case 177:
                    case 174:
                    case 178:
                      return !0;
                    default:
                      return !1;
                  }
                default:
                  return !1;
              }
            }) === void 0;
          }
        }
        function po(r) {
          return yn(r).declarationRequiresScopeChange;
        }
        function Fv(r, a) {
          yn(r).declarationRequiresScopeChange = a;
        }
        function Ov(r, a, l, f) {
          return W ? !1 : (r && !f && gE(r, a, a) || Be(
            r,
            r && l.type && JP(l.type, r.pos) ? p.Type_of_instance_member_variable_0_cannot_reference_identifier_1_declared_in_the_constructor : p.Initializer_of_instance_member_variable_0_cannot_reference_identifier_1_declared_in_the_constructor,
            _o(l.name),
            Nd(a)
          ), !0);
        }
        function lT(r, a, l, f) {
          const d = cs(a) ? a : a.escapedText;
          n(() => {
            if (!r || r.parent.kind !== 324 && !gE(r, d, a) && !dn(r) && !gs(r, d, l) && !Lv(r, d) && !Wu(r, d, l) && !ln(r, d, l) && !Y0(r, d, l)) {
              let y, x;
              if (a && (x = uat(a), x && Be(r, f, Nd(a), x)), !x && m2 < Vw && (y = L8e(r, d, l), y?.valueDeclaration && Fu(y.valueDeclaration) && $m(y.valueDeclaration) && (y = void 0), y)) {
                const R = Bi(y), J = Ide(
                  r,
                  y,
                  /*excludeClasses*/
                  !1
                ), Y = l === 1920 || a && typeof a != "string" && oo(a) ? p.Cannot_find_namespace_0_Did_you_mean_1 : J ? p.Could_not_find_name_0_Did_you_mean_1 : p.Cannot_find_name_0_Did_you_mean_1, Te = b2(r, Y, Nd(a), R);
                Te.canonicalHead = KZ(f, Nd(a)), G0(!J, Te), y.valueDeclaration && Ws(
                  Te,
                  Kr(y.valueDeclaration, p._0_is_declared_here, R)
                );
              }
              !y && !x && a && Be(r, f, Nd(a)), m2++;
            }
          });
        }
        function wk(r, a, l, f, d, y) {
          n(() => {
            var x;
            const I = a.escapedName, R = f && xi(f) && H_(f);
            if (r && (l & 2 || (l & 32 || l & 384) && (l & 111551) === 111551)) {
              const J = L_(a);
              (J.flags & 2 || J.flags & 32 || J.flags & 384) && ug(J, r);
            }
            if (R && (l & 111551) === 111551 && !(r.flags & 16777216)) {
              const J = La(a);
              Ar(J.declarations) && Pi(J.declarations, (Y) => PN(Y) || xi(Y) && !!Y.symbol.globalExports) && Pd(!F.allowUmdGlobalAccess, r, p._0_refers_to_a_UMD_global_but_the_current_file_is_a_module_Consider_adding_an_import_instead, Ei(I));
            }
            if (d && !y && (l & 111551) === 111551) {
              const J = La(jG(a)), Y = em(d);
              J === vn(d) ? Be(r, p.Parameter_0_cannot_reference_itself, _o(d.name)) : J.valueDeclaration && J.valueDeclaration.pos > d.pos && Y.parent.locals && zu(Y.parent.locals, J.escapedName, l) === J && Be(r, p.Parameter_0_cannot_reference_identifier_1_declared_after_it, _o(d.name), _o(r));
            }
            if (r && l & 111551 && a.flags & 2097152 && !(a.flags & 111551) && !ev(r)) {
              const J = Id(
                a,
                111551
                /* Value */
              );
              if (J) {
                const Y = J.kind === 281 || J.kind === 278 || J.kind === 280 ? p._0_cannot_be_used_as_a_value_because_it_was_exported_using_export_type : p._0_cannot_be_used_as_a_value_because_it_was_imported_using_import_type, Te = Ei(I);
                T1(
                  Be(r, Y, Te),
                  J,
                  Te
                );
              }
            }
            if (F.isolatedModules && a && R && (l & 111551) === 111551) {
              const Y = zu(nt, I, l) === a && xi(f) && f.locals && zu(
                f.locals,
                I,
                -111552
                /* Value */
              );
              if (Y) {
                const Te = (x = Y.declarations) == null ? void 0 : x.find(
                  (de) => de.kind === 276 || de.kind === 273 || de.kind === 274 || de.kind === 271
                  /* ImportEqualsDeclaration */
                );
                Te && !NC(Te) && Be(Te, p.Import_0_conflicts_with_global_value_used_in_this_file_so_must_be_declared_with_a_type_only_import_when_isolatedModules_is_enabled, Ei(I));
              }
            }
          });
        }
        function T1(r, a, l) {
          return a ? Ws(
            r,
            Kr(
              a,
              a.kind === 281 || a.kind === 278 || a.kind === 280 ? p._0_was_exported_here : p._0_was_imported_here,
              l
            )
          ) : r;
        }
        function Nd(r) {
          return cs(r) ? Ei(r) : _o(r);
        }
        function gE(r, a, l) {
          if (!Fe(r) || r.escapedText !== a || j7e(r) || yx(r))
            return !1;
          const f = Ou(
            r,
            /*includeArrowFunctions*/
            !1,
            /*includeClassComputedPropertyName*/
            !1
          );
          let d = f;
          for (; d; ) {
            if (Xn(d.parent)) {
              const y = vn(d.parent);
              if (!y)
                break;
              const x = Qr(y);
              if (Zs(x, a))
                return Be(r, p.Cannot_find_name_0_Did_you_mean_the_static_member_1_0, Nd(l), Bi(y)), !0;
              if (d === f && !zs(d)) {
                const I = wo(y).thisType;
                if (Zs(I, a))
                  return Be(r, p.Cannot_find_name_0_Did_you_mean_the_instance_member_this_0, Nd(l)), !0;
              }
            }
            d = d.parent;
          }
          return !1;
        }
        function dn(r) {
          const a = Eu(r);
          return a && mc(
            a,
            64,
            /*ignoreErrors*/
            !0
          ) ? (Be(r, p.Cannot_extend_an_interface_0_Did_you_mean_implements, Go(a)), !0) : !1;
        }
        function Eu(r) {
          switch (r.kind) {
            case 80:
            case 211:
              return r.parent ? Eu(r.parent) : void 0;
            case 233:
              if (to(r.expression))
                return r.expression;
            // falls through
            default:
              return;
          }
        }
        function gs(r, a, l) {
          const f = 1920 | (tn(r) ? 111551 : 0);
          if (l === f) {
            const d = dc(it(
              r,
              a,
              788968 & ~f,
              /*nameNotFoundMessage*/
              void 0,
              /*isUse*/
              !1
            )), y = r.parent;
            if (d) {
              if (Qu(y)) {
                E.assert(y.left === r, "Should only be resolving left side of qualified name as a namespace");
                const x = y.right.escapedText;
                if (Zs(wo(d), x))
                  return Be(
                    y,
                    p.Cannot_access_0_1_because_0_is_a_type_but_not_a_namespace_Did_you_mean_to_retrieve_the_type_of_the_property_1_in_0_with_0_1,
                    Ei(a),
                    Ei(x)
                  ), !0;
              }
              return Be(r, p._0_only_refers_to_a_type_but_is_being_used_as_a_namespace_here, Ei(a)), !0;
            }
          }
          return !1;
        }
        function Y0(r, a, l) {
          if (l & 788584) {
            const f = dc(it(
              r,
              a,
              111127,
              /*nameNotFoundMessage*/
              void 0,
              /*isUse*/
              !1
            ));
            if (f && !(f.flags & 1920))
              return Be(r, p._0_refers_to_a_value_but_is_being_used_as_a_type_here_Did_you_mean_typeof_0, Ei(a)), !0;
          }
          return !1;
        }
        function uT(r) {
          return r === "any" || r === "string" || r === "number" || r === "boolean" || r === "never" || r === "unknown";
        }
        function Lv(r, a) {
          return uT(a) && r.parent.kind === 281 ? (Be(r, p.Cannot_export_0_Only_local_declarations_can_be_exported_from_a_module, a), !0) : !1;
        }
        function ln(r, a, l) {
          if (l & 111551) {
            if (uT(a)) {
              const y = r.parent.parent;
              if (y && y.parent && Q_(y)) {
                const x = y.token;
                y.parent.kind === 264 && x === 96 ? Be(r, p.An_interface_cannot_extend_a_primitive_type_like_0_It_can_only_extend_other_named_object_types, Ei(a)) : Xn(y.parent) && x === 96 ? Be(r, p.A_class_cannot_extend_a_primitive_type_like_0_Classes_can_only_extend_constructable_values, Ei(a)) : Xn(y.parent) && x === 119 && Be(r, p.A_class_cannot_implement_a_primitive_type_like_0_It_can_only_implement_other_named_object_types, Ei(a));
              } else
                Be(r, p._0_only_refers_to_a_type_but_is_being_used_as_a_value_here, Ei(a));
              return !0;
            }
            const f = dc(it(
              r,
              a,
              788544,
              /*nameNotFoundMessage*/
              void 0,
              /*isUse*/
              !1
            )), d = f && cf(f);
            if (f && d !== void 0 && !(d & 111551)) {
              const y = Ei(a);
              return Pk(a) ? Be(r, p._0_only_refers_to_a_type_but_is_being_used_as_a_value_here_Do_you_need_to_change_your_target_library_Try_changing_the_lib_compiler_option_to_es2015_or_later, y) : hE(r, f) ? Be(r, p._0_only_refers_to_a_type_but_is_being_used_as_a_value_here_Did_you_mean_to_use_1_in_0, y, y === "K" ? "P" : "K") : Be(r, p._0_only_refers_to_a_type_but_is_being_used_as_a_value_here, y), !0;
            }
          }
          return !1;
        }
        function hE(r, a) {
          const l = _r(r.parent, (f) => ia(f) || ju(f) ? !1 : Yu(f) || "quit");
          if (l && l.members.length === 1) {
            const f = wo(a);
            return !!(f.flags & 1048576) && TI(
              f,
              384,
              /*strict*/
              !0
            );
          }
          return !1;
        }
        function Pk(r) {
          switch (r) {
            case "Promise":
            case "Symbol":
            case "Map":
            case "WeakMap":
            case "Set":
            case "WeakSet":
              return !0;
          }
          return !1;
        }
        function Wu(r, a, l) {
          if (l & 111127) {
            if (dc(it(
              r,
              a,
              1024,
              /*nameNotFoundMessage*/
              void 0,
              /*isUse*/
              !1
            )))
              return Be(
                r,
                p.Cannot_use_namespace_0_as_a_value,
                Ei(a)
              ), !0;
          } else if (l & 788544 && dc(it(
            r,
            a,
            1536,
            /*nameNotFoundMessage*/
            void 0,
            /*isUse*/
            !1
          )))
            return Be(r, p.Cannot_use_namespace_0_as_a_type, Ei(a)), !0;
          return !1;
        }
        function ug(r, a) {
          var l;
          if (E.assert(!!(r.flags & 2 || r.flags & 32 || r.flags & 384)), r.flags & 67108881 && r.flags & 32)
            return;
          const f = (l = r.declarations) == null ? void 0 : l.find(
            (d) => tB(d) || Xn(d) || d.kind === 266
            /* EnumDeclaration */
          );
          if (f === void 0) return E.fail("checkResolvedBlockScopedVariable could not find block-scoped declaration");
          if (!(f.flags & 33554432) && !km(f, a)) {
            let d;
            const y = _o(ls(f));
            r.flags & 2 ? d = Be(a, p.Block_scoped_variable_0_used_before_its_declaration, y) : r.flags & 32 ? d = Be(a, p.Class_0_used_before_its_declaration, y) : r.flags & 256 ? d = Be(a, p.Enum_0_used_before_its_declaration, y) : (E.assert(!!(r.flags & 128)), Np(F) && (d = Be(a, p.Enum_0_used_before_its_declaration, y))), d && Ws(d, Kr(f, p._0_is_declared_here, y));
          }
        }
        function rd(r, a, l) {
          return !!a && !!_r(r, (f) => f === a || (f === l || Ts(f) && (!Db(f) || Fc(f) & 3) ? "quit" : !1));
        }
        function Z0(r) {
          switch (r.kind) {
            case 271:
              return r;
            case 273:
              return r.parent;
            case 274:
              return r.parent.parent;
            case 276:
              return r.parent.parent.parent;
            default:
              return;
          }
        }
        function zf(r) {
          return r.declarations && fb(r.declarations, ah);
        }
        function ah(r) {
          return r.kind === 271 || r.kind === 270 || r.kind === 273 && !!r.name || r.kind === 274 || r.kind === 280 || r.kind === 276 || r.kind === 281 || r.kind === 277 && B3(r) || _n(r) && Pc(r) === 2 && B3(r) || ko(r) && _n(r.parent) && r.parent.left === r && r.parent.operatorToken.kind === 64 && bf(r.parent.right) || r.kind === 304 || r.kind === 303 && bf(r.initializer) || r.kind === 260 && wb(r) || r.kind === 208 && wb(r.parent.parent);
        }
        function bf(r) {
          return c5(r) || ho(r) && jm(r);
        }
        function Ad(r, a) {
          const l = x2(r);
          if (l) {
            const d = r6(l.expression).arguments[0];
            return Fe(l.name) ? dc(Zs(f3e(d), l.name.escapedText)) : void 0;
          }
          if (Zn(r) || r.moduleReference.kind === 283) {
            const d = Vu(
              r,
              yB(r) || J4(r)
            ), y = b_(d);
            return Bp(
              r,
              d,
              y,
              /*overwriteEmpty*/
              !1
            ), y;
          }
          const f = mT(r.moduleReference, a);
          return jp(r, f), f;
        }
        function jp(r, a) {
          if (Bp(
            r,
            /*immediateTarget*/
            void 0,
            a,
            /*overwriteEmpty*/
            !1
          ) && !r.isTypeOnly) {
            const l = Id(vn(r)), f = l.kind === 281 || l.kind === 278, d = f ? p.An_import_alias_cannot_reference_a_declaration_that_was_exported_using_export_type : p.An_import_alias_cannot_reference_a_declaration_that_was_imported_using_import_type, y = f ? p._0_was_exported_here : p._0_was_imported_here, x = l.kind === 278 ? "*" : Uy(l.name);
            Ws(Be(r.moduleReference, d), Kr(l, y, x));
          }
        }
        function _g(r, a, l, f) {
          const d = r.exports.get(
            "export="
            /* ExportEquals */
          ), y = d ? Zs(
            Qr(d),
            a,
            /*skipObjectFunctionPropertyAugment*/
            !0
          ) : r.exports.get(a), x = dc(y, f);
          return Bp(
            l,
            y,
            x,
            /*overwriteEmpty*/
            !1
          ), x;
        }
        function S2(r) {
          return Oo(r) && !r.isExportEquals || qn(
            r,
            2048
            /* Default */
          ) || bu(r) || Zm(r);
        }
        function K0(r) {
          return Ba(r) ? e.getEmitSyntaxForUsageLocation(Er(r), r) : void 0;
        }
        function Nk(r, a) {
          return r === 99 && a === 1;
        }
        function oh(r, a) {
          if (100 <= z && z <= 199 && K0(r) === 99) {
            a ?? (a = Vu(
              r,
              r,
              /*ignoreErrors*/
              !0
            ));
            const f = a && s3(a);
            return f && (Kf(f) || JF(f.fileName) === ".d.json.ts");
          }
          return !1;
        }
        function _T(r, a, l, f) {
          const d = r && K0(f);
          if (r && d !== void 0) {
            const y = e.getImpliedNodeFormatForEmit(r);
            if (d === 99 && y === 1 && 100 <= z && z <= 199)
              return !0;
            if (d === 99 && y === 99)
              return !1;
          }
          if (!pe)
            return !1;
          if (!r || r.isDeclarationFile) {
            const y = _g(
              a,
              "default",
              /*sourceNode*/
              void 0,
              /*dontResolveAlias*/
              !0
            );
            return !(y && at(y.declarations, S2) || _g(
              a,
              ec("__esModule"),
              /*sourceNode*/
              void 0,
              l
            ));
          }
          return $u(r) ? typeof r.externalModuleIndicator != "object" && !_g(
            a,
            ec("__esModule"),
            /*sourceNode*/
            void 0,
            l
          ) : Bv(a);
        }
        function Ak(r, a) {
          const l = Vu(r, r.parent.moduleSpecifier);
          if (l)
            return x1(l, r, a);
        }
        function x1(r, a, l) {
          var f;
          let d;
          c3(r) ? d = r : d = _g(r, "default", a, l);
          const y = (f = r.declarations) == null ? void 0 : f.find(xi), x = nd(a);
          if (!x)
            return d;
          const I = oh(x, r), R = _T(y, r, l, x);
          if (!d && !R && !I)
            if (Bv(r) && !pe) {
              const J = z >= 5 ? "allowSyntheticDefaultImports" : "esModuleInterop", Te = r.exports.get(
                "export="
                /* ExportEquals */
              ).valueDeclaration, de = Be(a.name, p.Module_0_can_only_be_default_imported_using_the_1_flag, Bi(r), J);
              Te && Ws(
                de,
                Kr(
                  Te,
                  p.This_module_is_declared_with_export_and_can_only_be_used_with_a_default_import_when_using_the_0_flag,
                  J
                )
              );
            } else Qp(a) ? Ik(r, a) : ty(r, r, a, Ry(a) && a.propertyName || a.name);
          else if (R || I) {
            const J = b_(r, l) || dc(r, l);
            return Bp(
              a,
              r,
              J,
              /*overwriteEmpty*/
              !1
            ), J;
          }
          return Bp(
            a,
            d,
            /*finalTarget*/
            void 0,
            /*overwriteEmpty*/
            !1
          ), d;
        }
        function nd(r) {
          switch (r.kind) {
            case 273:
              return r.parent.moduleSpecifier;
            case 271:
              return Mh(r.moduleReference) ? r.moduleReference.expression : void 0;
            case 274:
              return r.parent.parent.moduleSpecifier;
            case 276:
              return r.parent.parent.parent.moduleSpecifier;
            case 281:
              return r.parent.parent.moduleSpecifier;
            default:
              return E.assertNever(r);
          }
        }
        function Ik(r, a) {
          var l, f, d;
          if ((l = r.exports) != null && l.has(a.symbol.escapedName))
            Be(
              a.name,
              p.Module_0_has_no_default_export_Did_you_mean_to_use_import_1_from_0_instead,
              Bi(r),
              Bi(a.symbol)
            );
          else {
            const y = Be(a.name, p.Module_0_has_no_default_export, Bi(r)), x = (f = r.exports) == null ? void 0 : f.get(
              "__export"
              /* ExportStar */
            );
            if (x) {
              const I = (d = x.declarations) == null ? void 0 : d.find(
                (R) => {
                  var J, Y;
                  return !!(Oc(R) && R.moduleSpecifier && ((Y = (J = Vu(R, R.moduleSpecifier)) == null ? void 0 : J.exports) != null && Y.has(
                    "default"
                    /* Default */
                  )));
                }
              );
              I && Ws(y, Kr(I, p.export_Asterisk_does_not_re_export_a_default));
            }
          }
        }
        function fT(r, a) {
          const l = r.parent.parent.moduleSpecifier, f = Vu(r, l), d = ry(
            f,
            l,
            a,
            /*suppressInteropError*/
            !1
          );
          return Bp(
            r,
            f,
            d,
            /*overwriteEmpty*/
            !1
          ), d;
        }
        function ey(r, a) {
          const l = r.parent.moduleSpecifier, f = l && Vu(r, l), d = l && ry(
            f,
            l,
            a,
            /*suppressInteropError*/
            !1
          );
          return Bp(
            r,
            f,
            d,
            /*overwriteEmpty*/
            !1
          ), d;
        }
        function T2(r, a) {
          if (r === Q && a === Q)
            return Q;
          if (r.flags & 790504)
            return r;
          const l = sa(r.flags | a.flags, r.escapedName);
          return E.assert(r.declarations || a.declarations), l.declarations = pb(Ji(r.declarations, a.declarations), Dy), l.parent = r.parent || a.parent, r.valueDeclaration && (l.valueDeclaration = r.valueDeclaration), a.members && (l.members = new Map(a.members)), r.exports && (l.exports = new Map(r.exports)), l;
        }
        function Cm(r, a, l, f) {
          var d;
          if (r.flags & 1536) {
            const y = lf(r).get(a), x = dc(y, f), I = (d = Ri(r).typeOnlyExportStarMap) == null ? void 0 : d.get(a);
            return Bp(
              l,
              y,
              x,
              /*overwriteEmpty*/
              !1,
              I,
              a
            ), x;
          }
        }
        function Xh(r, a) {
          if (r.flags & 3) {
            const l = r.valueDeclaration.type;
            if (l)
              return dc(Zs(Ci(l), a));
          }
        }
        function Em(r, a, l = !1) {
          var f;
          const d = yB(r) || r.moduleSpecifier, y = Vu(r, d), x = !kn(a) && a.propertyName || a.name;
          if (!Fe(x) && x.kind !== 11)
            return;
          const I = kb(x), J = ry(
            y,
            d,
            /*dontResolveAlias*/
            !1,
            I === "default" && pe
          );
          if (J && (I || x.kind === 11)) {
            if (c3(y))
              return y;
            let Y;
            y && y.exports && y.exports.get(
              "export="
              /* ExportEquals */
            ) ? Y = Zs(
              Qr(J),
              I,
              /*skipObjectFunctionPropertyAugment*/
              !0
            ) : Y = Xh(J, I), Y = dc(Y, l);
            let Te = Cm(J, I, a, l);
            if (Te === void 0 && I === "default") {
              const Ge = (f = y.declarations) == null ? void 0 : f.find(xi);
              (oh(d, y) || _T(Ge, y, l, d)) && (Te = b_(y, l) || dc(y, l));
            }
            const de = Te && Y && Te !== Y ? T2(Y, Te) : Te || Y;
            return Ry(a) && oh(d, y) && I !== "default" ? Be(x, p.Named_imports_from_a_JSON_file_into_an_ECMAScript_module_are_not_allowed_when_module_is_set_to_0, TC[z]) : de || ty(y, J, r, x), de;
          }
        }
        function ty(r, a, l, f) {
          var d;
          const y = Qh(r, l), x = _o(f), I = Fe(f) ? Lde(f, a) : void 0;
          if (I !== void 0) {
            const R = Bi(I), J = Be(f, p._0_has_no_exported_member_named_1_Did_you_mean_2, y, x, R);
            I.valueDeclaration && Ws(J, Kr(I.valueDeclaration, p._0_is_declared_here, R));
          } else
            (d = r.exports) != null && d.has(
              "default"
              /* Default */
            ) ? Be(
              f,
              p.Module_0_has_no_exported_member_1_Did_you_mean_to_use_import_1_from_0_instead,
              y,
              x
            ) : Fl(l, f, x, r, y);
        }
        function Fl(r, a, l, f, d) {
          var y, x;
          const I = (x = (y = Mn(f.valueDeclaration, qm)) == null ? void 0 : y.locals) == null ? void 0 : x.get(kb(a)), R = f.exports;
          if (I) {
            const J = R?.get(
              "export="
              /* ExportEquals */
            );
            if (J)
              Vf(J, I) ? pT(r, a, l, d) : Be(a, p.Module_0_has_no_exported_member_1, d, l);
            else {
              const Y = R ? Dn(Mfe(R), (de) => !!Vf(de, I)) : void 0, Te = Y ? Be(a, p.Module_0_declares_1_locally_but_it_is_exported_as_2, d, l, Bi(Y)) : Be(a, p.Module_0_declares_1_locally_but_it_is_not_exported, d, l);
              I.declarations && Ws(Te, ...fr(I.declarations, (de, Ge) => Kr(de, Ge === 0 ? p._0_is_declared_here : p.and_here, l)));
            }
          } else
            Be(a, p.Module_0_has_no_exported_member_1, d, l);
        }
        function pT(r, a, l, f) {
          if (z >= 5) {
            const d = zg(F) ? p._0_can_only_be_imported_by_using_a_default_import : p._0_can_only_be_imported_by_turning_on_the_esModuleInterop_flag_and_using_a_default_import;
            Be(a, d, l);
          } else if (tn(r)) {
            const d = zg(F) ? p._0_can_only_be_imported_by_using_a_require_call_or_by_using_a_default_import : p._0_can_only_be_imported_by_using_a_require_call_or_by_turning_on_the_esModuleInterop_flag_and_using_a_default_import;
            Be(a, d, l);
          } else {
            const d = zg(F) ? p._0_can_only_be_imported_by_using_import_1_require_2_or_a_default_import : p._0_can_only_be_imported_by_using_import_1_require_2_or_by_turning_on_the_esModuleInterop_flag_and_using_a_default_import;
            Be(a, d, l, l, f);
          }
        }
        function ch(r, a) {
          if (Bu(r) && Gm(r.propertyName || r.name)) {
            const x = nd(r), I = x && Vu(r, x);
            if (I)
              return x1(I, r, a);
          }
          const l = ya(r) ? em(r) : r.parent.parent.parent, f = x2(l), d = Em(l, f || r, a), y = r.propertyName || r.name;
          return f && d && Fe(y) ? dc(Zs(Qr(d), y.escapedText), a) : (Bp(
            r,
            /*immediateTarget*/
            void 0,
            d,
            /*overwriteEmpty*/
            !1
          ), d);
        }
        function x2(r) {
          if (Zn(r) && r.initializer && kn(r.initializer))
            return r.initializer;
        }
        function Fk(r, a) {
          if (fd(r.parent)) {
            const l = b_(r.parent.symbol, a);
            return Bp(
              r,
              /*immediateTarget*/
              void 0,
              l,
              /*overwriteEmpty*/
              !1
            ), l;
          }
        }
        function fg(r, a, l) {
          const f = r.propertyName || r.name;
          if (Gm(f)) {
            const y = nd(r), x = y && Vu(r, y);
            if (x)
              return x1(x, r, !!l);
          }
          const d = r.parent.parent.moduleSpecifier ? Em(r.parent.parent, r, l) : f.kind === 11 ? void 0 : (
            // Skip for invalid syntax like this: export { "x" }
            mc(
              f,
              a,
              /*ignoreErrors*/
              !1,
              l
            )
          );
          return Bp(
            r,
            /*immediateTarget*/
            void 0,
            d,
            /*overwriteEmpty*/
            !1
          ), d;
        }
        function yE(r, a) {
          const l = Oo(r) ? r.expression : r.right, f = k2(l, a);
          return Bp(
            r,
            /*immediateTarget*/
            void 0,
            f,
            /*overwriteEmpty*/
            !1
          ), f;
        }
        function k2(r, a) {
          if (Kc(r))
            return gc(r).symbol;
          if (!Gu(r) && !to(r))
            return;
          const l = mc(
            r,
            901119,
            /*ignoreErrors*/
            !0,
            a
          );
          return l || (gc(r), yn(r).resolvedSymbol);
        }
        function vE(r, a) {
          if (_n(r.parent) && r.parent.left === r && r.parent.operatorToken.kind === 64)
            return k2(r.parent.right, a);
        }
        function Mv(r, a = !1) {
          switch (r.kind) {
            case 271:
            case 260:
              return Ad(r, a);
            case 273:
              return Ak(r, a);
            case 274:
              return fT(r, a);
            case 280:
              return ey(r, a);
            case 276:
            case 208:
              return ch(r, a);
            case 281:
              return fg(r, 901119, a);
            case 277:
            case 226:
              return yE(r, a);
            case 270:
              return Fk(r, a);
            case 304:
              return mc(
                r.name,
                901119,
                /*ignoreErrors*/
                !0,
                a
              );
            case 303:
              return k2(r.initializer, a);
            case 212:
            case 211:
              return vE(r, a);
            default:
              return E.fail();
          }
        }
        function dT(r, a = 901119) {
          return r ? (r.flags & (2097152 | a)) === 2097152 || !!(r.flags & 2097152 && r.flags & 67108864) : !1;
        }
        function dc(r, a) {
          return !a && dT(r) ? Uc(r) : r;
        }
        function Uc(r) {
          E.assert((r.flags & 2097152) !== 0, "Should only get Alias here.");
          const a = Ri(r);
          if (a.aliasTarget)
            a.aliasTarget === Ne && (a.aliasTarget = Q);
          else {
            a.aliasTarget = Ne;
            const l = zf(r);
            if (!l) return E.fail();
            const f = Mv(l);
            a.aliasTarget === Ne ? a.aliasTarget = f || Q : Be(l, p.Circular_definition_of_import_alias_0, Bi(r));
          }
          return a.aliasTarget;
        }
        function bE(r) {
          if (Ri(r).aliasTarget !== Ne)
            return Uc(r);
        }
        function cf(r, a, l) {
          const f = a && Id(r), d = f && Oc(f), y = f && (d ? Vu(
            f.moduleSpecifier,
            f.moduleSpecifier,
            /*ignoreErrors*/
            !0
          ) : Uc(f.symbol)), x = d && y ? lh(y) : void 0;
          let I = l ? 0 : r.flags, R;
          for (; r.flags & 2097152; ) {
            const J = L_(Uc(r));
            if (!d && J === y || x?.get(J.escapedName) === J)
              break;
            if (J === Q)
              return -1;
            if (J === r || R?.has(J))
              break;
            J.flags & 2097152 && (R ? R.add(J) : R = /* @__PURE__ */ new Set([r, J])), I |= J.flags, r = J;
          }
          return I;
        }
        function Bp(r, a, l, f, d, y) {
          if (!r || kn(r)) return !1;
          const x = vn(r);
          if (h0(r)) {
            const R = Ri(x);
            return R.typeOnlyDeclaration = r, !0;
          }
          if (d) {
            const R = Ri(x);
            return R.typeOnlyDeclaration = d, x.escapedName !== y && (R.typeOnlyExportStarName = y), !0;
          }
          const I = Ri(x);
          return Ok(I, a, f) || Ok(I, l, f);
        }
        function Ok(r, a, l) {
          var f;
          if (a && (r.typeOnlyDeclaration === void 0 || l && r.typeOnlyDeclaration === !1)) {
            const d = ((f = a.exports) == null ? void 0 : f.get(
              "export="
              /* ExportEquals */
            )) ?? a, y = d.declarations && Dn(d.declarations, h0);
            r.typeOnlyDeclaration = y ?? Ri(d).typeOnlyDeclaration ?? !1;
          }
          return !!r.typeOnlyDeclaration;
        }
        function Id(r, a) {
          var l;
          if (!(r.flags & 2097152))
            return;
          const f = Ri(r);
          if (f.typeOnlyDeclaration === void 0) {
            f.typeOnlyDeclaration = !1;
            const d = dc(r);
            Bp(
              (l = r.declarations) == null ? void 0 : l[0],
              zf(r) && U$(r),
              d,
              /*overwriteEmpty*/
              !0
            );
          }
          if (a === void 0)
            return f.typeOnlyDeclaration || void 0;
          if (f.typeOnlyDeclaration) {
            const d = f.typeOnlyDeclaration.kind === 278 ? dc(lh(f.typeOnlyDeclaration.symbol.parent).get(f.typeOnlyExportStarName || r.escapedName)) : Uc(f.typeOnlyDeclaration.symbol);
            return cf(d) & a ? f.typeOnlyDeclaration : void 0;
          }
        }
        function mT(r, a) {
          return r.kind === 80 && tD(r) && (r = r.parent), r.kind === 80 || r.parent.kind === 166 ? mc(
            r,
            1920,
            /*ignoreErrors*/
            !1,
            a
          ) : (E.assert(
            r.parent.kind === 271
            /* ImportEqualsDeclaration */
          ), mc(
            r,
            901119,
            /*ignoreErrors*/
            !1,
            a
          ));
        }
        function Qh(r, a) {
          return r.parent ? Qh(r.parent, a) + "." + Bi(r) : Bi(
            r,
            a,
            /*meaning*/
            void 0,
            36
            /* AllowAnyNodeKind */
          );
        }
        function SE(r) {
          for (; Qu(r.parent); )
            r = r.parent;
          return r;
        }
        function gT(r) {
          let a = Xu(r), l = it(
            a,
            a,
            111551,
            /*nameNotFoundMessage*/
            void 0,
            /*isUse*/
            !0
          );
          if (l) {
            for (; Qu(a.parent); ) {
              const f = Qr(l);
              if (l = Zs(f, a.parent.right.escapedText), !l)
                return;
              a = a.parent;
            }
            return l;
          }
        }
        function mc(r, a, l, f, d) {
          if (cc(r))
            return;
          const y = 1920 | (tn(r) ? a & 111551 : 0);
          let x;
          if (r.kind === 80) {
            const I = a === y || oo(r) ? p.Cannot_find_namespace_0 : uAe(Xu(r)), R = tn(r) && !oo(r) ? Rv(r, a) : void 0;
            if (x = La(it(
              d || r,
              r,
              a,
              l || R ? void 0 : I,
              /*isUse*/
              !0,
              /*excludeGlobals*/
              !1
            )), !x)
              return La(R);
          } else if (r.kind === 166 || r.kind === 211) {
            const I = r.kind === 166 ? r.left : r.expression, R = r.kind === 166 ? r.right : r.name;
            let J = mc(
              I,
              y,
              l,
              /*dontResolveAlias*/
              !1,
              d
            );
            if (!J || cc(R))
              return;
            if (J === Q)
              return J;
            if (J.valueDeclaration && tn(J.valueDeclaration) && vu(F) !== 100 && Zn(J.valueDeclaration) && J.valueDeclaration.initializer && aIe(J.valueDeclaration.initializer)) {
              const Y = J.valueDeclaration.initializer.arguments[0], Te = Vu(Y, Y);
              if (Te) {
                const de = b_(Te);
                de && (J = de);
              }
            }
            if (x = La(zu(lf(J), R.escapedText, a)), !x && J.flags & 2097152 && (x = La(zu(lf(Uc(J)), R.escapedText, a))), !x) {
              if (!l) {
                const Y = Qh(J), Te = _o(R), de = Lde(R, J);
                if (de) {
                  Be(R, p._0_has_no_exported_member_named_1_Did_you_mean_2, Y, Te, Bi(de));
                  return;
                }
                const Ge = Qu(r) && SE(r);
                if (Ae && a & 788968 && Ge && !f6(Ge.parent) && gT(Ge)) {
                  Be(
                    Ge,
                    p._0_refers_to_a_value_but_is_being_used_as_a_type_here_Did_you_mean_typeof_0,
                    q_(Ge)
                  );
                  return;
                }
                if (a & 1920 && Qu(r.parent)) {
                  const ht = La(zu(
                    lf(J),
                    R.escapedText,
                    788968
                    /* Type */
                  ));
                  if (ht) {
                    Be(
                      r.parent.right,
                      p.Cannot_access_0_1_because_0_is_a_type_but_not_a_namespace_Did_you_mean_to_retrieve_the_type_of_the_property_1_in_0_with_0_1,
                      Bi(ht),
                      Ei(r.parent.right.escapedText)
                    );
                    return;
                  }
                }
                Be(R, p.Namespace_0_has_no_exported_member_1, Y, Te);
              }
              return;
            }
          } else
            E.assertNever(r, "Unknown entity name kind.");
          return !oo(r) && Gu(r) && (x.flags & 2097152 || r.parent.kind === 277) && Bp(
            wB(r),
            x,
            /*finalTarget*/
            void 0,
            /*overwriteEmpty*/
            !0
          ), x.flags & a || f ? x : Uc(x);
        }
        function Rv(r, a) {
          if (QG(r.parent)) {
            const l = TE(r.parent);
            if (l)
              return it(
                l,
                r,
                a,
                /*nameNotFoundMessage*/
                void 0,
                /*isUse*/
                !0
              );
          }
        }
        function TE(r) {
          if (_r(r, (d) => FC(d) || d.flags & 16777216 ? Dp(d) : "quit"))
            return;
          const l = Nb(r);
          if (l && Pl(l) && N3(l.expression)) {
            const d = vn(l.expression.left);
            if (d)
              return C2(d);
          }
          if (l && ho(l) && N3(l.parent) && Pl(l.parent.parent)) {
            const d = vn(l.parent.left);
            if (d)
              return C2(d);
          }
          if (l && (Ep(l) || tl(l)) && _n(l.parent.parent) && Pc(l.parent.parent) === 6) {
            const d = vn(l.parent.parent.left);
            if (d)
              return C2(d);
          }
          const f = Q1(r);
          if (f && Ts(f)) {
            const d = vn(f);
            return d && d.valueDeclaration;
          }
        }
        function C2(r) {
          const a = r.parent.valueDeclaration;
          return a ? (z4(a) ? _x(a) : _S(a) ? W4(a) : void 0) || a : void 0;
        }
        function qw(r) {
          const a = r.valueDeclaration;
          if (!a || !tn(a) || r.flags & 524288 || $1(
            a,
            /*isPrototypeAssignment*/
            !1
          ))
            return;
          const l = Zn(a) ? W4(a) : _x(a);
          if (l) {
            const f = Sf(l);
            if (f)
              return qde(f, r);
          }
        }
        function Vu(r, a, l) {
          const d = vu(F) === 1 ? p.Cannot_find_module_0_Did_you_mean_to_set_the_moduleResolution_option_to_nodenext_or_to_add_aliases_to_the_paths_option : p.Cannot_find_module_0_or_its_corresponding_type_declarations;
          return jv(r, a, l ? void 0 : d, l);
        }
        function jv(r, a, l, f = !1, d = !1) {
          return Ba(a) ? E2(r, a.text, l, f ? void 0 : a, d) : void 0;
        }
        function E2(r, a, l, f, d = !1) {
          var y, x, I, R, J, Y, Te, de, Ge, ct, ht;
          if (f && Wi(a, "@types/")) {
            const bn = p.Cannot_import_type_declaration_files_Consider_importing_0_instead_of_1, os = s4(a, "@types/");
            Be(f, bn, os, a);
          }
          const nr = _3e(
            a,
            /*withAugmentations*/
            !0
          );
          if (nr)
            return nr;
          const Xt = Er(r), Gr = Ba(r) ? r : ((y = zc(r) ? r : r.parent && zc(r.parent) && r.parent.name === r ? r.parent : void 0) == null ? void 0 : y.name) || ((x = Dh(r) ? r : void 0) == null ? void 0 : x.argument.literal) || (Zn(r) && r.initializer && f_(
            r.initializer,
            /*requireStringLiteralLikeArgument*/
            !0
          ) ? r.initializer.arguments[0] : void 0) || ((I = _r(r, df)) == null ? void 0 : I.arguments[0]) || ((R = _r(r, z_(Uo, _m, Oc))) == null ? void 0 : R.moduleSpecifier) || ((J = _r(r, G1)) == null ? void 0 : J.moduleReference.expression), Jr = Gr && Ba(Gr) ? e.getModeForUsageLocation(Xt, Gr) : e.getDefaultResolutionModeForFile(Xt), sr = vu(F), Yt = (Y = e.getResolvedModule(Xt, a, Jr)) == null ? void 0 : Y.resolvedModule, un = f && Yt && pV(F, Yt, Xt), Bn = Yt && (!un || un === p.Module_0_was_resolved_to_1_but_jsx_is_not_set) && e.getSourceFile(Yt.resolvedFileName);
          if (Bn) {
            if (un && Be(f, un, a, Yt.resolvedFileName), Yt.resolvedUsingTsExtension && Sl(a)) {
              const bn = ((Te = _r(r, Uo)) == null ? void 0 : Te.importClause) || _r(r, z_(bl, Oc));
              (f && bn && !bn.isTypeOnly || _r(r, df)) && Be(
                f,
                p.A_declaration_file_cannot_be_imported_without_import_type_Did_you_mean_to_import_an_implementation_file_0_instead,
                wi(E.checkDefined(D5(a)))
              );
            } else if (Yt.resolvedUsingTsExtension && !F6(F, Xt.fileName)) {
              const bn = ((de = _r(r, Uo)) == null ? void 0 : de.importClause) || _r(r, z_(bl, Oc));
              if (f && !(bn?.isTypeOnly || _r(r, am))) {
                const os = E.checkDefined(D5(a));
                Be(f, p.An_import_path_can_only_end_with_a_0_extension_when_allowImportingTsExtensions_is_enabled, os);
              }
            } else if (F.rewriteRelativeImportExtensions && !(r.flags & 33554432) && !Sl(a) && !Dh(r) && !fZ(r)) {
              const bn = F3(a, F);
              if (!Yt.resolvedUsingTsExtension && bn)
                Be(
                  f,
                  p.This_relative_import_path_is_unsafe_to_rewrite_because_it_looks_like_a_file_name_but_actually_resolves_to_0,
                  kC(Xi(Xt.fileName, e.getCurrentDirectory()), Yt.resolvedFileName, Nh(e))
                );
              else if (Yt.resolvedUsingTsExtension && !bn && Fb(Bn, e))
                Be(
                  f,
                  p.This_import_uses_a_0_extension_to_resolve_to_an_input_TypeScript_file_but_will_not_be_rewritten_during_emit_because_it_is_not_a_relative_path,
                  XT(a)
                );
              else if (Yt.resolvedUsingTsExtension && bn) {
                const os = e.getResolvedProjectReferenceToRedirect(Bn.path);
                if (os) {
                  const Fs = !e.useCaseSensitiveFileNames(), Qa = e.getCommonSourceDirectory(), bs = HS(os.commandLine, Fs), wu = Ef(Qa, bs, Fs), Rl = Ef(F.outDir || Qa, os.commandLine.options.outDir || bs, Fs);
                  wu !== Rl && Be(
                    f,
                    p.This_import_path_is_unsafe_to_rewrite_because_it_resolves_to_another_project_and_the_relative_path_between_the_projects_output_files_is_not_the_same_as_the_relative_path_between_its_input_files
                  );
                }
              }
            }
            if (Bn.symbol) {
              if (f && Yt.isExternalLibraryImport && !_D(Yt.extension) && hT(
                /*isError*/
                !1,
                f,
                Xt,
                Jr,
                Yt,
                a
              ), f && (z === 100 || z === 101)) {
                const bn = Xt.impliedNodeFormat === 1 && !_r(r, df) || !!_r(r, bl), os = _r(r, (Fs) => am(Fs) || Oc(Fs) || Uo(Fs) || _m(Fs));
                if (bn && Bn.impliedNodeFormat === 99 && !Vee(os))
                  if (_r(r, bl))
                    Be(f, p.Module_0_cannot_be_imported_using_this_construct_The_specifier_only_resolves_to_an_ES_module_which_cannot_be_imported_with_require_Use_an_ECMAScript_import_instead, a);
                  else {
                    let Fs;
                    const Qa = Vg(Xt.fileName);
                    (Qa === ".ts" || Qa === ".js" || Qa === ".tsx" || Qa === ".jsx") && (Fs = Xj(Xt));
                    const bs = os?.kind === 272 && ((Ge = os.importClause) != null && Ge.isTypeOnly) ? p.Type_only_import_of_an_ECMAScript_module_from_a_CommonJS_module_must_have_a_resolution_mode_attribute : os?.kind === 205 ? p.Type_import_of_an_ECMAScript_module_from_a_CommonJS_module_must_have_a_resolution_mode_attribute : p.The_current_file_is_a_CommonJS_module_whose_imports_will_produce_require_calls_however_the_referenced_file_is_an_ECMAScript_module_and_cannot_be_imported_with_require_Consider_writing_a_dynamic_import_0_call_instead;
                    Ia.add(Lg(
                      Er(f),
                      f,
                      vs(Fs, bs, a)
                    ));
                  }
              }
              return La(Bn.symbol);
            }
            f && l && !zJ(f) && Be(f, p.File_0_is_not_a_module, Bn.fileName);
            return;
          }
          if (Rf) {
            const bn = RR(Rf, (os) => os.pattern, a);
            if (bn) {
              const os = r_ && r_.get(a);
              return La(os || bn.symbol);
            }
          }
          if (!f)
            return;
          if (Yt && !_D(Yt.extension) && un === void 0 || un === p.Could_not_find_a_declaration_file_for_module_0_1_implicitly_has_an_any_type) {
            if (d) {
              const bn = p.Invalid_module_name_in_augmentation_Module_0_resolves_to_an_untyped_module_at_1_which_cannot_be_augmented;
              Be(f, bn, a, Yt.resolvedFileName);
            } else
              hT(
                /*isError*/
                fe && !!l,
                f,
                Xt,
                Jr,
                Yt,
                a
              );
            return;
          }
          if (l) {
            if (Yt) {
              const bn = e.getProjectReferenceRedirect(Yt.resolvedFileName);
              if (bn) {
                Be(f, p.Output_file_0_has_not_been_built_from_source_file_1, bn, Yt.resolvedFileName);
                return;
              }
            }
            if (un)
              Be(f, un, a, Yt.resolvedFileName);
            else {
              const bn = ff(a) && !xC(a), os = sr === 3 || sr === 99;
              if (!jb(F) && Wo(
                a,
                ".json"
                /* Json */
              ) && sr !== 1 && j5(F))
                Be(f, p.Cannot_find_module_0_Consider_using_resolveJsonModule_to_import_module_with_json_extension, a);
              else if (Jr === 99 && os && bn) {
                const Fs = Xi(a, Un(Xt.path)), Qa = (ct = H0.find(([bs, wu]) => e.fileExists(Fs + bs))) == null ? void 0 : ct[1];
                Qa ? Be(f, p.Relative_import_paths_need_explicit_file_extensions_in_ECMAScript_imports_when_moduleResolution_is_node16_or_nodenext_Did_you_mean_0, a + Qa) : Be(f, p.Relative_import_paths_need_explicit_file_extensions_in_ECMAScript_imports_when_moduleResolution_is_node16_or_nodenext_Consider_adding_an_extension_to_the_import_path);
              } else if ((ht = e.getResolvedModule(Xt, a, Jr)) != null && ht.alternateResult) {
                const Fs = F7(Xt, e, a, Jr, a);
                Pd(
                  /*isError*/
                  !0,
                  f,
                  vs(Fs, l, a)
                );
              } else
                Be(f, l, a);
            }
          }
          return;
          function wi(bn) {
            const os = _N(a, bn);
            if (aN(z) || Jr === 99) {
              const Fs = Sl(a) && F6(F);
              return os + (bn === ".mts" || bn === ".d.mts" ? Fs ? ".mts" : ".mjs" : bn === ".cts" || bn === ".d.mts" ? Fs ? ".cts" : ".cjs" : Fs ? ".ts" : ".js");
            }
            return os;
          }
        }
        function hT(r, a, l, f, { packageId: d, resolvedFileName: y }, x) {
          if (zJ(a))
            return;
          let I;
          !Cl(x) && d && (I = F7(l, e, x, f, d.name)), Pd(
            r,
            a,
            vs(
              I,
              p.Could_not_find_a_declaration_file_for_module_0_1_implicitly_has_an_any_type,
              x,
              y
            )
          );
        }
        function b_(r, a) {
          if (r?.exports) {
            const l = dc(r.exports.get(
              "export="
              /* ExportEquals */
            ), a), f = Jp(La(l), La(r));
            return La(f) || r;
          }
        }
        function Jp(r, a) {
          if (!r || r === Q || r === a || a.exports.size === 1 || r.flags & 2097152)
            return r;
          const l = Ri(r);
          if (l.cjsExportMerged)
            return l.cjsExportMerged;
          const f = r.flags & 33554432 ? r : Iv(r);
          return f.flags = f.flags | 512, f.exports === void 0 && (f.exports = qs()), a.exports.forEach((d, y) => {
            y !== "export=" && f.exports.set(y, f.exports.has(y) ? Tm(f.exports.get(y), d) : d);
          }), f === r && (Ri(f).resolvedExports = void 0, Ri(f).resolvedMembers = void 0), Ri(f).cjsExportMerged = f, l.cjsExportMerged = f;
        }
        function ry(r, a, l, f) {
          var d;
          const y = b_(r, l);
          if (!l && y) {
            if (!f && !(y.flags & 1539) && !jo(
              y,
              307
              /* SourceFile */
            )) {
              const I = z >= 5 ? "allowSyntheticDefaultImports" : "esModuleInterop";
              return Be(a, p.This_module_can_only_be_referenced_with_ECMAScript_imports_Slashexports_by_turning_on_the_0_flag_and_referencing_its_default_export, I), y;
            }
            const x = a.parent;
            if (Uo(x) && qC(x) || df(x)) {
              const I = df(x) ? x.arguments[0] : x.moduleSpecifier, R = Qr(y), J = iIe(R, y, r, I);
              if (J)
                return Lk(y, J, x);
              const Y = (d = r?.declarations) == null ? void 0 : d.find(xi), Te = Y && Nk(K0(I), e.getImpliedNodeFormatForEmit(Y));
              if (zg(F) || Te) {
                let de = KL(
                  R,
                  0
                  /* Call */
                );
                if ((!de || !de.length) && (de = KL(
                  R,
                  1
                  /* Construct */
                )), de && de.length || Zs(
                  R,
                  "default",
                  /*skipObjectFunctionPropertyAugment*/
                  !0
                ) || Te) {
                  const Ge = R.flags & 3670016 ? sIe(R, y, r, I) : Hde(y, y.parent);
                  return Lk(y, Ge, x);
                }
              }
            }
          }
          return y;
        }
        function Lk(r, a, l) {
          const f = sa(r.flags, r.escapedName);
          f.declarations = r.declarations ? r.declarations.slice() : [], f.parent = r.parent, f.links.target = r, f.links.originatingImport = l, r.valueDeclaration && (f.valueDeclaration = r.valueDeclaration), r.constEnumOnlyModule && (f.constEnumOnlyModule = !0), r.members && (f.members = new Map(r.members)), r.exports && (f.exports = new Map(r.exports));
          const d = jd(a);
          return f.links.type = Jo(f, d.members, Ue, Ue, d.indexInfos), f;
        }
        function Bv(r) {
          return r.exports.get(
            "export="
            /* ExportEquals */
          ) !== void 0;
        }
        function Jv(r) {
          return Mfe(lh(r));
        }
        function Mk(r) {
          const a = Jv(r), l = b_(r);
          if (l !== r) {
            const f = Qr(l);
            pg(f) && wn(a, Ga(f));
          }
          return a;
        }
        function zv(r, a) {
          lh(r).forEach((d, y) => {
            Gi(y) || a(d, y);
          });
          const f = b_(r);
          if (f !== r) {
            const d = Qr(f);
            pg(d) && Tet(d, (y, x) => {
              a(y, x);
            });
          }
        }
        function Rk(r, a) {
          const l = lh(a);
          if (l)
            return l.get(r);
        }
        function D2(r, a) {
          const l = Rk(r, a);
          if (l)
            return l;
          const f = b_(a);
          if (f === a)
            return;
          const d = Qr(f);
          return pg(d) ? Zs(d, r) : void 0;
        }
        function pg(r) {
          return !(r.flags & 402784252 || Cn(r) & 1 || // `isArrayOrTupleLikeType` is too expensive to use in this auto-imports hot path
          gp(r) || va(r));
        }
        function lf(r) {
          return r.flags & 6256 ? Tfe(
            r,
            "resolvedExports"
            /* resolvedExports */
          ) : r.flags & 1536 ? lh(r) : r.exports || A;
        }
        function lh(r) {
          const a = Ri(r);
          if (!a.resolvedExports) {
            const { exports: l, typeOnlyExportStarMap: f } = Wv(r);
            a.resolvedExports = l, a.typeOnlyExportStarMap = f;
          }
          return a.resolvedExports;
        }
        function yT(r, a, l, f) {
          a && a.forEach((d, y) => {
            if (y === "default") return;
            const x = r.get(y);
            if (!x)
              r.set(y, d), l && f && l.set(y, {
                specifierText: Go(f.moduleSpecifier)
              });
            else if (l && f && x && dc(x) !== dc(d)) {
              const I = l.get(y);
              I.exportsWithDuplicate ? I.exportsWithDuplicate.push(f) : I.exportsWithDuplicate = [f];
            }
          });
        }
        function Wv(r) {
          const a = [];
          let l;
          const f = /* @__PURE__ */ new Set();
          r = b_(r);
          const d = y(r) || A;
          return l && f.forEach((x) => l.delete(x)), {
            exports: d,
            typeOnlyExportStarMap: l
          };
          function y(x, I, R) {
            if (!R && x?.exports && x.exports.forEach((Te, de) => f.add(de)), !(x && x.exports && $f(a, x)))
              return;
            const J = new Map(x.exports), Y = x.exports.get(
              "__export"
              /* ExportStar */
            );
            if (Y) {
              const Te = qs(), de = /* @__PURE__ */ new Map();
              if (Y.declarations)
                for (const Ge of Y.declarations) {
                  const ct = Vu(Ge, Ge.moduleSpecifier), ht = y(ct, Ge, R || Ge.isTypeOnly);
                  yT(
                    Te,
                    ht,
                    de,
                    Ge
                  );
                }
              de.forEach(({ exportsWithDuplicate: Ge }, ct) => {
                if (!(ct === "export=" || !(Ge && Ge.length) || J.has(ct)))
                  for (const ht of Ge)
                    Ia.add(Kr(
                      ht,
                      p.Module_0_has_already_exported_a_member_named_1_Consider_explicitly_re_exporting_to_resolve_the_ambiguity,
                      de.get(ct).specifierText,
                      Ei(ct)
                    ));
              }), yT(J, Te);
            }
            return I?.isTypeOnly && (l ?? (l = /* @__PURE__ */ new Map()), J.forEach(
              (Te, de) => l.set(
                de,
                I
              )
            )), J;
          }
        }
        function La(r) {
          let a;
          return r && r.mergeId && (a = xk[r.mergeId]) ? a : r;
        }
        function vn(r) {
          return La(r.symbol && jG(r.symbol));
        }
        function Sf(r) {
          return fd(r) ? vn(r) : void 0;
        }
        function O_(r) {
          return La(r.parent && jG(r.parent));
        }
        function jk(r) {
          var a, l;
          return (((a = r.valueDeclaration) == null ? void 0 : a.kind) === 219 || ((l = r.valueDeclaration) == null ? void 0 : l.kind) === 218) && Sf(r.valueDeclaration.parent) || r;
        }
        function k1(r, a) {
          const l = Er(a), f = Oa(l), d = Ri(r);
          let y;
          if (d.extendedContainersByFile && (y = d.extendedContainersByFile.get(f)))
            return y;
          if (l && l.imports) {
            for (const I of l.imports) {
              if (oo(I)) continue;
              const R = Vu(
                a,
                I,
                /*ignoreErrors*/
                !0
              );
              !R || !Wf(R, r) || (y = Dr(y, R));
            }
            if (Ar(y))
              return (d.extendedContainersByFile || (d.extendedContainersByFile = /* @__PURE__ */ new Map())).set(f, y), y;
          }
          if (d.extendedContainers)
            return d.extendedContainers;
          const x = e.getSourceFiles();
          for (const I of x) {
            if (!ol(I)) continue;
            const R = vn(I);
            Wf(R, r) && (y = Dr(y, R));
          }
          return d.extendedContainers = y || Ue;
        }
        function vT(r, a, l) {
          const f = O_(r);
          if (f && !(r.flags & 262144))
            return R(f);
          const d = Oi(r.declarations, (Y) => {
            if (!Fu(Y) && Y.parent) {
              if (P2(Y.parent))
                return vn(Y.parent);
              if (om(Y.parent) && Y.parent.parent && b_(vn(Y.parent.parent)) === r)
                return vn(Y.parent.parent);
            }
            if (Kc(Y) && _n(Y.parent) && Y.parent.operatorToken.kind === 64 && ko(Y.parent.left) && to(Y.parent.left.expression))
              return Rg(Y.parent.left) || gS(Y.parent.left.expression) ? vn(Er(Y)) : (gc(Y.parent.left.expression), yn(Y.parent.left.expression).resolvedSymbol);
          });
          if (!Ar(d))
            return;
          const y = Oi(d, (Y) => Wf(Y, r) ? Y : void 0);
          let x = [], I = [];
          for (const Y of y) {
            const [Te, ...de] = R(Y);
            x = Dr(x, Te), I = wn(I, de);
          }
          return Ji(x, I);
          function R(Y) {
            const Te = Oi(Y.declarations, J), de = a && k1(r, a), Ge = Bk(Y, l);
            if (a && Y.flags & Dm(l) && C1(
              Y,
              a,
              1920,
              /*useOnlyExternalAliasing*/
              !1
            ))
              return Dr(Ji(Ji([Y], Te), de), Ge);
            const ct = !(Y.flags & Dm(l)) && Y.flags & 788968 && wo(Y).flags & 524288 && l === 111551 ? s_(a, (nr) => gl(nr, (Xt) => {
              if (Xt.flags & Dm(l) && Qr(Xt) === wo(Y))
                return Xt;
            })) : void 0;
            let ht = ct ? [ct, ...Te, Y] : [...Te, Y];
            return ht = Dr(ht, Ge), ht = wn(ht, de), ht;
          }
          function J(Y) {
            return f && Jk(Y, f);
          }
        }
        function Bk(r, a) {
          const l = !!Ar(r.declarations) && xa(r.declarations);
          if (a & 111551 && l && l.parent && Zn(l.parent) && (ua(l) && l === l.parent.initializer || Yu(l) && l === l.parent.type))
            return vn(l.parent);
        }
        function Jk(r, a) {
          const l = qk(r), f = l && l.exports && l.exports.get(
            "export="
            /* ExportEquals */
          );
          return f && Vf(f, a) ? l : void 0;
        }
        function Wf(r, a) {
          if (r === O_(a))
            return a;
          const l = r.exports && r.exports.get(
            "export="
            /* ExportEquals */
          );
          if (l && Vf(l, a))
            return r;
          const f = lf(r), d = f.get(a.escapedName);
          return d && Vf(d, a) ? d : gl(f, (y) => {
            if (Vf(y, a))
              return y;
          });
        }
        function Vf(r, a) {
          if (La(dc(La(r))) === La(dc(La(a))))
            return r;
        }
        function L_(r) {
          return La(r && (r.flags & 1048576) !== 0 && r.exportSymbol || r);
        }
        function Fd(r, a) {
          return !!(r.flags & 111551 || r.flags & 2097152 && cf(r, !a) & 111551);
        }
        function Yh(r) {
          var a;
          const l = new c(Wr, r);
          return u++, l.id = u, (a = rn) == null || a.recordType(l), l;
        }
        function uh(r, a) {
          const l = Yh(r);
          return l.symbol = a, l;
        }
        function C(r) {
          return new c(Wr, r);
        }
        function ce(r, a, l = 0, f) {
          dt(a, f);
          const d = Yh(r);
          return d.intrinsicName = a, d.debugIntrinsicName = f, d.objectFlags = l | 524288 | 2097152 | 33554432 | 16777216, d;
        }
        function dt(r, a) {
          const l = `${r},${a ?? ""}`;
          bt.has(l) && E.fail(`Duplicate intrinsic type name ${r}${a ? ` (${a})` : ""}; you may need to pass a name to createIntrinsicType.`), bt.add(l);
        }
        function ir(r, a) {
          const l = uh(524288, a);
          return l.objectFlags = r, l.members = void 0, l.properties = void 0, l.callSignatures = void 0, l.constructSignatures = void 0, l.indexInfos = void 0, l;
        }
        function Yn() {
          return Gn(rs(gne.keys(), x_));
        }
        function hi(r) {
          return uh(262144, r);
        }
        function Gi(r) {
          return r.charCodeAt(0) === 95 && r.charCodeAt(1) === 95 && r.charCodeAt(2) !== 95 && r.charCodeAt(2) !== 64 && r.charCodeAt(2) !== 35;
        }
        function us(r) {
          let a;
          return r.forEach((l, f) => {
            ma(l, f) && (a || (a = [])).push(l);
          }), a || Ue;
        }
        function ma(r, a) {
          return !Gi(a) && Fd(r);
        }
        function i_(r) {
          const a = us(r), l = UG(r);
          return l ? Ji(a, [l]) : a;
        }
        function ic(r, a, l, f, d) {
          const y = r;
          return y.members = a, y.properties = Ue, y.callSignatures = l, y.constructSignatures = f, y.indexInfos = d, a !== A && (y.properties = us(a)), y;
        }
        function Jo(r, a, l, f, d) {
          return ic(ir(16, r), a, l, f, d);
        }
        function zk(r) {
          if (r.constructSignatures.length === 0) return r;
          if (r.objectTypeWithoutAbstractConstructSignatures) return r.objectTypeWithoutAbstractConstructSignatures;
          const a = Tn(r.constructSignatures, (f) => !(f.flags & 4));
          if (r.constructSignatures === a) return r;
          const l = Jo(
            r.symbol,
            r.members,
            r.callSignatures,
            at(a) ? a : Ue,
            r.indexInfos
          );
          return r.objectTypeWithoutAbstractConstructSignatures = l, l.objectTypeWithoutAbstractConstructSignatures = l, l;
        }
        function s_(r, a) {
          let l;
          for (let f = r; f; f = f.parent) {
            if (qm(f) && f.locals && !v0(f) && (l = a(
              f.locals,
              /*ignoreQualification*/
              void 0,
              /*isLocalNameLookup*/
              !0,
              f
            )))
              return l;
            switch (f.kind) {
              case 307:
                if (!H_(f))
                  break;
              // falls through
              case 267:
                const d = vn(f);
                if (l = a(
                  d?.exports || A,
                  /*ignoreQualification*/
                  void 0,
                  /*isLocalNameLookup*/
                  !0,
                  f
                ))
                  return l;
                break;
              case 263:
              case 231:
              case 264:
                let y;
                if ((vn(f).members || A).forEach((x, I) => {
                  x.flags & 788968 && (y || (y = qs())).set(I, x);
                }), y && (l = a(
                  y,
                  /*ignoreQualification*/
                  void 0,
                  /*isLocalNameLookup*/
                  !1,
                  f
                )))
                  return l;
                break;
            }
          }
          return a(
            nt,
            /*ignoreQualification*/
            void 0,
            /*isLocalNameLookup*/
            !0
          );
        }
        function Dm(r) {
          return r === 111551 ? 111551 : 1920;
        }
        function C1(r, a, l, f, d = /* @__PURE__ */ new Map()) {
          if (!(r && !Wk(r)))
            return;
          const y = Ri(r), x = y.accessibleChainCache || (y.accessibleChainCache = /* @__PURE__ */ new Map()), I = s_(a, (Xt, Gr, Jr, sr) => sr), R = `${f ? 0 : 1}|${I ? Oa(I) : 0}|${l}`;
          if (x.has(R))
            return x.get(R);
          const J = ea(r);
          let Y = d.get(J);
          Y || d.set(J, Y = []);
          const Te = s_(a, de);
          return x.set(R, Te), Te;
          function de(Xt, Gr, Jr) {
            if (!$f(Y, Xt))
              return;
            const sr = ht(Xt, Gr, Jr);
            return Y.pop(), sr;
          }
          function Ge(Xt, Gr) {
            return !Vv(Xt, a, Gr) || // If symbol needs qualification, make sure that parent is accessible, if it is then this symbol is accessible too
            !!C1(Xt.parent, a, Dm(Gr), f, d);
          }
          function ct(Xt, Gr, Jr) {
            return (r === (Gr || Xt) || La(r) === La(Gr || Xt)) && // if the symbolFromSymbolTable is not external module (it could be if it was determined as ambient external module and would be in globals table)
            // and if symbolFromSymbolTable or alias resolution matches the symbol,
            // check the symbol can be qualified, it is only then this symbol is accessible
            !at(Xt.declarations, P2) && (Jr || Ge(La(Xt), l));
          }
          function ht(Xt, Gr, Jr) {
            return ct(
              Xt.get(r.escapedName),
              /*resolvedAliasSymbol*/
              void 0,
              Gr
            ) ? [r] : gl(Xt, (Yt) => {
              if (Yt.flags & 2097152 && Yt.escapedName !== "export=" && Yt.escapedName !== "default" && !(I5(Yt) && a && ol(Er(a))) && (!f || at(Yt.declarations, G1)) && (!Jr || !at(Yt.declarations, dK)) && (Gr || !jo(
                Yt,
                281
                /* ExportSpecifier */
              ))) {
                const un = Uc(Yt), Bn = nr(Yt, un, Gr);
                if (Bn)
                  return Bn;
              }
              if (Yt.escapedName === r.escapedName && Yt.exportSymbol && ct(
                La(Yt.exportSymbol),
                /*resolvedAliasSymbol*/
                void 0,
                Gr
              ))
                return [r];
            }) || (Xt === nt ? nr(ve, ve, Gr) : void 0);
          }
          function nr(Xt, Gr, Jr) {
            if (ct(Xt, Gr, Jr))
              return [Xt];
            const sr = lf(Gr), Yt = sr && de(
              sr,
              /*ignoreQualification*/
              !0
            );
            if (Yt && Ge(Xt, Dm(l)))
              return [Xt].concat(Yt);
          }
        }
        function Vv(r, a, l) {
          let f = !1;
          return s_(a, (d) => {
            let y = La(d.get(r.escapedName));
            if (!y)
              return !1;
            if (y === r)
              return !0;
            const x = y.flags & 2097152 && !jo(
              y,
              281
              /* ExportSpecifier */
            );
            return y = x ? Uc(y) : y, (x ? cf(y) : y.flags) & l ? (f = !0, !0) : !1;
          }), f;
        }
        function Wk(r) {
          if (r.declarations && r.declarations.length) {
            for (const a of r.declarations)
              switch (a.kind) {
                case 172:
                case 174:
                case 177:
                case 178:
                  continue;
                default:
                  return !1;
              }
            return !0;
          }
          return !1;
        }
        function Vk(r, a) {
          return Uk(
            r,
            a,
            788968,
            /*shouldComputeAliasesToMakeVisible*/
            !1,
            /*allowModules*/
            !0
          ).accessibility === 0;
        }
        function ny(r, a) {
          return Uk(
            r,
            a,
            111551,
            /*shouldComputeAliasesToMakeVisible*/
            !1,
            /*allowModules*/
            !0
          ).accessibility === 0;
        }
        function iy(r, a, l) {
          return Uk(
            r,
            a,
            l,
            /*shouldComputeAliasesToMakeVisible*/
            !1,
            /*allowModules*/
            !1
          ).accessibility === 0;
        }
        function w2(r, a, l, f, d, y) {
          if (!Ar(r)) return;
          let x, I = !1;
          for (const R of r) {
            const J = C1(
              R,
              a,
              f,
              /*useOnlyExternalAliasing*/
              !1
            );
            if (J) {
              x = R;
              const de = F8(J[0], d);
              if (de)
                return de;
            }
            if (y && at(R.declarations, P2)) {
              if (d) {
                I = !0;
                continue;
              }
              return {
                accessibility: 0
                /* Accessible */
              };
            }
            const Y = vT(R, a, f), Te = w2(Y, a, l, l === R ? Dm(f) : f, d, y);
            if (Te)
              return Te;
          }
          if (I)
            return {
              accessibility: 0
              /* Accessible */
            };
          if (x)
            return {
              accessibility: 1,
              errorSymbolName: Bi(l, a, f),
              errorModuleName: x !== l ? Bi(
                x,
                a,
                1920
                /* Namespace */
              ) : void 0
            };
        }
        function wm(r, a, l, f) {
          return Uk(
            r,
            a,
            l,
            f,
            /*allowModules*/
            !0
          );
        }
        function Uk(r, a, l, f, d) {
          if (r && a) {
            const y = w2([r], a, r, l, f, d);
            if (y)
              return y;
            const x = ar(r.declarations, qk);
            if (x) {
              const I = qk(a);
              if (x !== I)
                return {
                  accessibility: 2,
                  errorSymbolName: Bi(r, a, l),
                  errorModuleName: Bi(x),
                  errorNode: tn(a) ? a : void 0
                };
            }
            return {
              accessibility: 1,
              errorSymbolName: Bi(r, a, l)
            };
          }
          return {
            accessibility: 0
            /* Accessible */
          };
        }
        function qk(r) {
          const a = _r(r, I8);
          return a && vn(a);
        }
        function I8(r) {
          return Fu(r) || r.kind === 307 && H_(r);
        }
        function P2(r) {
          return j7(r) || r.kind === 307 && H_(r);
        }
        function F8(r, a) {
          let l;
          if (!Pi(Tn(
            r.declarations,
            (y) => y.kind !== 80
            /* Identifier */
          ), f))
            return;
          return { accessibility: 0, aliasesToMakeVisible: l };
          function f(y) {
            var x, I;
            if (!Zh(y)) {
              const R = Z0(y);
              if (R && !qn(
                R,
                32
                /* Export */
              ) && // import clause without export
              Zh(R.parent))
                return d(y, R);
              if (Zn(y) && Sc(y.parent.parent) && !qn(
                y.parent.parent,
                32
                /* Export */
              ) && // unexported variable statement
              Zh(y.parent.parent.parent))
                return d(y, y.parent.parent);
              if (B7(y) && !qn(
                y,
                32
                /* Export */
              ) && Zh(y.parent))
                return d(y, y);
              if (ya(y)) {
                if (r.flags & 2097152 && tn(y) && ((x = y.parent) != null && x.parent) && Zn(y.parent.parent) && ((I = y.parent.parent.parent) != null && I.parent) && Sc(y.parent.parent.parent.parent) && !qn(
                  y.parent.parent.parent.parent,
                  32
                  /* Export */
                ) && y.parent.parent.parent.parent.parent && Zh(y.parent.parent.parent.parent.parent))
                  return d(y, y.parent.parent.parent.parent);
                if (r.flags & 2) {
                  const J = _r(y, Sc);
                  return qn(
                    J,
                    32
                    /* Export */
                  ) ? !0 : Zh(J.parent) ? d(y, J) : !1;
                }
              }
              return !1;
            }
            return !0;
          }
          function d(y, x) {
            return a && (yn(y).isVisible = !0, l = Sh(l, x)), !0;
          }
        }
        function Hw(r) {
          let a;
          return r.parent.kind === 186 || r.parent.kind === 233 && !Yd(r.parent) || r.parent.kind === 167 || r.parent.kind === 182 && r.parent.parameterName === r ? a = 1160127 : r.kind === 166 || r.kind === 211 || r.parent.kind === 271 || r.parent.kind === 166 && r.parent.left === r || r.parent.kind === 211 && r.parent.expression === r || r.parent.kind === 212 && r.parent.expression === r ? a = 1920 : a = 788968, a;
        }
        function Hk(r, a, l = !0) {
          const f = Hw(r), d = Xu(r), y = it(
            a,
            d.escapedText,
            f,
            /*nameNotFoundMessage*/
            void 0,
            /*isUse*/
            !1
          );
          return y && y.flags & 262144 && f & 788968 ? {
            accessibility: 0
            /* Accessible */
          } : !y && Xy(d) && wm(
            vn(Ou(
              d,
              /*includeArrowFunctions*/
              !1,
              /*includeClassComputedPropertyName*/
              !1
            )),
            d,
            f,
            /*shouldComputeAliasesToMakeVisible*/
            !1
          ).accessibility === 0 ? {
            accessibility: 0
            /* Accessible */
          } : y ? F8(y, l) || {
            accessibility: 1,
            errorSymbolName: Go(d),
            errorNode: d
          } : {
            accessibility: 3,
            errorSymbolName: Go(d),
            errorNode: d
          };
        }
        function Bi(r, a, l, f = 4, d) {
          let y = 70221824, x = 0;
          f & 2 && (y |= 128), f & 1 && (y |= 512), f & 8 && (y |= 16384), f & 32 && (x |= 4), f & 16 && (x |= 1);
          const I = f & 4 ? xe.symbolToNode : xe.symbolToEntityName;
          return d ? R(d).getText() : LC(R);
          function R(J) {
            const Y = I(r, l, a, y, x), Te = a?.kind === 307 ? fie() : r2(), de = a && Er(a);
            return Te.writeNode(
              4,
              Y,
              /*sourceFile*/
              de,
              J
            ), J;
          }
        }
        function N2(r, a, l = 0, f, d) {
          return d ? y(d).getText() : LC(y);
          function y(x) {
            let I;
            l & 262144 ? I = f === 1 ? 185 : 184 : I = f === 1 ? 180 : 179;
            const R = xe.signatureToSignatureDeclaration(
              r,
              I,
              a,
              $k(l) | 70221824 | 512
              /* WriteTypeParametersInQualifiedName */
            ), J = QW(), Y = a && Er(a);
            return J.writeNode(
              4,
              R,
              /*sourceFile*/
              Y,
              zB(x)
            ), x;
          }
        }
        function Hr(r, a, l = 1064960, f = G3("")) {
          const d = F.noErrorTruncation || l & 1, y = xe.typeToTypeNode(
            r,
            a,
            $k(l) | 70221824 | (d ? 1 : 0),
            /*internalFlags*/
            void 0
          );
          if (y === void 0) return E.fail("should always get typenode");
          const x = r !== Rt ? r2() : _ie(), I = a && Er(a);
          x.writeNode(
            4,
            y,
            /*sourceFile*/
            I,
            f
          );
          const R = f.getText(), J = d ? Gj * 2 : I4 * 2;
          return J && R && R.length >= J ? R.substr(0, J - 3) + "..." : R;
        }
        function Uv(r, a) {
          let l = xE(r.symbol) ? Hr(r, r.symbol.valueDeclaration) : Hr(r), f = xE(a.symbol) ? Hr(a, a.symbol.valueDeclaration) : Hr(a);
          return l === f && (l = Gk(r), f = Gk(a)), [l, f];
        }
        function Gk(r) {
          return Hr(
            r,
            /*enclosingDeclaration*/
            void 0,
            64
            /* UseFullyQualifiedType */
          );
        }
        function xE(r) {
          return r && !!r.valueDeclaration && lt(r.valueDeclaration) && !Hf(r.valueDeclaration);
        }
        function $k(r = 0) {
          return r & 848330095;
        }
        function O8(r) {
          return !!r.symbol && !!(r.symbol.flags & 32) && (r === pp(r.symbol) || !!(r.flags & 524288) && !!(Cn(r) & 16777216));
        }
        function qv(r) {
          return Ci(r);
        }
        function JL() {
          return {
            syntacticBuilderResolver: {
              evaluateEntityNameExpression: P7e,
              isExpandoFunctionDeclaration: Q7e,
              hasLateBindableName: NE,
              shouldRemoveDeclaration(Se, ae) {
                return !(Se.internalFlags & 8 && to(ae.name.expression) && od(ae.name).flags & 1);
              },
              createRecoveryBoundary(Se) {
                return Gr(Se);
              },
              isDefinitelyReferenceToGlobalSymbolObject: aT,
              getAllAccessorDeclarations: jme,
              requiresAddingImplicitUndefined(Se, ae, xt) {
                var Lt;
                switch (Se.kind) {
                  case 172:
                  case 171:
                  case 348:
                    ae ?? (ae = vn(Se));
                    const ur = Qr(ae);
                    return !!(ae.flags & 4 && ae.flags & 16777216 && Nx(Se) && ((Lt = ae.links) != null && Lt.mappedType) && Yrt(ur));
                  case 169:
                  case 341:
                    return _R(Se, xt);
                  default:
                    E.assertNever(Se);
                }
              },
              isOptionalParameter: q8,
              isUndefinedIdentifierExpression(Se) {
                return E.assert(dd(Se)), vp(Se) === oe;
              },
              isEntityNameVisible(Se, ae, xt) {
                return Hk(ae, Se.enclosingDeclaration, xt);
              },
              serializeExistingTypeNode(Se, ae, xt) {
                return $r(Se, ae, !!xt);
              },
              serializeReturnTypeForSignature(Se, ae, xt) {
                const Lt = Se, ur = qf(ae);
                xt ?? (xt = vn(ae));
                const Ir = Lt.enclosingSymbolTypes.get(ea(xt)) ?? ji(Va(ur), Lt.mapper);
                return MI(Lt, ur, Ir);
              },
              serializeTypeOfExpression(Se, ae) {
                const xt = Se, Lt = ji(_f(W7e(ae)), xt.mapper);
                return R(Lt, xt);
              },
              serializeTypeOfDeclaration(Se, ae, xt) {
                var Lt;
                const ur = Se;
                xt ?? (xt = vn(ae));
                let Ir = (Lt = ur.enclosingSymbolTypes) == null ? void 0 : Lt.get(ea(xt));
                return Ir === void 0 && (Ir = xt.flags & 98304 && ae.kind === 178 ? ji(sy(xt), ur.mapper) : xt && !(xt.flags & 133120) ? ji(ib(Qr(xt)), ur.mapper) : Ve), ae && (Ni(ae) || Af(ae)) && _R(ae, ur.enclosingDeclaration) && (Ir = L1(Ir)), QE(xt, ur, Ir);
              },
              serializeNameOfParameter(Se, ae) {
                return Fs(vn(ae), ae, Se);
              },
              serializeEntityName(Se, ae) {
                const xt = Se, Lt = vp(
                  ae,
                  /*ignoreErrors*/
                  !0
                );
                if (Lt && ny(Lt, xt.enclosingDeclaration))
                  return Gc(
                    Lt,
                    xt,
                    1160127
                    /* ExportValue */
                  );
              },
              serializeTypeName(Se, ae, xt, Lt) {
                return pr(Se, ae, xt, Lt);
              },
              getJsDocPropertyOverride(Se, ae, xt) {
                const Lt = Se, ur = Fe(xt.name) ? xt.name : xt.name.right, Ir = qc(a(Lt, ae), ur.escapedText);
                return Ir && xt.typeExpression && a(Lt, xt.typeExpression.type) !== Ir ? R(Ir, Lt) : void 0;
              },
              enterNewScope(Se, ae) {
                if (Ts(ae) || I0(ae)) {
                  const xt = qf(ae);
                  return Jr(Se, ae, xt.parameters, xt.typeParameters);
                } else {
                  const xt = Ub(ae) ? upe(ae) : [F2(vn(ae.typeParameter))];
                  return Jr(
                    Se,
                    ae,
                    /*expandedParams*/
                    void 0,
                    xt
                  );
                }
              },
              markNodeReuse(Se, ae, xt) {
                return l(Se, ae, xt);
              },
              trackExistingEntityName(Se, ae) {
                return Ft(ae, Se);
              },
              trackComputedName(Se, ae) {
                Qa(ae, Se.enclosingDeclaration, Se);
              },
              getModuleSpecifierOverride(Se, ae, xt) {
                const Lt = Se;
                if (Lt.bundled || Lt.enclosingFile !== Er(xt)) {
                  let ur = xt.text;
                  const Ir = ur, Br = yn(ae).resolvedSymbol, Kn = ae.isTypeOf ? 111551 : 788968, ui = Br && wm(
                    Br,
                    Lt.enclosingDeclaration,
                    Kn,
                    /*shouldComputeAliasesToMakeVisible*/
                    !1
                  ).accessibility === 0 && bs(
                    Br,
                    Lt,
                    Kn,
                    /*yieldModuleSymbol*/
                    !0
                  )[0];
                  if (ui && sx(ui))
                    ur = Tr(ui, Lt);
                  else {
                    const xs = zme(ae);
                    xs && (ur = Tr(xs.symbol, Lt));
                  }
                  if (ur.includes("/node_modules/") && (Lt.encounteredError = !0, Lt.tracker.reportLikelyUnsafeImportRequiredError && Lt.tracker.reportLikelyUnsafeImportRequiredError(ur)), ur !== Ir)
                    return ur;
                }
              },
              canReuseTypeNode(Se, ae) {
                return Or(Se, ae);
              },
              canReuseTypeNodeAnnotation(Se, ae, xt, Lt, ur) {
                var Ir;
                const Br = Se;
                if (Br.enclosingDeclaration === void 0) return !1;
                Lt ?? (Lt = vn(ae));
                let Kn = (Ir = Br.enclosingSymbolTypes) == null ? void 0 : Ir.get(ea(Lt));
                Kn === void 0 && (Lt.flags & 98304 ? Kn = ae.kind === 178 ? sy(Lt) : Xw(Lt) : bS(ae) ? Kn = Va(qf(ae)) : Kn = Qr(Lt));
                let ui = qv(xt);
                return Oe(ui) ? !0 : (ur && ui && (ui = Ol(ui, !Ni(ae))), !!ui && LI(ae, Kn, ui) && jc(xt, Kn));
              }
            },
            typeToTypeNode: (Se, ae, xt, Lt, ur) => d(ae, xt, Lt, ur, (Ir) => R(Se, Ir)),
            typePredicateToTypePredicateNode: (Se, ae, xt, Lt, ur) => d(ae, xt, Lt, ur, (Ir) => wi(Se, Ir)),
            serializeTypeForExpression: (Se, ae, xt, Lt, ur) => d(ae, xt, Lt, ur, (Ir) => ue.serializeTypeOfExpression(Se, Ir)),
            serializeTypeForDeclaration: (Se, ae, xt, Lt, ur, Ir) => d(xt, Lt, ur, Ir, (Br) => ue.serializeTypeOfDeclaration(Se, ae, Br)),
            serializeReturnTypeForSignature: (Se, ae, xt, Lt, ur) => d(ae, xt, Lt, ur, (Ir) => ue.serializeReturnTypeForSignature(Se, vn(Se), Ir)),
            indexInfoToIndexSignatureDeclaration: (Se, ae, xt, Lt, ur) => d(ae, xt, Lt, ur, (Ir) => nr(
              Se,
              Ir,
              /*typeNode*/
              void 0
            )),
            signatureToSignatureDeclaration: (Se, ae, xt, Lt, ur, Ir) => d(xt, Lt, ur, Ir, (Br) => Xt(Se, ae, Br)),
            symbolToEntityName: (Se, ae, xt, Lt, ur, Ir) => d(xt, Lt, ur, Ir, (Br) => So(
              Se,
              Br,
              ae,
              /*expectsIdentifier*/
              !1
            )),
            symbolToExpression: (Se, ae, xt, Lt, ur, Ir) => d(xt, Lt, ur, Ir, (Br) => Gc(Se, Br, ae)),
            symbolToTypeParameterDeclarations: (Se, ae, xt, Lt, ur) => d(ae, xt, Lt, ur, (Ir) => Rl(Se, Ir)),
            symbolToParameterDeclaration: (Se, ae, xt, Lt, ur) => d(ae, xt, Lt, ur, (Ir) => os(Se, Ir)),
            typeParameterToDeclaration: (Se, ae, xt, Lt, ur) => d(ae, xt, Lt, ur, (Ir) => Bn(Se, Ir)),
            symbolTableToDeclarationStatements: (Se, ae, xt, Lt, ur) => d(ae, xt, Lt, ur, (Ir) => Sn(Se, Ir)),
            symbolToNode: (Se, ae, xt, Lt, ur, Ir) => d(xt, Lt, ur, Ir, (Br) => f(Se, Br, ae))
          };
          function a(Se, ae, xt) {
            const Lt = qv(ae);
            if (!Se.mapper) return Lt;
            const ur = ji(Lt, Se.mapper);
            return xt && ur !== Lt ? void 0 : ur;
          }
          function l(Se, ae, xt) {
            if ((!oo(ae) || !(ae.flags & 16) || !Se.enclosingFile || Se.enclosingFile !== Er(Vo(ae))) && (ae = N.cloneNode(ae)), ae === xt || !xt)
              return ae;
            let Lt = ae.original;
            for (; Lt && Lt !== xt; )
              Lt = Lt.original;
            return Lt || xn(ae, xt), Se.enclosingFile && Se.enclosingFile === Er(Vo(xt)) ? ot(ae, xt) : ae;
          }
          function f(Se, ae, xt) {
            if (ae.internalFlags & 1) {
              if (Se.valueDeclaration) {
                const ur = ls(Se.valueDeclaration);
                if (ur && ia(ur)) return ur;
              }
              const Lt = Ri(Se).nameType;
              if (Lt && Lt.flags & 9216)
                return ae.enclosingDeclaration = Lt.symbol.valueDeclaration, N.createComputedPropertyName(Gc(Lt.symbol, ae, xt));
            }
            return Gc(Se, ae, xt);
          }
          function d(Se, ae, xt, Lt, ur) {
            const Ir = Lt?.trackSymbol ? Lt.moduleResolverHost : (xt || 0) & 4 ? mRe(e) : void 0, Br = {
              enclosingDeclaration: Se,
              enclosingFile: Se && Er(Se),
              flags: ae || 0,
              internalFlags: xt || 0,
              tracker: void 0,
              encounteredError: !1,
              suppressReportInferenceFallback: !1,
              reportedDiagnostic: !1,
              visitedTypes: void 0,
              symbolDepth: void 0,
              inferTypeParameters: void 0,
              approximateLength: 0,
              trackedSymbols: void 0,
              bundled: !!F.outFile && !!Se && H_(Er(Se)),
              truncating: !1,
              usedSymbolNames: void 0,
              remappedSymbolNames: void 0,
              remappedSymbolReferences: void 0,
              reverseMappedStack: void 0,
              mustCreateTypeParameterSymbolList: !0,
              typeParameterSymbolList: void 0,
              mustCreateTypeParametersNamesLookups: !0,
              typeParameterNames: void 0,
              typeParameterNamesByText: void 0,
              typeParameterNamesByTextNextNameCount: void 0,
              enclosingSymbolTypes: /* @__PURE__ */ new Map(),
              mapper: void 0
            };
            Br.tracker = new yne(Br, Lt, Ir);
            const Kn = ur(Br);
            return Br.truncating && Br.flags & 1 && Br.tracker.reportTruncationError(), Br.encounteredError ? void 0 : Kn;
          }
          function y(Se, ae, xt) {
            const Lt = ea(ae), ur = Se.enclosingSymbolTypes.get(Lt);
            return Se.enclosingSymbolTypes.set(Lt, xt), Ir;
            function Ir() {
              ur ? Se.enclosingSymbolTypes.set(Lt, ur) : Se.enclosingSymbolTypes.delete(Lt);
            }
          }
          function x(Se) {
            const ae = Se.flags, xt = Se.internalFlags;
            return Lt;
            function Lt() {
              Se.flags = ae, Se.internalFlags = xt;
            }
          }
          function I(Se) {
            return Se.truncating ? Se.truncating : Se.truncating = Se.approximateLength > (Se.flags & 1 ? Gj : I4);
          }
          function R(Se, ae) {
            const xt = x(ae), Lt = J(Se, ae);
            return xt(), Lt;
          }
          function J(Se, ae) {
            var xt, Lt;
            i && i.throwIfCancellationRequested && i.throwIfCancellationRequested();
            const ur = ae.flags & 8388608;
            if (ae.flags &= -8388609, !Se) {
              if (!(ae.flags & 262144)) {
                ae.encounteredError = !0;
                return;
              }
              return ae.approximateLength += 3, N.createKeywordTypeNode(
                133
                /* AnyKeyword */
              );
            }
            if (ae.flags & 536870912 || (Se = sd(Se)), Se.flags & 1)
              return Se.aliasSymbol ? N.createTypeReferenceNode(di(Se.aliasSymbol), ct(Se.aliasTypeArguments, ae)) : Se === Rt ? Wb(N.createKeywordTypeNode(
                133
                /* AnyKeyword */
              ), 3, "unresolved") : (ae.approximateLength += 3, N.createKeywordTypeNode(
                Se === we ? 141 : 133
                /* AnyKeyword */
              ));
            if (Se.flags & 2)
              return N.createKeywordTypeNode(
                159
                /* UnknownKeyword */
              );
            if (Se.flags & 4)
              return ae.approximateLength += 6, N.createKeywordTypeNode(
                154
                /* StringKeyword */
              );
            if (Se.flags & 8)
              return ae.approximateLength += 6, N.createKeywordTypeNode(
                150
                /* NumberKeyword */
              );
            if (Se.flags & 64)
              return ae.approximateLength += 6, N.createKeywordTypeNode(
                163
                /* BigIntKeyword */
              );
            if (Se.flags & 16 && !Se.aliasSymbol)
              return ae.approximateLength += 7, N.createKeywordTypeNode(
                136
                /* BooleanKeyword */
              );
            if (Se.flags & 1056) {
              if (Se.symbol.flags & 8) {
                const vt = O_(Se.symbol), Tt = zr(
                  vt,
                  ae,
                  788968
                  /* Type */
                );
                if (wo(vt) === Se)
                  return Tt;
                const or = bc(Se.symbol);
                return C_(
                  or,
                  1
                  /* ES5 */
                ) ? We(
                  Tt,
                  N.createTypeReferenceNode(
                    or,
                    /*typeArguments*/
                    void 0
                  )
                ) : am(Tt) ? (Tt.isTypeOf = !0, N.createIndexedAccessTypeNode(Tt, N.createLiteralTypeNode(N.createStringLiteral(or)))) : X_(Tt) ? N.createIndexedAccessTypeNode(N.createTypeQueryNode(Tt.typeName), N.createLiteralTypeNode(N.createStringLiteral(or))) : E.fail("Unhandled type node kind returned from `symbolToTypeNode`.");
              }
              return zr(
                Se.symbol,
                ae,
                788968
                /* Type */
              );
            }
            if (Se.flags & 128)
              return ae.approximateLength += Se.value.length + 2, N.createLiteralTypeNode(an(
                N.createStringLiteral(Se.value, !!(ae.flags & 268435456)),
                16777216
                /* NoAsciiEscaping */
              ));
            if (Se.flags & 256) {
              const vt = Se.value;
              return ae.approximateLength += ("" + vt).length, N.createLiteralTypeNode(vt < 0 ? N.createPrefixUnaryExpression(41, N.createNumericLiteral(-vt)) : N.createNumericLiteral(vt));
            }
            if (Se.flags & 2048)
              return ae.approximateLength += Jb(Se.value).length + 1, N.createLiteralTypeNode(N.createBigIntLiteral(Se.value));
            if (Se.flags & 512)
              return ae.approximateLength += Se.intrinsicName.length, N.createLiteralTypeNode(Se.intrinsicName === "true" ? N.createTrue() : N.createFalse());
            if (Se.flags & 8192) {
              if (!(ae.flags & 1048576)) {
                if (ny(Se.symbol, ae.enclosingDeclaration))
                  return ae.approximateLength += 6, zr(
                    Se.symbol,
                    ae,
                    111551
                    /* Value */
                  );
                ae.tracker.reportInaccessibleUniqueSymbolError && ae.tracker.reportInaccessibleUniqueSymbolError();
              }
              return ae.approximateLength += 13, N.createTypeOperatorNode(158, N.createKeywordTypeNode(
                155
                /* SymbolKeyword */
              ));
            }
            if (Se.flags & 16384)
              return ae.approximateLength += 4, N.createKeywordTypeNode(
                116
                /* VoidKeyword */
              );
            if (Se.flags & 32768)
              return ae.approximateLength += 9, N.createKeywordTypeNode(
                157
                /* UndefinedKeyword */
              );
            if (Se.flags & 65536)
              return ae.approximateLength += 4, N.createLiteralTypeNode(N.createNull());
            if (Se.flags & 131072)
              return ae.approximateLength += 5, N.createKeywordTypeNode(
                146
                /* NeverKeyword */
              );
            if (Se.flags & 4096)
              return ae.approximateLength += 6, N.createKeywordTypeNode(
                155
                /* SymbolKeyword */
              );
            if (Se.flags & 67108864)
              return ae.approximateLength += 6, N.createKeywordTypeNode(
                151
                /* ObjectKeyword */
              );
            if (vD(Se))
              return ae.flags & 4194304 && (!ae.encounteredError && !(ae.flags & 32768) && (ae.encounteredError = !0), (Lt = (xt = ae.tracker).reportInaccessibleThisError) == null || Lt.call(xt)), ae.approximateLength += 4, N.createThisTypeNode();
            if (!ur && Se.aliasSymbol && (ae.flags & 16384 || Vk(Se.aliasSymbol, ae.enclosingDeclaration))) {
              const vt = ct(Se.aliasTypeArguments, ae);
              return Gi(Se.aliasSymbol.escapedName) && !(Se.aliasSymbol.flags & 32) ? N.createTypeReferenceNode(N.createIdentifier(""), vt) : Ar(vt) === 1 && Se.aliasSymbol === Is.symbol ? N.createArrayTypeNode(vt[0]) : zr(Se.aliasSymbol, ae, 788968, vt);
            }
            const Ir = Cn(Se);
            if (Ir & 4)
              return E.assert(!!(Se.flags & 524288)), Se.node ? Bs(Se, ja) : ja(Se);
            if (Se.flags & 262144 || Ir & 3) {
              if (Se.flags & 262144 && _s(ae.inferTypeParameters, Se)) {
                ae.approximateLength += bc(Se.symbol).length + 6;
                let Tt;
                const or = a_(Se);
                if (or) {
                  const Cr = h3e(
                    Se,
                    /*omitTypeReferences*/
                    !0
                  );
                  Cr && gh(or, Cr) || (ae.approximateLength += 9, Tt = or && R(or, ae));
                }
                return N.createInferTypeNode(Yt(Se, ae, Tt));
              }
              if (ae.flags & 4 && Se.flags & 262144) {
                const Tt = Da(Se, ae);
                return ae.approximateLength += Pn(Tt).length, N.createTypeReferenceNode(
                  N.createIdentifier(Pn(Tt)),
                  /*typeArguments*/
                  void 0
                );
              }
              if (Se.symbol)
                return zr(
                  Se.symbol,
                  ae,
                  788968
                  /* Type */
                );
              const vt = (Se === et || Se === Ot) && D && D.symbol ? (Se === Ot ? "sub-" : "super-") + bc(D.symbol) : "?";
              return N.createTypeReferenceNode(
                N.createIdentifier(vt),
                /*typeArguments*/
                void 0
              );
            }
            if (Se.flags & 1048576 && Se.origin && (Se = Se.origin), Se.flags & 3145728) {
              const vt = Se.flags & 1048576 ? zL(Se.types) : Se.types;
              if (Ar(vt) === 1)
                return R(vt[0], ae);
              const Tt = ct(
                vt,
                ae,
                /*isBareList*/
                !0
              );
              if (Tt && Tt.length > 0)
                return Se.flags & 1048576 ? N.createUnionTypeNode(Tt) : N.createIntersectionTypeNode(Tt);
              !ae.encounteredError && !(ae.flags & 262144) && (ae.encounteredError = !0);
              return;
            }
            if (Ir & 48)
              return E.assert(!!(Se.flags & 524288)), ba(Se);
            if (Se.flags & 4194304) {
              const vt = Se.type;
              ae.approximateLength += 6;
              const Tt = R(vt, ae);
              return N.createTypeOperatorNode(143, Tt);
            }
            if (Se.flags & 134217728) {
              const vt = Se.texts, Tt = Se.types, or = N.createTemplateHead(vt[0]), Cr = N.createNodeArray(
                fr(Tt, (en, Rn) => N.createTemplateLiteralTypeSpan(
                  R(en, ae),
                  (Rn < Tt.length - 1 ? N.createTemplateMiddle : N.createTemplateTail)(vt[Rn + 1])
                ))
              );
              return ae.approximateLength += 2, N.createTemplateLiteralType(or, Cr);
            }
            if (Se.flags & 268435456) {
              const vt = R(Se.type, ae);
              return zr(Se.symbol, ae, 788968, [vt]);
            }
            if (Se.flags & 8388608) {
              const vt = R(Se.objectType, ae), Tt = R(Se.indexType, ae);
              return ae.approximateLength += 2, N.createIndexedAccessTypeNode(vt, Tt);
            }
            if (Se.flags & 16777216)
              return Bs(Se, (vt) => Br(vt));
            if (Se.flags & 33554432) {
              const vt = R(Se.baseType, ae), Tt = ME(Se) && qfe(
                "NoInfer",
                /*reportErrors*/
                !1
              );
              return Tt ? zr(Tt, ae, 788968, [vt]) : vt;
            }
            return E.fail("Should be unreachable.");
            function Br(vt) {
              const Tt = R(vt.checkType, ae);
              if (ae.approximateLength += 15, ae.flags & 4 && vt.root.isDistributive && !(vt.checkType.flags & 262144)) {
                const Ti = hi(sa(262144, "T")), $n = Da(Ti, ae), gn = N.createTypeReferenceNode($n);
                ae.approximateLength += 37;
                const Fi = wT(vt.root.checkType, Ti, vt.mapper), ys = ae.inferTypeParameters;
                ae.inferTypeParameters = vt.root.inferTypeParameters;
                const Sa = R(ji(vt.root.extendsType, Fi), ae);
                ae.inferTypeParameters = ys;
                const na = Kn(ji(a(ae, vt.root.node.trueType), Fi)), zo = Kn(ji(a(ae, vt.root.node.falseType), Fi));
                return N.createConditionalTypeNode(
                  Tt,
                  N.createInferTypeNode(N.createTypeParameterDeclaration(
                    /*modifiers*/
                    void 0,
                    N.cloneNode(gn.typeName)
                  )),
                  N.createConditionalTypeNode(
                    N.createTypeReferenceNode(N.cloneNode($n)),
                    R(vt.checkType, ae),
                    N.createConditionalTypeNode(gn, Sa, na, zo),
                    N.createKeywordTypeNode(
                      146
                      /* NeverKeyword */
                    )
                  ),
                  N.createKeywordTypeNode(
                    146
                    /* NeverKeyword */
                  )
                );
              }
              const or = ae.inferTypeParameters;
              ae.inferTypeParameters = vt.root.inferTypeParameters;
              const Cr = R(vt.extendsType, ae);
              ae.inferTypeParameters = or;
              const en = Kn(I1(vt)), Rn = Kn(F1(vt));
              return N.createConditionalTypeNode(Tt, Cr, en, Rn);
            }
            function Kn(vt) {
              var Tt, or, Cr;
              return vt.flags & 1048576 ? (Tt = ae.visitedTypes) != null && Tt.has(Ll(vt)) ? (ae.flags & 131072 || (ae.encounteredError = !0, (Cr = (or = ae.tracker) == null ? void 0 : or.reportCyclicStructureError) == null || Cr.call(or)), Y(ae)) : Bs(vt, (en) => R(en, ae)) : R(vt, ae);
            }
            function ui(vt) {
              return !!K8(vt);
            }
            function xs(vt) {
              return !!vt.target && ui(vt.target) && !ui(vt);
            }
            function $i(vt) {
              var Tt;
              E.assert(!!(vt.flags & 524288));
              const or = vt.declaration.readonlyToken ? N.createToken(vt.declaration.readonlyToken.kind) : void 0, Cr = vt.declaration.questionToken ? N.createToken(vt.declaration.questionToken.kind) : void 0;
              let en, Rn;
              const Ti = !IE(vt) && !(O2(vt).flags & 2) && ae.flags & 4 && !(Uf(vt).flags & 262144 && ((Tt = a_(Uf(vt))) == null ? void 0 : Tt.flags) & 4194304);
              if (IE(vt)) {
                if (xs(vt) && ae.flags & 4) {
                  const na = hi(sa(262144, "T")), zo = Da(na, ae);
                  Rn = N.createTypeReferenceNode(zo);
                }
                en = N.createTypeOperatorNode(143, Rn || R(O2(vt), ae));
              } else if (Ti) {
                const na = hi(sa(262144, "T")), zo = Da(na, ae);
                Rn = N.createTypeReferenceNode(zo), en = Rn;
              } else
                en = R(Uf(vt), ae);
              const $n = Yt(Rd(vt), ae, en), gn = vt.declaration.nameType ? R(cy(vt), ae) : void 0, Fi = R(o0(Kh(vt), !!(hg(vt) & 4)), ae), ys = N.createMappedTypeNode(
                or,
                $n,
                gn,
                Cr,
                Fi,
                /*members*/
                void 0
              );
              ae.approximateLength += 10;
              const Sa = an(
                ys,
                1
                /* SingleLine */
              );
              if (xs(vt) && ae.flags & 4) {
                const na = ji(a_(a(ae, vt.declaration.typeParameter.constraint.type)) || mt, vt.mapper);
                return N.createConditionalTypeNode(
                  R(O2(vt), ae),
                  N.createInferTypeNode(N.createTypeParameterDeclaration(
                    /*modifiers*/
                    void 0,
                    N.cloneNode(Rn.typeName),
                    na.flags & 2 ? void 0 : R(na, ae)
                  )),
                  Sa,
                  N.createKeywordTypeNode(
                    146
                    /* NeverKeyword */
                  )
                );
              } else if (Ti)
                return N.createConditionalTypeNode(
                  R(Uf(vt), ae),
                  N.createInferTypeNode(N.createTypeParameterDeclaration(
                    /*modifiers*/
                    void 0,
                    N.cloneNode(Rn.typeName),
                    N.createTypeOperatorNode(143, R(O2(vt), ae))
                  )),
                  Sa,
                  N.createKeywordTypeNode(
                    146
                    /* NeverKeyword */
                  )
                );
              return Sa;
            }
            function ba(vt) {
              var Tt, or;
              const Cr = vt.id, en = vt.symbol;
              if (en) {
                if (!!(Cn(vt) & 8388608)) {
                  const Fi = vt.node;
                  if (Vb(Fi) && a(ae, Fi) === vt) {
                    const ys = ue.tryReuseExistingTypeNode(ae, Fi);
                    if (ys)
                      return ys;
                  }
                  return (Tt = ae.visitedTypes) != null && Tt.has(Cr) ? Y(ae) : Bs(vt, fa);
                }
                const $n = O8(vt) ? 788968 : 111551;
                if (jm(en.valueDeclaration))
                  return zr(en, ae, $n);
                if (en.flags & 32 && !VL(en) && !(en.valueDeclaration && Xn(en.valueDeclaration) && ae.flags & 2048 && (!el(en.valueDeclaration) || wm(
                  en,
                  ae.enclosingDeclaration,
                  $n,
                  /*shouldComputeAliasesToMakeVisible*/
                  !1
                ).accessibility !== 0)) || en.flags & 896 || Rn())
                  return zr(en, ae, $n);
                if ((or = ae.visitedTypes) != null && or.has(Cr)) {
                  const gn = Xk(vt);
                  return gn ? zr(
                    gn,
                    ae,
                    788968
                    /* Type */
                  ) : Y(ae);
                } else
                  return Bs(vt, fa);
              } else
                return fa(vt);
              function Rn() {
                var Ti;
                const $n = !!(en.flags & 8192) && // typeof static method
                at(en.declarations, (Fi) => zs(Fi) && !jPe(ls(Fi))), gn = !!(en.flags & 16) && (en.parent || // is exported function symbol
                ar(
                  en.declarations,
                  (Fi) => Fi.parent.kind === 307 || Fi.parent.kind === 268
                  /* ModuleBlock */
                ));
                if ($n || gn)
                  return (!!(ae.flags & 4096) || ((Ti = ae.visitedTypes) == null ? void 0 : Ti.has(Cr))) && // it is type of the symbol uses itself recursively
                  (!(ae.flags & 8) || ny(en, ae.enclosingDeclaration));
              }
            }
            function Bs(vt, Tt) {
              var or, Cr, en;
              const Rn = vt.id, Ti = Cn(vt) & 16 && vt.symbol && vt.symbol.flags & 32, $n = Cn(vt) & 4 && vt.node ? "N" + Oa(vt.node) : vt.flags & 16777216 ? "N" + Oa(vt.root.node) : vt.symbol ? (Ti ? "+" : "") + ea(vt.symbol) : void 0;
              ae.visitedTypes || (ae.visitedTypes = /* @__PURE__ */ new Set()), $n && !ae.symbolDepth && (ae.symbolDepth = /* @__PURE__ */ new Map());
              const gn = ae.enclosingDeclaration && yn(ae.enclosingDeclaration), Fi = `${Ll(vt)}|${ae.flags}|${ae.internalFlags}`;
              gn && (gn.serializedTypes || (gn.serializedTypes = /* @__PURE__ */ new Map()));
              const ys = (or = gn?.serializedTypes) == null ? void 0 : or.get(Fi);
              if (ys)
                return (Cr = ys.trackedSymbols) == null || Cr.forEach(
                  ([Pu, vy, YE]) => ae.tracker.trackSymbol(
                    Pu,
                    vy,
                    YE
                  )
                ), ys.truncating && (ae.truncating = !0), ae.approximateLength += ys.addedLength, f0(ys.node);
              let Sa;
              if ($n) {
                if (Sa = ae.symbolDepth.get($n) || 0, Sa > 10)
                  return Y(ae);
                ae.symbolDepth.set($n, Sa + 1);
              }
              ae.visitedTypes.add(Rn);
              const na = ae.trackedSymbols;
              ae.trackedSymbols = void 0;
              const zo = ae.approximateLength, cd = Tt(vt), vh = ae.approximateLength - zo;
              return !ae.reportedDiagnostic && !ae.encounteredError && ((en = gn?.serializedTypes) == null || en.set(Fi, {
                node: cd,
                truncating: ae.truncating,
                addedLength: vh,
                trackedSymbols: ae.trackedSymbols
              })), ae.visitedTypes.delete(Rn), $n && ae.symbolDepth.set($n, Sa), ae.trackedSymbols = na, cd;
              function f0(Pu) {
                return !oo(Pu) && ds(Pu) === Pu ? Pu : l(ae, N.cloneNode(yr(
                  Pu,
                  f0,
                  /*context*/
                  void 0,
                  yy,
                  f0
                )), Pu);
              }
              function yy(Pu, vy, YE, ub, xg) {
                return Pu && Pu.length === 0 ? ot(N.createNodeArray(
                  /*elements*/
                  void 0,
                  Pu.hasTrailingComma
                ), Pu) : Lr(Pu, vy, YE, ub, xg);
              }
            }
            function fa(vt) {
              if (T_(vt) || vt.containsError)
                return $i(vt);
              const Tt = jd(vt);
              if (!Tt.properties.length && !Tt.indexInfos.length) {
                if (!Tt.callSignatures.length && !Tt.constructSignatures.length)
                  return ae.approximateLength += 2, an(
                    N.createTypeLiteralNode(
                      /*members*/
                      void 0
                    ),
                    1
                    /* SingleLine */
                  );
                if (Tt.callSignatures.length === 1 && !Tt.constructSignatures.length) {
                  const Ti = Tt.callSignatures[0];
                  return Xt(Ti, 184, ae);
                }
                if (Tt.constructSignatures.length === 1 && !Tt.callSignatures.length) {
                  const Ti = Tt.constructSignatures[0];
                  return Xt(Ti, 185, ae);
                }
              }
              const or = Tn(Tt.constructSignatures, (Ti) => !!(Ti.flags & 4));
              if (at(or)) {
                const Ti = fr(or, (gn) => xT(gn));
                return Tt.callSignatures.length + (Tt.constructSignatures.length - or.length) + Tt.indexInfos.length + // exclude `prototype` when writing a class expression as a type literal, as per
                // the logic in `createTypeNodesFromResolvedType`.
                (ae.flags & 2048 ? d0(Tt.properties, (gn) => !(gn.flags & 4194304)) : Ar(Tt.properties)) && Ti.push(zk(Tt)), R(aa(Ti), ae);
              }
              const Cr = x(ae);
              ae.flags |= 4194304;
              const en = Nr(Tt);
              Cr();
              const Rn = N.createTypeLiteralNode(en);
              return ae.approximateLength += 2, an(
                Rn,
                ae.flags & 1024 ? 0 : 1
                /* SingleLine */
              ), Rn;
            }
            function ja(vt) {
              let Tt = Io(vt);
              if (vt.target === Is || vt.target === Ea) {
                if (ae.flags & 2) {
                  const en = R(Tt[0], ae);
                  return N.createTypeReferenceNode(vt.target === Is ? "Array" : "ReadonlyArray", [en]);
                }
                const or = R(Tt[0], ae), Cr = N.createArrayTypeNode(or);
                return vt.target === Is ? Cr : N.createTypeOperatorNode(148, Cr);
              } else if (vt.target.objectFlags & 8) {
                if (Tt = $c(Tt, (or, Cr) => o0(or, !!(vt.target.elementFlags[Cr] & 2))), Tt.length > 0) {
                  const or = _y(vt), Cr = ct(Tt.slice(0, or), ae);
                  if (Cr) {
                    const { labeledElementDeclarations: en } = vt.target;
                    for (let Ti = 0; Ti < Cr.length; Ti++) {
                      const $n = vt.target.elementFlags[Ti], gn = en?.[Ti];
                      gn ? Cr[Ti] = N.createNamedTupleMember(
                        $n & 12 ? N.createToken(
                          26
                          /* DotDotDotToken */
                        ) : void 0,
                        N.createIdentifier(Ei(Yde(gn))),
                        $n & 2 ? N.createToken(
                          58
                          /* QuestionToken */
                        ) : void 0,
                        $n & 4 ? N.createArrayTypeNode(Cr[Ti]) : Cr[Ti]
                      ) : Cr[Ti] = $n & 12 ? N.createRestTypeNode($n & 4 ? N.createArrayTypeNode(Cr[Ti]) : Cr[Ti]) : $n & 2 ? N.createOptionalTypeNode(Cr[Ti]) : Cr[Ti];
                    }
                    const Rn = an(
                      N.createTupleTypeNode(Cr),
                      1
                      /* SingleLine */
                    );
                    return vt.target.readonly ? N.createTypeOperatorNode(148, Rn) : Rn;
                  }
                }
                if (ae.encounteredError || ae.flags & 524288) {
                  const or = an(
                    N.createTupleTypeNode([]),
                    1
                    /* SingleLine */
                  );
                  return vt.target.readonly ? N.createTypeOperatorNode(148, or) : or;
                }
                ae.encounteredError = !0;
                return;
              } else {
                if (ae.flags & 2048 && vt.symbol.valueDeclaration && Xn(vt.symbol.valueDeclaration) && !ny(vt.symbol, ae.enclosingDeclaration))
                  return ba(vt);
                {
                  const or = vt.target.outerTypeParameters;
                  let Cr = 0, en;
                  if (or) {
                    const gn = or.length;
                    for (; Cr < gn; ) {
                      const Fi = Cr, ys = y3e(or[Cr]);
                      do
                        Cr++;
                      while (Cr < gn && y3e(or[Cr]) === ys);
                      if (!CR(or, Tt, Fi, Cr)) {
                        const Sa = ct(Tt.slice(Fi, Cr), ae), na = x(ae);
                        ae.flags |= 16;
                        const zo = zr(ys, ae, 788968, Sa);
                        na(), en = en ? We(en, zo) : zo;
                      }
                    }
                  }
                  let Rn;
                  if (Tt.length > 0) {
                    let gn = 0;
                    if (vt.target.typeParameters && (gn = Math.min(vt.target.typeParameters.length, Tt.length), (Am(vt, KG(
                      /*reportErrors*/
                      !1
                    )) || Am(vt, R3e(
                      /*reportErrors*/
                      !1
                    )) || Am(vt, nM(
                      /*reportErrors*/
                      !1
                    )) || Am(vt, M3e(
                      /*reportErrors*/
                      !1
                    ))) && (!vt.node || !X_(vt.node) || !vt.node.typeArguments || vt.node.typeArguments.length < gn)))
                      for (; gn > 0; ) {
                        const Fi = Tt[gn - 1], ys = vt.target.typeParameters[gn - 1], Sa = M2(ys);
                        if (!Sa || !gh(Fi, Sa))
                          break;
                        gn--;
                      }
                    Rn = ct(Tt.slice(Cr, gn), ae);
                  }
                  const Ti = x(ae);
                  ae.flags |= 16;
                  const $n = zr(vt.symbol, ae, 788968, Rn);
                  return Ti(), en ? We(en, $n) : $n;
                }
              }
            }
            function We(vt, Tt) {
              if (am(vt)) {
                let or = vt.typeArguments, Cr = vt.qualifier;
                Cr && (Fe(Cr) ? or !== wS(Cr) && (Cr = D0(N.cloneNode(Cr), or)) : or !== wS(Cr.right) && (Cr = N.updateQualifiedName(Cr, Cr.left, D0(N.cloneNode(Cr.right), or)))), or = Tt.typeArguments;
                const en = tt(Tt);
                for (const Rn of en)
                  Cr = Cr ? N.createQualifiedName(Cr, Rn) : Rn;
                return N.updateImportTypeNode(
                  vt,
                  vt.argument,
                  vt.attributes,
                  Cr,
                  or,
                  vt.isTypeOf
                );
              } else {
                let or = vt.typeArguments, Cr = vt.typeName;
                Fe(Cr) ? or !== wS(Cr) && (Cr = D0(N.cloneNode(Cr), or)) : or !== wS(Cr.right) && (Cr = N.updateQualifiedName(Cr, Cr.left, D0(N.cloneNode(Cr.right), or))), or = Tt.typeArguments;
                const en = tt(Tt);
                for (const Rn of en)
                  Cr = N.createQualifiedName(Cr, Rn);
                return N.updateTypeReferenceNode(
                  vt,
                  Cr,
                  or
                );
              }
            }
            function tt(vt) {
              let Tt = vt.typeName;
              const or = [];
              for (; !Fe(Tt); )
                or.unshift(Tt.right), Tt = Tt.left;
              return or.unshift(Tt), or;
            }
            function Gt(vt, Tt, or) {
              if (vt.components && Pi(vt.components, (en) => {
                var Rn;
                return !!(en.name && ia(en.name) && to(en.name.expression) && Tt.enclosingDeclaration && ((Rn = Hk(
                  en.name.expression,
                  Tt.enclosingDeclaration,
                  /*shouldComputeAliasToMakeVisible*/
                  !1
                )) == null ? void 0 : Rn.accessibility) === 0);
              })) {
                const en = Tn(vt.components, (Rn) => !NE(Rn));
                return fr(en, (Rn) => (Qa(Rn.name.expression, Tt.enclosingDeclaration, Tt), l(
                  Tt,
                  N.createPropertySignature(
                    vt.isReadonly ? [N.createModifier(
                      148
                      /* ReadonlyKeyword */
                    )] : void 0,
                    Rn.name,
                    (ju(Rn) || is(Rn) || Xp(Rn) || uc(Rn) || Ag(Rn) || $d(Rn)) && Rn.questionToken ? N.createToken(
                      58
                      /* QuestionToken */
                    ) : void 0,
                    or || R(Qr(Rn.symbol), Tt)
                  ),
                  Rn
                )));
              }
              return [nr(vt, Tt, or)];
            }
            function Nr(vt) {
              if (I(ae))
                return ae.flags & 1 ? [kD(N.createNotEmittedTypeElement(), 3, "elided")] : [N.createPropertySignature(
                  /*modifiers*/
                  void 0,
                  "...",
                  /*questionToken*/
                  void 0,
                  /*type*/
                  void 0
                )];
              const Tt = [];
              for (const en of vt.callSignatures)
                Tt.push(Xt(en, 179, ae));
              for (const en of vt.constructSignatures)
                en.flags & 4 || Tt.push(Xt(en, 180, ae));
              for (const en of vt.indexInfos)
                Tt.push(...Gt(en, ae, vt.objectFlags & 1024 ? Y(ae) : void 0));
              const or = vt.properties;
              if (!or)
                return Tt;
              let Cr = 0;
              for (const en of or) {
                if (Cr++, ae.flags & 2048) {
                  if (en.flags & 4194304)
                    continue;
                  np(en) & 6 && ae.tracker.reportPrivateInBaseOfClassExpression && ae.tracker.reportPrivateInBaseOfClassExpression(Ei(en.escapedName));
                }
                if (I(ae) && Cr + 2 < or.length - 1) {
                  if (ae.flags & 1) {
                    const Rn = Tt.pop();
                    Tt.push(kD(Rn, 3, `... ${or.length - Cr} more elided ...`));
                  } else
                    Tt.push(N.createPropertySignature(
                      /*modifiers*/
                      void 0,
                      `... ${or.length - Cr} more ...`,
                      /*questionToken*/
                      void 0,
                      /*type*/
                      void 0
                    ));
                  de(or[or.length - 1], ae, Tt);
                  break;
                }
                de(en, ae, Tt);
              }
              return Tt.length ? Tt : void 0;
            }
          }
          function Y(Se) {
            return Se.approximateLength += 3, Se.flags & 1 ? Wb(N.createKeywordTypeNode(
              133
              /* AnyKeyword */
            ), 3, "elided") : N.createTypeReferenceNode(
              N.createIdentifier("..."),
              /*typeArguments*/
              void 0
            );
          }
          function Te(Se, ae) {
            var xt;
            return !!(lc(Se) & 8192) && (_s(ae.reverseMappedStack, Se) || ((xt = ae.reverseMappedStack) == null ? void 0 : xt[0]) && !(Cn(pa(ae.reverseMappedStack).links.propertyType) & 16) || ur());
            function ur() {
              var Ir;
              if ((((Ir = ae.reverseMappedStack) == null ? void 0 : Ir.length) ?? 0) < 3)
                return !1;
              for (let Br = 0; Br < 3; Br++)
                if (ae.reverseMappedStack[ae.reverseMappedStack.length - 1 - Br].links.mappedType.symbol !== Se.links.mappedType.symbol)
                  return !1;
              return !0;
            }
          }
          function de(Se, ae, xt) {
            var Lt;
            const ur = !!(lc(Se) & 8192), Ir = Te(Se, ae) ? Ie : P1(Se), Br = ae.enclosingDeclaration;
            if (ae.enclosingDeclaration = void 0, ae.tracker.canTrackSymbol && z8(Se.escapedName))
              if (Se.declarations) {
                const fa = xa(Se.declarations);
                if (NE(fa))
                  if (_n(fa)) {
                    const ja = ls(fa);
                    ja && fo(ja) && Y3(ja.argumentExpression) && Qa(ja.argumentExpression, Br, ae);
                  } else
                    Qa(fa.name.expression, Br, ae);
              } else
                ae.tracker.reportNonSerializableProperty(Bi(Se));
            ae.enclosingDeclaration = Se.valueDeclaration || ((Lt = Se.declarations) == null ? void 0 : Lt[0]) || Br;
            const Kn = Rc(Se, ae);
            if (ae.enclosingDeclaration = Br, ae.approximateLength += bc(Se).length + 1, Se.flags & 98304) {
              const fa = sy(Se);
              if (Ir !== fa && !Oe(Ir) && !Oe(fa)) {
                const ja = Ri(Se).mapper, We = jo(
                  Se,
                  177
                  /* GetAccessor */
                ), tt = qf(We);
                xt.push(
                  Ge(
                    ae,
                    Xt(ja ? V2(tt, ja) : tt, 177, ae, { name: Kn }),
                    We
                  )
                );
                const Gt = jo(
                  Se,
                  178
                  /* SetAccessor */
                ), Nr = qf(Gt);
                xt.push(
                  Ge(
                    ae,
                    Xt(ja ? V2(Nr, ja) : Nr, 178, ae, { name: Kn }),
                    Gt
                  )
                );
                return;
              }
            }
            const ui = Se.flags & 16777216 ? N.createToken(
              58
              /* QuestionToken */
            ) : void 0;
            if (Se.flags & 8208 && !ly(Ir).length && !Vd(Se)) {
              const fa = As(
                Hc(Ir, (ja) => !(ja.flags & 32768)),
                0
                /* Call */
              );
              for (const ja of fa) {
                const We = Xt(ja, 173, ae, { name: Kn, questionToken: ui });
                xt.push(Bs(We, ja.declaration || Se.valueDeclaration));
              }
              if (fa.length || !ui)
                return;
            }
            let xs;
            Te(Se, ae) ? xs = Y(ae) : (ur && (ae.reverseMappedStack || (ae.reverseMappedStack = []), ae.reverseMappedStack.push(Se)), xs = Ir ? lb(
              ae,
              /*declaration*/
              void 0,
              Ir,
              Se
            ) : N.createKeywordTypeNode(
              133
              /* AnyKeyword */
            ), ur && ae.reverseMappedStack.pop());
            const $i = Vd(Se) ? [N.createToken(
              148
              /* ReadonlyKeyword */
            )] : void 0;
            $i && (ae.approximateLength += 9);
            const ba = N.createPropertySignature(
              $i,
              Kn,
              ui,
              xs
            );
            xt.push(Bs(ba, Se.valueDeclaration));
            function Bs(fa, ja) {
              var We;
              const tt = (We = Se.declarations) == null ? void 0 : We.find(
                (Gt) => Gt.kind === 348
                /* JSDocPropertyTag */
              );
              if (tt) {
                const Gt = HP(tt.comment);
                Gt && rv(fa, [{ kind: 3, text: `*
 * ` + Gt.replace(/\n/g, `
 * `) + `
 `, pos: -1, end: -1, hasTrailingNewLine: !0 }]);
              } else ja && Ge(ae, fa, ja);
              return fa;
            }
          }
          function Ge(Se, ae, xt) {
            return Se.enclosingFile && Se.enclosingFile === Er(xt) ? Zc(ae, xt) : ae;
          }
          function ct(Se, ae, xt) {
            if (at(Se)) {
              if (I(ae))
                if (xt) {
                  if (Se.length > 2)
                    return [
                      R(Se[0], ae),
                      ae.flags & 1 ? Wb(N.createKeywordTypeNode(
                        133
                        /* AnyKeyword */
                      ), 3, `... ${Se.length - 2} more elided ...`) : N.createTypeReferenceNode(
                        `... ${Se.length - 2} more ...`,
                        /*typeArguments*/
                        void 0
                      ),
                      R(Se[Se.length - 1], ae)
                    ];
                } else return [
                  ae.flags & 1 ? Wb(N.createKeywordTypeNode(
                    133
                    /* AnyKeyword */
                  ), 3, "elided") : N.createTypeReferenceNode(
                    "...",
                    /*typeArguments*/
                    void 0
                  )
                ];
              const ur = !(ae.flags & 64) ? Tp() : void 0, Ir = [];
              let Br = 0;
              for (const Kn of Se) {
                if (Br++, I(ae) && Br + 2 < Se.length - 1) {
                  Ir.push(
                    ae.flags & 1 ? Wb(N.createKeywordTypeNode(
                      133
                      /* AnyKeyword */
                    ), 3, `... ${Se.length - Br} more elided ...`) : N.createTypeReferenceNode(
                      `... ${Se.length - Br} more ...`,
                      /*typeArguments*/
                      void 0
                    )
                  );
                  const xs = R(Se[Se.length - 1], ae);
                  xs && Ir.push(xs);
                  break;
                }
                ae.approximateLength += 2;
                const ui = R(Kn, ae);
                ui && (Ir.push(ui), ur && Oee(ui) && ur.add(ui.typeName.escapedText, [Kn, Ir.length - 1]));
              }
              if (ur) {
                const Kn = x(ae);
                ae.flags |= 64, ur.forEach((ui) => {
                  if (!Lee(ui, ([xs], [$i]) => ht(xs, $i)))
                    for (const [xs, $i] of ui)
                      Ir[$i] = R(xs, ae);
                }), Kn();
              }
              return Ir;
            }
          }
          function ht(Se, ae) {
            return Se === ae || !!Se.symbol && Se.symbol === ae.symbol || !!Se.aliasSymbol && Se.aliasSymbol === ae.aliasSymbol;
          }
          function nr(Se, ae, xt) {
            const Lt = XZ(Se) || "x", ur = R(Se.keyType, ae), Ir = N.createParameterDeclaration(
              /*modifiers*/
              void 0,
              /*dotDotDotToken*/
              void 0,
              Lt,
              /*questionToken*/
              void 0,
              ur,
              /*initializer*/
              void 0
            );
            return xt || (xt = R(Se.type || Ie, ae)), !Se.type && !(ae.flags & 2097152) && (ae.encounteredError = !0), ae.approximateLength += Lt.length + 4, N.createIndexSignature(
              Se.isReadonly ? [N.createToken(
                148
                /* ReadonlyKeyword */
              )] : void 0,
              [Ir],
              xt
            );
          }
          function Xt(Se, ae, xt, Lt) {
            var ur;
            let Ir, Br;
            const Kn = qPe(
              Se,
              /*skipUnionExpanding*/
              !0
            )[0], ui = Jr(xt, Se.declaration, Kn, Se.typeParameters, Se.parameters, Se.mapper);
            xt.approximateLength += 3, xt.flags & 32 && Se.target && Se.mapper && Se.target.typeParameters ? Br = Se.target.typeParameters.map((We) => R(ji(We, Se.mapper), xt)) : Ir = Se.typeParameters && Se.typeParameters.map((We) => Bn(We, xt));
            const xs = x(xt);
            xt.flags &= -257;
            const $i = (at(Kn, (We) => We !== Kn[Kn.length - 1] && !!(lc(We) & 32768)) ? Se.parameters : Kn).map((We) => os(
              We,
              xt,
              ae === 176
              /* Constructor */
            )), ba = xt.flags & 33554432 ? void 0 : sr(Se, xt);
            ba && $i.unshift(ba), xs();
            const Bs = xf(xt, Se);
            let fa = Lt?.modifiers;
            if (ae === 185 && Se.flags & 4) {
              const We = rm(fa);
              fa = N.createModifiersFromModifierFlags(
                We | 64
                /* Abstract */
              );
            }
            const ja = ae === 179 ? N.createCallSignature(Ir, $i, Bs) : ae === 180 ? N.createConstructSignature(Ir, $i, Bs) : ae === 173 ? N.createMethodSignature(fa, Lt?.name ?? N.createIdentifier(""), Lt?.questionToken, Ir, $i, Bs) : ae === 174 ? N.createMethodDeclaration(
              fa,
              /*asteriskToken*/
              void 0,
              Lt?.name ?? N.createIdentifier(""),
              /*questionToken*/
              void 0,
              Ir,
              $i,
              Bs,
              /*body*/
              void 0
            ) : ae === 176 ? N.createConstructorDeclaration(
              fa,
              $i,
              /*body*/
              void 0
            ) : ae === 177 ? N.createGetAccessorDeclaration(
              fa,
              Lt?.name ?? N.createIdentifier(""),
              $i,
              Bs,
              /*body*/
              void 0
            ) : ae === 178 ? N.createSetAccessorDeclaration(
              fa,
              Lt?.name ?? N.createIdentifier(""),
              $i,
              /*body*/
              void 0
            ) : ae === 181 ? N.createIndexSignature(fa, $i, Bs) : ae === 317 ? N.createJSDocFunctionType($i, Bs) : ae === 184 ? N.createFunctionTypeNode(Ir, $i, Bs ?? N.createTypeReferenceNode(N.createIdentifier(""))) : ae === 185 ? N.createConstructorTypeNode(fa, Ir, $i, Bs ?? N.createTypeReferenceNode(N.createIdentifier(""))) : ae === 262 ? N.createFunctionDeclaration(
              fa,
              /*asteriskToken*/
              void 0,
              Lt?.name ? Us(Lt.name, Fe) : N.createIdentifier(""),
              Ir,
              $i,
              Bs,
              /*body*/
              void 0
            ) : ae === 218 ? N.createFunctionExpression(
              fa,
              /*asteriskToken*/
              void 0,
              Lt?.name ? Us(Lt.name, Fe) : N.createIdentifier(""),
              Ir,
              $i,
              Bs,
              N.createBlock([])
            ) : ae === 219 ? N.createArrowFunction(
              fa,
              Ir,
              $i,
              Bs,
              /*equalsGreaterThanToken*/
              void 0,
              N.createBlock([])
            ) : E.assertNever(ae);
            if (Br && (ja.typeArguments = N.createNodeArray(Br)), ((ur = Se.declaration) == null ? void 0 : ur.kind) === 323 && Se.declaration.parent.kind === 339) {
              const We = Go(
                Se.declaration.parent.parent,
                /*includeTrivia*/
                !0
              ).slice(2, -2).split(/\r\n|\n|\r/).map((tt) => tt.replace(/^\s+/, " ")).join(`
`);
              Wb(
                ja,
                3,
                We,
                /*hasTrailingNewLine*/
                !0
              );
            }
            return ui?.(), ja;
          }
          function Gr(Se) {
            i && i.throwIfCancellationRequested && i.throwIfCancellationRequested();
            let ae, xt, Lt = !1;
            const ur = Se.tracker, Ir = Se.trackedSymbols;
            Se.trackedSymbols = void 0;
            const Br = Se.encounteredError;
            return Se.tracker = new yne(Se, {
              ...ur.inner,
              reportCyclicStructureError() {
                Kn(() => ur.reportCyclicStructureError());
              },
              reportInaccessibleThisError() {
                Kn(() => ur.reportInaccessibleThisError());
              },
              reportInaccessibleUniqueSymbolError() {
                Kn(() => ur.reportInaccessibleUniqueSymbolError());
              },
              reportLikelyUnsafeImportRequiredError($i) {
                Kn(() => ur.reportLikelyUnsafeImportRequiredError($i));
              },
              reportNonSerializableProperty($i) {
                Kn(() => ur.reportNonSerializableProperty($i));
              },
              reportPrivateInBaseOfClassExpression($i) {
                Kn(() => ur.reportPrivateInBaseOfClassExpression($i));
              },
              trackSymbol($i, ba, Bs) {
                return (ae ?? (ae = [])).push([$i, ba, Bs]), !1;
              },
              moduleResolverHost: Se.tracker.moduleResolverHost
            }, Se.tracker.moduleResolverHost), {
              startRecoveryScope: ui,
              finalizeBoundary: xs,
              markError: Kn,
              hadError: () => Lt
            };
            function Kn($i) {
              Lt = !0, $i && (xt ?? (xt = [])).push($i);
            }
            function ui() {
              const $i = ae?.length ?? 0, ba = xt?.length ?? 0;
              return () => {
                Lt = !1, ae && (ae.length = $i), xt && (xt.length = ba);
              };
            }
            function xs() {
              return Se.tracker = ur, Se.trackedSymbols = Ir, Se.encounteredError = Br, xt?.forEach(($i) => $i()), Lt ? !1 : (ae?.forEach(
                ([$i, ba, Bs]) => Se.tracker.trackSymbol(
                  $i,
                  ba,
                  Bs
                )
              ), !0);
            }
          }
          function Jr(Se, ae, xt, Lt, ur, Ir) {
            const Br = Tf(Se);
            let Kn, ui;
            const xs = Se.enclosingDeclaration, $i = Se.mapper;
            if (Ir && (Se.mapper = Ir), Se.enclosingDeclaration && ae) {
              let ba = function(Bs, fa) {
                E.assert(Se.enclosingDeclaration);
                let ja;
                yn(Se.enclosingDeclaration).fakeScopeForSignatureDeclaration === Bs ? ja = Se.enclosingDeclaration : Se.enclosingDeclaration.parent && yn(Se.enclosingDeclaration.parent).fakeScopeForSignatureDeclaration === Bs && (ja = Se.enclosingDeclaration.parent), E.assertOptionalNode(ja, Cs);
                const We = ja?.locals ?? qs();
                let tt, Gt;
                if (fa((Nr, vt) => {
                  if (ja) {
                    const Tt = We.get(Nr);
                    Tt ? Gt = Dr(Gt, { name: Nr, oldSymbol: Tt }) : tt = Dr(tt, Nr);
                  }
                  We.set(Nr, vt);
                }), ja)
                  return function() {
                    ar(tt, (vt) => We.delete(vt)), ar(Gt, (vt) => We.set(vt.name, vt.oldSymbol));
                  };
                {
                  const Nr = N.createBlock(Ue);
                  yn(Nr).fakeScopeForSignatureDeclaration = Bs, Nr.locals = We, Wa(Nr, Se.enclosingDeclaration), Se.enclosingDeclaration = Nr;
                }
              };
              Kn = at(xt) ? ba(
                "params",
                (Bs) => {
                  if (xt)
                    for (let fa = 0; fa < xt.length; fa++) {
                      const ja = xt[fa], We = ur?.[fa];
                      ur && We !== ja ? (Bs(ja.escapedName, Q), We && Bs(We.escapedName, Q)) : ar(ja.declarations, (tt) => {
                        if (Ni(tt) && Ps(tt.name))
                          return Gt(tt.name), !0;
                        return;
                        function Gt(vt) {
                          ar(vt.elements, (Tt) => {
                            switch (Tt.kind) {
                              case 232:
                                return;
                              case 208:
                                return Nr(Tt);
                              default:
                                return E.assertNever(Tt);
                            }
                          });
                        }
                        function Nr(vt) {
                          if (Ps(vt.name))
                            return Gt(vt.name);
                          const Tt = vn(vt);
                          Bs(Tt.escapedName, Tt);
                        }
                      }) || Bs(ja.escapedName, ja);
                    }
                }
              ) : void 0, Se.flags & 4 && at(Lt) && (ui = ba(
                "typeParams",
                (Bs) => {
                  for (const fa of Lt ?? Ue) {
                    const ja = Da(fa, Se).escapedText;
                    Bs(ja, fa.symbol);
                  }
                }
              ));
            }
            return () => {
              Kn?.(), ui?.(), Br(), Se.enclosingDeclaration = xs, Se.mapper = $i;
            };
          }
          function sr(Se, ae) {
            if (Se.thisParameter)
              return os(Se.thisParameter, ae);
            if (Se.declaration && tn(Se.declaration)) {
              const xt = f7(Se.declaration);
              if (xt && xt.typeExpression)
                return N.createParameterDeclaration(
                  /*modifiers*/
                  void 0,
                  /*dotDotDotToken*/
                  void 0,
                  "this",
                  /*questionToken*/
                  void 0,
                  R(a(ae, xt.typeExpression), ae)
                );
            }
          }
          function Yt(Se, ae, xt) {
            const Lt = x(ae);
            ae.flags &= -513;
            const ur = N.createModifiersFromModifierFlags(Ppe(Se)), Ir = Da(Se, ae), Br = M2(Se), Kn = Br && R(Br, ae);
            return Lt(), N.createTypeParameterDeclaration(ur, Ir, xt, Kn);
          }
          function un(Se, ae, xt) {
            return ae && a(xt, ae) === Se && ue.tryReuseExistingTypeNode(xt, ae) || R(Se, xt);
          }
          function Bn(Se, ae, xt = a_(Se)) {
            const Lt = xt && un(xt, GG(Se), ae);
            return Yt(Se, ae, Lt);
          }
          function wi(Se, ae) {
            const xt = Se.kind === 2 || Se.kind === 3 ? N.createToken(
              131
              /* AssertsKeyword */
            ) : void 0, Lt = Se.kind === 1 || Se.kind === 3 ? an(
              N.createIdentifier(Se.parameterName),
              16777216
              /* NoAsciiEscaping */
            ) : N.createThisTypeNode(), ur = Se.type && R(Se.type, ae);
            return N.createTypePredicateNode(xt, Lt, ur);
          }
          function bn(Se) {
            const ae = jo(
              Se,
              169
              /* Parameter */
            );
            if (ae)
              return ae;
            if (!Ig(Se))
              return jo(
                Se,
                341
                /* JSDocParameterTag */
              );
          }
          function os(Se, ae, xt) {
            const Lt = bn(Se), ur = Qr(Se), Ir = lb(ae, Lt, ur, Se), Br = !(ae.flags & 8192) && xt && Lt && Fp(Lt) ? fr(yb(Lt), N.cloneNode) : void 0, ui = Lt && Hm(Lt) || lc(Se) & 32768 ? N.createToken(
              26
              /* DotDotDotToken */
            ) : void 0, xs = Fs(Se, Lt, ae), ba = Lt && q8(Lt) || lc(Se) & 16384 ? N.createToken(
              58
              /* QuestionToken */
            ) : void 0, Bs = N.createParameterDeclaration(
              Br,
              ui,
              xs,
              ba,
              Ir,
              /*initializer*/
              void 0
            );
            return ae.approximateLength += bc(Se).length + 3, Bs;
          }
          function Fs(Se, ae, xt) {
            return ae && ae.name ? ae.name.kind === 80 ? an(
              N.cloneNode(ae.name),
              16777216
              /* NoAsciiEscaping */
            ) : ae.name.kind === 166 ? an(
              N.cloneNode(ae.name.right),
              16777216
              /* NoAsciiEscaping */
            ) : Lt(ae.name) : bc(Se);
            function Lt(ur) {
              return Ir(ur);
              function Ir(Br) {
                xt.tracker.canTrackSymbol && ia(Br) && Sfe(Br) && Qa(Br.expression, xt.enclosingDeclaration, xt);
                let Kn = yr(
                  Br,
                  Ir,
                  /*context*/
                  void 0,
                  /*nodesVisitor*/
                  void 0,
                  Ir
                );
                return ya(Kn) && (Kn = N.updateBindingElement(
                  Kn,
                  Kn.dotDotDotToken,
                  Kn.propertyName,
                  Kn.name,
                  /*initializer*/
                  void 0
                )), oo(Kn) || (Kn = N.cloneNode(Kn)), an(
                  Kn,
                  16777217
                  /* NoAsciiEscaping */
                );
              }
            }
          }
          function Qa(Se, ae, xt) {
            if (!xt.tracker.canTrackSymbol) return;
            const Lt = Xu(Se), ur = it(
              ae,
              Lt.escapedText,
              1160127,
              /*nameNotFoundMessage*/
              void 0,
              /*isUse*/
              !0
            );
            if (ur)
              xt.tracker.trackSymbol(
                ur,
                ae,
                111551
                /* Value */
              );
            else {
              const Ir = it(
                Lt,
                Lt.escapedText,
                1160127,
                /*nameNotFoundMessage*/
                void 0,
                /*isUse*/
                !0
              );
              Ir && xt.tracker.trackSymbol(
                Ir,
                ae,
                111551
                /* Value */
              );
            }
          }
          function bs(Se, ae, xt, Lt) {
            return ae.tracker.trackSymbol(Se, ae.enclosingDeclaration, xt), wu(Se, ae, xt, Lt);
          }
          function wu(Se, ae, xt, Lt) {
            let ur;
            return !(Se.flags & 262144) && (ae.enclosingDeclaration || ae.flags & 64) && !(ae.internalFlags & 4) ? (ur = E.checkDefined(Br(
              Se,
              xt,
              /*endOfChain*/
              !0
            )), E.assert(ur && ur.length > 0)) : ur = [Se], ur;
            function Br(Kn, ui, xs) {
              let $i = C1(Kn, ae.enclosingDeclaration, ui, !!(ae.flags & 128)), ba;
              if (!$i || Vv($i[0], ae.enclosingDeclaration, $i.length === 1 ? ui : Dm(ui))) {
                const fa = vT($i ? $i[0] : Kn, ae.enclosingDeclaration, ui);
                if (Ar(fa)) {
                  ba = fa.map(
                    (tt) => at(tt.declarations, P2) ? Tr(tt, ae) : void 0
                  );
                  const ja = fa.map((tt, Gt) => Gt);
                  ja.sort(Bs);
                  const We = ja.map((tt) => fa[tt]);
                  for (const tt of We) {
                    const Gt = Br(
                      tt,
                      Dm(ui),
                      /*endOfChain*/
                      !1
                    );
                    if (Gt) {
                      if (tt.exports && tt.exports.get(
                        "export="
                        /* ExportEquals */
                      ) && Vf(tt.exports.get(
                        "export="
                        /* ExportEquals */
                      ), Kn)) {
                        $i = Gt;
                        break;
                      }
                      $i = Gt.concat($i || [Wf(tt, Kn) || Kn]);
                      break;
                    }
                  }
                }
              }
              if ($i)
                return $i;
              if (
                // If this is the last part of outputting the symbol, always output. The cases apply only to parent symbols.
                xs || // If a parent symbol is an anonymous type, don't write it.
                !(Kn.flags & 6144)
              )
                return !xs && !Lt && ar(Kn.declarations, P2) ? void 0 : [Kn];
              function Bs(fa, ja) {
                const We = ba[fa], tt = ba[ja];
                if (We && tt) {
                  const Gt = ff(tt);
                  return ff(We) === Gt ? dO(We) - dO(tt) : Gt ? -1 : 1;
                }
                return 0;
              }
            }
          }
          function Rl(Se, ae) {
            let xt;
            return XE(Se).flags & 524384 && (xt = N.createNodeArray(fr(id(Se), (ur) => Bn(ur, ae)))), xt;
          }
          function sc(Se, ae, xt) {
            var Lt;
            E.assert(Se && 0 <= ae && ae < Se.length);
            const ur = Se[ae], Ir = ea(ur);
            if ((Lt = xt.typeParameterSymbolList) != null && Lt.has(Ir))
              return;
            xt.mustCreateTypeParameterSymbolList && (xt.mustCreateTypeParameterSymbolList = !1, xt.typeParameterSymbolList = new Set(xt.typeParameterSymbolList)), xt.typeParameterSymbolList.add(Ir);
            let Br;
            if (xt.flags & 512 && ae < Se.length - 1) {
              const Kn = ur, ui = Se[ae + 1];
              if (lc(ui) & 1) {
                const xs = wr(
                  Kn.flags & 2097152 ? Uc(Kn) : Kn
                );
                Br = ct(fr(xs, ($i) => fy($i, ui.links.mapper)), xt);
              } else
                Br = Rl(ur, xt);
            }
            return Br;
          }
          function kr(Se) {
            return qb(Se.objectType) ? kr(Se.objectType) : Se;
          }
          function Tr(Se, ae, xt) {
            let Lt = jo(
              Se,
              307
              /* SourceFile */
            );
            if (!Lt) {
              const ba = Ic(Se.declarations, (Bs) => Jk(Bs, Se));
              ba && (Lt = jo(
                ba,
                307
                /* SourceFile */
              ));
            }
            if (Lt && Lt.moduleName !== void 0)
              return Lt.moduleName;
            if (!Lt && mne.test(Se.escapedName))
              return Se.escapedName.substring(1, Se.escapedName.length - 1);
            if (!ae.enclosingFile || !ae.tracker.moduleResolverHost)
              return mne.test(Se.escapedName) ? Se.escapedName.substring(1, Se.escapedName.length - 1) : Er(sB(Se)).fileName;
            const ur = Vo(ae.enclosingDeclaration), Ir = bK(ur) ? fx(ur) : void 0, Br = ae.enclosingFile, Kn = xt || Ir && e.getModeForUsageLocation(Br, Ir) || Br && e.getDefaultResolutionModeForFile(Br), ui = HD(Br.path, Kn), xs = Ri(Se);
            let $i = xs.specifierCache && xs.specifierCache.get(ui);
            if (!$i) {
              const ba = !!F.outFile, { moduleResolverHost: Bs } = ae.tracker, fa = ba ? { ...F, baseUrl: Bs.getCommonSourceDirectory() } : F;
              $i = xa(g1e(
                Se,
                Wr,
                fa,
                Br,
                Bs,
                {
                  importModuleSpecifierPreference: ba ? "non-relative" : "project-relative",
                  importModuleSpecifierEnding: ba ? "minimal" : Kn === 99 ? "js" : void 0
                },
                { overrideImportMode: xt }
              )), xs.specifierCache ?? (xs.specifierCache = /* @__PURE__ */ new Map()), xs.specifierCache.set(ui, $i);
            }
            return $i;
          }
          function di(Se) {
            const ae = N.createIdentifier(Ei(Se.escapedName));
            return Se.parent ? N.createQualifiedName(di(Se.parent), ae) : ae;
          }
          function zr(Se, ae, xt, Lt) {
            const ur = bs(Se, ae, xt, !(ae.flags & 16384)), Ir = xt === 111551;
            if (at(ur[0].declarations, P2)) {
              const ui = ur.length > 1 ? Kn(ur, ur.length - 1, 1) : void 0, xs = Lt || sc(ur, 0, ae), $i = Er(Vo(ae.enclosingDeclaration)), ba = s3(ur[0]);
              let Bs, fa;
              if ((vu(F) === 3 || vu(F) === 99) && ba?.impliedNodeFormat === 99 && ba.impliedNodeFormat !== $i?.impliedNodeFormat && (Bs = Tr(
                ur[0],
                ae,
                99
                /* ESNext */
              ), fa = N.createImportAttributes(
                N.createNodeArray([
                  N.createImportAttribute(
                    N.createStringLiteral("resolution-mode"),
                    N.createStringLiteral("import")
                  )
                ])
              )), Bs || (Bs = Tr(ur[0], ae)), !(ae.flags & 67108864) && vu(F) !== 1 && Bs.includes("/node_modules/")) {
                const We = Bs;
                if (vu(F) === 3 || vu(F) === 99) {
                  const tt = $i?.impliedNodeFormat === 99 ? 1 : 99;
                  Bs = Tr(ur[0], ae, tt), Bs.includes("/node_modules/") ? Bs = We : fa = N.createImportAttributes(
                    N.createNodeArray([
                      N.createImportAttribute(
                        N.createStringLiteral("resolution-mode"),
                        N.createStringLiteral(tt === 99 ? "import" : "require")
                      )
                    ])
                  );
                }
                fa || (ae.encounteredError = !0, ae.tracker.reportLikelyUnsafeImportRequiredError && ae.tracker.reportLikelyUnsafeImportRequiredError(We));
              }
              const ja = N.createLiteralTypeNode(N.createStringLiteral(Bs));
              if (ae.approximateLength += Bs.length + 10, !ui || Gu(ui)) {
                if (ui) {
                  const We = Fe(ui) ? ui : ui.right;
                  D0(
                    We,
                    /*typeArguments*/
                    void 0
                  );
                }
                return N.createImportTypeNode(ja, fa, ui, xs, Ir);
              } else {
                const We = kr(ui), tt = We.objectType.typeName;
                return N.createIndexedAccessTypeNode(N.createImportTypeNode(ja, fa, tt, xs, Ir), We.indexType);
              }
            }
            const Br = Kn(ur, ur.length - 1, 0);
            if (qb(Br))
              return Br;
            if (Ir)
              return N.createTypeQueryNode(Br);
            {
              const ui = Fe(Br) ? Br : Br.right, xs = wS(ui);
              return D0(
                ui,
                /*typeArguments*/
                void 0
              ), N.createTypeReferenceNode(Br, xs);
            }
            function Kn(ui, xs, $i) {
              const ba = xs === ui.length - 1 ? Lt : sc(ui, xs, ae), Bs = ui[xs], fa = ui[xs - 1];
              let ja;
              if (xs === 0)
                ae.flags |= 16777216, ja = Gv(Bs, ae), ae.approximateLength += (ja ? ja.length : 0) + 1, ae.flags ^= 16777216;
              else if (fa && lf(fa)) {
                const tt = lf(fa);
                gl(tt, (Gt, Nr) => {
                  if (Vf(Gt, Bs) && !z8(Nr) && Nr !== "export=")
                    return ja = Ei(Nr), !0;
                });
              }
              if (ja === void 0) {
                const tt = Ic(Bs.declarations, ls);
                if (tt && ia(tt) && Gu(tt.expression)) {
                  const Gt = Kn(ui, xs - 1, $i);
                  return Gu(Gt) ? N.createIndexedAccessTypeNode(N.createParenthesizedType(N.createTypeQueryNode(Gt)), N.createTypeQueryNode(tt.expression)) : Gt;
                }
                ja = Gv(Bs, ae);
              }
              if (ae.approximateLength += ja.length + 1, !(ae.flags & 16) && fa && gg(fa) && gg(fa).get(Bs.escapedName) && Vf(gg(fa).get(Bs.escapedName), Bs)) {
                const tt = Kn(ui, xs - 1, $i);
                return qb(tt) ? N.createIndexedAccessTypeNode(tt, N.createLiteralTypeNode(N.createStringLiteral(ja))) : N.createIndexedAccessTypeNode(N.createTypeReferenceNode(tt, ba), N.createLiteralTypeNode(N.createStringLiteral(ja)));
              }
              const We = an(
                N.createIdentifier(ja),
                16777216
                /* NoAsciiEscaping */
              );
              if (ba && D0(We, N.createNodeArray(ba)), We.symbol = Bs, xs > $i) {
                const tt = Kn(ui, xs - 1, $i);
                return Gu(tt) ? N.createQualifiedName(tt, We) : E.fail("Impossible construct - an export of an indexed access cannot be reachable");
              }
              return We;
            }
          }
          function Ki(Se, ae, xt) {
            const Lt = it(
              ae.enclosingDeclaration,
              Se,
              788968,
              /*nameNotFoundMessage*/
              void 0,
              /*isUse*/
              !1
            );
            return Lt && Lt.flags & 262144 ? Lt !== xt.symbol : !1;
          }
          function Da(Se, ae) {
            var xt, Lt, ur, Ir;
            if (ae.flags & 4 && ae.typeParameterNames) {
              const ui = ae.typeParameterNames.get(Ll(Se));
              if (ui)
                return ui;
            }
            let Br = So(
              Se.symbol,
              ae,
              788968,
              /*expectsIdentifier*/
              !0
            );
            if (!(Br.kind & 80))
              return N.createIdentifier("(Missing type parameter)");
            const Kn = (Lt = (xt = Se.symbol) == null ? void 0 : xt.declarations) == null ? void 0 : Lt[0];
            if (Kn && Fo(Kn) && (Br = l(ae, Br, Kn.name)), ae.flags & 4) {
              const ui = Br.escapedText;
              let xs = ((ur = ae.typeParameterNamesByTextNextNameCount) == null ? void 0 : ur.get(ui)) || 0, $i = ui;
              for (; (Ir = ae.typeParameterNamesByText) != null && Ir.has($i) || Ki($i, ae, Se); )
                xs++, $i = `${ui}_${xs}`;
              if ($i !== ui) {
                const ba = wS(Br);
                Br = N.createIdentifier($i), D0(Br, ba);
              }
              ae.mustCreateTypeParametersNamesLookups && (ae.mustCreateTypeParametersNamesLookups = !1, ae.typeParameterNames = new Map(ae.typeParameterNames), ae.typeParameterNamesByTextNextNameCount = new Map(ae.typeParameterNamesByTextNextNameCount), ae.typeParameterNamesByText = new Set(ae.typeParameterNamesByText)), ae.typeParameterNamesByTextNextNameCount.set(ui, xs), ae.typeParameterNames.set(Ll(Se), Br), ae.typeParameterNamesByText.add($i);
            }
            return Br;
          }
          function So(Se, ae, xt, Lt) {
            const ur = bs(Se, ae, xt);
            return Lt && ur.length !== 1 && !ae.encounteredError && !(ae.flags & 65536) && (ae.encounteredError = !0), Ir(ur, ur.length - 1);
            function Ir(Br, Kn) {
              const ui = sc(Br, Kn, ae), xs = Br[Kn];
              Kn === 0 && (ae.flags |= 16777216);
              const $i = Gv(xs, ae);
              Kn === 0 && (ae.flags ^= 16777216);
              const ba = an(
                N.createIdentifier($i),
                16777216
                /* NoAsciiEscaping */
              );
              return ui && D0(ba, N.createNodeArray(ui)), ba.symbol = xs, Kn > 0 ? N.createQualifiedName(Ir(Br, Kn - 1), ba) : ba;
            }
          }
          function Gc(Se, ae, xt) {
            const Lt = bs(Se, ae, xt);
            return ur(Lt, Lt.length - 1);
            function ur(Ir, Br) {
              const Kn = sc(Ir, Br, ae), ui = Ir[Br];
              Br === 0 && (ae.flags |= 16777216);
              let xs = Gv(ui, ae);
              Br === 0 && (ae.flags ^= 16777216);
              let $i = xs.charCodeAt(0);
              if (C3($i) && at(ui.declarations, P2))
                return N.createStringLiteral(Tr(ui, ae));
              if (Br === 0 || LJ(xs, j)) {
                const ba = an(
                  N.createIdentifier(xs),
                  16777216
                  /* NoAsciiEscaping */
                );
                return Kn && D0(ba, N.createNodeArray(Kn)), ba.symbol = ui, Br > 0 ? N.createPropertyAccessExpression(ur(Ir, Br - 1), ba) : ba;
              } else {
                $i === 91 && (xs = xs.substring(1, xs.length - 1), $i = xs.charCodeAt(0));
                let ba;
                if (C3($i) && !(ui.flags & 8) ? ba = N.createStringLiteral(
                  wp(xs).replace(/\\./g, (Bs) => Bs.substring(1)),
                  $i === 39
                  /* singleQuote */
                ) : "" + +xs === xs && (ba = N.createNumericLiteral(+xs)), !ba) {
                  const Bs = an(
                    N.createIdentifier(xs),
                    16777216
                    /* NoAsciiEscaping */
                  );
                  Kn && D0(Bs, N.createNodeArray(Kn)), Bs.symbol = ui, ba = Bs;
                }
                return N.createElementAccessExpression(ur(Ir, Br - 1), ba);
              }
            }
          }
          function wa(Se) {
            const ae = ls(Se);
            return ae ? ia(ae) ? !!(Hi(ae.expression).flags & 402653316) : fo(ae) ? !!(Hi(ae.argumentExpression).flags & 402653316) : la(ae) : !1;
          }
          function k_(Se) {
            const ae = ls(Se);
            return !!(ae && la(ae) && (ae.singleQuote || !oo(ae) && Wi(Go(
              ae,
              /*includeTrivia*/
              !1
            ), "'")));
          }
          function Rc(Se, ae) {
            const xt = !!Ar(Se.declarations) && Pi(Se.declarations, wa), Lt = !!Ar(Se.declarations) && Pi(Se.declarations, k_), ur = !!(Se.flags & 8192), Ir = Qo(Se, ae, Lt, xt, ur);
            if (Ir)
              return Ir;
            const Br = Ei(Se.escapedName);
            return tF(Br, ga(F), Lt, xt, ur);
          }
          function Qo(Se, ae, xt, Lt, ur) {
            const Ir = Ri(Se).nameType;
            if (Ir) {
              if (Ir.flags & 384) {
                const Br = "" + Ir.value;
                return !C_(Br, ga(F)) && (Lt || !Ug(Br)) ? N.createStringLiteral(Br, !!xt) : Ug(Br) && Wi(Br, "-") ? N.createComputedPropertyName(N.createPrefixUnaryExpression(41, N.createNumericLiteral(-Br))) : tF(Br, ga(F), xt, Lt, ur);
              }
              if (Ir.flags & 8192)
                return N.createComputedPropertyName(Gc(
                  Ir.symbol,
                  ae,
                  111551
                  /* Value */
                ));
            }
          }
          function Tf(Se) {
            const ae = Se.mustCreateTypeParameterSymbolList, xt = Se.mustCreateTypeParametersNamesLookups;
            Se.mustCreateTypeParameterSymbolList = !0, Se.mustCreateTypeParametersNamesLookups = !0;
            const Lt = Se.typeParameterNames, ur = Se.typeParameterNamesByText, Ir = Se.typeParameterNamesByTextNextNameCount, Br = Se.typeParameterSymbolList;
            return () => {
              Se.typeParameterNames = Lt, Se.typeParameterNamesByText = ur, Se.typeParameterNamesByTextNextNameCount = Ir, Se.typeParameterSymbolList = Br, Se.mustCreateTypeParameterSymbolList = ae, Se.mustCreateTypeParametersNamesLookups = xt;
            };
          }
          function Ec(Se, ae) {
            return Se.declarations && Dn(Se.declarations, (xt) => !!Z7e(xt) && (!ae || !!_r(xt, (Lt) => Lt === ae)));
          }
          function jc(Se, ae) {
            if (!(Cn(ae) & 4) || !X_(Se)) return !0;
            YG(Se);
            const xt = yn(Se).resolvedSymbol, Lt = xt && wo(xt);
            return !Lt || Lt !== ae.target ? !0 : Ar(Se.typeArguments) >= yg(ae.target.typeParameters);
          }
          function hy(Se) {
            for (; yn(Se).fakeScopeForSignatureDeclaration; )
              Se = Se.parent;
            return Se;
          }
          function QE(Se, ae, xt) {
            return xt.flags & 8192 && xt.symbol === Se && (!ae.enclosingDeclaration || at(Se.declarations, (ur) => Er(ur) === ae.enclosingFile)) && (ae.flags |= 1048576), R(xt, ae);
          }
          function lb(Se, ae, xt, Lt) {
            var ur;
            let Ir;
            const Br = ae && (Ni(ae) || Af(ae)) && _R(ae, Se.enclosingDeclaration), Kn = ae ?? Lt.valueDeclaration ?? Ec(Lt) ?? ((ur = Lt.declarations) == null ? void 0 : ur[0]);
            if (Kn) {
              const ui = y(Se, Lt, xt);
              By(Kn) ? Ir = ue.serializeTypeOfAccessor(Kn, Lt, Se) : oF(Kn) && !oo(Kn) && !(Cn(xt) & 196608) && (Ir = ue.serializeTypeOfDeclaration(Kn, Lt, Se)), ui();
            }
            return Ir || (Br && (xt = L1(xt)), Ir = QE(Lt, Se, xt)), Ir ?? N.createKeywordTypeNode(
              133
              /* AnyKeyword */
            );
          }
          function LI(Se, ae, xt) {
            return xt === ae ? !0 : Se && ((ju(Se) || is(Se)) && Se.questionToken || Ni(Se) && JG(Se)) ? hp(
              ae,
              524288
              /* NEUndefined */
            ) === xt : !1;
          }
          function xf(Se, ae) {
            const xt = Se.flags & 256, Lt = x(Se);
            xt && (Se.flags &= -257);
            let ur;
            const Ir = Va(ae);
            if (!(xt && be(Ir))) {
              if (ae.declaration && !oo(ae.declaration)) {
                const Br = vn(ae.declaration), Kn = y(Se, Br, Ir);
                ur = ue.serializeReturnTypeForSignature(ae.declaration, Br, Se), Kn();
              }
              ur || (ur = MI(Se, ae, Ir));
            }
            return !ur && !xt && (ur = N.createKeywordTypeNode(
              133
              /* AnyKeyword */
            )), Lt(), ur;
          }
          function MI(Se, ae, xt) {
            const Lt = Se.suppressReportInferenceFallback;
            Se.suppressReportInferenceFallback = !0;
            const ur = dp(ae), Ir = ur ? wi(Se.mapper ? TNe(ur, Se.mapper) : ur, Se) : R(xt, Se);
            return Se.suppressReportInferenceFallback = Lt, Ir;
          }
          function Ft(Se, ae, xt = ae.enclosingDeclaration) {
            let Lt = !1;
            const ur = Xu(Se);
            if (tn(Se) && (gS(ur) || Rg(ur.parent) || Qu(ur.parent) && bB(ur.parent.left) && gS(ur.parent.right)))
              return Lt = !0, { introducesError: Lt, node: Se };
            const Ir = Hw(Se);
            let Br;
            if (Xy(ur))
              return Br = vn(Ou(
                ur,
                /*includeArrowFunctions*/
                !1,
                /*includeClassComputedPropertyName*/
                !1
              )), wm(
                Br,
                ur,
                Ir,
                /*shouldComputeAliasesToMakeVisible*/
                !1
              ).accessibility !== 0 && (Lt = !0, ae.tracker.reportInaccessibleThisError()), { introducesError: Lt, node: Kn(Se) };
            if (Br = mc(
              ur,
              Ir,
              /*ignoreErrors*/
              !0,
              /*dontResolveAlias*/
              !0
            ), ae.enclosingDeclaration && !(Br && Br.flags & 262144)) {
              Br = L_(Br);
              const ui = mc(
                ur,
                Ir,
                /*ignoreErrors*/
                !0,
                /*dontResolveAlias*/
                !0,
                ae.enclosingDeclaration
              );
              if (
                // Check for unusable parameters symbols
                ui === Q || // If the symbol is not found, but was not found in the original scope either we probably have an error, don't reuse the node
                ui === void 0 && Br !== void 0 || // If the symbol is found both in declaration scope and in current scope then it should point to the same reference
                ui && Br && !Vf(L_(ui), Br)
              )
                return ui !== Q && ae.tracker.reportInferenceFallback(Se), Lt = !0, { introducesError: Lt, node: Se, sym: Br };
              Br = ui;
            }
            if (Br)
              return Br.flags & 1 && Br.valueDeclaration && (Z1(Br.valueDeclaration) || Af(Br.valueDeclaration)) ? { introducesError: Lt, node: Kn(Se) } : (!(Br.flags & 262144) && // Type parameters are visible in the current context if they are are resolvable
              !Xm(Se) && wm(
                Br,
                xt,
                Ir,
                /*shouldComputeAliasesToMakeVisible*/
                !1
              ).accessibility !== 0 ? (ae.tracker.reportInferenceFallback(Se), Lt = !0) : ae.tracker.trackSymbol(Br, xt, Ir), { introducesError: Lt, node: Kn(Se) });
            return { introducesError: Lt, node: Se };
            function Kn(ui) {
              if (ui === ur) {
                const $i = wo(Br), ba = Br.flags & 262144 ? Da($i, ae) : N.cloneNode(ui);
                return ba.symbol = Br, l(ae, an(
                  ba,
                  16777216
                  /* NoAsciiEscaping */
                ), ui);
              }
              const xs = yr(
                ui,
                ($i) => Kn($i),
                /*context*/
                void 0
              );
              return l(ae, xs, ui);
            }
          }
          function pr(Se, ae, xt, Lt) {
            const ur = xt ? 111551 : 788968, Ir = mc(
              ae,
              ur,
              /*ignoreErrors*/
              !0
            );
            if (!Ir) return;
            const Br = Ir.flags & 2097152 ? Uc(Ir) : Ir;
            if (wm(
              Ir,
              Se.enclosingDeclaration,
              ur,
              /*shouldComputeAliasesToMakeVisible*/
              !1
            ).accessibility === 0)
              return zr(Br, Se, ur, Lt);
          }
          function Or(Se, ae) {
            const xt = a(
              Se,
              ae,
              /*noMappedTypes*/
              !0
            );
            if (!xt)
              return !1;
            if (tn(ae) && Dh(ae)) {
              mNe(ae);
              const Lt = yn(ae).resolvedSymbol;
              return !Lt || !// The import type resolved using jsdoc fallback logic
              (!ae.isTypeOf && !(Lt.flags & 788968) || // The import type had type arguments autofilled by js fallback logic
              !(Ar(ae.typeArguments) >= yg(id(Lt))));
            }
            if (X_(ae)) {
              if (Up(ae)) return !1;
              const Lt = yn(ae).resolvedSymbol;
              if (!Lt) return !1;
              if (Lt.flags & 262144) {
                const ur = wo(Lt);
                return !(Se.mapper && fy(ur, Se.mapper) !== ur);
              }
              if (T3(ae))
                return jc(ae, xt) && !E3e(ae) && !!(Lt.flags & 788968);
            }
            if (nv(ae) && ae.operator === 158 && ae.type.kind === 155) {
              const Lt = Se.enclosingDeclaration && hy(Se.enclosingDeclaration);
              return !!_r(ae, (ur) => ur === Lt);
            }
            return !0;
          }
          function $r(Se, ae, xt) {
            const Lt = a(Se, ae);
            if (xt && !yp(Lt, (ur) => !!(ur.flags & 32768)) && Or(Se, ae)) {
              const ur = ue.tryReuseExistingTypeNode(Se, ae);
              if (ur)
                return N.createUnionTypeNode([ur, N.createKeywordTypeNode(
                  157
                  /* UndefinedKeyword */
                )]);
            }
            return R(Lt, Se);
          }
          function Sn(Se, ae) {
            var xt;
            const Lt = MX(
              N.createPropertyDeclaration,
              174,
              /*useAccessors*/
              !0
            ), ur = MX(
              (Dt, Nn, ni, ei) => N.createPropertySignature(Dt, Nn, ni, ei),
              173,
              /*useAccessors*/
              !1
            ), Ir = ae.enclosingDeclaration;
            let Br = [];
            const Kn = /* @__PURE__ */ new Set(), ui = [], xs = ae;
            ae = {
              ...xs,
              usedSymbolNames: new Set(xs.usedSymbolNames),
              remappedSymbolNames: /* @__PURE__ */ new Map(),
              remappedSymbolReferences: new Map((xt = xs.remappedSymbolReferences) == null ? void 0 : xt.entries()),
              tracker: void 0
            };
            const $i = {
              ...xs.tracker.inner,
              trackSymbol: (Dt, Nn, ni) => {
                var ei, Jn;
                if ((ei = ae.remappedSymbolNames) != null && ei.has(ea(Dt))) return !1;
                if (wm(
                  Dt,
                  Nn,
                  ni,
                  /*shouldComputeAliasesToMakeVisible*/
                  !1
                ).accessibility === 0) {
                  const Xs = wu(Dt, ae, ni);
                  if (!(Dt.flags & 4)) {
                    const Os = Xs[0], ws = Er(xs.enclosingDeclaration);
                    at(Os.declarations, ($a) => Er($a) === ws) && Rn(Os);
                  }
                } else if ((Jn = xs.tracker.inner) != null && Jn.trackSymbol)
                  return xs.tracker.inner.trackSymbol(Dt, Nn, ni);
                return !1;
              }
            };
            ae.tracker = new yne(ae, $i, xs.tracker.moduleResolverHost), gl(Se, (Dt, Nn) => {
              const ni = Ei(Nn);
              kg(Dt, ni);
            });
            let ba = !ae.bundled;
            const Bs = Se.get(
              "export="
              /* ExportEquals */
            );
            return Bs && Se.size > 1 && Bs.flags & 2098688 && (Se = qs(), Se.set("export=", Bs)), or(Se), Nr(Br);
            function fa(Dt) {
              return !!Dt && Dt.kind === 80;
            }
            function ja(Dt) {
              return Sc(Dt) ? Tn(fr(Dt.declarationList.declarations, ls), fa) : Tn([ls(Dt)], fa);
            }
            function We(Dt) {
              const Nn = Dn(Dt, Oo), ni = oc(Dt, zc);
              let ei = ni !== -1 ? Dt[ni] : void 0;
              if (ei && Nn && Nn.isExportEquals && Fe(Nn.expression) && Fe(ei.name) && Pn(ei.name) === Pn(Nn.expression) && ei.body && om(ei.body)) {
                const Jn = Tn(Dt, (Os) => !!(Lu(Os) & 32)), Ya = ei.name;
                let Xs = ei.body;
                if (Ar(Jn) && (ei = N.updateModuleDeclaration(
                  ei,
                  ei.modifiers,
                  ei.name,
                  Xs = N.updateModuleBlock(
                    Xs,
                    N.createNodeArray([
                      ...ei.body.statements,
                      N.createExportDeclaration(
                        /*modifiers*/
                        void 0,
                        /*isTypeOnly*/
                        !1,
                        N.createNamedExports(fr(oa(Jn, (Os) => ja(Os)), (Os) => N.createExportSpecifier(
                          /*isTypeOnly*/
                          !1,
                          /*propertyName*/
                          void 0,
                          Os
                        ))),
                        /*moduleSpecifier*/
                        void 0
                      )
                    ])
                  )
                ), Dt = [...Dt.slice(0, ni), ei, ...Dt.slice(ni + 1)]), !Dn(Dt, (Os) => Os !== ei && UP(Os, Ya))) {
                  Br = [];
                  const Os = !at(Xs.statements, (ws) => qn(
                    ws,
                    32
                    /* Export */
                  ) || Oo(ws) || Oc(ws));
                  ar(Xs.statements, (ws) => {
                    $n(
                      ws,
                      Os ? 32 : 0
                      /* None */
                    );
                  }), Dt = [...Tn(Dt, (ws) => ws !== ei && ws !== Nn), ...Br];
                }
              }
              return Dt;
            }
            function tt(Dt) {
              const Nn = Tn(Dt, (ei) => Oc(ei) && !ei.moduleSpecifier && !!ei.exportClause && cp(ei.exportClause));
              Ar(Nn) > 1 && (Dt = [
                ...Tn(Dt, (Jn) => !Oc(Jn) || !!Jn.moduleSpecifier || !Jn.exportClause),
                N.createExportDeclaration(
                  /*modifiers*/
                  void 0,
                  /*isTypeOnly*/
                  !1,
                  N.createNamedExports(oa(Nn, (Jn) => Us(Jn.exportClause, cp).elements)),
                  /*moduleSpecifier*/
                  void 0
                )
              ]);
              const ni = Tn(Dt, (ei) => Oc(ei) && !!ei.moduleSpecifier && !!ei.exportClause && cp(ei.exportClause));
              if (Ar(ni) > 1) {
                const ei = yC(ni, (Jn) => la(Jn.moduleSpecifier) ? ">" + Jn.moduleSpecifier.text : ">");
                if (ei.length !== ni.length)
                  for (const Jn of ei)
                    Jn.length > 1 && (Dt = [
                      ...Tn(Dt, (Ya) => !Jn.includes(Ya)),
                      N.createExportDeclaration(
                        /*modifiers*/
                        void 0,
                        /*isTypeOnly*/
                        !1,
                        N.createNamedExports(oa(Jn, (Ya) => Us(Ya.exportClause, cp).elements)),
                        Jn[0].moduleSpecifier
                      )
                    ]);
              }
              return Dt;
            }
            function Gt(Dt) {
              const Nn = oc(Dt, (ni) => Oc(ni) && !ni.moduleSpecifier && !ni.attributes && !!ni.exportClause && cp(ni.exportClause));
              if (Nn >= 0) {
                const ni = Dt[Nn], ei = Oi(ni.exportClause.elements, (Jn) => {
                  if (!Jn.propertyName && Jn.name.kind !== 11) {
                    const Ya = Jn.name, Xs = JI(Dt), Os = Tn(Xs, (ws) => UP(Dt[ws], Ya));
                    if (Ar(Os) && Pi(Os, (ws) => pN(Dt[ws]))) {
                      for (const ws of Os)
                        Dt[ws] = vt(Dt[ws]);
                      return;
                    }
                  }
                  return Jn;
                });
                Ar(ei) ? Dt[Nn] = N.updateExportDeclaration(
                  ni,
                  ni.modifiers,
                  ni.isTypeOnly,
                  N.updateNamedExports(
                    ni.exportClause,
                    ei
                  ),
                  ni.moduleSpecifier,
                  ni.attributes
                ) : Py(Dt, Nn);
              }
              return Dt;
            }
            function Nr(Dt) {
              return Dt = We(Dt), Dt = tt(Dt), Dt = Gt(Dt), Ir && (xi(Ir) && H_(Ir) || zc(Ir)) && (!at(Dt, e3) || !bZ(Dt) && at(Dt, T7)) && Dt.push(AN(N)), Dt;
            }
            function vt(Dt) {
              const Nn = (Lu(Dt) | 32) & -129;
              return N.replaceModifiers(Dt, Nn);
            }
            function Tt(Dt) {
              const Nn = Lu(Dt) & -33;
              return N.replaceModifiers(Dt, Nn);
            }
            function or(Dt, Nn, ni) {
              Nn || ui.push(/* @__PURE__ */ new Map()), Dt.forEach((ei) => {
                Cr(
                  ei,
                  /*isPrivate*/
                  !1,
                  !!ni
                );
              }), Nn || (ui[ui.length - 1].forEach((ei) => {
                Cr(
                  ei,
                  /*isPrivate*/
                  !0,
                  !!ni
                );
              }), ui.pop());
            }
            function Cr(Dt, Nn, ni) {
              Ga(Qr(Dt));
              const ei = La(Dt);
              if (Kn.has(ea(ei)))
                return;
              if (Kn.add(ea(ei)), !Nn || Ar(Dt.declarations) && at(Dt.declarations, (Ya) => !!_r(Ya, (Xs) => Xs === Ir))) {
                const Ya = Tf(ae);
                ae.tracker.pushErrorFallbackNode(Dn(Dt.declarations, (Xs) => Er(Xs) === ae.enclosingFile)), en(Dt, Nn, ni), ae.tracker.popErrorFallbackNode(), Ya();
              }
            }
            function en(Dt, Nn, ni, ei = Dt.escapedName) {
              var Jn, Ya, Xs, Os, ws, $a;
              const To = Ei(ei), c_ = ei === "default";
              if (Nn && !(ae.flags & 131072) && hx(To) && !c_) {
                ae.encounteredError = !0;
                return;
              }
              let Nu = c_ && !!(Dt.flags & -113 || Dt.flags & 16 && Ar(Ga(Qr(Dt)))) && !(Dt.flags & 2097152), ql = !Nu && !Nn && hx(To) && !c_;
              (Nu || ql) && (Nn = !0);
              const Yo = (Nn ? 0 : 32) | (c_ && !Nu ? 2048 : 0), jl = Dt.flags & 1536 && Dt.flags & 7 && ei !== "export=", kf = jl && RI(Qr(Dt), Dt);
              if ((Dt.flags & 8208 || kf) && cd(Qr(Dt), Dt, kg(Dt, To), Yo), Dt.flags & 524288 && gn(Dt, To, Yo), Dt.flags & 98311 && ei !== "export=" && !(Dt.flags & 4194304) && !(Dt.flags & 32) && !(Dt.flags & 8192) && !kf)
                if (ni)
                  SP(Dt) && (ql = !1, Nu = !1);
                else {
                  const su = Qr(Dt), Vp = kg(Dt, To);
                  if (su.symbol && su.symbol !== Dt && su.symbol.flags & 16 && at(su.symbol.declarations, Ky) && ((Jn = su.symbol.members) != null && Jn.size || (Ya = su.symbol.exports) != null && Ya.size))
                    ae.remappedSymbolReferences || (ae.remappedSymbolReferences = /* @__PURE__ */ new Map()), ae.remappedSymbolReferences.set(ea(su.symbol), Dt), en(su.symbol, Nn, ni, ei), ae.remappedSymbolReferences.delete(ea(su.symbol));
                  else if (!(Dt.flags & 16) && RI(su, Dt))
                    cd(su, Dt, Vp, Yo);
                  else {
                    const _b = Dt.flags & 2 ? cC(Dt) ? 2 : 1 : (Xs = Dt.parent) != null && Xs.valueDeclaration && xi((Os = Dt.parent) == null ? void 0 : Os.valueDeclaration) ? 2 : void 0, bh = Nu || !(Dt.flags & 4) ? Vp : pR(Vp, Dt);
                    let Cg = Dt.declarations && Dn(Dt.declarations, (Z2) => Zn(Z2));
                    Cg && zl(Cg.parent) && Cg.parent.declarations.length === 1 && (Cg = Cg.parent.parent);
                    const p0 = (ws = Dt.declarations) == null ? void 0 : ws.find(kn);
                    if (p0 && _n(p0.parent) && Fe(p0.parent.right) && (($a = su.symbol) != null && $a.valueDeclaration) && xi(su.symbol.valueDeclaration)) {
                      const Z2 = Vp === p0.parent.right.escapedText ? void 0 : p0.parent.right;
                      $n(
                        N.createExportDeclaration(
                          /*modifiers*/
                          void 0,
                          /*isTypeOnly*/
                          !1,
                          N.createNamedExports([N.createExportSpecifier(
                            /*isTypeOnly*/
                            !1,
                            Z2,
                            Vp
                          )])
                        ),
                        0
                        /* None */
                      ), ae.tracker.trackSymbol(
                        su.symbol,
                        ae.enclosingDeclaration,
                        111551
                        /* Value */
                      );
                    } else {
                      const Z2 = l(
                        ae,
                        N.createVariableStatement(
                          /*modifiers*/
                          void 0,
                          N.createVariableDeclarationList([
                            N.createVariableDeclaration(
                              bh,
                              /*exclamationToken*/
                              void 0,
                              lb(
                                ae,
                                /*declaration*/
                                void 0,
                                su,
                                Dt
                              )
                            )
                          ], _b)
                        ),
                        Cg
                      );
                      $n(Z2, bh !== Vp ? Yo & -33 : Yo), bh !== Vp && !Nn && ($n(
                        N.createExportDeclaration(
                          /*modifiers*/
                          void 0,
                          /*isTypeOnly*/
                          !1,
                          N.createNamedExports([N.createExportSpecifier(
                            /*isTypeOnly*/
                            !1,
                            bh,
                            Vp
                          )])
                        ),
                        0
                        /* None */
                      ), ql = !1, Nu = !1);
                    }
                  }
                }
              if (Dt.flags & 384 && zo(Dt, To, Yo), Dt.flags & 32 && (Dt.flags & 4 && Dt.valueDeclaration && _n(Dt.valueDeclaration.parent) && Kc(Dt.valueDeclaration.parent.right) ? ub(Dt, kg(Dt, To), Yo) : vy(Dt, kg(Dt, To), Yo)), (Dt.flags & 1536 && (!jl || Sa(Dt)) || kf) && na(Dt, To, Yo), Dt.flags & 64 && !(Dt.flags & 32) && Fi(Dt, To, Yo), Dt.flags & 2097152 && ub(Dt, kg(Dt, To), Yo), Dt.flags & 4 && Dt.escapedName === "export=" && SP(Dt), Dt.flags & 8388608 && Dt.declarations)
                for (const su of Dt.declarations) {
                  const Vp = Vu(su, su.moduleSpecifier);
                  Vp && $n(
                    N.createExportDeclaration(
                      /*modifiers*/
                      void 0,
                      /*isTypeOnly*/
                      su.isTypeOnly,
                      /*exportClause*/
                      void 0,
                      N.createStringLiteral(Tr(Vp, ae))
                    ),
                    0
                    /* None */
                  );
                }
              Nu ? $n(
                N.createExportAssignment(
                  /*modifiers*/
                  void 0,
                  /*isExportEquals*/
                  !1,
                  N.createIdentifier(kg(Dt, To))
                ),
                0
                /* None */
              ) : ql && $n(
                N.createExportDeclaration(
                  /*modifiers*/
                  void 0,
                  /*isTypeOnly*/
                  !1,
                  N.createNamedExports([N.createExportSpecifier(
                    /*isTypeOnly*/
                    !1,
                    kg(Dt, To),
                    To
                  )])
                ),
                0
                /* None */
              );
            }
            function Rn(Dt) {
              if (at(Dt.declarations, Z1)) return;
              E.assertIsDefined(ui[ui.length - 1]), pR(Ei(Dt.escapedName), Dt);
              const Nn = !!(Dt.flags & 2097152) && !at(Dt.declarations, (ni) => !!_r(ni, Oc) || Zm(ni) || bl(ni) && !Mh(ni.moduleReference));
              ui[Nn ? 0 : ui.length - 1].set(ea(Dt), Dt);
            }
            function Ti(Dt) {
              return xi(Dt) && (H_(Dt) || Kf(Dt)) || Fu(Dt) && !$m(Dt);
            }
            function $n(Dt, Nn) {
              if (Fp(Dt)) {
                let ni = 0;
                const ei = ae.enclosingDeclaration && (Dp(ae.enclosingDeclaration) ? Er(ae.enclosingDeclaration) : ae.enclosingDeclaration);
                Nn & 32 && ei && (Ti(ei) || zc(ei)) && pN(Dt) && (ni |= 32), ba && !(ni & 32) && (!ei || !(ei.flags & 33554432)) && (Gb(Dt) || Sc(Dt) || Tc(Dt) || el(Dt) || zc(Dt)) && (ni |= 128), Nn & 2048 && (el(Dt) || Yl(Dt) || Tc(Dt)) && (ni |= 2048), ni && (Dt = N.replaceModifiers(Dt, ni | Lu(Dt)));
              }
              Br.push(Dt);
            }
            function gn(Dt, Nn, ni) {
              var ei;
              const Jn = PPe(Dt), Ya = Ri(Dt).typeParameters, Xs = fr(Ya, (Nu) => Bn(Nu, ae)), Os = (ei = Dt.declarations) == null ? void 0 : ei.find(Dp), ws = HP(Os ? Os.comment || Os.parent.comment : void 0), $a = x(ae);
              ae.flags |= 8388608;
              const To = ae.enclosingDeclaration;
              ae.enclosingDeclaration = Os;
              const c_ = Os && Os.typeExpression && lv(Os.typeExpression) && ue.tryReuseExistingTypeNode(ae, Os.typeExpression.type) || R(Jn, ae);
              $n(
                rv(
                  N.createTypeAliasDeclaration(
                    /*modifiers*/
                    void 0,
                    kg(Dt, Nn),
                    Xs,
                    c_
                  ),
                  ws ? [{ kind: 3, text: `*
 * ` + ws.replace(/\n/g, `
 * `) + `
 `, pos: -1, end: -1, hasTrailingNewLine: !0 }] : []
                ),
                ni
              ), $a(), ae.enclosingDeclaration = To;
            }
            function Fi(Dt, Nn, ni) {
              const ei = pp(Dt), Jn = id(Dt), Ya = fr(Jn, (ql) => Bn(ql, ae)), Xs = fl(ei), Os = Ar(Xs) ? aa(Xs) : void 0, ws = oa(Ga(ei), (ql) => RX(ql, Os)), $a = Gme(
                0,
                ei,
                Os,
                179
                /* CallSignature */
              ), To = Gme(
                1,
                ei,
                Os,
                180
                /* ConstructSignature */
              ), c_ = p5e(ei, Os), Nu = Ar(Xs) ? [N.createHeritageClause(96, Oi(Xs, (ql) => $me(
                ql,
                111551
                /* Value */
              )))] : void 0;
              $n(
                N.createInterfaceDeclaration(
                  /*modifiers*/
                  void 0,
                  kg(Dt, Nn),
                  Ya,
                  Nu,
                  [...c_, ...To, ...$a, ...ws]
                ),
                ni
              );
            }
            function ys(Dt) {
              let Nn = rs(lf(Dt).values());
              const ni = La(Dt);
              if (ni !== Dt) {
                const ei = new Set(Nn);
                for (const Jn of lf(ni).values())
                  cf(dc(Jn)) & 111551 || ei.add(Jn);
                Nn = rs(ei);
              }
              return Tn(Nn, (ei) => yy(ei) && C_(
                ei.escapedName,
                99
                /* ESNext */
              ));
            }
            function Sa(Dt) {
              return Pi(ys(Dt), (Nn) => !(cf(dc(Nn)) & 111551));
            }
            function na(Dt, Nn, ni) {
              const ei = ys(Dt), Jn = EP(ei, (Os) => Os.parent && Os.parent === Dt ? "real" : "merged"), Ya = Jn.get("real") || Ue, Xs = Jn.get("merged") || Ue;
              if (Ar(Ya)) {
                const Os = kg(Dt, Nn);
                f0(Ya, Os, ni, !!(Dt.flags & 67108880));
              }
              if (Ar(Xs)) {
                const Os = Er(ae.enclosingDeclaration), ws = kg(Dt, Nn), $a = N.createModuleBlock([N.createExportDeclaration(
                  /*modifiers*/
                  void 0,
                  /*isTypeOnly*/
                  !1,
                  N.createNamedExports(Oi(Tn(
                    Xs,
                    (To) => To.escapedName !== "export="
                    /* ExportEquals */
                  ), (To) => {
                    var c_, Nu;
                    const ql = Ei(To.escapedName), Yo = kg(To, ql), jl = To.declarations && zf(To);
                    if (Os && (jl ? Os !== Er(jl) : !at(To.declarations, (Vp) => Er(Vp) === Os))) {
                      (Nu = (c_ = ae.tracker) == null ? void 0 : c_.reportNonlocalAugmentation) == null || Nu.call(c_, Os, Dt, To);
                      return;
                    }
                    const kf = jl && Mv(
                      jl,
                      /*dontRecursivelyResolve*/
                      !0
                    );
                    Rn(kf || To);
                    const su = kf ? kg(kf, Ei(kf.escapedName)) : Yo;
                    return N.createExportSpecifier(
                      /*isTypeOnly*/
                      !1,
                      ql === su ? void 0 : su,
                      ql
                    );
                  }))
                )]);
                $n(
                  N.createModuleDeclaration(
                    /*modifiers*/
                    void 0,
                    N.createIdentifier(ws),
                    $a,
                    32
                    /* Namespace */
                  ),
                  0
                  /* None */
                );
              }
            }
            function zo(Dt, Nn, ni) {
              $n(
                N.createEnumDeclaration(
                  N.createModifiersFromModifierFlags(sme(Dt) ? 4096 : 0),
                  kg(Dt, Nn),
                  fr(Tn(Ga(Qr(Dt)), (ei) => !!(ei.flags & 8)), (ei) => {
                    const Jn = ei.declarations && ei.declarations[0] && A0(ei.declarations[0]) ? Mme(ei.declarations[0]) : void 0;
                    return N.createEnumMember(
                      Ei(ei.escapedName),
                      Jn === void 0 ? void 0 : typeof Jn == "string" ? N.createStringLiteral(Jn) : N.createNumericLiteral(Jn)
                    );
                  })
                ),
                ni
              );
            }
            function cd(Dt, Nn, ni, ei) {
              const Jn = As(
                Dt,
                0
                /* Call */
              );
              for (const Ya of Jn) {
                const Xs = Xt(Ya, 262, ae, { name: N.createIdentifier(ni) });
                $n(l(ae, Xs, vh(Ya)), ei);
              }
              if (!(Nn.flags & 1536 && Nn.exports && Nn.exports.size)) {
                const Ya = Tn(Ga(Dt), yy);
                f0(
                  Ya,
                  ni,
                  ei,
                  /*suppressNewPrivateContext*/
                  !0
                );
              }
            }
            function vh(Dt) {
              if (Dt.declaration && Dt.declaration.parent) {
                if (_n(Dt.declaration.parent) && Pc(Dt.declaration.parent) === 5)
                  return Dt.declaration.parent;
                if (Zn(Dt.declaration.parent) && Dt.declaration.parent.parent)
                  return Dt.declaration.parent.parent;
              }
              return Dt.declaration;
            }
            function f0(Dt, Nn, ni, ei) {
              if (Ar(Dt)) {
                const Ya = EP(Dt, (Yo) => !Ar(Yo.declarations) || at(Yo.declarations, (jl) => Er(jl) === Er(ae.enclosingDeclaration)) ? "local" : "remote").get("local") || Ue;
                let Xs = fv.createModuleDeclaration(
                  /*modifiers*/
                  void 0,
                  N.createIdentifier(Nn),
                  N.createModuleBlock([]),
                  32
                  /* Namespace */
                );
                Wa(Xs, Ir), Xs.locals = qs(Dt), Xs.symbol = Dt[0].parent;
                const Os = Br;
                Br = [];
                const ws = ba;
                ba = !1;
                const $a = { ...ae, enclosingDeclaration: Xs }, To = ae;
                ae = $a, or(
                  qs(Ya),
                  ei,
                  /*propertyAsAlias*/
                  !0
                ), ae = To, ba = ws;
                const c_ = Br;
                Br = Os;
                const Nu = fr(c_, (Yo) => Oo(Yo) && !Yo.isExportEquals && Fe(Yo.expression) ? N.createExportDeclaration(
                  /*modifiers*/
                  void 0,
                  /*isTypeOnly*/
                  !1,
                  N.createNamedExports([N.createExportSpecifier(
                    /*isTypeOnly*/
                    !1,
                    Yo.expression,
                    N.createIdentifier(
                      "default"
                      /* Default */
                    )
                  )])
                ) : Yo), ql = Pi(Nu, (Yo) => qn(
                  Yo,
                  32
                  /* Export */
                )) ? fr(Nu, Tt) : Nu;
                Xs = N.updateModuleDeclaration(
                  Xs,
                  Xs.modifiers,
                  Xs.name,
                  N.createModuleBlock(ql)
                ), $n(Xs, ni);
              }
            }
            function yy(Dt) {
              return !!(Dt.flags & 2887656) || !(Dt.flags & 4194304 || Dt.escapedName === "prototype" || Dt.valueDeclaration && zs(Dt.valueDeclaration) && Xn(Dt.valueDeclaration.parent));
            }
            function Pu(Dt) {
              const Nn = Oi(Dt, (ni) => {
                const ei = ae.enclosingDeclaration;
                ae.enclosingDeclaration = ni;
                let Jn = ni.expression;
                if (to(Jn)) {
                  if (Fe(Jn) && Pn(Jn) === "")
                    return Ya(
                      /*result*/
                      void 0
                    );
                  let Xs;
                  if ({ introducesError: Xs, node: Jn } = Ft(Jn, ae), Xs)
                    return Ya(
                      /*result*/
                      void 0
                    );
                }
                return Ya(N.createExpressionWithTypeArguments(
                  Jn,
                  fr(ni.typeArguments, (Xs) => ue.tryReuseExistingTypeNode(ae, Xs) || R(a(ae, Xs), ae))
                ));
                function Ya(Xs) {
                  return ae.enclosingDeclaration = ei, Xs;
                }
              });
              if (Nn.length === Dt.length)
                return Nn;
            }
            function vy(Dt, Nn, ni) {
              var ei, Jn;
              const Ya = (ei = Dt.declarations) == null ? void 0 : ei.find(Xn), Xs = ae.enclosingDeclaration;
              ae.enclosingDeclaration = Ya || Xs;
              const Os = id(Dt), ws = fr(Os, (Bm) => Bn(Bm, ae)), $a = uf(pp(Dt)), To = fl($a), c_ = Ya && $C(Ya), Nu = c_ && Pu(c_) || Oi(fu($a), Cft), ql = Qr(Dt), Yo = !!((Jn = ql.symbol) != null && Jn.valueDeclaration) && Xn(ql.symbol.valueDeclaration), jl = Yo ? Ja(ql) : Ie, kf = [
                ...Ar(To) ? [N.createHeritageClause(96, fr(To, (Bm) => kft(Bm, jl, Nn)))] : [],
                ...Ar(Nu) ? [N.createHeritageClause(119, Nu)] : []
              ], su = cut($a, To, Ga($a)), Vp = Tn(su, (Bm) => {
                const TP = Bm.valueDeclaration;
                return !!TP && !(El(TP) && Di(TP.name));
              }), bh = at(su, (Bm) => {
                const TP = Bm.valueDeclaration;
                return !!TP && El(TP) && Di(TP.name);
              }) ? [N.createPropertyDeclaration(
                /*modifiers*/
                void 0,
                N.createPrivateIdentifier("#private"),
                /*questionOrExclamationToken*/
                void 0,
                /*type*/
                void 0,
                /*initializer*/
                void 0
              )] : Ue, Cg = oa(Vp, (Bm) => Lt(
                Bm,
                /*isStatic*/
                !1,
                To[0]
              )), p0 = oa(
                Tn(Ga(ql), (Bm) => !(Bm.flags & 4194304) && Bm.escapedName !== "prototype" && !yy(Bm)),
                (Bm) => Lt(
                  Bm,
                  /*isStatic*/
                  !0,
                  jl
                )
              ), dR = !Yo && !!Dt.valueDeclaration && tn(Dt.valueDeclaration) && !at(As(
                ql,
                1
                /* Construct */
              )) ? [N.createConstructorDeclaration(
                N.createModifiersFromModifierFlags(
                  2
                  /* Private */
                ),
                [],
                /*body*/
                void 0
              )] : Gme(
                1,
                ql,
                jl,
                176
                /* Constructor */
              ), Eft = p5e($a, To[0]);
              ae.enclosingDeclaration = Xs, $n(
                l(
                  ae,
                  N.createClassDeclaration(
                    /*modifiers*/
                    void 0,
                    Nn,
                    ws,
                    kf,
                    [...Eft, ...p0, ...dR, ...Cg, ...bh]
                  ),
                  Dt.declarations && Tn(Dt.declarations, (Bm) => el(Bm) || Kc(Bm))[0]
                ),
                ni
              );
            }
            function YE(Dt) {
              return Ic(Dt, (Nn) => {
                if (Bu(Nn) || bu(Nn))
                  return Uy(Nn.propertyName || Nn.name);
                if (_n(Nn) || Oo(Nn)) {
                  const ni = Oo(Nn) ? Nn.expression : Nn.right;
                  if (kn(ni))
                    return Pn(ni.name);
                }
                if (ah(Nn)) {
                  const ni = ls(Nn);
                  if (ni && Fe(ni))
                    return Pn(ni);
                }
              });
            }
            function ub(Dt, Nn, ni) {
              var ei, Jn, Ya, Xs, Os;
              const ws = zf(Dt);
              if (!ws) return E.fail();
              const $a = La(Mv(
                ws,
                /*dontRecursivelyResolve*/
                !0
              ));
              if (!$a)
                return;
              let To = c3($a) && YE(Dt.declarations) || Ei($a.escapedName);
              To === "export=" && pe && (To = "default");
              const c_ = kg($a, To);
              switch (Rn($a), ws.kind) {
                case 208:
                  if (((Jn = (ei = ws.parent) == null ? void 0 : ei.parent) == null ? void 0 : Jn.kind) === 260) {
                    const Yo = Tr($a.parent || $a, ae), { propertyName: jl } = ws;
                    $n(
                      N.createImportDeclaration(
                        /*modifiers*/
                        void 0,
                        N.createImportClause(
                          /*isTypeOnly*/
                          !1,
                          /*name*/
                          void 0,
                          N.createNamedImports([N.createImportSpecifier(
                            /*isTypeOnly*/
                            !1,
                            jl && Fe(jl) ? N.createIdentifier(Pn(jl)) : void 0,
                            N.createIdentifier(Nn)
                          )])
                        ),
                        N.createStringLiteral(Yo),
                        /*attributes*/
                        void 0
                      ),
                      0
                      /* None */
                    );
                    break;
                  }
                  E.failBadSyntaxKind(((Ya = ws.parent) == null ? void 0 : Ya.parent) || ws, "Unhandled binding element grandparent kind in declaration serialization");
                  break;
                case 304:
                  ((Os = (Xs = ws.parent) == null ? void 0 : Xs.parent) == null ? void 0 : Os.kind) === 226 && xg(
                    Ei(Dt.escapedName),
                    c_
                  );
                  break;
                case 260:
                  if (kn(ws.initializer)) {
                    const Yo = ws.initializer, jl = N.createUniqueName(Nn), kf = Tr($a.parent || $a, ae);
                    $n(
                      N.createImportEqualsDeclaration(
                        /*modifiers*/
                        void 0,
                        /*isTypeOnly*/
                        !1,
                        jl,
                        N.createExternalModuleReference(N.createStringLiteral(kf))
                      ),
                      0
                      /* None */
                    ), $n(
                      N.createImportEqualsDeclaration(
                        /*modifiers*/
                        void 0,
                        /*isTypeOnly*/
                        !1,
                        N.createIdentifier(Nn),
                        N.createQualifiedName(jl, Yo.name)
                      ),
                      ni
                    );
                    break;
                  }
                // else fall through and treat commonjs require just like import=
                case 271:
                  if ($a.escapedName === "export=" && at($a.declarations, (Yo) => xi(Yo) && Kf(Yo))) {
                    SP(Dt);
                    break;
                  }
                  const Nu = !($a.flags & 512) && !Zn(ws);
                  $n(
                    N.createImportEqualsDeclaration(
                      /*modifiers*/
                      void 0,
                      /*isTypeOnly*/
                      !1,
                      N.createIdentifier(Nn),
                      Nu ? So(
                        $a,
                        ae,
                        -1,
                        /*expectsIdentifier*/
                        !1
                      ) : N.createExternalModuleReference(N.createStringLiteral(Tr($a, ae)))
                    ),
                    Nu ? ni : 0
                    /* None */
                  );
                  break;
                case 270:
                  $n(
                    N.createNamespaceExportDeclaration(Pn(ws.name)),
                    0
                    /* None */
                  );
                  break;
                case 273: {
                  const Yo = Tr($a.parent || $a, ae), jl = ae.bundled ? N.createStringLiteral(Yo) : ws.parent.moduleSpecifier, kf = Uo(ws.parent) ? ws.parent.attributes : void 0, su = _m(ws.parent);
                  $n(
                    N.createImportDeclaration(
                      /*modifiers*/
                      void 0,
                      N.createImportClause(
                        su,
                        N.createIdentifier(Nn),
                        /*namedBindings*/
                        void 0
                      ),
                      jl,
                      kf
                    ),
                    0
                    /* None */
                  );
                  break;
                }
                case 274: {
                  const Yo = Tr($a.parent || $a, ae), jl = ae.bundled ? N.createStringLiteral(Yo) : ws.parent.parent.moduleSpecifier, kf = _m(ws.parent.parent);
                  $n(
                    N.createImportDeclaration(
                      /*modifiers*/
                      void 0,
                      N.createImportClause(
                        kf,
                        /*name*/
                        void 0,
                        N.createNamespaceImport(N.createIdentifier(Nn))
                      ),
                      jl,
                      ws.parent.attributes
                    ),
                    0
                    /* None */
                  );
                  break;
                }
                case 280:
                  $n(
                    N.createExportDeclaration(
                      /*modifiers*/
                      void 0,
                      /*isTypeOnly*/
                      !1,
                      N.createNamespaceExport(N.createIdentifier(Nn)),
                      N.createStringLiteral(Tr($a, ae))
                    ),
                    0
                    /* None */
                  );
                  break;
                case 276: {
                  const Yo = Tr($a.parent || $a, ae), jl = ae.bundled ? N.createStringLiteral(Yo) : ws.parent.parent.parent.moduleSpecifier, kf = _m(ws.parent.parent.parent);
                  $n(
                    N.createImportDeclaration(
                      /*modifiers*/
                      void 0,
                      N.createImportClause(
                        kf,
                        /*name*/
                        void 0,
                        N.createNamedImports([
                          N.createImportSpecifier(
                            /*isTypeOnly*/
                            !1,
                            Nn !== To ? N.createIdentifier(To) : void 0,
                            N.createIdentifier(Nn)
                          )
                        ])
                      ),
                      jl,
                      ws.parent.parent.parent.attributes
                    ),
                    0
                    /* None */
                  );
                  break;
                }
                case 281:
                  const ql = ws.parent.parent.moduleSpecifier;
                  if (ql) {
                    const Yo = ws.propertyName;
                    Yo && Gm(Yo) && (To = "default");
                  }
                  xg(
                    Ei(Dt.escapedName),
                    ql ? To : c_,
                    ql && Ba(ql) ? N.createStringLiteral(ql.text) : void 0
                  );
                  break;
                case 277:
                  SP(Dt);
                  break;
                case 226:
                case 211:
                case 212:
                  Dt.escapedName === "default" || Dt.escapedName === "export=" ? SP(Dt) : xg(Nn, c_);
                  break;
                default:
                  return E.failBadSyntaxKind(ws, "Unhandled alias declaration kind in symbol serializer!");
              }
            }
            function xg(Dt, Nn, ni) {
              $n(
                N.createExportDeclaration(
                  /*modifiers*/
                  void 0,
                  /*isTypeOnly*/
                  !1,
                  N.createNamedExports([N.createExportSpecifier(
                    /*isTypeOnly*/
                    !1,
                    Dt !== Nn ? Nn : void 0,
                    Dt
                  )]),
                  ni
                ),
                0
                /* None */
              );
            }
            function SP(Dt) {
              var Nn;
              if (Dt.flags & 4194304)
                return !1;
              const ni = Ei(Dt.escapedName), ei = ni === "export=", Ya = ei || ni === "default", Xs = Dt.declarations && zf(Dt), Os = Xs && Mv(
                Xs,
                /*dontRecursivelyResolve*/
                !0
              );
              if (Os && Ar(Os.declarations) && at(Os.declarations, (ws) => Er(ws) === Er(Ir))) {
                const ws = Xs && (Oo(Xs) || _n(Xs) ? PB(Xs) : wK(Xs)), $a = ws && to(ws) ? xut(ws) : void 0, To = $a && mc(
                  $a,
                  -1,
                  /*ignoreErrors*/
                  !0,
                  /*dontResolveAlias*/
                  !0,
                  Ir
                );
                (To || Os) && Rn(To || Os);
                const c_ = ae.tracker.disableTrackSymbol;
                if (ae.tracker.disableTrackSymbol = !0, Ya)
                  Br.push(N.createExportAssignment(
                    /*modifiers*/
                    void 0,
                    ei,
                    Gc(
                      Os,
                      ae,
                      -1
                      /* All */
                    )
                  ));
                else if ($a === ws && $a)
                  xg(ni, Pn($a));
                else if (ws && Kc(ws))
                  xg(ni, kg(Os, bc(Os)));
                else {
                  const Nu = pR(ni, Dt);
                  $n(
                    N.createImportEqualsDeclaration(
                      /*modifiers*/
                      void 0,
                      /*isTypeOnly*/
                      !1,
                      N.createIdentifier(Nu),
                      So(
                        Os,
                        ae,
                        -1,
                        /*expectsIdentifier*/
                        !1
                      )
                    ),
                    0
                    /* None */
                  ), xg(ni, Nu);
                }
                return ae.tracker.disableTrackSymbol = c_, !0;
              } else {
                const ws = pR(ni, Dt), $a = _f(Qr(La(Dt)));
                if (RI($a, Dt))
                  cd(
                    $a,
                    Dt,
                    ws,
                    Ya ? 0 : 32
                    /* Export */
                  );
                else {
                  const To = ((Nn = ae.enclosingDeclaration) == null ? void 0 : Nn.kind) === 267 && (!(Dt.flags & 98304) || Dt.flags & 65536) ? 1 : 2, c_ = N.createVariableStatement(
                    /*modifiers*/
                    void 0,
                    N.createVariableDeclarationList([
                      N.createVariableDeclaration(
                        ws,
                        /*exclamationToken*/
                        void 0,
                        lb(
                          ae,
                          /*declaration*/
                          void 0,
                          $a,
                          Dt
                        )
                      )
                    ], To)
                  );
                  $n(
                    c_,
                    Os && Os.flags & 4 && Os.escapedName === "export=" ? 128 : ni === ws ? 32 : 0
                    /* None */
                  );
                }
                return Ya ? (Br.push(N.createExportAssignment(
                  /*modifiers*/
                  void 0,
                  ei,
                  N.createIdentifier(ws)
                )), !0) : ni !== ws ? (xg(ni, ws), !0) : !1;
              }
            }
            function RI(Dt, Nn) {
              var ni;
              const ei = Er(ae.enclosingDeclaration);
              return Cn(Dt) & 48 && !at((ni = Dt.symbol) == null ? void 0 : ni.declarations, si) && // If the type comes straight from a type node, we shouldn't try to break it up
              !Ar(pu(Dt)) && !O8(Dt) && // While a class instance is potentially representable as a NS, prefer printing a reference to the instance type and serializing the class
              !!(Ar(Tn(Ga(Dt), yy)) || Ar(As(
                Dt,
                0
                /* Call */
              ))) && !Ar(As(
                Dt,
                1
                /* Construct */
              )) && // TODO: could probably serialize as function + ns + class, now that that's OK
              !Ec(Nn, Ir) && !(Dt.symbol && at(Dt.symbol.declarations, (Jn) => Er(Jn) !== ei)) && !at(Ga(Dt), (Jn) => z8(Jn.escapedName)) && !at(Ga(Dt), (Jn) => at(Jn.declarations, (Ya) => Er(Ya) !== ei)) && Pi(Ga(Dt), (Jn) => C_(bc(Jn), j) ? Jn.flags & 98304 ? P1(Jn) === sy(Jn) : !0 : !1);
            }
            function MX(Dt, Nn, ni) {
              return function(Jn, Ya, Xs) {
                var Os, ws, $a, To, c_, Nu;
                const ql = np(Jn), Yo = !!(ql & 2);
                if (Ya && Jn.flags & 2887656)
                  return [];
                if (Jn.flags & 4194304 || Jn.escapedName === "constructor" || Xs && Zs(Xs, Jn.escapedName) && Vd(Zs(Xs, Jn.escapedName)) === Vd(Jn) && (Jn.flags & 16777216) === (Zs(Xs, Jn.escapedName).flags & 16777216) && gh(Qr(Jn), qc(Xs, Jn.escapedName)))
                  return [];
                const jl = ql & -1025 | (Ya ? 256 : 0), kf = Rc(Jn, ae), su = (Os = Jn.declarations) == null ? void 0 : Os.find(z_(is, By, Zn, ju, _n, kn));
                if (Jn.flags & 98304 && ni) {
                  const Vp = [];
                  if (Jn.flags & 65536) {
                    const _b = Jn.declarations && ar(Jn.declarations, (p0) => {
                      if (p0.kind === 178)
                        return p0;
                      if (Ms(p0) && hS(p0))
                        return ar(p0.arguments[2].properties, (Z2) => {
                          const dR = ls(Z2);
                          if (dR && Fe(dR) && Pn(dR) === "set")
                            return Z2;
                        });
                    });
                    E.assert(!!_b);
                    const bh = uo(_b) ? qf(_b).parameters[0] : void 0, Cg = (ws = Jn.declarations) == null ? void 0 : ws.find($d);
                    Vp.push(l(
                      ae,
                      N.createSetAccessorDeclaration(
                        N.createModifiersFromModifierFlags(jl),
                        kf,
                        [N.createParameterDeclaration(
                          /*modifiers*/
                          void 0,
                          /*dotDotDotToken*/
                          void 0,
                          bh ? Fs(bh, bn(bh), ae) : "value",
                          /*questionToken*/
                          void 0,
                          Yo ? void 0 : lb(ae, Cg, sy(Jn), Jn)
                        )],
                        /*body*/
                        void 0
                      ),
                      Cg ?? su
                    ));
                  }
                  if (Jn.flags & 32768) {
                    const _b = ql & 2, bh = ($a = Jn.declarations) == null ? void 0 : $a.find(Ag);
                    Vp.push(l(
                      ae,
                      N.createGetAccessorDeclaration(
                        N.createModifiersFromModifierFlags(jl),
                        kf,
                        [],
                        _b ? void 0 : lb(ae, bh, Qr(Jn), Jn),
                        /*body*/
                        void 0
                      ),
                      bh ?? su
                    ));
                  }
                  return Vp;
                } else if (Jn.flags & 98311)
                  return l(
                    ae,
                    Dt(
                      N.createModifiersFromModifierFlags((Vd(Jn) ? 8 : 0) | jl),
                      kf,
                      Jn.flags & 16777216 ? N.createToken(
                        58
                        /* QuestionToken */
                      ) : void 0,
                      Yo ? void 0 : lb(ae, (To = Jn.declarations) == null ? void 0 : To.find(P_), sy(Jn), Jn),
                      // TODO: https://github.com/microsoft/TypeScript/pull/32372#discussion_r328386357
                      // interface members can't have initializers, however class members _can_
                      /*initializer*/
                      void 0
                    ),
                    ((c_ = Jn.declarations) == null ? void 0 : c_.find(z_(is, Zn))) || su
                  );
                if (Jn.flags & 8208) {
                  const Vp = Qr(Jn), _b = As(
                    Vp,
                    0
                    /* Call */
                  );
                  if (jl & 2)
                    return l(
                      ae,
                      Dt(
                        N.createModifiersFromModifierFlags((Vd(Jn) ? 8 : 0) | jl),
                        kf,
                        Jn.flags & 16777216 ? N.createToken(
                          58
                          /* QuestionToken */
                        ) : void 0,
                        /*type*/
                        void 0,
                        /*initializer*/
                        void 0
                      ),
                      ((Nu = Jn.declarations) == null ? void 0 : Nu.find(uo)) || _b[0] && _b[0].declaration || Jn.declarations && Jn.declarations[0]
                    );
                  const bh = [];
                  for (const Cg of _b) {
                    const p0 = Xt(
                      Cg,
                      Nn,
                      ae,
                      {
                        name: kf,
                        questionToken: Jn.flags & 16777216 ? N.createToken(
                          58
                          /* QuestionToken */
                        ) : void 0,
                        modifiers: jl ? N.createModifiersFromModifierFlags(jl) : void 0
                      }
                    ), Z2 = Cg.declaration && N3(Cg.declaration.parent) ? Cg.declaration.parent : Cg.declaration;
                    bh.push(l(ae, p0, Z2));
                  }
                  return bh;
                }
                return E.fail(`Unhandled class member kind! ${Jn.__debugFlags || Jn.flags}`);
              };
            }
            function RX(Dt, Nn) {
              return ur(
                Dt,
                /*isStatic*/
                !1,
                Nn
              );
            }
            function Gme(Dt, Nn, ni, ei) {
              const Jn = As(Nn, Dt);
              if (Dt === 1) {
                if (!ni && Pi(Jn, (Os) => Ar(Os.parameters) === 0))
                  return [];
                if (ni) {
                  const Os = As(
                    ni,
                    1
                    /* Construct */
                  );
                  if (!Ar(Os) && Pi(Jn, (ws) => Ar(ws.parameters) === 0))
                    return [];
                  if (Os.length === Jn.length) {
                    let ws = !1;
                    for (let $a = 0; $a < Os.length; $a++)
                      if (!yM(
                        Jn[$a],
                        Os[$a],
                        /*partialMatch*/
                        !1,
                        /*ignoreThisTypes*/
                        !1,
                        /*ignoreReturnTypes*/
                        !0,
                        tI
                      )) {
                        ws = !0;
                        break;
                      }
                    if (!ws)
                      return [];
                  }
                }
                let Xs = 0;
                for (const Os of Jn)
                  Os.declaration && (Xs |= vx(
                    Os.declaration,
                    6
                    /* Protected */
                  ));
                if (Xs)
                  return [l(
                    ae,
                    N.createConstructorDeclaration(
                      N.createModifiersFromModifierFlags(Xs),
                      /*parameters*/
                      [],
                      /*body*/
                      void 0
                    ),
                    Jn[0].declaration
                  )];
              }
              const Ya = [];
              for (const Xs of Jn) {
                const Os = Xt(Xs, ei, ae);
                Ya.push(l(ae, Os, Xs.declaration));
              }
              return Ya;
            }
            function p5e(Dt, Nn) {
              const ni = [];
              for (const ei of pu(Dt)) {
                if (Nn) {
                  const Jn = ph(Nn, ei.keyType);
                  if (Jn && gh(ei.type, Jn.type))
                    continue;
                }
                ni.push(nr(
                  ei,
                  ae,
                  /*typeNode*/
                  void 0
                ));
              }
              return ni;
            }
            function kft(Dt, Nn, ni) {
              const ei = $me(
                Dt,
                111551
                /* Value */
              );
              if (ei)
                return ei;
              const Jn = pR(`${ni}_base`), Ya = N.createVariableStatement(
                /*modifiers*/
                void 0,
                N.createVariableDeclarationList(
                  [
                    N.createVariableDeclaration(
                      Jn,
                      /*exclamationToken*/
                      void 0,
                      R(Nn, ae)
                    )
                  ],
                  2
                  /* Const */
                )
              );
              return $n(
                Ya,
                0
                /* None */
              ), N.createExpressionWithTypeArguments(
                N.createIdentifier(Jn),
                /*typeArguments*/
                void 0
              );
            }
            function $me(Dt, Nn) {
              let ni, ei;
              if (Dt.target && iy(Dt.target.symbol, Ir, Nn) ? (ni = fr(Io(Dt), (Jn) => R(Jn, ae)), ei = Gc(
                Dt.target.symbol,
                ae,
                788968
                /* Type */
              )) : Dt.symbol && iy(Dt.symbol, Ir, Nn) && (ei = Gc(
                Dt.symbol,
                ae,
                788968
                /* Type */
              )), ei)
                return N.createExpressionWithTypeArguments(ei, ni);
            }
            function Cft(Dt) {
              const Nn = $me(
                Dt,
                788968
                /* Type */
              );
              if (Nn)
                return Nn;
              if (Dt.symbol)
                return N.createExpressionWithTypeArguments(
                  Gc(
                    Dt.symbol,
                    ae,
                    788968
                    /* Type */
                  ),
                  /*typeArguments*/
                  void 0
                );
            }
            function pR(Dt, Nn) {
              var ni, ei;
              const Jn = Nn ? ea(Nn) : void 0;
              if (Jn && ae.remappedSymbolNames.has(Jn))
                return ae.remappedSymbolNames.get(Jn);
              Nn && (Dt = d5e(Nn, Dt));
              let Ya = 0;
              const Xs = Dt;
              for (; (ni = ae.usedSymbolNames) != null && ni.has(Dt); )
                Ya++, Dt = `${Xs}_${Ya}`;
              return (ei = ae.usedSymbolNames) == null || ei.add(Dt), Jn && ae.remappedSymbolNames.set(Jn, Dt), Dt;
            }
            function d5e(Dt, Nn) {
              if (Nn === "default" || Nn === "__class" || Nn === "__function") {
                const ni = x(ae);
                ae.flags |= 16777216;
                const ei = Gv(Dt, ae);
                ni(), Nn = ei.length > 0 && C3(ei.charCodeAt(0)) ? wp(ei) : ei;
              }
              return Nn === "default" ? Nn = "_default" : Nn === "export=" && (Nn = "_exports"), Nn = C_(Nn, j) && !hx(Nn) ? Nn : "_" + Nn.replace(/[^a-z0-9]/gi, "_"), Nn;
            }
            function kg(Dt, Nn) {
              const ni = ea(Dt);
              return ae.remappedSymbolNames.has(ni) ? ae.remappedSymbolNames.get(ni) : (Nn = d5e(Dt, Nn), ae.remappedSymbolNames.set(ni, Nn), Nn);
            }
          }
        }
        function Hv(r, a, l = 16384, f) {
          return f ? d(f).getText() : LC(d);
          function d(y) {
            const x = $k(l) | 70221824 | 512, I = xe.typePredicateToTypePredicateNode(r, a, x), R = r2(), J = a && Er(a);
            return R.writeNode(
              4,
              I,
              /*sourceFile*/
              J,
              y
            ), y;
          }
        }
        function zL(r) {
          const a = [];
          let l = 0;
          for (let f = 0; f < r.length; f++) {
            const d = r[f];
            if (l |= d.flags, !(d.flags & 98304)) {
              if (d.flags & 1568) {
                const y = d.flags & 512 ? Jt : RG(d);
                if (y.flags & 1048576) {
                  const x = y.types.length;
                  if (f + x <= r.length && qu(r[f + x - 1]) === qu(y.types[x - 1])) {
                    a.push(y), f += x - 1;
                    continue;
                  }
                }
              }
              a.push(d);
            }
          }
          return l & 65536 && a.push(jt), l & 32768 && a.push(_e), a || r;
        }
        function A2(r) {
          return r === 2 ? "private" : r === 4 ? "protected" : "public";
        }
        function Xk(r) {
          if (r.symbol && r.symbol.flags & 2048 && r.symbol.declarations) {
            const a = R3(r.symbol.declarations[0].parent);
            if (Ap(a))
              return vn(a);
          }
        }
        function L8(r) {
          return r && r.parent && r.parent.kind === 268 && Cb(r.parent.parent);
        }
        function kE(r) {
          return r.kind === 307 || Fu(r);
        }
        function I2(r, a) {
          const l = Ri(r).nameType;
          if (l) {
            if (l.flags & 384) {
              const f = "" + l.value;
              return !C_(f, ga(F)) && !Ug(f) ? `"${Qm(
                f,
                34
                /* doubleQuote */
              )}"` : Ug(f) && Wi(f, "-") ? `[${f}]` : f;
            }
            if (l.flags & 8192)
              return `[${Gv(l.symbol, a)}]`;
          }
        }
        function Gv(r, a) {
          var l;
          if ((l = a?.remappedSymbolReferences) != null && l.has(ea(r)) && (r = a.remappedSymbolReferences.get(ea(r))), a && r.escapedName === "default" && !(a.flags & 16384) && // If it's not the first part of an entity name, it must print as `default`
          (!(a.flags & 16777216) || // if the symbol is synthesized, it will only be referenced externally it must print as `default`
          !r.declarations || // if not in the same binding context (source file, module declaration), it must print as `default`
          a.enclosingDeclaration && _r(r.declarations[0], kE) !== _r(a.enclosingDeclaration, kE)))
            return "default";
          if (r.declarations && r.declarations.length) {
            let d = Ic(r.declarations, (x) => ls(x) ? x : void 0);
            const y = d && ls(d);
            if (d && y) {
              if (Ms(d) && hS(d))
                return bc(r);
              if (ia(y) && !(lc(r) & 4096)) {
                const x = Ri(r).nameType;
                if (x && x.flags & 384) {
                  const I = I2(r, a);
                  if (I !== void 0)
                    return I;
                }
              }
              return _o(y);
            }
            if (d || (d = r.declarations[0]), d.parent && d.parent.kind === 260)
              return _o(d.parent.name);
            switch (d.kind) {
              case 231:
              case 218:
              case 219:
                return a && !a.encounteredError && !(a.flags & 131072) && (a.encounteredError = !0), d.kind === 231 ? "(Anonymous class)" : "(Anonymous function)";
            }
          }
          const f = I2(r, a);
          return f !== void 0 ? f : bc(r);
        }
        function Zh(r) {
          if (r) {
            const l = yn(r);
            return l.isVisible === void 0 && (l.isVisible = !!a()), l.isVisible;
          }
          return !1;
          function a() {
            switch (r.kind) {
              case 338:
              case 346:
              case 340:
                return !!(r.parent && r.parent.parent && r.parent.parent.parent && xi(r.parent.parent.parent));
              case 208:
                return Zh(r.parent.parent);
              case 260:
                if (Ps(r.name) && !r.name.elements.length)
                  return !1;
              // falls through
              case 267:
              case 263:
              case 264:
              case 265:
              case 262:
              case 266:
              case 271:
                if (Cb(r))
                  return !0;
                const l = Xv(r);
                return !(LX(r) & 32) && !(r.kind !== 271 && l.kind !== 307 && l.flags & 33554432) ? v0(l) : Zh(l);
              case 172:
              case 171:
              case 177:
              case 178:
              case 174:
              case 173:
                if ($_(
                  r,
                  6
                  /* Protected */
                ))
                  return !1;
              // Public properties/methods are visible if its parents are visible, so:
              // falls through
              case 176:
              case 180:
              case 179:
              case 181:
              case 169:
              case 268:
              case 184:
              case 185:
              case 187:
              case 183:
              case 188:
              case 189:
              case 192:
              case 193:
              case 196:
              case 202:
                return Zh(r.parent);
              // Default binding, import specifier and namespace import is visible
              // only on demand so by default it is not visible
              case 273:
              case 274:
              case 276:
                return !1;
              // Type parameters are always visible
              case 168:
              // Source file and namespace export are always visible
              // falls through
              case 307:
              case 270:
                return !0;
              // Export assignments do not create name bindings outside the module
              case 277:
                return !1;
              default:
                return !1;
            }
          }
        }
        function $v(r, a) {
          let l;
          r.kind !== 11 && r.parent && r.parent.kind === 277 ? l = it(
            r,
            r,
            2998271,
            /*nameNotFoundMessage*/
            void 0,
            /*isUse*/
            !1
          ) : r.parent.kind === 281 && (l = fg(
            r.parent,
            2998271
            /* Alias */
          ));
          let f, d;
          return l && (d = /* @__PURE__ */ new Set(), d.add(ea(l)), y(l.declarations)), f;
          function y(x) {
            ar(x, (I) => {
              const R = Z0(I) || I;
              if (a ? yn(I).isVisible = !0 : (f = f || [], $f(f, R)), mS(I)) {
                const J = I.moduleReference, Y = Xu(J), Te = it(
                  I,
                  Y.escapedText,
                  901119,
                  /*nameNotFoundMessage*/
                  void 0,
                  /*isUse*/
                  !1
                );
                Te && d && m0(d, ea(Te)) && y(Te.declarations);
              }
            });
          }
        }
        function Pm(r, a) {
          const l = CE(r, a);
          if (l >= 0) {
            const { length: f } = ig;
            for (let d = l; d < f; d++)
              W0[d] = !1;
            return !1;
          }
          return ig.push(r), W0.push(
            /*items*/
            !0
          ), sg.push(a), !0;
        }
        function CE(r, a) {
          for (let l = ig.length - 1; l >= V0; l--) {
            if (WL(ig[l], sg[l]))
              return -1;
            if (ig[l] === r && sg[l] === a)
              return l;
          }
          return -1;
        }
        function WL(r, a) {
          switch (a) {
            case 0:
              return !!Ri(r).type;
            case 2:
              return !!Ri(r).declaredType;
            case 1:
              return !!r.resolvedBaseConstructorType;
            case 3:
              return !!r.resolvedReturnType;
            case 4:
              return !!r.immediateBaseConstraint;
            case 5:
              return !!r.resolvedTypeArguments;
            case 6:
              return !!r.baseTypesResolved;
            case 7:
              return !!Ri(r).writeType;
            case 8:
              return yn(r).parameterInitializerContainsUndefined !== void 0;
          }
          return E.assertNever(a);
        }
        function Nm() {
          return ig.pop(), sg.pop(), W0.pop();
        }
        function Xv(r) {
          return _r(em(r), (a) => {
            switch (a.kind) {
              case 260:
              case 261:
              case 276:
              case 275:
              case 274:
              case 273:
                return !1;
              default:
                return !0;
            }
          }).parent;
        }
        function Gw(r) {
          const a = wo(O_(r));
          return a.typeParameters ? e0(a, fr(a.typeParameters, (l) => Ie)) : a;
        }
        function qc(r, a) {
          const l = Zs(r, a);
          return l ? Qr(l) : void 0;
        }
        function $(r, a) {
          var l;
          let f;
          return qc(r, a) || (f = (l = eC(r, a)) == null ? void 0 : l.type) && Ol(
            f,
            /*isProperty*/
            !0,
            /*isOptional*/
            !0
          );
        }
        function be(r) {
          return r && (r.flags & 1) !== 0;
        }
        function Oe(r) {
          return r === Ve || !!(r.flags & 1 && r.aliasSymbol);
        }
        function yt(r, a) {
          if (a !== 0)
            return Od(
              r,
              /*includeOptionality*/
              !1,
              a
            );
          const l = vn(r);
          return l && Ri(l).type || Od(
            r,
            /*includeOptionality*/
            !1,
            a
          );
        }
        function qt(r, a, l) {
          if (r = Hc(r, (R) => !(R.flags & 98304)), r.flags & 131072)
            return Pa;
          if (r.flags & 1048576)
            return Ho(r, (R) => qt(R, a, l));
          let f = Gn(fr(a, t0));
          const d = [], y = [];
          for (const R of Ga(r)) {
            const J = rC(
              R,
              8576
              /* StringOrNumberLiteralOrUnique */
            );
            !js(J, f) && !(np(R) & 6) && n$(R) ? d.push(R) : y.push(J);
          }
          if (ET(r) || DT(f)) {
            if (y.length && (f = Gn([f, ...y])), f.flags & 131072)
              return r;
            const R = htt();
            return R ? LE(R, [r, f]) : Ve;
          }
          const x = qs();
          for (const R of d)
            x.set(R.escapedName, ppe(
              R,
              /*readonly*/
              !1
            ));
          const I = Jo(l, x, Ue, Ue, pu(r));
          return I.objectFlags |= 4194304, I;
        }
        function hr(r) {
          return !!(r.flags & 465829888) && Cc(
            ru(r) || mt,
            32768
            /* Undefined */
          );
        }
        function Ln(r) {
          const a = yp(r, hr) ? Ho(r, (l) => l.flags & 465829888 ? Fm(l) : l) : r;
          return hp(
            a,
            524288
            /* NEUndefined */
          );
        }
        function Si(r, a) {
          const l = ri(r);
          return l ? l0(l, a) : a;
        }
        function ri(r) {
          const a = oi(r);
          if (a && HC(a) && a.flowNode) {
            const l = Ui(r);
            if (l) {
              const f = ot(fv.createStringLiteral(l), r), d = __(a) ? a : fv.createParenthesizedExpression(a), y = ot(fv.createElementAccessExpression(d, f), r);
              return Wa(f, y), Wa(y, r), d !== a && Wa(d, y), y.flowNode = a.flowNode, y;
            }
          }
        }
        function oi(r) {
          const a = r.parent.parent;
          switch (a.kind) {
            case 208:
            case 303:
              return ri(a);
            case 209:
              return ri(r.parent);
            case 260:
              return a.initializer;
            case 226:
              return a.right;
          }
        }
        function Ui(r) {
          const a = r.parent;
          return r.kind === 208 && a.kind === 206 ? io(r.propertyName || r.name) : r.kind === 303 || r.kind === 304 ? io(r.name) : "" + a.elements.indexOf(r);
        }
        function io(r) {
          const a = t0(r);
          return a.flags & 384 ? "" + a.value : void 0;
        }
        function so(r) {
          const a = r.dotDotDotToken ? 32 : 0, l = yt(r.parent.parent, a);
          return l && Fa(
            r,
            l,
            /*noTupleBoundsCheck*/
            !1
          );
        }
        function Fa(r, a, l) {
          if (be(a))
            return a;
          const f = r.parent;
          K && r.flags & 33554432 && Z1(r) ? a = a0(a) : K && f.parent.initializer && !Jd(
            SAe(f.parent.initializer),
            65536
            /* EQUndefined */
          ) && (a = hp(
            a,
            524288
            /* NEUndefined */
          ));
          const d = 32 | (l || uC(r) ? 16 : 0);
          let y;
          if (f.kind === 206)
            if (r.dotDotDotToken) {
              if (a = sd(a), a.flags & 2 || !LM(a))
                return Be(r, p.Rest_types_may_only_be_created_from_object_types), Ve;
              const x = [];
              for (const I of f.elements)
                I.dotDotDotToken || x.push(I.propertyName || I.name);
              y = qt(a, x, r.symbol);
            } else {
              const x = r.propertyName || r.name, I = t0(x), R = M_(a, I, d, x);
              y = Si(r, R);
            }
          else {
            const x = my(65 | (r.dotDotDotToken ? 0 : 128), a, _e, f), I = f.elements.indexOf(r);
            if (r.dotDotDotToken) {
              const R = Ho(a, (J) => J.flags & 58982400 ? Fm(J) : J);
              y = j_(R, va) ? Ho(R, (J) => iP(J, I)) : du(x);
            } else if (py(a)) {
              const R = ad(I), J = A1(a, R, d, r.name) || Ve;
              y = Si(r, J);
            } else
              y = x;
          }
          return r.initializer ? Yc(KT(r)) ? K && !Jd(
            pP(
              r,
              0
              /* Normal */
            ),
            16777216
            /* IsUndefined */
          ) ? Ln(y) : y : cme(r, Gn(
            [Ln(y), pP(
              r,
              0
              /* Normal */
            )],
            2
            /* Subtype */
          )) : y;
        }
        function fp(r) {
          const a = Oy(r);
          if (a)
            return Ci(a);
        }
        function dg(r) {
          const a = za(
            r,
            /*excludeJSDocTypeAssertions*/
            !0
          );
          return a.kind === 106 || a.kind === 80 && Du(a) === oe;
        }
        function zp(r) {
          const a = za(
            r,
            /*excludeJSDocTypeAssertions*/
            !0
          );
          return a.kind === 209 && a.elements.length === 0;
        }
        function Ol(r, a = !1, l = !0) {
          return K && l ? L1(r, a) : r;
        }
        function Od(r, a, l) {
          if (Zn(r) && r.parent.parent.kind === 249) {
            const x = Om(Pde(Hi(
              r.parent.parent.expression,
              /*checkMode*/
              l
            )));
            return x.flags & 4456448 ? nNe(x) : st;
          }
          if (Zn(r) && r.parent.parent.kind === 250) {
            const x = r.parent.parent;
            return aR(x) || Ie;
          }
          if (Ps(r.parent))
            return so(r);
          const f = is(r) && !tm(r) || ju(r) || Jte(r), d = a && Nx(r), y = Qv(r);
          if (rB(r))
            return y ? be(y) || y === mt ? y : Ve : q ? mt : Ie;
          if (y)
            return Ol(y, f, d);
          if ((fe || tn(r)) && Zn(r) && !Ps(r.name) && !(LX(r) & 32) && !(r.flags & 33554432)) {
            if (!(Y2(r) & 6) && (!r.initializer || dg(r.initializer)))
              return ft;
            if (r.initializer && zp(r.initializer))
              return ul;
          }
          if (Ni(r)) {
            if (!r.symbol)
              return;
            const x = r.parent;
            if (x.kind === 178 && AE(x)) {
              const J = jo(
                vn(r.parent),
                177
                /* GetAccessor */
              );
              if (J) {
                const Y = qf(J), Te = Ume(x);
                return Te && r === Te ? (E.assert(!Te.type), Qr(Y.thisParameter)) : Va(Y);
              }
            }
            const I = Bet(x, r);
            if (I) return I;
            const R = r.symbol.escapedName === "this" ? dde(x) : ZAe(r);
            if (R)
              return Ol(
                R,
                /*isProperty*/
                !1,
                d
              );
          }
          if (_S(r) && r.initializer) {
            if (tn(r) && !Ni(r)) {
              const I = w1(r, vn(r), W4(r));
              if (I)
                return I;
            }
            const x = cme(r, pP(r, l));
            return Ol(x, f, d);
          }
          if (is(r) && (fe || tn(r)))
            if (sl(r)) {
              const x = Tn(r.parent.members, hc), I = x.length ? D1(r.symbol, x) : Lu(r) & 128 ? m$(r.symbol) : void 0;
              return I && Ol(
                I,
                /*isProperty*/
                !0,
                d
              );
            } else {
              const x = gN(r.parent), I = x ? Qk(r.symbol, x) : Lu(r) & 128 ? m$(r.symbol) : void 0;
              return I && Ol(
                I,
                /*isProperty*/
                !0,
                d
              );
            }
          if (um(r))
            return Ye;
          if (Ps(r.name))
            return Yi(
              r.name,
              /*includePatternInType*/
              !1,
              /*reportErrors*/
              !0
            );
        }
        function E1(r) {
          if (r.valueDeclaration && _n(r.valueDeclaration)) {
            const a = Ri(r);
            return a.isConstructorDeclaredProperty === void 0 && (a.isConstructorDeclaredProperty = !1, a.isConstructorDeclaredProperty = !!Ma(r) && Pi(r.declarations, (l) => _n(l) && J$(l) && (l.left.kind !== 212 || wf(l.left.argumentExpression)) && !on(
              /*declaredType*/
              void 0,
              l,
              r,
              l
            ))), a.isConstructorDeclaredProperty;
          }
          return !1;
        }
        function M8(r) {
          const a = r.valueDeclaration;
          return a && is(a) && !Yc(a) && !a.initializer && (fe || tn(a));
        }
        function Ma(r) {
          if (r.declarations)
            for (const a of r.declarations) {
              const l = Ou(
                a,
                /*includeArrowFunctions*/
                !1,
                /*includeClassComputedPropertyName*/
                !1
              );
              if (l && (l.kind === 176 || jm(l)))
                return l;
            }
        }
        function _l(r) {
          const a = Er(r.declarations[0]), l = Ei(r.escapedName), f = r.declarations.every((y) => tn(y) && ko(y) && Rg(y.expression)), d = f ? N.createPropertyAccessExpression(N.createPropertyAccessExpression(N.createIdentifier("module"), N.createIdentifier("exports")), l) : N.createPropertyAccessExpression(N.createIdentifier("exports"), l);
          return f && Wa(d.expression.expression, d.expression), Wa(d.expression, d), Wa(d, a), d.flowNode = a.endFlowNode, l0(d, ft, _e);
        }
        function D1(r, a) {
          const l = Wi(r.escapedName, "__#") ? N.createPrivateIdentifier(r.escapedName.split("@")[1]) : Ei(r.escapedName);
          for (const f of a) {
            const d = N.createPropertyAccessExpression(N.createThis(), l);
            Wa(d.expression, d), Wa(d, f), d.flowNode = f.returnFlowNode;
            const y = EE(d, r);
            if (fe && (y === ft || y === ul) && Be(r.valueDeclaration, p.Member_0_implicitly_has_an_1_type, Bi(r), Hr(y)), !j_(y, jM))
              return NI(y);
          }
        }
        function Qk(r, a) {
          const l = Wi(r.escapedName, "__#") ? N.createPrivateIdentifier(r.escapedName.split("@")[1]) : Ei(r.escapedName), f = N.createPropertyAccessExpression(N.createThis(), l);
          Wa(f.expression, f), Wa(f, a), f.flowNode = a.returnFlowNode;
          const d = EE(f, r);
          return fe && (d === ft || d === ul) && Be(r.valueDeclaration, p.Member_0_implicitly_has_an_1_type, Bi(r), Hr(d)), j_(d, jM) ? void 0 : NI(d);
        }
        function EE(r, a) {
          const l = a?.valueDeclaration && (!M8(a) || Lu(a.valueDeclaration) & 128) && m$(a) || _e;
          return l0(r, ft, l);
        }
        function S_(r, a) {
          const l = _x(r.valueDeclaration);
          if (l) {
            const I = tn(l) ? V1(l) : void 0;
            return I && I.typeExpression ? Ci(I.typeExpression) : r.valueDeclaration && w1(r.valueDeclaration, r, l) || ib(gc(l));
          }
          let f, d = !1, y = !1;
          if (E1(r) && (f = Qk(r, Ma(r))), !f) {
            let I;
            if (r.declarations) {
              let R;
              for (const J of r.declarations) {
                const Y = _n(J) || Ms(J) ? J : ko(J) ? _n(J.parent) ? J.parent : J : void 0;
                if (!Y)
                  continue;
                const Te = ko(Y) ? P3(Y) : Pc(Y);
                (Te === 4 || _n(Y) && J$(Y, Te)) && (B(Y) ? d = !0 : y = !0), Ms(Y) || (R = on(R, Y, r, J)), R || (I || (I = [])).push(_n(Y) || Ms(Y) ? v(r, a, Y, Te) : Kt);
              }
              f = R;
            }
            if (!f) {
              if (!Ar(I))
                return Ve;
              let R = d && r.declarations ? le(I, r.declarations) : void 0;
              if (y) {
                const Y = m$(r);
                Y && ((R || (R = [])).push(Y), d = !0);
              }
              const J = at(R, (Y) => !!(Y.flags & -98305)) ? R : I;
              f = Gn(J);
            }
          }
          const x = _f(Ol(
            f,
            /*isProperty*/
            !1,
            y && !d
          ));
          return r.valueDeclaration && tn(r.valueDeclaration) && Hc(x, (I) => !!(I.flags & -98305)) === Kt ? (sb(r.valueDeclaration, Ie), Ie) : x;
        }
        function w1(r, a, l) {
          var f, d;
          if (!tn(r) || !l || !ua(l) || l.properties.length)
            return;
          const y = qs();
          for (; _n(r) || kn(r); ) {
            const R = Sf(r);
            (f = R?.exports) != null && f.size && xm(y, R.exports), r = _n(r) ? r.parent : r.parent.parent;
          }
          const x = Sf(r);
          (d = x?.exports) != null && d.size && xm(y, x.exports);
          const I = Jo(a, y, Ue, Ue, Ue);
          return I.objectFlags |= 4096, I;
        }
        function on(r, a, l, f) {
          var d;
          const y = Yc(a.parent);
          if (y) {
            const x = _f(Ci(y));
            if (r)
              !Oe(r) && !Oe(x) && !gh(r, x) && a7e(
                /*firstDeclaration*/
                void 0,
                r,
                f,
                x
              );
            else return x;
          }
          if ((d = l.parent) != null && d.valueDeclaration) {
            const x = jk(l.parent);
            if (x.valueDeclaration) {
              const I = Yc(x.valueDeclaration);
              if (I) {
                const R = Zs(Ci(I), l.escapedName);
                if (R)
                  return P1(R);
              }
            }
          }
          return r;
        }
        function v(r, a, l, f) {
          if (Ms(l)) {
            if (a)
              return Qr(a);
            const x = gc(l.arguments[2]), I = qc(x, "value");
            if (I)
              return I;
            const R = qc(x, "get");
            if (R) {
              const Y = jT(R);
              if (Y)
                return Va(Y);
            }
            const J = qc(x, "set");
            if (J) {
              const Y = jT(J);
              if (Y)
                return Zde(Y);
            }
            return Ie;
          }
          if (P(l.left, l.right))
            return Ie;
          const d = f === 1 && (kn(l.left) || fo(l.left)) && (Rg(l.left.expression) || Fe(l.left.expression) && gS(l.left.expression)), y = a ? Qr(a) : d ? qu(gc(l.right)) : ib(gc(l.right));
          if (y.flags & 524288 && f === 2 && r.escapedName === "export=") {
            const x = jd(y), I = qs();
            A7(x.members, I);
            const R = I.size;
            a && !a.exports && (a.exports = qs()), (a || r).exports.forEach((Y, Te) => {
              var de;
              const Ge = I.get(Te);
              if (Ge && Ge !== Y && !(Y.flags & 2097152))
                if (Y.flags & 111551 && Ge.flags & 111551) {
                  if (Y.valueDeclaration && Ge.valueDeclaration && Er(Y.valueDeclaration) !== Er(Ge.valueDeclaration)) {
                    const ht = Ei(Y.escapedName), nr = ((de = Mn(Ge.valueDeclaration, El)) == null ? void 0 : de.name) || Ge.valueDeclaration;
                    Ws(
                      Be(Y.valueDeclaration, p.Duplicate_identifier_0, ht),
                      Kr(nr, p._0_was_also_declared_here, ht)
                    ), Ws(
                      Be(nr, p.Duplicate_identifier_0, ht),
                      Kr(Y.valueDeclaration, p._0_was_also_declared_here, ht)
                    );
                  }
                  const ct = sa(Y.flags | Ge.flags, Te);
                  ct.links.type = Gn([Qr(Y), Qr(Ge)]), ct.valueDeclaration = Ge.valueDeclaration, ct.declarations = Ji(Ge.declarations, Y.declarations), I.set(Te, ct);
                } else
                  I.set(Te, Tm(Y, Ge));
              else
                I.set(Te, Y);
            });
            const J = Jo(
              R !== I.size ? void 0 : x.symbol,
              // Only set the type's symbol if it looks to be the same as the original type
              I,
              x.callSignatures,
              x.constructSignatures,
              x.indexInfos
            );
            if (R === I.size && (y.aliasSymbol && (J.aliasSymbol = y.aliasSymbol, J.aliasTypeArguments = y.aliasTypeArguments), Cn(y) & 4)) {
              J.aliasSymbol = y.symbol;
              const Y = Io(y);
              J.aliasTypeArguments = Ar(Y) ? Y : void 0;
            }
            return J.objectFlags |= eM([y]) | Cn(y) & 20608, J.symbol && J.symbol.flags & 32 && y === pp(J.symbol) && (J.objectFlags |= 16777216), J;
          }
          return h$(y) ? (sb(l, ll), ll) : y;
        }
        function P(r, a) {
          return kn(r) && r.expression.kind === 110 && Xx(a, (l) => Ul(r, l));
        }
        function B(r) {
          const a = Ou(
            r,
            /*includeArrowFunctions*/
            !1,
            /*includeClassComputedPropertyName*/
            !1
          );
          return a.kind === 176 || a.kind === 262 || a.kind === 218 && !N3(a.parent);
        }
        function le(r, a) {
          return E.assert(r.length === a.length), r.filter((l, f) => {
            const d = a[f], y = _n(d) ? d : _n(d.parent) ? d.parent : void 0;
            return y && B(y);
          });
        }
        function Je(r, a, l) {
          if (r.initializer) {
            const f = Ps(r.name) ? Yi(
              r.name,
              /*includePatternInType*/
              !0,
              /*reportErrors*/
              !1
            ) : mt;
            return Ol(IIe(r, pP(r, 0, f)));
          }
          return Ps(r.name) ? Yi(r.name, a, l) : (l && !Yk(r) && sb(r, Ie), a ? Zr : Ie);
        }
        function Ht(r, a, l) {
          const f = qs();
          let d, y = 131200;
          ar(r.elements, (I) => {
            const R = I.propertyName || I.name;
            if (I.dotDotDotToken) {
              d = dh(
                st,
                Ie,
                /*isReadonly*/
                !1
              );
              return;
            }
            const J = t0(R);
            if (!ip(J)) {
              y |= 512;
              return;
            }
            const Y = sp(J), Te = 4 | (I.initializer ? 16777216 : 0), de = sa(Te, Y);
            de.links.type = Je(I, a, l), f.set(de.escapedName, de);
          });
          const x = Jo(
            /*symbol*/
            void 0,
            f,
            Ue,
            Ue,
            d ? [d] : Ue
          );
          return x.objectFlags |= y, a && (x.pattern = r, x.objectFlags |= 131072), x;
        }
        function mn(r, a, l) {
          const f = r.elements, d = Po(f), y = d && d.kind === 208 && d.dotDotDotToken ? d : void 0;
          if (f.length === 0 || f.length === 1 && y)
            return j >= 2 ? z3e(Ie) : ll;
          const x = fr(f, (Y) => vl(Y) ? Ie : Je(Y, a, l)), I = BI(f, (Y) => !(Y === y || vl(Y) || uC(Y)), f.length - 1) + 1, R = fr(
            f,
            (Y, Te) => Y === y ? 4 : Te >= I ? 2 : 1
            /* Required */
          );
          let J = vg(x, R);
          return a && (J = v3e(J), J.pattern = r, J.objectFlags |= 131072), J;
        }
        function Yi(r, a = !1, l = !1) {
          a && Ds.push(r);
          const f = r.kind === 206 ? Ht(r, a, l) : mn(r, a, l);
          return a && Ds.pop(), f;
        }
        function Ha(r, a) {
          return mg(Od(
            r,
            /*includeOptionality*/
            !0,
            0
            /* Normal */
          ), r, a);
        }
        function Ld(r) {
          const a = yn(r);
          if (!a.resolvedType) {
            const l = sa(
              4096,
              "__importAttributes"
              /* ImportAttributes */
            ), f = qs();
            ar(r.elements, (y) => {
              const x = sa(4, sF(y));
              x.parent = l, x.links.type = kut(y), x.links.target = x, f.set(x.escapedName, x);
            });
            const d = Jo(l, f, Ue, Ue, Ue);
            d.objectFlags |= 262272, a.resolvedType = d;
          }
          return a.resolvedType;
        }
        function _h(r) {
          const a = Sf(r), l = ntt(
            /*reportErrors*/
            !1
          );
          return l && a && a === l;
        }
        function mg(r, a, l) {
          return r ? (r.flags & 4096 && _h(a.parent) && (r = dpe(a)), l && C$(a, r), r.flags & 8192 && (ya(a) || !a.type) && r.symbol !== vn(a) && (r = wt), _f(r)) : (r = Ni(a) && a.dotDotDotToken ? ll : Ie, l && (Yk(a) || sb(a, r)), r);
        }
        function Yk(r) {
          const a = em(r), l = a.kind === 169 ? a.parent : a;
          return eR(l);
        }
        function Qv(r) {
          const a = Yc(r);
          if (a)
            return Ci(a);
        }
        function OG(r) {
          let a = r.valueDeclaration;
          return a ? (ya(a) && (a = KT(a)), Ni(a) ? c$(a.parent) : !1) : !1;
        }
        function pfe(r) {
          const a = Ri(r);
          if (!a.type) {
            const l = dfe(r);
            return !a.type && !OG(r) && (a.type = l), l;
          }
          return a.type;
        }
        function dfe(r) {
          if (r.flags & 4194304)
            return Gw(r);
          if (r === Pe)
            return Ie;
          if (r.flags & 134217728 && r.valueDeclaration) {
            const f = vn(Er(r.valueDeclaration)), d = sa(f.flags, "exports");
            d.declarations = f.declarations ? f.declarations.slice() : [], d.parent = r, d.links.target = f, f.valueDeclaration && (d.valueDeclaration = f.valueDeclaration), f.members && (d.members = new Map(f.members)), f.exports && (d.exports = new Map(f.exports));
            const y = qs();
            return y.set("exports", d), Jo(r, y, Ue, Ue, Ue);
          }
          E.assertIsDefined(r.valueDeclaration);
          const a = r.valueDeclaration;
          if (xi(a) && Kf(a))
            return a.statements.length ? _f(ib(Hi(a.statements[0].expression))) : Pa;
          if (By(a))
            return Xw(r);
          if (!Pm(
            r,
            0
            /* Type */
          ))
            return r.flags & 512 && !(r.flags & 67108864) ? Qw(r) : DE(r);
          let l;
          if (a.kind === 277)
            l = mg(Qv(a) || gc(a.expression), a);
          else if (_n(a) || tn(a) && (Ms(a) || (kn(a) || s5(a)) && _n(a.parent)))
            l = S_(r);
          else if (kn(a) || fo(a) || Fe(a) || Ba(a) || m_(a) || el(a) || Tc(a) || uc(a) && !Ep(a) || Xp(a) || xi(a)) {
            if (r.flags & 9136)
              return Qw(r);
            l = _n(a.parent) ? S_(r) : Qv(a) || Ie;
          } else if (tl(a))
            l = Qv(a) || FIe(a);
          else if (um(a))
            l = Qv(a) || p8e(a);
          else if (_u(a))
            l = Qv(a) || mP(
              a.name,
              0
              /* Normal */
            );
          else if (Ep(a))
            l = Qv(a) || OIe(
              a,
              0
              /* Normal */
            );
          else if (Ni(a) || is(a) || ju(a) || Zn(a) || ya(a) || E4(a))
            l = Ha(
              a,
              /*reportErrors*/
              !0
            );
          else if (Gb(a))
            l = Qw(r);
          else if (A0(a))
            l = UL(r);
          else
            return E.fail("Unhandled declaration kind! " + E.formatSyntaxKind(a.kind) + " for " + E.formatSymbol(r));
          return Nm() ? l : r.flags & 512 && !(r.flags & 67108864) ? Qw(r) : DE(r);
        }
        function bT(r) {
          if (r)
            switch (r.kind) {
              case 177:
                return mf(r);
              case 178:
                return $B(r);
              case 172:
                return E.assert(tm(r)), Yc(r);
            }
        }
        function $w(r) {
          const a = bT(r);
          return a && Ci(a);
        }
        function mfe(r) {
          const a = Ume(r);
          return a && a.symbol;
        }
        function gfe(r) {
          return Kv(qf(r));
        }
        function Xw(r) {
          const a = Ri(r);
          if (!a.type) {
            if (!Pm(
              r,
              0
              /* Type */
            ))
              return Ve;
            const l = jo(
              r,
              177
              /* GetAccessor */
            ), f = jo(
              r,
              178
              /* SetAccessor */
            ), d = Mn(jo(
              r,
              172
              /* PropertyDeclaration */
            ), u_);
            let y = l && tn(l) && fp(l) || $w(l) || $w(f) || $w(d) || l && l.body && sX(l) || d && Ha(
              d,
              /*reportErrors*/
              !0
            );
            y || (f && !eR(f) ? Pd(fe, f, p.Property_0_implicitly_has_type_any_because_its_set_accessor_lacks_a_parameter_type_annotation, Bi(r)) : l && !eR(l) ? Pd(fe, l, p.Property_0_implicitly_has_type_any_because_its_get_accessor_lacks_a_return_type_annotation, Bi(r)) : d && !eR(d) && Pd(fe, d, p.Member_0_implicitly_has_an_1_type, Bi(r), "any"), y = Ie), Nm() || (bT(l) ? Be(l, p._0_is_referenced_directly_or_indirectly_in_its_own_type_annotation, Bi(r)) : bT(f) || bT(d) ? Be(f, p._0_is_referenced_directly_or_indirectly_in_its_own_type_annotation, Bi(r)) : l && fe && Be(l, p._0_implicitly_has_return_type_any_because_it_does_not_have_a_return_type_annotation_and_is_referenced_directly_or_indirectly_in_one_of_its_return_expressions, Bi(r)), y = Ie), a.type ?? (a.type = y);
          }
          return a.type;
        }
        function LG(r) {
          const a = Ri(r);
          if (!a.writeType) {
            if (!Pm(
              r,
              7
              /* WriteType */
            ))
              return Ve;
            const l = jo(
              r,
              178
              /* SetAccessor */
            ) ?? Mn(jo(
              r,
              172
              /* PropertyDeclaration */
            ), u_);
            let f = $w(l);
            Nm() || (bT(l) && Be(l, p._0_is_referenced_directly_or_indirectly_in_its_own_type_annotation, Bi(r)), f = Ie), a.writeType ?? (a.writeType = f || Xw(r));
          }
          return a.writeType;
        }
        function VL(r) {
          const a = Ja(pp(r));
          return a.flags & 8650752 ? a : a.flags & 2097152 ? Dn(a.types, (l) => !!(l.flags & 8650752)) : void 0;
        }
        function Qw(r) {
          let a = Ri(r);
          const l = a;
          if (!a.type) {
            const f = r.valueDeclaration && nX(
              r.valueDeclaration,
              /*allowDeclaration*/
              !1
            );
            if (f) {
              const d = qde(r, f);
              d && (r = d, a = d.links);
            }
            l.type = a.type = Zk(r);
          }
          return a.type;
        }
        function Zk(r) {
          const a = r.valueDeclaration;
          if (r.flags & 1536 && c3(r))
            return Ie;
          if (a && (a.kind === 226 || ko(a) && a.parent.kind === 226))
            return S_(r);
          if (r.flags & 512 && a && xi(a) && a.commonJsModuleIndicator) {
            const f = b_(r);
            if (f !== r) {
              if (!Pm(
                r,
                0
                /* Type */
              ))
                return Ve;
              const d = La(r.exports.get(
                "export="
                /* ExportEquals */
              )), y = S_(d, d === f ? void 0 : f);
              return Nm() ? y : DE(r);
            }
          }
          const l = ir(16, r);
          if (r.flags & 32) {
            const f = VL(r);
            return f ? aa([l, f]) : l;
          } else
            return K && r.flags & 16777216 ? L1(
              l,
              /*isProperty*/
              !0
            ) : l;
        }
        function UL(r) {
          const a = Ri(r);
          return a.type || (a.type = IPe(r));
        }
        function hfe(r) {
          const a = Ri(r);
          if (!a.type) {
            if (!Pm(
              r,
              0
              /* Type */
            ))
              return Ve;
            const l = Uc(r), f = r.declarations && Mv(
              zf(r),
              /*dontRecursivelyResolve*/
              !0
            ), d = Ic(f?.declarations, (y) => Oo(y) ? Qv(y) : void 0);
            if (a.type ?? (a.type = f?.declarations && EX(f.declarations) && r.declarations.length ? _l(f) : EX(r.declarations) ? ft : d || (cf(l) & 111551 ? Qr(l) : Ve)), !Nm())
              return DE(f ?? r), a.type ?? (a.type = Ve);
          }
          return a.type;
        }
        function yfe(r) {
          const a = Ri(r);
          return a.type || (a.type = ji(Qr(a.target), a.mapper));
        }
        function qL(r) {
          const a = Ri(r);
          return a.writeType || (a.writeType = ji(sy(a.target), a.mapper));
        }
        function DE(r) {
          const a = r.valueDeclaration;
          if (a) {
            if (Yc(a))
              return Be(r.valueDeclaration, p._0_is_referenced_directly_or_indirectly_in_its_own_type_annotation, Bi(r)), Ve;
            fe && (a.kind !== 169 || a.initializer) && Be(r.valueDeclaration, p._0_implicitly_has_type_any_because_it_does_not_have_a_type_annotation_and_is_referenced_directly_or_indirectly_in_its_own_initializer, Bi(r));
          } else if (r.flags & 2097152) {
            const l = zf(r);
            l && Be(l, p.Circular_definition_of_import_alias_0, Bi(r));
          }
          return Ie;
        }
        function HL(r) {
          const a = Ri(r);
          return a.type || (E.assertIsDefined(a.deferralParent), E.assertIsDefined(a.deferralConstituents), a.type = a.deferralParent.flags & 1048576 ? Gn(a.deferralConstituents) : aa(a.deferralConstituents)), a.type;
        }
        function vfe(r) {
          const a = Ri(r);
          return !a.writeType && a.deferralWriteConstituents && (E.assertIsDefined(a.deferralParent), E.assertIsDefined(a.deferralConstituents), a.writeType = a.deferralParent.flags & 1048576 ? Gn(a.deferralWriteConstituents) : aa(a.deferralWriteConstituents)), a.writeType;
        }
        function sy(r) {
          const a = lc(r);
          return r.flags & 4 ? a & 2 ? a & 65536 ? vfe(r) || HL(r) : (
            // NOTE: cast to TransientSymbol should be safe because only TransientSymbols can have CheckFlags.SyntheticProperty
            r.links.writeType || r.links.type
          ) : o0(Qr(r), !!(r.flags & 16777216)) : r.flags & 98304 ? a & 1 ? qL(r) : LG(r) : Qr(r);
        }
        function Qr(r) {
          const a = lc(r);
          return a & 65536 ? HL(r) : a & 1 ? yfe(r) : a & 262144 ? vet(r) : a & 8192 ? Bnt(r) : r.flags & 7 ? pfe(r) : r.flags & 9136 ? Qw(r) : r.flags & 8 ? UL(r) : r.flags & 98304 ? Xw(r) : r.flags & 2097152 ? hfe(r) : Ve;
        }
        function P1(r) {
          return o0(Qr(r), !!(r.flags & 16777216));
        }
        function R8(r, a) {
          if (r === void 0 || (Cn(r) & 4) === 0)
            return !1;
          for (const l of a)
            if (r.target === l)
              return !0;
          return !1;
        }
        function Am(r, a) {
          return r !== void 0 && a !== void 0 && (Cn(r) & 4) !== 0 && r.target === a;
        }
        function wE(r) {
          return Cn(r) & 4 ? r.target : r;
        }
        function PE(r, a) {
          return l(r);
          function l(f) {
            if (Cn(f) & 7) {
              const d = wE(f);
              return d === a || at(fl(d), l);
            } else if (f.flags & 2097152)
              return at(f.types, l);
            return !1;
          }
        }
        function j8(r, a) {
          for (const l of a)
            r = Sh(r, F2(vn(l)));
          return r;
        }
        function ay(r, a) {
          for (; ; ) {
            if (r = r.parent, r && _n(r)) {
              const f = Pc(r);
              if (f === 6 || f === 3) {
                const d = vn(r.left);
                d && d.parent && !_r(d.parent.valueDeclaration, (y) => r === y) && (r = d.parent.valueDeclaration);
              }
            }
            if (!r)
              return;
            const l = r.kind;
            switch (l) {
              case 263:
              case 231:
              case 264:
              case 179:
              case 180:
              case 173:
              case 184:
              case 185:
              case 317:
              case 262:
              case 174:
              case 218:
              case 219:
              case 265:
              case 345:
              case 346:
              case 340:
              case 338:
              case 200:
              case 194: {
                const d = ay(r, a);
                if ((l === 218 || l === 219 || Ep(r)) && Hf(r)) {
                  const I = Xc(As(
                    Qr(vn(r)),
                    0
                    /* Call */
                  ));
                  if (I && I.typeParameters)
                    return [...d || Ue, ...I.typeParameters];
                }
                if (l === 200)
                  return Dr(d, F2(vn(r.typeParameter)));
                if (l === 194)
                  return Ji(d, upe(r));
                const y = j8(d, Ly(r)), x = a && (l === 263 || l === 231 || l === 264 || jm(r)) && pp(vn(r)).thisType;
                return x ? Dr(y, x) : y;
              }
              case 341:
                const f = M3(r);
                f && (r = f.valueDeclaration);
                break;
              case 320: {
                const d = ay(r, a);
                return r.tags ? j8(d, oa(r.tags, (y) => Ip(y) ? y.typeParameters : void 0)) : d;
              }
            }
          }
        }
        function MG(r) {
          var a;
          const l = r.flags & 32 || r.flags & 16 ? r.valueDeclaration : (a = r.declarations) == null ? void 0 : a.find((f) => {
            if (f.kind === 264)
              return !0;
            if (f.kind !== 260)
              return !1;
            const d = f.initializer;
            return !!d && (d.kind === 218 || d.kind === 219);
          });
          return E.assert(!!l, "Class was missing valueDeclaration -OR- non-class had no interface declarations"), ay(l);
        }
        function id(r) {
          if (!r.declarations)
            return;
          let a;
          for (const l of r.declarations)
            (l.kind === 264 || l.kind === 263 || l.kind === 231 || jm(l) || O3(l)) && (a = j8(a, Ly(l)));
          return a;
        }
        function wr(r) {
          return Ji(MG(r), id(r));
        }
        function En(r) {
          const a = As(
            r,
            1
            /* Construct */
          );
          if (a.length === 1) {
            const l = a[0];
            if (!l.typeParameters && l.parameters.length === 1 && Tu(l)) {
              const f = HM(l.parameters[0]);
              return be(f) || bM(f) === Ie;
            }
          }
          return !1;
        }
        function In(r) {
          if (As(
            r,
            1
            /* Construct */
          ).length > 0)
            return !0;
          if (r.flags & 8650752) {
            const a = ru(r);
            return !!a && En(a);
          }
          return !1;
        }
        function _i(r) {
          const a = Fh(r.symbol);
          return a && Zd(a);
        }
        function pi(r, a, l) {
          const f = Ar(a), d = tn(l);
          return Tn(As(
            r,
            1
            /* Construct */
          ), (y) => (d || f >= yg(y.typeParameters)) && f <= Ar(y.typeParameters));
        }
        function Ra(r, a, l) {
          const f = pi(r, a, l), d = fr(a, Ci);
          return $c(f, (y) => at(y.typeParameters) ? G8(y, d, tn(l)) : y);
        }
        function Ja(r) {
          if (!r.resolvedBaseConstructorType) {
            const a = Fh(r.symbol), l = a && Zd(a), f = _i(r);
            if (!f)
              return r.resolvedBaseConstructorType = _e;
            if (!Pm(
              r,
              1
              /* ResolvedBaseConstructorType */
            ))
              return Ve;
            const d = Hi(f.expression);
            if (l && f !== l && (E.assert(!l.typeArguments), Hi(l.expression)), d.flags & 2621440 && jd(d), !Nm())
              return Be(r.symbol.valueDeclaration, p._0_is_referenced_directly_or_indirectly_in_its_own_base_expression, Bi(r.symbol)), r.resolvedBaseConstructorType ?? (r.resolvedBaseConstructorType = Ve);
            if (!(d.flags & 1) && d !== ke && !In(d)) {
              const y = Be(f.expression, p.Type_0_is_not_a_constructor_function_type, Hr(d));
              if (d.flags & 262144) {
                const x = tP(d);
                let I = mt;
                if (x) {
                  const R = As(
                    x,
                    1
                    /* Construct */
                  );
                  R[0] && (I = Va(R[0]));
                }
                d.symbol.declarations && Ws(y, Kr(d.symbol.declarations[0], p.Did_you_mean_for_0_to_be_constrained_to_type_new_args_Colon_any_1, Bi(d.symbol), Hr(I)));
              }
              return r.resolvedBaseConstructorType ?? (r.resolvedBaseConstructorType = Ve);
            }
            r.resolvedBaseConstructorType ?? (r.resolvedBaseConstructorType = d);
          }
          return r.resolvedBaseConstructorType;
        }
        function fu(r) {
          let a = Ue;
          if (r.symbol.declarations)
            for (const l of r.symbol.declarations) {
              const f = $C(l);
              if (f)
                for (const d of f) {
                  const y = Ci(d);
                  Oe(y) || (a === Ue ? a = [y] : a.push(y));
                }
            }
          return a;
        }
        function Im(r, a) {
          Be(r, p.Type_0_recursively_references_itself_as_a_base_type, Hr(
            a,
            /*enclosingDeclaration*/
            void 0,
            2
            /* WriteArrayAsGenericType */
          ));
        }
        function fl(r) {
          if (!r.baseTypesResolved) {
            if (Pm(
              r,
              6
              /* ResolvedBaseTypes */
            ) && (r.objectFlags & 8 ? r.resolvedBaseTypes = [Md(r)] : r.symbol.flags & 96 ? (r.symbol.flags & 32 && oy(r), r.symbol.flags & 64 && J8(r)) : E.fail("type must be class or interface"), !Nm() && r.symbol.declarations))
              for (const a of r.symbol.declarations)
                (a.kind === 263 || a.kind === 264) && Im(a, r);
            r.baseTypesResolved = !0;
          }
          return r.resolvedBaseTypes;
        }
        function Md(r) {
          const a = $c(r.typeParameters, (l, f) => r.elementFlags[f] & 8 ? M_(l, At) : l);
          return du(Gn(a || Ue), r.readonly);
        }
        function oy(r) {
          r.resolvedBaseTypes = Hj;
          const a = Uu(Ja(r));
          if (!(a.flags & 2621441))
            return r.resolvedBaseTypes = Ue;
          const l = _i(r);
          let f;
          const d = a.symbol ? wo(a.symbol) : void 0;
          if (a.symbol && a.symbol.flags & 32 && B8(d))
            f = b3e(l, a.symbol);
          else if (a.flags & 1)
            f = a;
          else {
            const x = Ra(a, l.typeArguments, l);
            if (!x.length)
              return Be(l.expression, p.No_base_constructor_has_the_specified_number_of_type_arguments), r.resolvedBaseTypes = Ue;
            f = Va(x[0]);
          }
          if (Oe(f))
            return r.resolvedBaseTypes = Ue;
          const y = sd(f);
          if (!Yv(y)) {
            const x = Ife(
              /*errorInfo*/
              void 0,
              f
            ), I = vs(x, p.Base_constructor_return_type_0_is_not_an_object_type_or_intersection_of_object_types_with_statically_known_members, Hr(y));
            return Ia.add(Lg(Er(l.expression), l.expression, I)), r.resolvedBaseTypes = Ue;
          }
          return r === y || PE(y, r) ? (Be(r.symbol.valueDeclaration, p.Type_0_recursively_references_itself_as_a_base_type, Hr(
            r,
            /*enclosingDeclaration*/
            void 0,
            2
            /* WriteArrayAsGenericType */
          )), r.resolvedBaseTypes = Ue) : (r.resolvedBaseTypes === Hj && (r.members = void 0), r.resolvedBaseTypes = [y]);
        }
        function B8(r) {
          const a = r.outerTypeParameters;
          if (a) {
            const l = a.length - 1, f = Io(r);
            return a[l].symbol !== f[l].symbol;
          }
          return !0;
        }
        function Yv(r) {
          if (r.flags & 262144) {
            const a = ru(r);
            if (a)
              return Yv(a);
          }
          return !!(r.flags & 67633153 && !T_(r) || r.flags & 2097152 && Pi(r.types, Yv));
        }
        function J8(r) {
          if (r.resolvedBaseTypes = r.resolvedBaseTypes || Ue, r.symbol.declarations) {
            for (const a of r.symbol.declarations)
              if (a.kind === 264 && G4(a))
                for (const l of G4(a)) {
                  const f = sd(Ci(l));
                  Oe(f) || (Yv(f) ? r !== f && !PE(f, r) ? r.resolvedBaseTypes === Ue ? r.resolvedBaseTypes = [f] : r.resolvedBaseTypes.push(f) : Im(a, r) : Be(l, p.An_interface_can_only_extend_an_object_type_or_intersection_of_object_types_with_statically_known_members));
                }
          }
        }
        function GKe(r) {
          if (!r.declarations)
            return !0;
          for (const a of r.declarations)
            if (a.kind === 264) {
              if (a.flags & 256)
                return !1;
              const l = G4(a);
              if (l) {
                for (const f of l)
                  if (to(f.expression)) {
                    const d = mc(
                      f.expression,
                      788968,
                      /*ignoreErrors*/
                      !0
                    );
                    if (!d || !(d.flags & 64) || pp(d).thisType)
                      return !1;
                  }
              }
            }
          return !0;
        }
        function pp(r) {
          let a = Ri(r);
          const l = a;
          if (!a.declaredType) {
            const f = r.flags & 32 ? 1 : 2, d = qde(r, r.valueDeclaration && $at(r.valueDeclaration));
            d && (r = d, a = d.links);
            const y = l.declaredType = a.declaredType = ir(f, r), x = MG(r), I = id(r);
            (x || I || f === 1 || !GKe(r)) && (y.objectFlags |= 4, y.typeParameters = Ji(x, I), y.outerTypeParameters = x, y.localTypeParameters = I, y.instantiations = /* @__PURE__ */ new Map(), y.instantiations.set(Wp(y.typeParameters), y), y.target = y, y.resolvedTypeArguments = y.typeParameters, y.thisType = hi(r), y.thisType.isThisType = !0, y.thisType.constraint = y);
          }
          return a.declaredType;
        }
        function PPe(r) {
          var a;
          const l = Ri(r);
          if (!l.declaredType) {
            if (!Pm(
              r,
              2
              /* DeclaredType */
            ))
              return Ve;
            const f = E.checkDefined((a = r.declarations) == null ? void 0 : a.find(O3), "Type alias symbol with no valid declaration found"), d = Dp(f) ? f.typeExpression : f.type;
            let y = d ? Ci(d) : Ve;
            if (Nm()) {
              const x = id(r);
              x && (l.typeParameters = x, l.instantiations = /* @__PURE__ */ new Map(), l.instantiations.set(Wp(x), y)), y === we && r.escapedName === "BuiltinIteratorReturn" && (y = $fe());
            } else
              y = Ve, f.kind === 340 ? Be(f.typeExpression.type, p.Type_alias_0_circularly_references_itself, Bi(r)) : Be(El(f) && f.name || f, p.Type_alias_0_circularly_references_itself, Bi(r));
            l.declaredType ?? (l.declaredType = y);
          }
          return l.declaredType;
        }
        function RG(r) {
          return r.flags & 1056 && r.symbol.flags & 8 ? wo(O_(r.symbol)) : r;
        }
        function NPe(r) {
          const a = Ri(r);
          if (!a.declaredType) {
            const l = [];
            if (r.declarations) {
              for (const d of r.declarations)
                if (d.kind === 266) {
                  for (const y of d.members)
                    if (AE(y)) {
                      const x = vn(y), I = JT(y).value, R = sC(
                        I !== void 0 ? vrt(I, ea(r), x) : APe(x)
                      );
                      Ri(x).declaredType = R, l.push(qu(R));
                    }
                }
            }
            const f = l.length ? Gn(
              l,
              1,
              r,
              /*aliasTypeArguments*/
              void 0
            ) : APe(r);
            f.flags & 1048576 && (f.flags |= 1024, f.symbol = r), a.declaredType = f;
          }
          return a.declaredType;
        }
        function APe(r) {
          const a = uh(32, r), l = uh(32, r);
          return a.regularType = a, a.freshType = l, l.regularType = a, l.freshType = l, a;
        }
        function IPe(r) {
          const a = Ri(r);
          if (!a.declaredType) {
            const l = NPe(O_(r));
            a.declaredType || (a.declaredType = l);
          }
          return a.declaredType;
        }
        function F2(r) {
          const a = Ri(r);
          return a.declaredType || (a.declaredType = hi(r));
        }
        function $Ke(r) {
          const a = Ri(r);
          return a.declaredType || (a.declaredType = wo(Uc(r)));
        }
        function wo(r) {
          return FPe(r) || Ve;
        }
        function FPe(r) {
          if (r.flags & 96)
            return pp(r);
          if (r.flags & 524288)
            return PPe(r);
          if (r.flags & 262144)
            return F2(r);
          if (r.flags & 384)
            return NPe(r);
          if (r.flags & 8)
            return IPe(r);
          if (r.flags & 2097152)
            return $Ke(r);
        }
        function GL(r) {
          switch (r.kind) {
            case 133:
            case 159:
            case 154:
            case 150:
            case 163:
            case 136:
            case 155:
            case 151:
            case 116:
            case 157:
            case 146:
            case 201:
              return !0;
            case 188:
              return GL(r.elementType);
            case 183:
              return !r.typeArguments || r.typeArguments.every(GL);
          }
          return !1;
        }
        function XKe(r) {
          const a = PC(r);
          return !a || GL(a);
        }
        function OPe(r) {
          const a = Yc(r);
          return a ? GL(a) : !y0(r);
        }
        function QKe(r) {
          const a = mf(r), l = Ly(r);
          return (r.kind === 176 || !!a && GL(a)) && r.parameters.every(OPe) && l.every(XKe);
        }
        function YKe(r) {
          if (r.declarations && r.declarations.length === 1) {
            const a = r.declarations[0];
            if (a)
              switch (a.kind) {
                case 172:
                case 171:
                  return OPe(a);
                case 174:
                case 173:
                case 176:
                case 177:
                case 178:
                  return QKe(a);
              }
          }
          return !1;
        }
        function LPe(r, a, l) {
          const f = qs();
          for (const d of r)
            f.set(d.escapedName, l && YKe(d) ? d : ype(d, a));
          return f;
        }
        function MPe(r, a) {
          for (const l of a) {
            if (RPe(l))
              continue;
            const f = r.get(l.escapedName);
            (!f || f.valueDeclaration && _n(f.valueDeclaration) && !E1(f) && !uK(f.valueDeclaration)) && (r.set(l.escapedName, l), r.set(l.escapedName, l));
          }
        }
        function RPe(r) {
          return !!r.valueDeclaration && Iu(r.valueDeclaration) && zs(r.valueDeclaration);
        }
        function bfe(r) {
          if (!r.declaredProperties) {
            const a = r.symbol, l = gg(a);
            r.declaredProperties = us(l), r.declaredCallSignatures = Ue, r.declaredConstructSignatures = Ue, r.declaredIndexInfos = Ue, r.declaredCallSignatures = R2(l.get(
              "__call"
              /* Call */
            )), r.declaredConstructSignatures = R2(l.get(
              "__new"
              /* New */
            )), r.declaredIndexInfos = g3e(a);
          }
          return r;
        }
        function Sfe(r) {
          return BPe(r) && ip(ia(r) ? od(r) : gc(r.argumentExpression));
        }
        function jPe(r) {
          return BPe(r) && ZKe(ia(r) ? od(r) : gc(r.argumentExpression));
        }
        function BPe(r) {
          if (!ia(r) && !fo(r))
            return !1;
          const a = ia(r) ? r.expression : r.argumentExpression;
          return to(a);
        }
        function ZKe(r) {
          return js(r, Qn);
        }
        function z8(r) {
          return r.charCodeAt(0) === 95 && r.charCodeAt(1) === 95 && r.charCodeAt(2) === 64;
        }
        function NE(r) {
          const a = ls(r);
          return !!a && Sfe(a);
        }
        function JPe(r) {
          const a = ls(r);
          return !!a && jPe(a);
        }
        function AE(r) {
          return !Ph(r) || NE(r);
        }
        function zPe(r) {
          return f5(r) && !Sfe(r);
        }
        function KKe(r, a, l) {
          E.assert(!!(lc(r) & 4096), "Expected a late-bound symbol."), r.flags |= l, Ri(a.symbol).lateSymbol = r, r.declarations ? a.symbol.isReplaceableByMethod || r.declarations.push(a) : r.declarations = [a], l & 111551 && (!r.valueDeclaration || r.valueDeclaration.kind !== a.kind) && (r.valueDeclaration = a);
        }
        function WPe(r, a, l, f) {
          E.assert(!!f.symbol, "The member is expected to have a symbol.");
          const d = yn(f);
          if (!d.resolvedSymbol) {
            d.resolvedSymbol = f.symbol;
            const y = _n(f) ? f.left : f.name, x = fo(y) ? gc(y.argumentExpression) : od(y);
            if (ip(x)) {
              const I = sp(x), R = f.symbol.flags;
              let J = l.get(I);
              J || l.set(I, J = sa(
                0,
                I,
                4096
                /* Late */
              ));
              const Y = a && a.get(I);
              if (!(r.flags & 32) && J.flags & sh(R)) {
                const Te = Y ? Ji(Y.declarations, J.declarations) : J.declarations, de = !(x.flags & 8192) && Ei(I) || _o(y);
                ar(Te, (Ge) => Be(ls(Ge) || Ge, p.Property_0_was_also_declared_here, de)), Be(y || f, p.Duplicate_property_0, de), J = sa(
                  0,
                  I,
                  4096
                  /* Late */
                );
              }
              return J.links.nameType = x, KKe(J, f, R), J.parent ? E.assert(J.parent === r, "Existing symbol parent should match new one") : J.parent = r, d.resolvedSymbol = J;
            }
          }
          return d.resolvedSymbol;
        }
        function eet(r, a, l, f) {
          let d = l.get(
            "__index"
            /* Index */
          );
          if (!d) {
            const y = a?.get(
              "__index"
              /* Index */
            );
            y ? (d = Iv(y), d.links.checkFlags |= 4096) : d = sa(
              0,
              "__index",
              4096
              /* Late */
            ), l.set("__index", d);
          }
          d.declarations ? f.symbol.isReplaceableByMethod || d.declarations.push(f) : d.declarations = [f];
        }
        function Tfe(r, a) {
          const l = Ri(r);
          if (!l[a]) {
            const f = a === "resolvedExports", d = f ? r.flags & 1536 ? Wv(r).exports : r.exports : r.members;
            l[a] = d || A;
            const y = qs();
            for (const R of r.declarations || Ue) {
              const J = nK(R);
              if (J)
                for (const Y of J)
                  f === sl(Y) && (NE(Y) ? WPe(r, d, y, Y) : JPe(Y) && eet(r, d, y, Y));
            }
            const x = jk(r).assignmentDeclarationMembers;
            if (x) {
              const R = rs(x.values());
              for (const J of R) {
                const Y = Pc(J), Te = Y === 3 || _n(J) && J$(J, Y) || Y === 9 || Y === 6;
                f === !Te && NE(J) && WPe(r, d, y, J);
              }
            }
            let I = Q0(d, y);
            if (r.flags & 33554432 && l.cjsExportMerged && r.declarations)
              for (const R of r.declarations) {
                const J = Ri(R.symbol)[a];
                if (!I) {
                  I = J;
                  continue;
                }
                J && J.forEach((Y, Te) => {
                  const de = I.get(Te);
                  if (!de) I.set(Te, Y);
                  else {
                    if (de === Y) return;
                    I.set(Te, Tm(de, Y));
                  }
                });
              }
            l[a] = I || A;
          }
          return l[a];
        }
        function gg(r) {
          return r.flags & 6256 ? Tfe(
            r,
            "resolvedMembers"
            /* resolvedMembers */
          ) : r.members || A;
        }
        function jG(r) {
          if (r.flags & 106500 && r.escapedName === "__computed") {
            const a = Ri(r);
            if (!a.lateSymbol && at(r.declarations, NE)) {
              const l = La(r.parent);
              at(r.declarations, sl) ? lf(l) : gg(l);
            }
            return a.lateSymbol || (a.lateSymbol = r);
          }
          return r;
        }
        function uf(r, a, l) {
          if (Cn(r) & 4) {
            const f = r.target, d = Io(r);
            return Ar(f.typeParameters) === Ar(d) ? e0(f, Ji(d, [a || f.thisType])) : r;
          } else if (r.flags & 2097152) {
            const f = $c(r.types, (d) => uf(d, a, l));
            return f !== r.types ? aa(f) : r;
          }
          return l ? Uu(r) : r;
        }
        function VPe(r, a, l, f) {
          let d, y, x, I, R;
          CR(l, f, 0, l.length) ? (y = a.symbol ? gg(a.symbol) : qs(a.declaredProperties), x = a.declaredCallSignatures, I = a.declaredConstructSignatures, R = a.declaredIndexInfos) : (d = R_(l, f), y = LPe(
            a.declaredProperties,
            d,
            /*mappingThisOnly*/
            l.length === 1
          ), x = s$(a.declaredCallSignatures, d), I = s$(a.declaredConstructSignatures, d), R = bNe(a.declaredIndexInfos, d));
          const J = fl(a);
          if (J.length) {
            if (a.symbol && y === gg(a.symbol)) {
              const Te = qs(a.declaredProperties), de = VG(a.symbol);
              de && Te.set("__index", de), y = Te;
            }
            ic(r, y, x, I, R);
            const Y = Po(f);
            for (const Te of J) {
              const de = Y ? uf(ji(Te, d), Y) : Te;
              MPe(y, Ga(de)), x = Ji(x, As(
                de,
                0
                /* Call */
              )), I = Ji(I, As(
                de,
                1
                /* Construct */
              ));
              const Ge = de !== Ie ? pu(de) : [Qi];
              R = Ji(R, Tn(Ge, (ct) => !Kw(R, ct.keyType)));
            }
          }
          ic(r, y, x, I, R);
        }
        function tet(r) {
          VPe(r, bfe(r), Ue, Ue);
        }
        function ret(r) {
          const a = bfe(r.target), l = Ji(a.typeParameters, [a.thisType]), f = Io(r), d = f.length === l.length ? f : Ji(f, [r]);
          VPe(r, a, l, d);
        }
        function fh(r, a, l, f, d, y, x, I) {
          const R = new _(Wr, I);
          return R.declaration = r, R.typeParameters = a, R.parameters = f, R.thisParameter = l, R.resolvedReturnType = d, R.resolvedTypePredicate = y, R.minArgumentCount = x, R.resolvedMinArgumentCount = void 0, R.target = void 0, R.mapper = void 0, R.compositeSignatures = void 0, R.compositeKind = void 0, R;
        }
        function W8(r) {
          const a = fh(
            r.declaration,
            r.typeParameters,
            r.thisParameter,
            r.parameters,
            /*resolvedReturnType*/
            void 0,
            /*resolvedTypePredicate*/
            void 0,
            r.minArgumentCount,
            r.flags & 167
            /* PropagatingFlags */
          );
          return a.target = r.target, a.mapper = r.mapper, a.compositeSignatures = r.compositeSignatures, a.compositeKind = r.compositeKind, a;
        }
        function UPe(r, a) {
          const l = W8(r);
          return l.compositeSignatures = a, l.compositeKind = 1048576, l.target = void 0, l.mapper = void 0, l;
        }
        function net(r, a) {
          if ((r.flags & 24) === a)
            return r;
          r.optionalCallSignatureCache || (r.optionalCallSignatureCache = {});
          const l = a === 8 ? "inner" : "outer";
          return r.optionalCallSignatureCache[l] || (r.optionalCallSignatureCache[l] = iet(r, a));
        }
        function iet(r, a) {
          E.assert(a === 8 || a === 16, "An optional call signature can either be for an inner call chain or an outer call chain, but not both.");
          const l = W8(r);
          return l.flags |= a, l;
        }
        function qPe(r, a) {
          if (Tu(r)) {
            const d = r.parameters.length - 1, y = r.parameters[d], x = Qr(y);
            if (va(x))
              return [l(x, d, y)];
            if (!a && x.flags & 1048576 && Pi(x.types, va))
              return fr(x.types, (I) => l(I, d, y));
          }
          return [r.parameters];
          function l(d, y, x) {
            const I = Io(d), R = f(d, x), J = fr(I, (Y, Te) => {
              const de = R && R[Te] ? R[Te] : fP(r, y + Te, d), Ge = d.target.elementFlags[Te], ct = Ge & 12 ? 32768 : Ge & 2 ? 16384 : 0, ht = sa(1, de, ct);
              return ht.links.type = Ge & 4 ? du(Y) : Y, ht;
            });
            return Ji(r.parameters.slice(0, y), J);
          }
          function f(d, y) {
            const x = fr(d.target.labeledElementDeclarations, (I, R) => Yde(I, R, d.target.elementFlags[R], y));
            if (x) {
              const I = [], R = /* @__PURE__ */ new Set();
              for (let Y = 0; Y < x.length; Y++) {
                const Te = x[Y];
                m0(R, Te) || I.push(Y);
              }
              const J = /* @__PURE__ */ new Map();
              for (const Y of I) {
                let Te = J.get(x[Y]) ?? 1, de;
                for (; !m0(R, de = `${x[Y]}_${Te}`); )
                  Te++;
                x[Y] = de, J.set(x[Y], Te + 1);
              }
            }
            return x;
          }
        }
        function set(r) {
          const a = Ja(r), l = As(
            a,
            1
            /* Construct */
          ), f = Fh(r.symbol), d = !!f && qn(
            f,
            64
            /* Abstract */
          );
          if (l.length === 0)
            return [fh(
              /*declaration*/
              void 0,
              r.localTypeParameters,
              /*thisParameter*/
              void 0,
              Ue,
              r,
              /*resolvedTypePredicate*/
              void 0,
              0,
              d ? 4 : 0
              /* None */
            )];
          const y = _i(r), x = tn(y), I = tM(y), R = Ar(I), J = [];
          for (const Y of l) {
            const Te = yg(Y.typeParameters), de = Ar(Y.typeParameters);
            if (x || R >= Te && R <= de) {
              const Ge = de ? WG(Y, uy(I, Y.typeParameters, Te, x)) : W8(Y);
              Ge.typeParameters = r.localTypeParameters, Ge.resolvedReturnType = r, Ge.flags = d ? Ge.flags | 4 : Ge.flags & -5, J.push(Ge);
            }
          }
          return J;
        }
        function BG(r, a, l, f, d) {
          for (const y of r)
            if (yM(y, a, l, f, d, l ? Rrt : tI))
              return y;
        }
        function aet(r, a, l) {
          if (a.typeParameters) {
            if (l > 0)
              return;
            for (let d = 1; d < r.length; d++)
              if (!BG(
                r[d],
                a,
                /*partialMatch*/
                !1,
                /*ignoreThisTypes*/
                !1,
                /*ignoreReturnTypes*/
                !1
              ))
                return;
            return [a];
          }
          let f;
          for (let d = 0; d < r.length; d++) {
            const y = d === l ? a : BG(
              r[d],
              a,
              /*partialMatch*/
              !1,
              /*ignoreThisTypes*/
              !1,
              /*ignoreReturnTypes*/
              !0
            ) || BG(
              r[d],
              a,
              /*partialMatch*/
              !0,
              /*ignoreThisTypes*/
              !1,
              /*ignoreReturnTypes*/
              !0
            );
            if (!y)
              return;
            f = Sh(f, y);
          }
          return f;
        }
        function xfe(r) {
          let a, l;
          for (let f = 0; f < r.length; f++) {
            if (r[f].length === 0) return Ue;
            r[f].length > 1 && (l = l === void 0 ? f : -1);
            for (const d of r[f])
              if (!a || !BG(
                a,
                d,
                /*partialMatch*/
                !1,
                /*ignoreThisTypes*/
                !1,
                /*ignoreReturnTypes*/
                !0
              )) {
                const y = aet(r, d, f);
                if (y) {
                  let x = d;
                  if (y.length > 1) {
                    let I = d.thisParameter;
                    const R = ar(y, (J) => J.thisParameter);
                    if (R) {
                      const J = aa(Oi(y, (Y) => Y.thisParameter && Qr(Y.thisParameter)));
                      I = NT(R, J);
                    }
                    x = UPe(d, y), x.thisParameter = I;
                  }
                  (a || (a = [])).push(x);
                }
              }
          }
          if (!Ar(a) && l !== -1) {
            const f = r[l !== void 0 ? l : 0];
            let d = f.slice();
            for (const y of r)
              if (y !== f) {
                const x = y[0];
                if (E.assert(!!x, "getUnionSignatures bails early on empty signature lists and should not have empty lists on second pass"), d = x.typeParameters && at(d, (I) => !!I.typeParameters && !HPe(x.typeParameters, I.typeParameters)) ? void 0 : fr(d, (I) => uet(I, x)), !d)
                  break;
              }
            a = d;
          }
          return a || Ue;
        }
        function HPe(r, a) {
          if (Ar(r) !== Ar(a))
            return !1;
          if (!r || !a)
            return !0;
          const l = R_(a, r);
          for (let f = 0; f < r.length; f++) {
            const d = r[f], y = a[f];
            if (d !== y && !gh(tP(d) || mt, ji(tP(y) || mt, l)))
              return !1;
          }
          return !0;
        }
        function oet(r, a, l) {
          if (!r || !a)
            return r || a;
          const f = aa([Qr(r), ji(Qr(a), l)]);
          return NT(r, f);
        }
        function cet(r, a, l) {
          const f = B_(r), d = B_(a), y = f >= d ? r : a, x = y === r ? a : r, I = y === r ? f : d, R = Tg(r) || Tg(a), J = R && !Tg(y), Y = new Array(I + (J ? 1 : 0));
          for (let Te = 0; Te < I; Te++) {
            let de = X2(y, Te);
            y === a && (de = ji(de, l));
            let Ge = X2(x, Te) || mt;
            x === a && (Ge = ji(Ge, l));
            const ct = aa([de, Ge]), ht = R && !J && Te === I - 1, nr = Te >= Wd(y) && Te >= Wd(x), Xt = Te >= f ? void 0 : fP(r, Te), Gr = Te >= d ? void 0 : fP(a, Te), Jr = Xt === Gr ? Xt : Xt ? Gr ? void 0 : Xt : Gr, sr = sa(
              1 | (nr && !ht ? 16777216 : 0),
              Jr || `arg${Te}`,
              ht ? 32768 : nr ? 16384 : 0
            );
            sr.links.type = ht ? du(ct) : ct, Y[Te] = sr;
          }
          if (J) {
            const Te = sa(
              1,
              "args",
              32768
              /* RestParameter */
            );
            Te.links.type = du(zd(x, I)), x === a && (Te.links.type = ji(Te.links.type, l)), Y[I] = Te;
          }
          return Y;
        }
        function uet(r, a) {
          const l = r.typeParameters || a.typeParameters;
          let f;
          r.typeParameters && a.typeParameters && (f = R_(a.typeParameters, r.typeParameters));
          let d = (r.flags | a.flags) & 166;
          const y = r.declaration, x = cet(r, a, f), I = Po(x);
          I && lc(I) & 32768 && (d |= 1);
          const R = oet(r.thisParameter, a.thisParameter, f), J = Math.max(r.minArgumentCount, a.minArgumentCount), Y = fh(
            y,
            l,
            R,
            x,
            /*resolvedReturnType*/
            void 0,
            /*resolvedTypePredicate*/
            void 0,
            J,
            d
          );
          return Y.compositeKind = 1048576, Y.compositeSignatures = Ji(r.compositeKind !== 2097152 && r.compositeSignatures || [r], [a]), f ? Y.mapper = r.compositeKind !== 2097152 && r.mapper && r.compositeSignatures ? W2(r.mapper, f) : f : r.compositeKind !== 2097152 && r.mapper && r.compositeSignatures && (Y.mapper = r.mapper), Y;
        }
        function GPe(r) {
          const a = pu(r[0]);
          if (a) {
            const l = [];
            for (const f of a) {
              const d = f.keyType;
              Pi(r, (y) => !!ph(y, d)) && l.push(dh(d, Gn(fr(r, (y) => Zv(y, d))), at(r, (y) => ph(y, d).isReadonly)));
            }
            return l;
          }
          return Ue;
        }
        function _et(r) {
          const a = xfe(fr(r.types, (d) => d === It ? [Vn] : As(
            d,
            0
            /* Call */
          ))), l = xfe(fr(r.types, (d) => As(
            d,
            1
            /* Construct */
          ))), f = GPe(r.types);
          ic(r, A, a, l, f);
        }
        function $L(r, a) {
          return r ? a ? aa([r, a]) : r : a;
        }
        function $Pe(r) {
          const a = d0(r, (f) => As(
            f,
            1
            /* Construct */
          ).length > 0), l = fr(r, En);
          if (a > 0 && a === d0(l, (f) => f)) {
            const f = l.indexOf(
              /*searchElement*/
              !0
            );
            l[f] = !1;
          }
          return l;
        }
        function fet(r, a, l, f) {
          const d = [];
          for (let y = 0; y < a.length; y++)
            y === f ? d.push(r) : l[y] && d.push(Va(As(
              a[y],
              1
              /* Construct */
            )[0]));
          return aa(d);
        }
        function pet(r) {
          let a, l, f;
          const d = r.types, y = $Pe(d), x = d0(y, (I) => I);
          for (let I = 0; I < d.length; I++) {
            const R = r.types[I];
            if (!y[I]) {
              let J = As(
                R,
                1
                /* Construct */
              );
              J.length && x > 0 && (J = fr(J, (Y) => {
                const Te = W8(Y);
                return Te.resolvedReturnType = fet(Va(Y), d, y, I), Te;
              })), l = XPe(l, J);
            }
            a = XPe(a, As(
              R,
              0
              /* Call */
            )), f = Hu(pu(R), (J, Y) => QPe(
              J,
              Y,
              /*union*/
              !1
            ), f);
          }
          ic(r, A, a || Ue, l || Ue, f || Ue);
        }
        function XPe(r, a) {
          for (const l of a)
            (!r || Pi(r, (f) => !yM(
              f,
              l,
              /*partialMatch*/
              !1,
              /*ignoreThisTypes*/
              !1,
              /*ignoreReturnTypes*/
              !1,
              tI
            ))) && (r = Dr(r, l));
          return r;
        }
        function QPe(r, a, l) {
          if (r)
            for (let f = 0; f < r.length; f++) {
              const d = r[f];
              if (d.keyType === a.keyType)
                return r[f] = dh(d.keyType, l ? Gn([d.type, a.type]) : aa([d.type, a.type]), l ? d.isReadonly || a.isReadonly : d.isReadonly && a.isReadonly), r;
            }
          return Dr(r, a);
        }
        function det(r) {
          if (r.target) {
            ic(r, A, Ue, Ue, Ue);
            const x = LPe(
              ly(r.target),
              r.mapper,
              /*mappingThisOnly*/
              !1
            ), I = s$(As(
              r.target,
              0
              /* Call */
            ), r.mapper), R = s$(As(
              r.target,
              1
              /* Construct */
            ), r.mapper), J = bNe(pu(r.target), r.mapper);
            ic(r, x, I, R, J);
            return;
          }
          const a = La(r.symbol);
          if (a.flags & 2048) {
            ic(r, A, Ue, Ue, Ue);
            const x = gg(a), I = R2(x.get(
              "__call"
              /* Call */
            )), R = R2(x.get(
              "__new"
              /* New */
            )), J = g3e(a);
            ic(r, x, I, R, J);
            return;
          }
          let l = lf(a), f;
          if (a === ve) {
            const x = /* @__PURE__ */ new Map();
            l.forEach((I) => {
              var R;
              !(I.flags & 418) && !(I.flags & 512 && ((R = I.declarations) != null && R.length) && Pi(I.declarations, Fu)) && x.set(I.escapedName, I);
            }), l = x;
          }
          let d;
          if (ic(r, l, Ue, Ue, Ue), a.flags & 32) {
            const x = pp(a), I = Ja(x);
            I.flags & 11272192 ? (l = qs(i_(l)), MPe(l, Ga(I))) : I === Ie && (d = Qi);
          }
          const y = UG(l);
          if (y ? f = qG(y, rs(l.values())) : (d && (f = Dr(f, d)), a.flags & 384 && (wo(a).flags & 32 || at(r.properties, (x) => !!(Qr(x).flags & 296))) && (f = Dr(f, Li))), ic(r, l, Ue, Ue, f || Ue), a.flags & 8208 && (r.callSignatures = R2(a)), a.flags & 32) {
            const x = pp(a);
            let I = a.members ? R2(a.members.get(
              "__constructor"
              /* Constructor */
            )) : Ue;
            a.flags & 16 && (I = wn(
              I.slice(),
              Oi(
                r.callSignatures,
                (R) => jm(R.declaration) ? fh(
                  R.declaration,
                  R.typeParameters,
                  R.thisParameter,
                  R.parameters,
                  x,
                  /*resolvedTypePredicate*/
                  void 0,
                  R.minArgumentCount,
                  R.flags & 167
                  /* PropagatingFlags */
                ) : void 0
              )
            )), I.length || (I = set(x)), r.constructSignatures = I;
          }
        }
        function met(r, a, l) {
          return ji(r, R_([a.indexType, a.objectType], [ad(0), vg([l])]));
        }
        function get(r) {
          const a = Uf(r.mappedType);
          if (!(a.flags & 1048576 || a.flags & 2097152))
            return;
          const l = a.flags & 1048576 ? a.origin : a;
          if (!l || !(l.flags & 2097152))
            return;
          const f = aa(l.types.filter((d) => d !== r.constraintType));
          return f !== Kt ? f : void 0;
        }
        function het(r) {
          const a = ph(r.source, st), l = hg(r.mappedType), f = !(l & 1), d = l & 4 ? 0 : 16777216, y = a ? [dh(st, D$(a.type, r.mappedType, r.constraintType) || mt, f && a.isReadonly)] : Ue, x = qs(), I = get(r);
          for (const R of Ga(r.source)) {
            if (I) {
              const Te = rC(
                R,
                8576
                /* StringOrNumberLiteralOrUnique */
              );
              if (!js(Te, I))
                continue;
            }
            const J = 8192 | (f && Vd(R) ? 8 : 0), Y = sa(4 | R.flags & d, R.escapedName, J);
            if (Y.declarations = R.declarations, Y.links.nameType = Ri(R).nameType, Y.links.propertyType = Qr(R), r.constraintType.type.flags & 8388608 && r.constraintType.type.objectType.flags & 262144 && r.constraintType.type.indexType.flags & 262144) {
              const Te = r.constraintType.type.objectType, de = met(r.mappedType, r.constraintType.type, Te);
              Y.links.mappedType = de, Y.links.constraintType = Om(Te);
            } else
              Y.links.mappedType = r.mappedType, Y.links.constraintType = r.constraintType;
            x.set(R.escapedName, Y);
          }
          ic(r, x, Ue, Ue, y);
        }
        function XL(r) {
          if (r.flags & 4194304) {
            const a = Uu(r.type);
            return O1(a) ? q3e(a) : Om(a);
          }
          if (r.flags & 16777216) {
            if (r.root.isDistributive) {
              const a = r.checkType, l = XL(a);
              if (l !== a)
                return vpe(
                  r,
                  wT(r.root.checkType, l, r.mapper),
                  /*forConstraint*/
                  !1
                );
            }
            return r;
          }
          if (r.flags & 1048576)
            return Ho(
              r,
              XL,
              /*noReductions*/
              !0
            );
          if (r.flags & 2097152) {
            const a = r.types;
            return a.length === 2 && a[0].flags & 76 && a[1] === Vs ? r : aa($c(r.types, XL));
          }
          return r;
        }
        function kfe(r) {
          return lc(r) & 4096;
        }
        function Cfe(r, a, l, f) {
          for (const d of Ga(r))
            f(rC(d, a));
          if (r.flags & 1)
            f(st);
          else
            for (const d of pu(r))
              (!l || d.keyType.flags & 134217732) && f(d.keyType);
        }
        function yet(r) {
          const a = qs();
          let l;
          ic(r, A, Ue, Ue, Ue);
          const f = Rd(r), d = Uf(r), y = r.target || r, x = cy(y), I = V8(y) !== 2, R = Kh(y), J = Uu(O2(r)), Y = hg(r);
          IE(r) ? Cfe(
            J,
            8576,
            /*stringsOnly*/
            !1,
            de
          ) : OT(XL(d), de), ic(r, a, Ue, Ue, l || Ue);
          function de(ct) {
            const ht = x ? ji(x, Z8(r.mapper, f, ct)) : ct;
            OT(ht, (nr) => Ge(ct, nr));
          }
          function Ge(ct, ht) {
            if (ip(ht)) {
              const nr = sp(ht), Xt = a.get(nr);
              if (Xt)
                Xt.links.nameType = Gn([Xt.links.nameType, ht]), Xt.links.keyType = Gn([Xt.links.keyType, ct]);
              else {
                const Gr = ip(ct) ? Zs(J, sp(ct)) : void 0, Jr = !!(Y & 4 || !(Y & 8) && Gr && Gr.flags & 16777216), sr = !!(Y & 1 || !(Y & 2) && Gr && Vd(Gr)), Yt = K && !Jr && Gr && Gr.flags & 16777216, un = Gr ? kfe(Gr) : 0, Bn = sa(4 | (Jr ? 16777216 : 0), nr, un | 262144 | (sr ? 8 : 0) | (Yt ? 524288 : 0));
                Bn.links.mappedType = r, Bn.links.nameType = ht, Bn.links.keyType = ct, Gr && (Bn.links.syntheticOrigin = Gr, Bn.declarations = I ? Gr.declarations : void 0), a.set(nr, Bn);
              }
            } else if (HG(ht) || ht.flags & 33) {
              const nr = ht.flags & 5 ? st : ht.flags & 40 ? At : ht, Xt = ji(R, Z8(r.mapper, f, ct)), Gr = U8(J, ht), Jr = !!(Y & 1 || !(Y & 2) && Gr?.isReadonly), sr = dh(nr, Xt, Jr);
              l = QPe(
                l,
                sr,
                /*union*/
                !0
              );
            }
          }
        }
        function vet(r) {
          var a;
          if (!r.links.type) {
            const l = r.links.mappedType;
            if (!Pm(
              r,
              0
              /* Type */
            ))
              return l.containsError = !0, Ve;
            const f = Kh(l.target || l), d = Z8(l.mapper, Rd(l), r.links.keyType), y = ji(f, d);
            let x = K && r.flags & 16777216 && !Cc(
              y,
              49152
              /* Void */
            ) ? L1(
              y,
              /*isProperty*/
              !0
            ) : r.links.checkFlags & 524288 ? T$(y) : y;
            Nm() || (Be(k, p.Type_of_property_0_circularly_references_itself_in_mapped_type_1, Bi(r), Hr(l)), x = Ve), (a = r.links).type ?? (a.type = x);
          }
          return r.links.type;
        }
        function Rd(r) {
          return r.typeParameter || (r.typeParameter = F2(vn(r.declaration.typeParameter)));
        }
        function Uf(r) {
          return r.constraintType || (r.constraintType = a_(Rd(r)) || Ve);
        }
        function cy(r) {
          return r.declaration.nameType ? r.nameType || (r.nameType = ji(Ci(r.declaration.nameType), r.mapper)) : void 0;
        }
        function Kh(r) {
          return r.templateType || (r.templateType = r.declaration.type ? ji(Ol(
            Ci(r.declaration.type),
            /*isProperty*/
            !0,
            !!(hg(r) & 4)
          ), r.mapper) : Ve);
        }
        function YPe(r) {
          return PC(r.declaration.typeParameter);
        }
        function IE(r) {
          const a = YPe(r);
          return a.kind === 198 && a.operator === 143;
        }
        function O2(r) {
          if (!r.modifiersType)
            if (IE(r))
              r.modifiersType = ji(Ci(YPe(r).type), r.mapper);
            else {
              const a = cpe(r.declaration), l = Uf(a), f = l && l.flags & 262144 ? a_(l) : l;
              r.modifiersType = f && f.flags & 4194304 ? ji(f.type, r.mapper) : mt;
            }
          return r.modifiersType;
        }
        function hg(r) {
          const a = r.declaration;
          return (a.readonlyToken ? a.readonlyToken.kind === 41 ? 2 : 1 : 0) | (a.questionToken ? a.questionToken.kind === 41 ? 8 : 4 : 0);
        }
        function ZPe(r) {
          const a = hg(r);
          return a & 8 ? -1 : a & 4 ? 1 : 0;
        }
        function Yw(r) {
          if (Cn(r) & 32)
            return ZPe(r) || Yw(O2(r));
          if (r.flags & 2097152) {
            const a = Yw(r.types[0]);
            return Pi(r.types, (l, f) => f === 0 || Yw(l) === a) ? a : 0;
          }
          return 0;
        }
        function bet(r) {
          return !!(Cn(r) & 32 && hg(r) & 4);
        }
        function T_(r) {
          if (Cn(r) & 32) {
            const a = Uf(r);
            if (DT(a))
              return !0;
            const l = cy(r);
            if (l && DT(ji(l, z2(Rd(r), a))))
              return !0;
          }
          return !1;
        }
        function V8(r) {
          const a = cy(r);
          return a ? js(a, Rd(r)) ? 1 : 2 : 0;
        }
        function jd(r) {
          return r.members || (r.flags & 524288 ? r.objectFlags & 4 ? ret(r) : r.objectFlags & 3 ? tet(r) : r.objectFlags & 1024 ? het(r) : r.objectFlags & 16 ? det(r) : r.objectFlags & 32 ? yet(r) : E.fail("Unhandled object type " + E.formatObjectFlags(r.objectFlags)) : r.flags & 1048576 ? _et(r) : r.flags & 2097152 ? pet(r) : E.fail("Unhandled type " + E.formatTypeFlags(r.flags))), r;
        }
        function ly(r) {
          return r.flags & 524288 ? jd(r).properties : Ue;
        }
        function L2(r, a) {
          if (r.flags & 524288) {
            const f = jd(r).members.get(a);
            if (f && Fd(f))
              return f;
          }
        }
        function QL(r) {
          if (!r.resolvedProperties) {
            const a = qs();
            for (const l of r.types) {
              for (const f of Ga(l))
                if (!a.has(f.escapedName)) {
                  const d = ZL(
                    r,
                    f.escapedName,
                    /*skipObjectFunctionPropertyAugment*/
                    !!(r.flags & 2097152)
                  );
                  d && a.set(f.escapedName, d);
                }
              if (r.flags & 1048576 && pu(l).length === 0)
                break;
            }
            r.resolvedProperties = us(a);
          }
          return r.resolvedProperties;
        }
        function Ga(r) {
          return r = Zw(r), r.flags & 3145728 ? QL(r) : ly(r);
        }
        function Tet(r, a) {
          r = Zw(r), r.flags & 3670016 && jd(r).members.forEach((l, f) => {
            ma(l, f) && a(l, f);
          });
        }
        function xet(r, a) {
          return a.properties.some((f) => {
            const d = f.name && (vd(f.name) ? x_(mN(f.name)) : t0(f.name)), y = d && ip(d) ? sp(d) : void 0, x = y === void 0 ? void 0 : qc(r, y);
            return !!x && iI(x) && !js(dC(f), x);
          });
        }
        function ket(r) {
          const a = Gn(r);
          if (!(a.flags & 1048576))
            return Ome(a);
          const l = qs();
          for (const f of r)
            for (const { escapedName: d } of Ome(f))
              if (!l.has(d)) {
                const y = s3e(a, d);
                y && l.set(d, y);
              }
          return rs(l.values());
        }
        function ST(r) {
          return r.flags & 262144 ? a_(r) : r.flags & 8388608 ? Eet(r) : r.flags & 16777216 ? t3e(r) : ru(r);
        }
        function a_(r) {
          return YL(r) ? tP(r) : void 0;
        }
        function Cet(r, a) {
          const l = K8(r);
          return !!l && TT(l, a);
        }
        function TT(r, a = 0) {
          var l;
          return a < 5 && !!(r && (r.flags & 262144 && at((l = r.symbol) == null ? void 0 : l.declarations, (f) => qn(
            f,
            4096
            /* Const */
          )) || r.flags & 3145728 && at(r.types, (f) => TT(f, a)) || r.flags & 8388608 && TT(r.objectType, a + 1) || r.flags & 16777216 && TT(t3e(r), a + 1) || r.flags & 33554432 && TT(r.baseType, a) || Cn(r) & 32 && Cet(r, a) || O1(r) && oc(j2(r), (f, d) => !!(r.target.elementFlags[d] & 8) && TT(f, a)) >= 0));
        }
        function Eet(r) {
          return YL(r) ? Det(r) : void 0;
        }
        function Efe(r) {
          const a = r0(
            r,
            /*writing*/
            !1
          );
          return a !== r ? a : ST(r);
        }
        function Det(r) {
          if (Nfe(r))
            return t$(r.objectType, r.indexType);
          const a = Efe(r.indexType);
          if (a && a !== r.indexType) {
            const f = A1(r.objectType, a, r.accessFlags);
            if (f)
              return f;
          }
          const l = Efe(r.objectType);
          if (l && l !== r.objectType)
            return A1(l, r.indexType, r.accessFlags);
        }
        function Dfe(r) {
          if (!r.resolvedDefaultConstraint) {
            const a = drt(r), l = F1(r);
            r.resolvedDefaultConstraint = be(a) ? l : be(l) ? a : Gn([a, l]);
          }
          return r.resolvedDefaultConstraint;
        }
        function KPe(r) {
          if (r.resolvedConstraintOfDistributive !== void 0)
            return r.resolvedConstraintOfDistributive || void 0;
          if (r.root.isDistributive && r.restrictiveInstantiation !== r) {
            const a = r0(
              r.checkType,
              /*writing*/
              !1
            ), l = a === r.checkType ? ST(a) : a;
            if (l && l !== r.checkType) {
              const f = vpe(
                r,
                wT(r.root.checkType, l, r.mapper),
                /*forConstraint*/
                !0
              );
              if (!(f.flags & 131072))
                return r.resolvedConstraintOfDistributive = f, f;
            }
          }
          r.resolvedConstraintOfDistributive = !1;
        }
        function e3e(r) {
          return KPe(r) || Dfe(r);
        }
        function t3e(r) {
          return YL(r) ? e3e(r) : void 0;
        }
        function wet(r, a) {
          let l, f = !1;
          for (const d of r)
            if (d.flags & 465829888) {
              let y = ST(d);
              for (; y && y.flags & 21233664; )
                y = ST(y);
              y && (l = Dr(l, y), a && (l = Dr(l, d)));
            } else (d.flags & 469892092 || Sg(d)) && (f = !0);
          if (l && (a || f)) {
            if (f)
              for (const d of r)
                (d.flags & 469892092 || Sg(d)) && (l = Dr(l, d));
            return mM(
              aa(
                l,
                2
                /* NoConstraintReduction */
              ),
              /*writing*/
              !1
            );
          }
        }
        function ru(r) {
          if (r.flags & 464781312 || O1(r)) {
            const a = wfe(r);
            return a !== Vc && a !== tc ? a : void 0;
          }
          return r.flags & 4194304 ? Qn : void 0;
        }
        function Fm(r) {
          return ru(r) || r;
        }
        function YL(r) {
          return wfe(r) !== tc;
        }
        function wfe(r) {
          if (r.resolvedBaseConstraint)
            return r.resolvedBaseConstraint;
          const a = [];
          return r.resolvedBaseConstraint = l(r);
          function l(y) {
            if (!y.immediateBaseConstraint) {
              if (!Pm(
                y,
                4
                /* ImmediateBaseConstraint */
              ))
                return tc;
              let x;
              const I = g$(y);
              if ((a.length < 10 || a.length < 50 && !_s(a, I)) && (a.push(I), x = d(r0(
                y,
                /*writing*/
                !1
              )), a.pop()), !Nm()) {
                if (y.flags & 262144) {
                  const R = GG(y);
                  if (R) {
                    const J = Be(R, p.Type_parameter_0_has_a_circular_constraint, Hr(y));
                    k && !Ab(R, k) && !Ab(k, R) && Ws(J, Kr(k, p.Circularity_originates_in_type_at_this_location));
                  }
                }
                x = tc;
              }
              y.immediateBaseConstraint ?? (y.immediateBaseConstraint = x || Vc);
            }
            return y.immediateBaseConstraint;
          }
          function f(y) {
            const x = l(y);
            return x !== Vc && x !== tc ? x : void 0;
          }
          function d(y) {
            if (y.flags & 262144) {
              const x = tP(y);
              return y.isThisType || !x ? x : f(x);
            }
            if (y.flags & 3145728) {
              const x = y.types, I = [];
              let R = !1;
              for (const J of x) {
                const Y = f(J);
                Y ? (Y !== J && (R = !0), I.push(Y)) : R = !0;
              }
              return R ? y.flags & 1048576 && I.length === x.length ? Gn(I) : y.flags & 2097152 && I.length ? aa(I) : void 0 : y;
            }
            if (y.flags & 4194304)
              return Qn;
            if (y.flags & 134217728) {
              const x = y.types, I = Oi(x, f);
              return I.length === x.length ? kT(y.texts, I) : st;
            }
            if (y.flags & 268435456) {
              const x = f(y.type);
              return x && x !== y.type ? nC(y.symbol, x) : st;
            }
            if (y.flags & 8388608) {
              if (Nfe(y))
                return f(t$(y.objectType, y.indexType));
              const x = f(y.objectType), I = f(y.indexType), R = x && I && A1(x, I, y.accessFlags);
              return R && f(R);
            }
            if (y.flags & 16777216) {
              const x = e3e(y);
              return x && f(x);
            }
            if (y.flags & 33554432)
              return f(Vfe(y));
            if (O1(y)) {
              const x = fr(j2(y), (I, R) => {
                const J = I.flags & 262144 && y.target.elementFlags[R] & 8 && f(I) || I;
                return J !== I && j_(J, (Y) => nb(Y) && !O1(Y)) ? J : I;
              });
              return vg(x, y.target.elementFlags, y.target.readonly, y.target.labeledElementDeclarations);
            }
            return y;
          }
        }
        function Pet(r, a) {
          if (r === a)
            return r.resolvedApparentType || (r.resolvedApparentType = uf(
              r,
              a,
              /*needApparentType*/
              !0
            ));
          const l = `I${Ll(r)},${Ll(a)}`;
          return wd(l) ?? v1(l, uf(
            r,
            a,
            /*needApparentType*/
            !0
          ));
        }
        function Pfe(r) {
          if (r.default)
            r.default === eu && (r.default = tc);
          else if (r.target) {
            const a = Pfe(r.target);
            r.default = a ? ji(a, r.mapper) : Vc;
          } else {
            r.default = eu;
            const a = r.symbol && ar(r.symbol.declarations, (f) => Fo(f) && f.default), l = a ? Ci(a) : Vc;
            r.default === eu && (r.default = l);
          }
          return r.default;
        }
        function M2(r) {
          const a = Pfe(r);
          return a !== Vc && a !== tc ? a : void 0;
        }
        function Net(r) {
          return Pfe(r) !== tc;
        }
        function r3e(r) {
          return !!(r.symbol && ar(r.symbol.declarations, (a) => Fo(a) && a.default));
        }
        function n3e(r) {
          return r.resolvedApparentType || (r.resolvedApparentType = Aet(r));
        }
        function Aet(r) {
          const a = r.target ?? r, l = K8(a);
          if (l && !a.declaration.nameType) {
            const f = O2(r), d = T_(f) ? n3e(f) : ru(f);
            if (d && j_(d, (y) => nb(y) || i3e(y)))
              return ji(a, wT(l, d, r.mapper));
          }
          return r;
        }
        function i3e(r) {
          return !!(r.flags & 2097152) && Pi(r.types, nb);
        }
        function Nfe(r) {
          let a;
          return !!(r.flags & 8388608 && Cn(a = r.objectType) & 32 && !T_(a) && DT(r.indexType) && !(hg(a) & 8) && !a.declaration.nameType);
        }
        function Uu(r) {
          const a = r.flags & 465829888 ? ru(r) || mt : r, l = Cn(a);
          return l & 32 ? n3e(a) : l & 4 && a !== r ? uf(a, r) : a.flags & 2097152 ? Pet(a, r) : a.flags & 402653316 ? Do : a.flags & 296 ? Ac : a.flags & 2112 ? ytt() : a.flags & 528 ? rc : a.flags & 12288 ? O3e() : a.flags & 67108864 ? Pa : a.flags & 4194304 ? Qn : a.flags & 2 && !K ? Pa : a;
        }
        function Zw(r) {
          return sd(Uu(sd(r)));
        }
        function s3e(r, a, l) {
          var f, d, y;
          let x, I, R;
          const J = r.flags & 1048576;
          let Y, Te = 4, de = J ? 0 : 8, Ge = !1;
          for (const Bn of r.types) {
            const wi = Uu(Bn);
            if (!(Oe(wi) || wi.flags & 131072)) {
              const bn = Zs(wi, a, l), os = bn ? np(bn) : 0;
              if (bn) {
                if (bn.flags & 106500 && (Y ?? (Y = J ? 0 : 16777216), J ? Y |= bn.flags & 16777216 : Y &= bn.flags), !x)
                  x = bn;
                else if (bn !== x)
                  if ((XE(bn) || bn) === (XE(x) || x) && Npe(
                    x,
                    bn,
                    (Qa, bs) => Qa === bs ? -1 : 0
                    /* False */
                  ) === -1)
                    Ge = !!x.parent && !!Ar(id(x.parent));
                  else {
                    I || (I = /* @__PURE__ */ new Map(), I.set(ea(x), x));
                    const Qa = ea(bn);
                    I.has(Qa) || I.set(Qa, bn);
                  }
                J && Vd(bn) ? de |= 8 : !J && !Vd(bn) && (de &= -9), de |= (os & 6 ? 0 : 256) | (os & 4 ? 512 : 0) | (os & 2 ? 1024 : 0) | (os & 256 ? 2048 : 0), Dde(bn) || (Te = 2);
              } else if (J) {
                const Fs = !z8(a) && eC(wi, a);
                Fs ? (de |= 32 | (Fs.isReadonly ? 8 : 0), R = Dr(R, va(wi) ? v$(wi) || _e : Fs.type)) : dy(wi) && !(Cn(wi) & 2097152) ? (de |= 32, R = Dr(R, _e)) : de |= 16;
              }
            }
          }
          if (!x || J && (I || de & 48) && de & 1536 && !(I && Iet(I.values())))
            return;
          if (!I && !(de & 16) && !R)
            if (Ge) {
              const Bn = (f = Mn(x, Ig)) == null ? void 0 : f.links, wi = NT(x, Bn?.type);
              return wi.parent = (y = (d = x.valueDeclaration) == null ? void 0 : d.symbol) == null ? void 0 : y.parent, wi.links.containingType = r, wi.links.mapper = Bn?.mapper, wi.links.writeType = sy(x), wi;
            } else
              return x;
          const ct = I ? rs(I.values()) : [x];
          let ht, nr, Xt;
          const Gr = [];
          let Jr, sr, Yt = !1;
          for (const Bn of ct) {
            sr ? Bn.valueDeclaration && Bn.valueDeclaration !== sr && (Yt = !0) : sr = Bn.valueDeclaration, ht = wn(ht, Bn.declarations);
            const wi = Qr(Bn);
            nr || (nr = wi, Xt = Ri(Bn).nameType);
            const bn = sy(Bn);
            (Jr || bn !== wi) && (Jr = Dr(Jr || Gr.slice(), bn)), wi !== nr && (de |= 64), (iI(wi) || CT(wi)) && (de |= 128), wi.flags & 131072 && wi !== kc && (de |= 131072), Gr.push(wi);
          }
          wn(Gr, R);
          const un = sa(4 | (Y ?? 0), a, Te | de);
          return un.links.containingType = r, !Yt && sr && (un.valueDeclaration = sr, sr.symbol.parent && (un.parent = sr.symbol.parent)), un.declarations = ht, un.links.nameType = Xt, Gr.length > 2 ? (un.links.checkFlags |= 65536, un.links.deferralParent = r, un.links.deferralConstituents = Gr, un.links.deferralWriteConstituents = Jr) : (un.links.type = J ? Gn(Gr) : aa(Gr), Jr && (un.links.writeType = J ? Gn(Jr) : aa(Jr))), un;
        }
        function a3e(r, a, l) {
          var f, d, y;
          let x = l ? (f = r.propertyCacheWithoutObjectFunctionPropertyAugment) == null ? void 0 : f.get(a) : (d = r.propertyCache) == null ? void 0 : d.get(a);
          return x || (x = s3e(r, a, l), x && ((l ? r.propertyCacheWithoutObjectFunctionPropertyAugment || (r.propertyCacheWithoutObjectFunctionPropertyAugment = qs()) : r.propertyCache || (r.propertyCache = qs())).set(a, x), l && !(lc(x) & 48) && !((y = r.propertyCache) != null && y.get(a)) && (r.propertyCache || (r.propertyCache = qs())).set(a, x))), x;
        }
        function Iet(r) {
          let a;
          for (const l of r) {
            if (!l.declarations)
              return;
            if (!a) {
              a = new Set(l.declarations);
              continue;
            }
            if (a.forEach((f) => {
              _s(l.declarations, f) || a.delete(f);
            }), a.size === 0)
              return;
          }
          return a;
        }
        function ZL(r, a, l) {
          const f = a3e(r, a, l);
          return f && !(lc(f) & 16) ? f : void 0;
        }
        function sd(r) {
          return r.flags & 1048576 && r.objectFlags & 16777216 ? r.resolvedReducedType || (r.resolvedReducedType = Fet(r)) : r.flags & 2097152 ? (r.objectFlags & 16777216 || (r.objectFlags |= 16777216 | (at(QL(r), Oet) ? 33554432 : 0)), r.objectFlags & 33554432 ? Kt : r) : r;
        }
        function Fet(r) {
          const a = $c(r.types, sd);
          if (a === r.types)
            return r;
          const l = Gn(a);
          return l.flags & 1048576 && (l.resolvedReducedType = l), l;
        }
        function Oet(r) {
          return o3e(r) || c3e(r);
        }
        function o3e(r) {
          return !(r.flags & 16777216) && (lc(r) & 131264) === 192 && !!(Qr(r).flags & 131072);
        }
        function c3e(r) {
          return !r.valueDeclaration && !!(lc(r) & 1024);
        }
        function Afe(r) {
          return !!(r.flags & 1048576 && r.objectFlags & 16777216 && at(r.types, Afe) || r.flags & 2097152 && Let(r));
        }
        function Let(r) {
          const a = r.uniqueLiteralFilledInstantiation || (r.uniqueLiteralFilledInstantiation = ji(r, gi));
          return sd(a) !== a;
        }
        function Ife(r, a) {
          if (a.flags & 2097152 && Cn(a) & 33554432) {
            const l = Dn(QL(a), o3e);
            if (l)
              return vs(r, p.The_intersection_0_was_reduced_to_never_because_property_1_has_conflicting_types_in_some_constituents, Hr(
                a,
                /*enclosingDeclaration*/
                void 0,
                536870912
                /* NoTypeReduction */
              ), Bi(l));
            const f = Dn(QL(a), c3e);
            if (f)
              return vs(r, p.The_intersection_0_was_reduced_to_never_because_property_1_exists_in_multiple_constituents_and_is_private_in_some, Hr(
                a,
                /*enclosingDeclaration*/
                void 0,
                536870912
                /* NoTypeReduction */
              ), Bi(f));
          }
          return r;
        }
        function Zs(r, a, l, f) {
          var d, y;
          if (r = Zw(r), r.flags & 524288) {
            const x = jd(r), I = x.members.get(a);
            if (I && !f && ((d = r.symbol) == null ? void 0 : d.flags) & 512 && ((y = Ri(r.symbol).typeOnlyExportStarMap) != null && y.has(a)))
              return;
            if (I && Fd(I, f))
              return I;
            if (l) return;
            const R = x === Ka ? It : x.callSignatures.length ? Xr : x.constructSignatures.length ? qi : void 0;
            if (R) {
              const J = L2(R, a);
              if (J)
                return J;
            }
            return L2(Ae, a);
          }
          if (r.flags & 2097152) {
            const x = ZL(
              r,
              a,
              /*skipObjectFunctionPropertyAugment*/
              !0
            );
            return x || (l ? void 0 : ZL(r, a, l));
          }
          if (r.flags & 1048576)
            return ZL(r, a, l);
        }
        function KL(r, a) {
          if (r.flags & 3670016) {
            const l = jd(r);
            return a === 0 ? l.callSignatures : l.constructSignatures;
          }
          return Ue;
        }
        function As(r, a) {
          const l = KL(Zw(r), a);
          if (a === 0 && !Ar(l) && r.flags & 1048576) {
            if (r.arrayFallbackSignatures)
              return r.arrayFallbackSignatures;
            let f;
            if (j_(r, (d) => {
              var y;
              return !!((y = d.symbol) != null && y.parent) && Met(d.symbol.parent) && (f ? f === d.symbol.escapedName : (f = d.symbol.escapedName, !0));
            })) {
              const d = Ho(r, (x) => fy((l3e(x.symbol.parent) ? Ea : Is).typeParameters[0], x.mapper)), y = du(d, yp(r, (x) => l3e(x.symbol.parent)));
              return r.arrayFallbackSignatures = As(qc(y, f), a);
            }
            r.arrayFallbackSignatures = l;
          }
          return l;
        }
        function Met(r) {
          return !r || !Is.symbol || !Ea.symbol ? !1 : !!Vf(r, Is.symbol) || !!Vf(r, Ea.symbol);
        }
        function l3e(r) {
          return !r || !Ea.symbol ? !1 : !!Vf(r, Ea.symbol);
        }
        function Kw(r, a) {
          return Dn(r, (l) => l.keyType === a);
        }
        function Ffe(r, a) {
          let l, f, d;
          for (const y of r)
            y.keyType === st ? l = y : Kk(a, y.keyType) && (f ? (d || (d = [f])).push(y) : f = y);
          return d ? dh(mt, aa(fr(d, (y) => y.type)), Hu(
            d,
            (y, x) => y && x.isReadonly,
            /*initial*/
            !0
          )) : f || (l && Kk(a, st) ? l : void 0);
        }
        function Kk(r, a) {
          return js(r, a) || a === st && js(r, At) || a === At && (r === Es || !!(r.flags & 128) && Ug(r.value));
        }
        function Ofe(r) {
          return r.flags & 3670016 ? jd(r).indexInfos : Ue;
        }
        function pu(r) {
          return Ofe(Zw(r));
        }
        function ph(r, a) {
          return Kw(pu(r), a);
        }
        function Zv(r, a) {
          var l;
          return (l = ph(r, a)) == null ? void 0 : l.type;
        }
        function Lfe(r, a) {
          return pu(r).filter((l) => Kk(a, l.keyType));
        }
        function U8(r, a) {
          return Ffe(pu(r), a);
        }
        function eC(r, a) {
          return U8(r, z8(a) ? wt : x_(Ei(a)));
        }
        function u3e(r) {
          var a;
          let l;
          for (const f of Ly(r))
            l = Sh(l, F2(f.symbol));
          return l?.length ? l : Tc(r) ? (a = eP(r)) == null ? void 0 : a.typeParameters : void 0;
        }
        function Mfe(r) {
          const a = [];
          return r.forEach((l, f) => {
            Gi(f) || a.push(l);
          }), a;
        }
        function _3e(r, a) {
          if (Cl(r))
            return;
          const l = zu(
            nt,
            '"' + r + '"',
            512
            /* ValueModule */
          );
          return l && a ? La(l) : l;
        }
        function JG(r) {
          return dx(r) || dN(r) || Ni(r) && nF(r);
        }
        function q8(r) {
          if (JG(r))
            return !0;
          if (!Ni(r))
            return !1;
          if (r.initializer) {
            const l = qf(r.parent), f = r.parent.parameters.indexOf(r);
            return E.assert(f >= 0), f >= Wd(
              l,
              3
              /* VoidIsNonOptional */
            );
          }
          const a = Db(r.parent);
          return a ? !r.type && !r.dotDotDotToken && r.parent.parameters.indexOf(r) >= tX(a).length : !1;
        }
        function Ret(r) {
          return is(r) && !tm(r) && r.questionToken;
        }
        function H8(r, a, l, f) {
          return { kind: r, parameterName: a, parameterIndex: l, type: f };
        }
        function yg(r) {
          let a = 0;
          if (r)
            for (let l = 0; l < r.length; l++)
              r3e(r[l]) || (a = l + 1);
          return a;
        }
        function uy(r, a, l, f) {
          const d = Ar(a);
          if (!d)
            return [];
          const y = Ar(r);
          if (f || y >= l && y <= d) {
            const x = r ? r.slice() : [];
            for (let R = y; R < d; R++)
              x[R] = Ve;
            const I = Xpe(f);
            for (let R = y; R < d; R++) {
              let J = M2(a[R]);
              f && J && (gh(J, mt) || gh(J, Pa)) && (J = Ie), x[R] = J ? ji(J, R_(a, x)) : I;
            }
            return x.length = a.length, x;
          }
          return r && r.slice();
        }
        function qf(r) {
          const a = yn(r);
          if (!a.resolvedSignature) {
            const l = [];
            let f = 0, d = 0, y, x = tn(r) ? f7(r) : void 0, I = !1;
            const R = Db(r), J = mx(r);
            !R && tn(r) && bS(r) && !eZ(r) && !Oy(r) && (f |= 32);
            for (let ct = J ? 1 : 0; ct < r.parameters.length; ct++) {
              const ht = r.parameters[ct];
              if (tn(ht) && hz(ht)) {
                x = ht;
                continue;
              }
              let nr = ht.symbol;
              const Xt = Af(ht) ? ht.typeExpression && ht.typeExpression.type : ht.type;
              nr && nr.flags & 4 && !Ps(ht.name) && (nr = it(
                ht,
                nr.escapedName,
                111551,
                /*nameNotFoundMessage*/
                void 0,
                /*isUse*/
                !1
              )), ct === 0 && nr.escapedName === "this" ? (I = !0, y = ht.symbol) : l.push(nr), Xt && Xt.kind === 201 && (f |= 2), JG(ht) || Ni(ht) && ht.initializer || Hm(ht) || R && l.length > R.arguments.length && !Xt || (d = l.length);
            }
            if ((r.kind === 177 || r.kind === 178) && AE(r) && (!I || !y)) {
              const ct = r.kind === 177 ? 178 : 177, ht = jo(vn(r), ct);
              ht && (y = mfe(ht));
            }
            x && x.typeExpression && (y = NT(sa(
              1,
              "this"
              /* This */
            ), Ci(x.typeExpression)));
            const Te = I0(r) ? Q1(r) : r, de = Te && Xo(Te) ? pp(La(Te.parent.symbol)) : void 0, Ge = de ? de.localTypeParameters : u3e(r);
            (qj(r) || tn(r) && jet(r, l)) && (f |= 1), (u6(r) && qn(
              r,
              64
              /* Abstract */
            ) || Xo(r) && qn(
              r.parent,
              64
              /* Abstract */
            )) && (f |= 4), a.resolvedSignature = fh(
              r,
              Ge,
              y,
              l,
              /*resolvedReturnType*/
              void 0,
              /*resolvedTypePredicate*/
              void 0,
              d,
              f
            );
          }
          return a.resolvedSignature;
        }
        function jet(r, a) {
          if (I0(r) || !Rfe(r))
            return !1;
          const l = Po(r.parameters), f = l ? wC(l) : U1(r).filter(Af), d = Ic(f, (x) => x.typeExpression && DF(x.typeExpression.type) ? x.typeExpression.type : void 0), y = sa(
            3,
            "args",
            32768
            /* RestParameter */
          );
          return d ? y.links.type = du(Ci(d.type)) : (y.links.checkFlags |= 65536, y.links.deferralParent = Kt, y.links.deferralConstituents = [ll], y.links.deferralWriteConstituents = [ll]), d && a.pop(), a.push(y), !0;
        }
        function eP(r) {
          if (!(tn(r) && uo(r))) return;
          const a = V1(r);
          return a?.typeExpression && jT(Ci(a.typeExpression));
        }
        function Bet(r, a) {
          const l = eP(r);
          if (!l) return;
          const f = r.parameters.indexOf(a);
          return a.dotDotDotToken ? GM(l, f) : zd(l, f);
        }
        function Jet(r) {
          const a = eP(r);
          return a && Va(a);
        }
        function Rfe(r) {
          const a = yn(r);
          return a.containsArgumentsReference === void 0 && (a.flags & 512 ? a.containsArgumentsReference = !0 : a.containsArgumentsReference = l(r.body)), a.containsArgumentsReference;
          function l(f) {
            if (!f) return !1;
            switch (f.kind) {
              case 80:
                return f.escapedText === se.escapedName && FI(f) === se;
              case 172:
              case 174:
              case 177:
              case 178:
                return f.name.kind === 167 && l(f.name);
              case 211:
              case 212:
                return l(f.expression);
              case 303:
                return l(f.initializer);
              default:
                return !LB(f) && !Yd(f) && !!Ss(f, l);
            }
          }
        }
        function R2(r) {
          if (!r || !r.declarations) return Ue;
          const a = [];
          for (let l = 0; l < r.declarations.length; l++) {
            const f = r.declarations[l];
            if (Ts(f)) {
              if (l > 0 && f.body) {
                const d = r.declarations[l - 1];
                if (f.parent === d.parent && f.kind === d.kind && f.pos === d.end)
                  continue;
              }
              if (tn(f) && f.jsDoc) {
                const d = CB(f);
                if (Ar(d)) {
                  for (const y of d) {
                    const x = y.typeExpression;
                    x.type === void 0 && !Xo(f) && sb(x, Ie), a.push(qf(x));
                  }
                  continue;
                }
              }
              a.push(
                !Ky(f) && !Ep(f) && eP(f) || qf(f)
              );
            }
          }
          return a;
        }
        function f3e(r) {
          const a = Vu(r, r);
          if (a) {
            const l = b_(a);
            if (l)
              return Qr(l);
          }
          return Ie;
        }
        function Kv(r) {
          if (r.thisParameter)
            return Qr(r.thisParameter);
        }
        function dp(r) {
          if (!r.resolvedTypePredicate) {
            if (r.target) {
              const a = dp(r.target);
              r.resolvedTypePredicate = a ? TNe(a, r.mapper) : Zt;
            } else if (r.compositeSignatures)
              r.resolvedTypePredicate = Vtt(r.compositeSignatures, r.compositeKind) || Zt;
            else {
              const a = r.declaration && mf(r.declaration);
              let l;
              if (!a) {
                const f = eP(r.declaration);
                f && r !== f && (l = dp(f));
              }
              if (a || l)
                r.resolvedTypePredicate = a && Jx(a) ? zet(a, r) : l || Zt;
              else if (r.declaration && uo(r.declaration) && (!r.resolvedReturnType || r.resolvedReturnType.flags & 16) && B_(r) > 0) {
                const { declaration: f } = r;
                r.resolvedTypePredicate = Zt, r.resolvedTypePredicate = Eot(f) || Zt;
              } else
                r.resolvedTypePredicate = Zt;
            }
            E.assert(!!r.resolvedTypePredicate);
          }
          return r.resolvedTypePredicate === Zt ? void 0 : r.resolvedTypePredicate;
        }
        function zet(r, a) {
          const l = r.parameterName, f = r.type && Ci(r.type);
          return l.kind === 197 ? H8(
            r.assertsModifier ? 2 : 0,
            /*parameterName*/
            void 0,
            /*parameterIndex*/
            void 0,
            f
          ) : H8(r.assertsModifier ? 3 : 1, l.escapedText, oc(a.parameters, (d) => d.escapedName === l.escapedText), f);
        }
        function p3e(r, a, l) {
          return a !== 2097152 ? Gn(r, l) : aa(r);
        }
        function Va(r) {
          if (!r.resolvedReturnType) {
            if (!Pm(
              r,
              3
              /* ResolvedReturnType */
            ))
              return Ve;
            let a = r.target ? ji(Va(r.target), r.mapper) : r.compositeSignatures ? ji(p3e(
              fr(r.compositeSignatures, Va),
              r.compositeKind,
              2
              /* Subtype */
            ), r.mapper) : FE(r.declaration) || (cc(r.declaration.body) ? Ie : sX(r.declaration));
            if (r.flags & 8 ? a = ZNe(a) : r.flags & 16 && (a = L1(a)), !Nm()) {
              if (r.declaration) {
                const l = mf(r.declaration);
                if (l)
                  Be(l, p.Return_type_annotation_circularly_references_itself);
                else if (fe) {
                  const f = r.declaration, d = ls(f);
                  d ? Be(d, p._0_implicitly_has_return_type_any_because_it_does_not_have_a_return_type_annotation_and_is_referenced_directly_or_indirectly_in_one_of_its_return_expressions, _o(d)) : Be(f, p.Function_implicitly_has_return_type_any_because_it_does_not_have_a_return_type_annotation_and_is_referenced_directly_or_indirectly_in_one_of_its_return_expressions);
                }
              }
              a = Ie;
            }
            r.resolvedReturnType ?? (r.resolvedReturnType = a);
          }
          return r.resolvedReturnType;
        }
        function FE(r) {
          if (r.kind === 176)
            return pp(La(r.parent.symbol));
          const a = mf(r);
          if (I0(r)) {
            const l = GC(r);
            if (l && Xo(l.parent) && !a)
              return pp(La(l.parent.parent.symbol));
          }
          if (mx(r))
            return Ci(r.parameters[0].type);
          if (a)
            return Ci(a);
          if (r.kind === 177 && AE(r)) {
            const l = tn(r) && fp(r);
            if (l)
              return l;
            const f = jo(
              vn(r),
              178
              /* SetAccessor */
            ), d = $w(f);
            if (d)
              return d;
          }
          return Jet(r);
        }
        function zG(r) {
          return r.compositeSignatures && at(r.compositeSignatures, zG) || !r.resolvedReturnType && CE(
            r,
            3
            /* ResolvedReturnType */
          ) >= 0;
        }
        function Wet(r) {
          return d3e(r) || Ie;
        }
        function d3e(r) {
          if (Tu(r)) {
            const a = Qr(r.parameters[r.parameters.length - 1]), l = va(a) ? v$(a) : a;
            return l && Zv(l, At);
          }
        }
        function G8(r, a, l, f) {
          const d = jfe(r, uy(a, r.typeParameters, yg(r.typeParameters), l));
          if (f) {
            const y = W8e(Va(d));
            if (y) {
              const x = W8(y);
              x.typeParameters = f;
              const I = W8(d);
              return I.resolvedReturnType = xT(x), I;
            }
          }
          return d;
        }
        function jfe(r, a) {
          const l = r.instantiations || (r.instantiations = /* @__PURE__ */ new Map()), f = Wp(a);
          let d = l.get(f);
          return d || l.set(f, d = WG(r, a)), d;
        }
        function WG(r, a) {
          return V2(
            r,
            Vet(r, a),
            /*eraseTypeParameters*/
            !0
          );
        }
        function m3e(r) {
          return $c(r.typeParameters, (a) => a.mapper ? ji(a, a.mapper) : a);
        }
        function Vet(r, a) {
          return R_(m3e(r), a);
        }
        function $8(r) {
          return r.typeParameters ? r.erasedSignatureCache || (r.erasedSignatureCache = Uet(r)) : r;
        }
        function Uet(r) {
          return V2(
            r,
            SNe(r.typeParameters),
            /*eraseTypeParameters*/
            !0
          );
        }
        function qet(r) {
          return r.typeParameters ? r.canonicalSignatureCache || (r.canonicalSignatureCache = Het(r)) : r;
        }
        function Het(r) {
          return G8(
            r,
            fr(r.typeParameters, (a) => a.target && !a_(a.target) ? a.target : a),
            tn(r.declaration)
          );
        }
        function Get(r) {
          return r.typeParameters ? r.implementationSignatureCache || (r.implementationSignatureCache = $et(r)) : r;
        }
        function $et(r) {
          return r.typeParameters ? V2(r, R_([], [])) : r;
        }
        function Xet(r) {
          const a = r.typeParameters;
          if (a) {
            if (r.baseSignatureCache)
              return r.baseSignatureCache;
            const l = SNe(a), f = R_(a, fr(a, (y) => a_(y) || mt));
            let d = fr(a, (y) => ji(y, f) || mt);
            for (let y = 0; y < a.length - 1; y++)
              d = bg(d, f);
            return d = bg(d, l), r.baseSignatureCache = V2(
              r,
              R_(a, d),
              /*eraseTypeParameters*/
              !0
            );
          }
          return r;
        }
        function xT(r, a) {
          var l;
          if (!r.isolatedSignatureType) {
            const f = (l = r.declaration) == null ? void 0 : l.kind, d = f === void 0 || f === 176 || f === 180 || f === 185, y = ir(134217744, sa(
              16,
              "__function"
              /* Function */
            ));
            r.declaration && !oo(r.declaration) && (y.symbol.declarations = [r.declaration], y.symbol.valueDeclaration = r.declaration), a || (a = r.declaration && ay(
              r.declaration,
              /*includeThisTypes*/
              !0
            )), y.outerTypeParameters = a, y.members = A, y.properties = Ue, y.callSignatures = d ? Ue : [r], y.constructSignatures = d ? [r] : Ue, y.indexInfos = Ue, r.isolatedSignatureType = y;
          }
          return r.isolatedSignatureType;
        }
        function VG(r) {
          return r.members ? UG(gg(r)) : void 0;
        }
        function UG(r) {
          return r.get(
            "__index"
            /* Index */
          );
        }
        function dh(r, a, l, f, d) {
          return { keyType: r, type: a, isReadonly: l, declaration: f, components: d };
        }
        function g3e(r) {
          const a = VG(r);
          return a ? qG(a, rs(gg(r).values())) : Ue;
        }
        function qG(r, a = r.parent ? rs(gg(r.parent).values()) : void 0) {
          if (r.declarations) {
            const l = [];
            let f = !1, d = !0, y = !1, x = !0, I = !1, R = !0;
            const J = [];
            for (const Te of r.declarations)
              if (r1(Te)) {
                if (Te.parameters.length === 1) {
                  const de = Te.parameters[0];
                  de.type && OT(Ci(de.type), (Ge) => {
                    HG(Ge) && !Kw(l, Ge) && l.push(dh(Ge, Te.type ? Ci(Te.type) : Ie, $_(
                      Te,
                      8
                      /* Readonly */
                    ), Te));
                  });
                }
              } else if (JPe(Te)) {
                const de = _n(Te) ? Te.left : Te.name, Ge = fo(de) ? gc(de.argumentExpression) : od(de);
                if (Kw(l, Ge))
                  continue;
                js(Ge, Qn) && (js(Ge, At) ? (f = !0, xS(Te) || (d = !1)) : js(Ge, wt) ? (y = !0, xS(Te) || (x = !1)) : (I = !0, xS(Te) || (R = !1)), J.push(Te.symbol));
              }
            const Y = Ji(J, Tn(a, (Te) => Te !== r));
            return I && !Kw(l, st) && l.push(mI(R, 0, Y, st)), f && !Kw(l, At) && l.push(mI(d, 0, Y, At)), y && !Kw(l, wt) && l.push(mI(x, 0, Y, wt)), l;
          }
          return Ue;
        }
        function HG(r) {
          return !!(r.flags & 4108) || CT(r) || !!(r.flags & 2097152) && !tb(r) && at(r.types, HG);
        }
        function GG(r) {
          return Oi(Tn(r.symbol && r.symbol.declarations, Fo), PC)[0];
        }
        function h3e(r, a) {
          var l;
          let f;
          if ((l = r.symbol) != null && l.declarations) {
            for (const d of r.symbol.declarations)
              if (d.parent.kind === 195) {
                const [y = d.parent, x] = EK(d.parent.parent);
                if (x.kind === 183 && !a) {
                  const I = x, R = pme(I);
                  if (R) {
                    const J = I.typeArguments.indexOf(y);
                    if (J < R.length) {
                      const Y = a_(R[J]);
                      if (Y) {
                        const Te = gpe(
                          R,
                          R.map((Ge, ct) => () => Tct(I, R, ct))
                        ), de = ji(Y, Te);
                        de !== r && (f = Dr(f, de));
                      }
                    }
                  }
                } else if (x.kind === 169 && x.dotDotDotToken || x.kind === 191 || x.kind === 202 && x.dotDotDotToken)
                  f = Dr(f, du(mt));
                else if (x.kind === 204)
                  f = Dr(f, st);
                else if (x.kind === 168 && x.parent.kind === 200)
                  f = Dr(f, Qn);
                else if (x.kind === 200 && x.type && za(x.type) === d.parent && x.parent.kind === 194 && x.parent.extendsType === x && x.parent.checkType.kind === 200 && x.parent.checkType.type) {
                  const I = x.parent.checkType, R = Ci(I.type);
                  f = Dr(f, ji(R, z2(F2(vn(I.typeParameter)), I.typeParameter.constraint ? Ci(I.typeParameter.constraint) : Qn)));
                }
              }
          }
          return f && aa(f);
        }
        function tP(r) {
          if (!r.constraint)
            if (r.target) {
              const a = a_(r.target);
              r.constraint = a ? ji(a, r.mapper) : Vc;
            } else {
              const a = GG(r);
              if (!a)
                r.constraint = h3e(r) || Vc;
              else {
                let l = Ci(a);
                l.flags & 1 && !Oe(l) && (l = a.parent.parent.kind === 200 ? Qn : mt), r.constraint = l;
              }
            }
          return r.constraint === Vc ? void 0 : r.constraint;
        }
        function y3e(r) {
          const a = jo(
            r.symbol,
            168
            /* TypeParameter */
          ), l = Ip(a.parent) ? o5(a.parent) : a.parent;
          return l && Sf(l);
        }
        function Wp(r) {
          let a = "";
          if (r) {
            const l = r.length;
            let f = 0;
            for (; f < l; ) {
              const d = r[f].id;
              let y = 1;
              for (; f + y < l && r[f + y].id === d + y; )
                y++;
              a.length && (a += ","), a += d, y > 1 && (a += ":" + y), f += y;
            }
          }
          return a;
        }
        function tC(r, a) {
          return r ? `@${ea(r)}` + (a ? `:${Wp(a)}` : "") : "";
        }
        function eM(r, a) {
          let l = 0;
          for (const f of r)
            (a === void 0 || !(f.flags & a)) && (l |= Cn(f));
          return l & 458752;
        }
        function OE(r, a) {
          return at(a) && r === zt ? mt : e0(r, a);
        }
        function e0(r, a) {
          const l = Wp(a);
          let f = r.instantiations.get(l);
          return f || (f = ir(4, r.symbol), r.instantiations.set(l, f), f.objectFlags |= a ? eM(a) : 0, f.target = r, f.resolvedTypeArguments = a), f;
        }
        function v3e(r) {
          const a = uh(r.flags, r.symbol);
          return a.objectFlags = r.objectFlags, a.target = r.target, a.resolvedTypeArguments = r.resolvedTypeArguments, a;
        }
        function Bfe(r, a, l, f, d) {
          if (!f) {
            f = iC(a);
            const x = jE(f);
            d = l ? bg(x, l) : x;
          }
          const y = ir(4, r.symbol);
          return y.target = r, y.node = a, y.mapper = l, y.aliasSymbol = f, y.aliasTypeArguments = d, y;
        }
        function Io(r) {
          var a, l;
          if (!r.resolvedTypeArguments) {
            if (!Pm(
              r,
              5
              /* ResolvedTypeArguments */
            ))
              return Ji(r.target.outerTypeParameters, (a = r.target.localTypeParameters) == null ? void 0 : a.map(() => Ve)) || Ue;
            const f = r.node, d = f ? f.kind === 183 ? Ji(r.target.outerTypeParameters, fX(f, r.target.localTypeParameters)) : f.kind === 188 ? [Ci(f.elementType)] : fr(f.elements, Ci) : Ue;
            Nm() ? r.resolvedTypeArguments ?? (r.resolvedTypeArguments = r.mapper ? bg(d, r.mapper) : d) : (r.resolvedTypeArguments ?? (r.resolvedTypeArguments = Ji(r.target.outerTypeParameters, ((l = r.target.localTypeParameters) == null ? void 0 : l.map(() => Ve)) || Ue)), Be(
              r.node || k,
              r.target.symbol ? p.Type_arguments_for_0_circularly_reference_themselves : p.Tuple_type_arguments_circularly_reference_themselves,
              r.target.symbol && Bi(r.target.symbol)
            ));
          }
          return r.resolvedTypeArguments;
        }
        function _y(r) {
          return Ar(r.target.typeParameters);
        }
        function b3e(r, a) {
          const l = wo(La(a)), f = l.localTypeParameters;
          if (f) {
            const d = Ar(r.typeArguments), y = yg(f), x = tn(r);
            if (!(!fe && x) && (d < y || d > f.length)) {
              const J = x && Lh(r) && !Gx(r.parent), Y = y === f.length ? J ? p.Expected_0_type_arguments_provide_these_with_an_extends_tag : p.Generic_type_0_requires_1_type_argument_s : J ? p.Expected_0_1_type_arguments_provide_these_with_an_extends_tag : p.Generic_type_0_requires_between_1_and_2_type_arguments, Te = Hr(
                l,
                /*enclosingDeclaration*/
                void 0,
                2
                /* WriteArrayAsGenericType */
              );
              if (Be(r, Y, Te, y, f.length), !x)
                return Ve;
            }
            if (r.kind === 183 && V3e(r, Ar(r.typeArguments) !== f.length))
              return Bfe(
                l,
                r,
                /*mapper*/
                void 0
              );
            const R = Ji(l.outerTypeParameters, uy(tM(r), f, y, x));
            return e0(l, R);
          }
          return eb(r, a) ? l : Ve;
        }
        function LE(r, a, l, f) {
          const d = wo(r);
          if (d === we) {
            const J = TW.get(r.escapedName);
            if (J !== void 0 && a && a.length === 1)
              return J === 4 ? Jfe(a[0]) : nC(r, a[0]);
          }
          const y = Ri(r), x = y.typeParameters, I = Wp(a) + tC(l, f);
          let R = y.instantiations.get(I);
          return R || y.instantiations.set(I, R = CNe(d, R_(x, uy(a, x, yg(x), tn(r.valueDeclaration))), l, f)), R;
        }
        function Qet(r, a) {
          if (lc(a) & 1048576) {
            const d = tM(r), y = tC(a, d);
            let x = Ze.get(y);
            return x || (x = ce(
              1,
              "error",
              /*objectFlags*/
              void 0,
              `alias ${y}`
            ), x.aliasSymbol = a, x.aliasTypeArguments = d, Ze.set(y, x)), x;
          }
          const l = wo(a), f = Ri(a).typeParameters;
          if (f) {
            const d = Ar(r.typeArguments), y = yg(f);
            if (d < y || d > f.length)
              return Be(
                r,
                y === f.length ? p.Generic_type_0_requires_1_type_argument_s : p.Generic_type_0_requires_between_1_and_2_type_arguments,
                Bi(a),
                y,
                f.length
              ), Ve;
            const x = iC(r);
            let I = x && (S3e(a) || !S3e(x)) ? x : void 0, R;
            if (I)
              R = jE(I);
            else if (w7(r)) {
              const J = rP(
                r,
                2097152,
                /*ignoreErrors*/
                !0
              );
              if (J && J !== Q) {
                const Y = Uc(J);
                Y && Y.flags & 524288 && (I = Y, R = tM(r) || (f ? [] : void 0));
              }
            }
            return LE(a, tM(r), I, R);
          }
          return eb(r, a) ? l : Ve;
        }
        function S3e(r) {
          var a;
          const l = (a = r.declarations) == null ? void 0 : a.find(O3);
          return !!(l && Df(l));
        }
        function Yet(r) {
          switch (r.kind) {
            case 183:
              return r.typeName;
            case 233:
              const a = r.expression;
              if (to(a))
                return a;
          }
        }
        function T3e(r) {
          return r.parent ? `${T3e(r.parent)}.${r.escapedName}` : r.escapedName;
        }
        function $G(r) {
          const l = (r.kind === 166 ? r.right : r.kind === 211 ? r.name : r).escapedText;
          if (l) {
            const f = r.kind === 166 ? $G(r.left) : r.kind === 211 ? $G(r.expression) : void 0, d = f ? `${T3e(f)}.${l}` : l;
            let y = qe.get(d);
            return y || (qe.set(d, y = sa(
              524288,
              l,
              1048576
              /* Unresolved */
            )), y.parent = f, y.links.declaredType = Rt), y;
          }
          return Q;
        }
        function rP(r, a, l) {
          const f = Yet(r);
          if (!f)
            return Q;
          const d = mc(f, a, l);
          return d && d !== Q ? d : l ? Q : $G(f);
        }
        function XG(r, a) {
          if (a === Q)
            return Ve;
          if (a = qw(a) || a, a.flags & 96)
            return b3e(r, a);
          if (a.flags & 524288)
            return Qet(r, a);
          const l = FPe(a);
          if (l)
            return eb(r, a) ? qu(l) : Ve;
          if (a.flags & 111551 && QG(r)) {
            const f = Zet(r, a);
            return f || (rP(
              r,
              788968
              /* Type */
            ), Qr(a));
          }
          return Ve;
        }
        function Zet(r, a) {
          const l = yn(r);
          if (!l.resolvedJSDocType) {
            const f = Qr(a);
            let d = f;
            if (a.valueDeclaration) {
              const y = r.kind === 205 && r.qualifier;
              f.symbol && f.symbol !== a && y && (d = XG(r, f.symbol));
            }
            l.resolvedJSDocType = d;
          }
          return l.resolvedJSDocType;
        }
        function Jfe(r) {
          return zfe(r) ? x3e(r, mt) : r;
        }
        function zfe(r) {
          return !!(r.flags & 3145728 && at(r.types, zfe) || r.flags & 33554432 && !ME(r) && zfe(r.baseType) || r.flags & 524288 && !Sg(r) || r.flags & 432275456 && !CT(r));
        }
        function ME(r) {
          return !!(r.flags & 33554432 && r.constraint.flags & 2);
        }
        function Wfe(r, a) {
          return a.flags & 3 || a === r || r.flags & 1 ? r : x3e(r, a);
        }
        function x3e(r, a) {
          const l = `${Ll(r)}>${Ll(a)}`, f = ta.get(l);
          if (f)
            return f;
          const d = Yh(
            33554432
            /* Substitution */
          );
          return d.baseType = r, d.constraint = a, ta.set(l, d), d;
        }
        function Vfe(r) {
          return ME(r) ? r.baseType : aa([r.constraint, r.baseType]);
        }
        function k3e(r) {
          return r.kind === 189 && r.elements.length === 1;
        }
        function C3e(r, a, l) {
          return k3e(a) && k3e(l) ? C3e(r, a.elements[0], l.elements[0]) : n0(Ci(a)) === n0(r) ? Ci(l) : void 0;
        }
        function Ket(r, a) {
          let l, f = !0;
          for (; a && !yi(a) && a.kind !== 320; ) {
            const d = a.parent;
            if (d.kind === 169 && (f = !f), (f || r.flags & 8650752) && d.kind === 194 && a === d.trueType) {
              const y = C3e(r, d.checkType, d.extendsType);
              y && (l = Dr(l, y));
            } else if (r.flags & 262144 && d.kind === 200 && !d.nameType && a === d.type) {
              const y = Ci(d);
              if (Rd(y) === n0(r)) {
                const x = K8(y);
                if (x) {
                  const I = a_(x);
                  I && j_(I, nb) && (l = Dr(l, Gn([At, Es])));
                }
              }
            }
            a = d;
          }
          return l ? Wfe(r, aa(l)) : r;
        }
        function QG(r) {
          return !!(r.flags & 16777216) && (r.kind === 183 || r.kind === 205);
        }
        function eb(r, a) {
          return r.typeArguments ? (Be(r, p.Type_0_is_not_generic, a ? Bi(a) : r.typeName ? _o(r.typeName) : yW), !1) : !0;
        }
        function E3e(r) {
          if (Fe(r.typeName)) {
            const a = r.typeArguments;
            switch (r.typeName.escapedText) {
              case "String":
                return eb(r), st;
              case "Number":
                return eb(r), At;
              case "BigInt":
                return eb(r), Yr;
              case "Boolean":
                return eb(r), Jt;
              case "Void":
                return eb(r), dr;
              case "Undefined":
                return eb(r), _e;
              case "Null":
                return eb(r), jt;
              case "Function":
              case "function":
                return eb(r), It;
              case "array":
                return (!a || !a.length) && !fe ? ll : void 0;
              case "promise":
                return (!a || !a.length) && !fe ? XM(Ie) : void 0;
              case "Object":
                if (a && a.length === 2) {
                  if (n5(r)) {
                    const l = Ci(a[0]), f = Ci(a[1]), d = l === st || l === At ? [dh(
                      l,
                      f,
                      /*isReadonly*/
                      !1
                    )] : Ue;
                    return Jo(
                      /*symbol*/
                      void 0,
                      A,
                      Ue,
                      Ue,
                      d
                    );
                  }
                  return Ie;
                }
                return eb(r), fe ? void 0 : Ie;
            }
          }
        }
        function ett(r) {
          const a = Ci(r.type);
          return K ? SM(
            a,
            65536
            /* Null */
          ) : a;
        }
        function YG(r) {
          const a = yn(r);
          if (!a.resolvedType) {
            if (Up(r) && Tb(r.parent))
              return a.resolvedSymbol = Q, a.resolvedType = gc(r.parent.expression);
            let l, f;
            const d = 788968;
            QG(r) && (f = E3e(r), f || (l = rP(
              r,
              d,
              /*ignoreErrors*/
              !0
            ), l === Q ? l = rP(
              r,
              d | 111551
              /* Value */
            ) : rP(r, d), f = XG(r, l))), f || (l = rP(r, d), f = XG(r, l)), a.resolvedSymbol = l, a.resolvedType = f;
          }
          return a.resolvedType;
        }
        function tM(r) {
          return fr(r.typeArguments, Ci);
        }
        function D3e(r) {
          const a = yn(r);
          if (!a.resolvedType) {
            const l = lIe(r);
            a.resolvedType = qu(_f(l));
          }
          return a.resolvedType;
        }
        function w3e(r, a) {
          function l(d) {
            const y = d.declarations;
            if (y)
              for (const x of y)
                switch (x.kind) {
                  case 263:
                  case 264:
                  case 266:
                    return x;
                }
          }
          if (!r)
            return a ? zt : Pa;
          const f = wo(r);
          return f.flags & 524288 ? Ar(f.typeParameters) !== a ? (Be(l(r), p.Global_type_0_must_have_1_type_parameter_s, bc(r), a), a ? zt : Pa) : f : (Be(l(r), p.Global_type_0_must_be_a_class_or_interface_type, bc(r)), a ? zt : Pa);
        }
        function Ufe(r, a) {
          return RE(r, 111551, a ? p.Cannot_find_global_value_0 : void 0);
        }
        function qfe(r, a) {
          return RE(r, 788968, a ? p.Cannot_find_global_type_0 : void 0);
        }
        function ZG(r, a, l) {
          const f = RE(r, 788968, l ? p.Cannot_find_global_type_0 : void 0);
          if (f && (wo(f), Ar(Ri(f).typeParameters) !== a)) {
            const d = f.declarations && Dn(f.declarations, Ap);
            Be(d, p.Global_type_0_must_have_1_type_parameter_s, bc(f), a);
            return;
          }
          return f;
        }
        function RE(r, a, l) {
          return it(
            /*location*/
            void 0,
            r,
            a,
            l,
            /*isUse*/
            !1,
            /*excludeGlobals*/
            !1
          );
        }
        function vc(r, a, l) {
          const f = qfe(r, l);
          return f || l ? w3e(f, a) : void 0;
        }
        function P3e(r, a) {
          let l;
          for (const f of r)
            l = Dr(l, vc(
              f,
              a,
              /*reportErrors*/
              !1
            ));
          return l ?? Ue;
        }
        function ttt() {
          return Qg || (Qg = vc(
            "TypedPropertyDescriptor",
            /*arity*/
            1,
            /*reportErrors*/
            !0
          ) || zt);
        }
        function rtt() {
          return Sr || (Sr = vc(
            "TemplateStringsArray",
            /*arity*/
            0,
            /*reportErrors*/
            !0
          ) || Pa);
        }
        function N3e() {
          return Zi || (Zi = vc(
            "ImportMeta",
            /*arity*/
            0,
            /*reportErrors*/
            !0
          ) || Pa);
        }
        function A3e() {
          if (!fi) {
            const r = sa(0, "ImportMetaExpression"), a = N3e(), l = sa(
              4,
              "meta",
              8
              /* Readonly */
            );
            l.parent = r, l.links.type = a;
            const f = qs([l]);
            r.members = f, fi = Jo(r, f, Ue, Ue, Ue);
          }
          return fi;
        }
        function I3e(r) {
          return Vi || (Vi = vc(
            "ImportCallOptions",
            /*arity*/
            0,
            r
          )) || Pa;
        }
        function Hfe(r) {
          return as || (as = vc(
            "ImportAttributes",
            /*arity*/
            0,
            r
          )) || Pa;
        }
        function F3e(r) {
          return ed || (ed = Ufe("Symbol", r));
        }
        function ntt(r) {
          return hf || (hf = qfe("SymbolConstructor", r));
        }
        function O3e() {
          return ym || (ym = vc(
            "Symbol",
            /*arity*/
            0,
            /*reportErrors*/
            !1
          )) || Pa;
        }
        function rM(r) {
          return jf || (jf = vc(
            "Promise",
            /*arity*/
            1,
            r
          )) || zt;
        }
        function L3e(r) {
          return y_ || (y_ = vc(
            "PromiseLike",
            /*arity*/
            1,
            r
          )) || zt;
        }
        function Gfe(r) {
          return Ju || (Ju = Ufe("Promise", r));
        }
        function itt(r) {
          return vm || (vm = vc(
            "PromiseConstructorLike",
            /*arity*/
            0,
            r
          )) || Pa;
        }
        function nM(r) {
          return qr || (qr = vc(
            "AsyncIterable",
            /*arity*/
            3,
            r
          )) || zt;
        }
        function stt(r) {
          return On || (On = vc(
            "AsyncIterator",
            /*arity*/
            3,
            r
          )) || zt;
        }
        function M3e(r) {
          return ti || (ti = vc(
            "AsyncIterableIterator",
            /*arity*/
            3,
            r
          )) || zt;
        }
        function att() {
          return L ?? (L = P3e(["ReadableStreamAsyncIterator"], 1));
        }
        function ott(r) {
          return Re || (Re = vc(
            "AsyncIteratorObject",
            /*arity*/
            3,
            r
          )) || zt;
        }
        function ctt(r) {
          return Ct || (Ct = vc(
            "AsyncGenerator",
            /*arity*/
            3,
            r
          )) || zt;
        }
        function KG(r) {
          return yf || (yf = vc(
            "Iterable",
            /*arity*/
            3,
            r
          )) || zt;
        }
        function ltt(r) {
          return Yg || (Yg = vc(
            "Iterator",
            /*arity*/
            3,
            r
          )) || zt;
        }
        function R3e(r) {
          return Z || (Z = vc(
            "IterableIterator",
            /*arity*/
            3,
            r
          )) || zt;
        }
        function $fe() {
          return ie ? _e : Ie;
        }
        function utt() {
          return Ii ?? (Ii = P3e(["ArrayIterator", "MapIterator", "SetIterator", "StringIterator"], 1));
        }
        function _tt(r) {
          return Ke || (Ke = vc(
            "IteratorObject",
            /*arity*/
            3,
            r
          )) || zt;
        }
        function ftt(r) {
          return Vt || (Vt = vc(
            "Generator",
            /*arity*/
            3,
            r
          )) || zt;
        }
        function ptt(r) {
          return Ut || (Ut = vc(
            "IteratorYieldResult",
            /*arity*/
            1,
            r
          )) || zt;
        }
        function dtt(r) {
          return vr || (vr = vc(
            "IteratorReturnResult",
            /*arity*/
            1,
            r
          )) || zt;
        }
        function j3e(r) {
          return Ao || (Ao = vc(
            "Disposable",
            /*arity*/
            0,
            r
          )) || Pa;
        }
        function mtt(r) {
          return ra || (ra = vc(
            "AsyncDisposable",
            /*arity*/
            0,
            r
          )) || Pa;
        }
        function B3e(r, a = 0) {
          const l = RE(
            r,
            788968,
            /*diagnostic*/
            void 0
          );
          return l && w3e(l, a);
        }
        function gtt() {
          return nl || (nl = ZG(
            "Extract",
            /*arity*/
            2,
            /*reportErrors*/
            !0
          ) || Q), nl === Q ? void 0 : nl;
        }
        function htt() {
          return sf || (sf = ZG(
            "Omit",
            /*arity*/
            2,
            /*reportErrors*/
            !0
          ) || Q), sf === Q ? void 0 : sf;
        }
        function Xfe(r) {
          return up || (up = ZG(
            "Awaited",
            /*arity*/
            1,
            r
          ) || (r ? Q : void 0)), up === Q ? void 0 : up;
        }
        function ytt() {
          return Ed || (Ed = vc(
            "BigInt",
            /*arity*/
            0,
            /*reportErrors*/
            !1
          )) || Pa;
        }
        function vtt(r) {
          return A_ ?? (A_ = vc(
            "ClassDecoratorContext",
            /*arity*/
            1,
            r
          )) ?? zt;
        }
        function btt(r) {
          return Dd ?? (Dd = vc(
            "ClassMethodDecoratorContext",
            /*arity*/
            2,
            r
          )) ?? zt;
        }
        function Stt(r) {
          return bm ?? (bm = vc(
            "ClassGetterDecoratorContext",
            /*arity*/
            2,
            r
          )) ?? zt;
        }
        function Ttt(r) {
          return Rp ?? (Rp = vc(
            "ClassSetterDecoratorContext",
            /*arity*/
            2,
            r
          )) ?? zt;
        }
        function xtt(r) {
          return m1 ?? (m1 = vc(
            "ClassAccessorDecoratorContext",
            /*arity*/
            2,
            r
          )) ?? zt;
        }
        function ktt(r) {
          return vf ?? (vf = vc(
            "ClassAccessorDecoratorTarget",
            /*arity*/
            2,
            r
          )) ?? zt;
        }
        function Ctt(r) {
          return J0 ?? (J0 = vc(
            "ClassAccessorDecoratorResult",
            /*arity*/
            2,
            r
          )) ?? zt;
        }
        function Ett(r) {
          return g1 ?? (g1 = vc(
            "ClassFieldDecoratorContext",
            /*arity*/
            2,
            r
          )) ?? zt;
        }
        function Dtt() {
          return qh || (qh = Ufe(
            "NaN",
            /*reportErrors*/
            !1
          ));
        }
        function wtt() {
          return Zg || (Zg = ZG(
            "Record",
            /*arity*/
            2,
            /*reportErrors*/
            !0
          ) || Q), Zg === Q ? void 0 : Zg;
        }
        function nP(r, a) {
          return r !== zt ? e0(r, a) : Pa;
        }
        function J3e(r) {
          return nP(ttt(), [r]);
        }
        function z3e(r) {
          return nP(KG(
            /*reportErrors*/
            !0
          ), [r, dr, _e]);
        }
        function du(r, a) {
          return nP(a ? Ea : Is, [r]);
        }
        function Qfe(r) {
          switch (r.kind) {
            case 190:
              return 2;
            case 191:
              return W3e(r);
            case 202:
              return r.questionToken ? 2 : r.dotDotDotToken ? W3e(r) : 1;
            default:
              return 1;
          }
        }
        function W3e(r) {
          return lM(r.type) ? 4 : 8;
        }
        function Ptt(r) {
          const a = Itt(r.parent);
          if (lM(r))
            return a ? Ea : Is;
          const f = fr(r.elements, Qfe);
          return Yfe(f, a, fr(r.elements, Ntt));
        }
        function Ntt(r) {
          return _6(r) || Ni(r) ? r : void 0;
        }
        function V3e(r, a) {
          return !!iC(r) || U3e(r) && (r.kind === 188 ? N1(r.elementType) : r.kind === 189 ? at(r.elements, N1) : a || at(r.typeArguments, N1));
        }
        function U3e(r) {
          const a = r.parent;
          switch (a.kind) {
            case 196:
            case 202:
            case 183:
            case 192:
            case 193:
            case 199:
            case 194:
            case 198:
            case 188:
            case 189:
              return U3e(a);
            case 265:
              return !0;
          }
          return !1;
        }
        function N1(r) {
          switch (r.kind) {
            case 183:
              return QG(r) || !!(rP(
                r,
                788968
                /* Type */
              ).flags & 524288);
            case 186:
              return !0;
            case 198:
              return r.operator !== 158 && N1(r.type);
            case 196:
            case 190:
            case 202:
            case 316:
            case 314:
            case 315:
            case 309:
              return N1(r.type);
            case 191:
              return r.type.kind !== 188 || N1(r.type.elementType);
            case 192:
            case 193:
              return at(r.types, N1);
            case 199:
              return N1(r.objectType) || N1(r.indexType);
            case 194:
              return N1(r.checkType) || N1(r.extendsType) || N1(r.trueType) || N1(r.falseType);
          }
          return !1;
        }
        function Att(r) {
          const a = yn(r);
          if (!a.resolvedType) {
            const l = Ptt(r);
            if (l === zt)
              a.resolvedType = Pa;
            else if (!(r.kind === 189 && at(r.elements, (f) => !!(Qfe(f) & 8))) && V3e(r))
              a.resolvedType = r.kind === 189 && r.elements.length === 0 ? l : Bfe(
                l,
                r,
                /*mapper*/
                void 0
              );
            else {
              const f = r.kind === 188 ? [Ci(r.elementType)] : fr(r.elements, Ci);
              a.resolvedType = Zfe(l, f);
            }
          }
          return a.resolvedType;
        }
        function Itt(r) {
          return nv(r) && r.operator === 148;
        }
        function vg(r, a, l = !1, f = []) {
          const d = Yfe(a || fr(
            r,
            (y) => 1
            /* Required */
          ), l, f);
          return d === zt ? Pa : r.length ? Zfe(d, r) : d;
        }
        function Yfe(r, a, l) {
          if (r.length === 1 && r[0] & 4)
            return a ? Ea : Is;
          const f = fr(r, (y) => y & 1 ? "#" : y & 2 ? "?" : y & 4 ? "." : "*").join() + (a ? "R" : "") + (at(l, (y) => !!y) ? "," + fr(l, (y) => y ? Oa(y) : "_").join(",") : "");
          let d = li.get(f);
          return d || li.set(f, d = Ftt(r, a, l)), d;
        }
        function Ftt(r, a, l) {
          const f = r.length, d = d0(r, (Te) => !!(Te & 9));
          let y;
          const x = [];
          let I = 0;
          if (f) {
            y = new Array(f);
            for (let Te = 0; Te < f; Te++) {
              const de = y[Te] = hi(), Ge = r[Te];
              if (I |= Ge, !(I & 12)) {
                const ct = sa(4 | (Ge & 2 ? 16777216 : 0), "" + Te, a ? 8 : 0);
                ct.links.tupleLabelDeclaration = l?.[Te], ct.links.type = de, x.push(ct);
              }
            }
          }
          const R = x.length, J = sa(4, "length", a ? 8 : 0);
          if (I & 12)
            J.links.type = At;
          else {
            const Te = [];
            for (let de = d; de <= f; de++) Te.push(ad(de));
            J.links.type = Gn(Te);
          }
          x.push(J);
          const Y = ir(
            12
            /* Reference */
          );
          return Y.typeParameters = y, Y.outerTypeParameters = void 0, Y.localTypeParameters = y, Y.instantiations = /* @__PURE__ */ new Map(), Y.instantiations.set(Wp(Y.typeParameters), Y), Y.target = Y, Y.resolvedTypeArguments = Y.typeParameters, Y.thisType = hi(), Y.thisType.isThisType = !0, Y.thisType.constraint = Y, Y.declaredProperties = x, Y.declaredCallSignatures = Ue, Y.declaredConstructSignatures = Ue, Y.declaredIndexInfos = Ue, Y.elementFlags = r, Y.minLength = d, Y.fixedLength = R, Y.hasRestElement = !!(I & 12), Y.combinedFlags = I, Y.readonly = a, Y.labeledElementDeclarations = l, Y;
        }
        function Zfe(r, a) {
          return r.objectFlags & 8 ? Kfe(r, a) : e0(r, a);
        }
        function Kfe(r, a) {
          var l, f, d, y;
          if (!(r.combinedFlags & 14))
            return e0(r, a);
          if (r.combinedFlags & 8) {
            const ct = oc(a, (ht, nr) => !!(r.elementFlags[nr] & 8 && ht.flags & 1179648));
            if (ct >= 0)
              return sM(fr(a, (ht, nr) => r.elementFlags[nr] & 8 ? ht : mt)) ? Ho(a[ct], (ht) => Kfe(r, wR(a, ct, ht))) : Ve;
          }
          const x = [], I = [], R = [];
          let J = -1, Y = -1, Te = -1;
          for (let ct = 0; ct < a.length; ct++) {
            const ht = a[ct], nr = r.elementFlags[ct];
            if (nr & 8)
              if (ht.flags & 1)
                Ge(ht, 4, (l = r.labeledElementDeclarations) == null ? void 0 : l[ct]);
              else if (ht.flags & 58982400 || T_(ht))
                Ge(ht, 8, (f = r.labeledElementDeclarations) == null ? void 0 : f[ct]);
              else if (va(ht)) {
                const Xt = j2(ht);
                if (Xt.length + x.length >= 1e4)
                  return Be(
                    k,
                    Yd(k) ? p.Type_produces_a_tuple_type_that_is_too_large_to_represent : p.Expression_produces_a_tuple_type_that_is_too_large_to_represent
                  ), Ve;
                ar(Xt, (Gr, Jr) => {
                  var sr;
                  return Ge(Gr, ht.target.elementFlags[Jr], (sr = ht.target.labeledElementDeclarations) == null ? void 0 : sr[Jr]);
                });
              } else
                Ge(py(ht) && Zv(ht, At) || Ve, 4, (d = r.labeledElementDeclarations) == null ? void 0 : d[ct]);
            else
              Ge(ht, nr, (y = r.labeledElementDeclarations) == null ? void 0 : y[ct]);
          }
          for (let ct = 0; ct < J; ct++)
            I[ct] & 2 && (I[ct] = 1);
          Y >= 0 && Y < Te && (x[Y] = Gn($c(x.slice(Y, Te + 1), (ct, ht) => I[Y + ht] & 8 ? M_(ct, At) : ct)), x.splice(Y + 1, Te - Y), I.splice(Y + 1, Te - Y), R.splice(Y + 1, Te - Y));
          const de = Yfe(I, r.readonly, R);
          return de === zt ? Pa : I.length ? e0(de, x) : de;
          function Ge(ct, ht, nr) {
            ht & 1 && (J = I.length), ht & 4 && Y < 0 && (Y = I.length), ht & 6 && (Te = I.length), x.push(ht & 2 ? Ol(
              ct,
              /*isProperty*/
              !0
            ) : ct), I.push(ht), R.push(nr);
          }
        }
        function iP(r, a, l = 0) {
          const f = r.target, d = _y(r) - l;
          return a > f.fixedLength ? vnt(r) || vg(Ue) : vg(
            Io(r).slice(a, d),
            f.elementFlags.slice(a, d),
            /*readonly*/
            !1,
            f.labeledElementDeclarations && f.labeledElementDeclarations.slice(a, d)
          );
        }
        function q3e(r) {
          return Gn(Dr(XX(r.target.fixedLength, (a) => x_("" + a)), Om(r.target.readonly ? Ea : Is)));
        }
        function Ott(r, a) {
          const l = oc(r.elementFlags, (f) => !(f & a));
          return l >= 0 ? l : r.elementFlags.length;
        }
        function X8(r, a) {
          return r.elementFlags.length - BI(r.elementFlags, (l) => !(l & a)) - 1;
        }
        function epe(r) {
          return r.fixedLength + X8(
            r,
            3
            /* Fixed */
          );
        }
        function j2(r) {
          const a = Io(r), l = _y(r);
          return a.length === l ? a : a.slice(0, l);
        }
        function Ltt(r) {
          return Ol(
            Ci(r.type),
            /*isProperty*/
            !0
          );
        }
        function Ll(r) {
          return r.id;
        }
        function mh(r, a) {
          return ky(r, a, Ll, go) >= 0;
        }
        function iM(r, a) {
          const l = ky(r, a, Ll, go);
          return l < 0 ? (r.splice(~l, 0, a), !0) : !1;
        }
        function Mtt(r, a, l) {
          const f = l.flags;
          if (!(f & 131072))
            if (a |= f & 473694207, f & 465829888 && (a |= 33554432), f & 2097152 && Cn(l) & 67108864 && (a |= 536870912), l === _t && (a |= 8388608), Oe(l) && (a |= 1073741824), !K && f & 98304)
              Cn(l) & 65536 || (a |= 4194304);
            else {
              const d = r.length, y = d && l.id > r[d - 1].id ? ~d : ky(r, l, Ll, go);
              y < 0 && r.splice(~y, 0, l);
            }
          return a;
        }
        function H3e(r, a, l) {
          let f;
          for (const d of l)
            d !== f && (a = d.flags & 1048576 ? H3e(r, a | (Wtt(d) ? 1048576 : 0), d.types) : Mtt(r, a, d), f = d);
          return a;
        }
        function Rtt(r, a) {
          var l;
          if (r.length < 2)
            return r;
          const f = Wp(r), d = gr.get(f);
          if (d)
            return d;
          const y = a && at(r, (J) => !!(J.flags & 524288) && !T_(J) && xpe(jd(J))), x = r.length;
          let I = x, R = 0;
          for (; I > 0; ) {
            I--;
            const J = r[I];
            if (y || J.flags & 469499904) {
              if (J.flags & 262144 && Fm(J).flags & 1048576) {
                Lm(J, Gn(fr(r, (de) => de === J ? Kt : de)), _p) && Py(r, I);
                continue;
              }
              const Y = J.flags & 61603840 ? Dn(Ga(J), (de) => Bd(Qr(de))) : void 0, Te = Y && qu(Qr(Y));
              for (const de of r)
                if (J !== de) {
                  if (R === 1e5 && R / (x - I) * x > 1e6) {
                    (l = rn) == null || l.instant(rn.Phase.CheckTypes, "removeSubtypes_DepthLimit", { typeIds: r.map((ct) => ct.id) }), Be(k, p.Expression_produces_a_union_type_that_is_too_complex_to_represent);
                    return;
                  }
                  if (R++, Y && de.flags & 61603840) {
                    const Ge = qc(de, Y.escapedName);
                    if (Ge && Bd(Ge) && qu(Ge) !== Te)
                      continue;
                  }
                  if (Lm(J, de, _p) && (!(Cn(wE(J)) & 1) || !(Cn(wE(de)) & 1) || rb(J, de))) {
                    Py(r, I);
                    break;
                  }
                }
            }
          }
          return gr.set(f, r), r;
        }
        function jtt(r, a, l) {
          let f = r.length;
          for (; f > 0; ) {
            f--;
            const d = r[f], y = d.flags;
            (y & 402653312 && a & 4 || y & 256 && a & 8 || y & 2048 && a & 64 || y & 8192 && a & 4096 || l && y & 32768 && a & 16384 || J2(d) && mh(r, d.regularType)) && Py(r, f);
          }
        }
        function Btt(r) {
          const a = Tn(r, CT);
          if (a.length) {
            let l = r.length;
            for (; l > 0; ) {
              l--;
              const f = r[l];
              f.flags & 128 && at(a, (d) => Jtt(f, d)) && Py(r, l);
            }
          }
        }
        function Jtt(r, a) {
          return a.flags & 134217728 ? P$(r, a) : w$(r, a);
        }
        function ztt(r) {
          const a = [];
          for (const l of r)
            if (l.flags & 2097152 && Cn(l) & 67108864) {
              const f = l.types[0].flags & 8650752 ? 0 : 1;
              $f(a, l.types[f]);
            }
          for (const l of a) {
            const f = [];
            for (const y of r)
              if (y.flags & 2097152 && Cn(y) & 67108864) {
                const x = y.types[0].flags & 8650752 ? 0 : 1;
                y.types[x] === l && iM(f, y.types[1 - x]);
              }
            const d = ru(l);
            if (j_(d, (y) => mh(f, y))) {
              let y = r.length;
              for (; y > 0; ) {
                y--;
                const x = r[y];
                if (x.flags & 2097152 && Cn(x) & 67108864) {
                  const I = x.types[0].flags & 8650752 ? 0 : 1;
                  x.types[I] === l && mh(f, x.types[1 - I]) && Py(r, y);
                }
              }
              iM(r, l);
            }
          }
        }
        function Wtt(r) {
          return !!(r.flags & 1048576 && (r.aliasSymbol || r.origin));
        }
        function G3e(r, a) {
          for (const l of a)
            if (l.flags & 1048576) {
              const f = l.origin;
              l.aliasSymbol || f && !(f.flags & 1048576) ? $f(r, l) : f && f.flags & 1048576 && G3e(r, f.types);
            }
        }
        function tpe(r, a) {
          const l = C(r);
          return l.types = a, l;
        }
        function Gn(r, a = 1, l, f, d) {
          if (r.length === 0)
            return Kt;
          if (r.length === 1)
            return r[0];
          if (r.length === 2 && !d && (r[0].flags & 1048576 || r[1].flags & 1048576)) {
            const y = a === 0 ? "N" : a === 2 ? "S" : "L", x = r[0].id < r[1].id ? 0 : 1, I = r[x].id + y + r[1 - x].id + tC(l, f);
            let R = ci.get(I);
            return R || (R = $3e(
              r,
              a,
              l,
              f,
              /*origin*/
              void 0
            ), ci.set(I, R)), R;
          }
          return $3e(r, a, l, f, d);
        }
        function $3e(r, a, l, f, d) {
          let y = [];
          const x = H3e(y, 0, r);
          if (a !== 0) {
            if (x & 3)
              return x & 1 ? x & 8388608 ? _t : x & 1073741824 ? Ve : Ie : mt;
            if (x & 32768 && y.length >= 2 && y[0] === _e && y[1] === ye && Py(y, 1), (x & 402664352 || x & 16384 && x & 32768) && jtt(y, x, !!(a & 2)), x & 128 && x & 402653184 && Btt(y), x & 536870912 && ztt(y), a === 2 && (y = Rtt(y, !!(x & 524288)), !y))
              return Ve;
            if (y.length === 0)
              return x & 65536 ? x & 4194304 ? jt : ke : x & 32768 ? x & 4194304 ? _e : M : Kt;
          }
          if (!d && x & 1048576) {
            const R = [];
            G3e(R, r);
            const J = [];
            for (const Te of y)
              at(R, (de) => mh(de.types, Te)) || J.push(Te);
            if (!l && R.length === 1 && J.length === 0)
              return R[0];
            if (Hu(R, (Te, de) => Te + de.types.length, 0) + J.length === y.length) {
              for (const Te of R)
                iM(J, Te);
              d = tpe(1048576, J);
            }
          }
          const I = (x & 36323331 ? 0 : 32768) | (x & 2097152 ? 16777216 : 0);
          return npe(y, I, l, f, d);
        }
        function Vtt(r, a) {
          let l;
          const f = [];
          for (const y of r) {
            const x = dp(y);
            if (x) {
              if (x.kind !== 0 && x.kind !== 1 || l && !rpe(l, x))
                return;
              l = x, f.push(x.type);
            } else {
              const I = a !== 2097152 ? Va(y) : void 0;
              if (I !== Mr && I !== Rr)
                return;
            }
          }
          if (!l)
            return;
          const d = p3e(f, a);
          return H8(l.kind, l.parameterName, l.parameterIndex, d);
        }
        function rpe(r, a) {
          return r.kind === a.kind && r.parameterIndex === a.parameterIndex;
        }
        function npe(r, a, l, f, d) {
          if (r.length === 0)
            return Kt;
          if (r.length === 1)
            return r[0];
          const x = (d ? d.flags & 1048576 ? `|${Wp(d.types)}` : d.flags & 2097152 ? `&${Wp(d.types)}` : `#${d.type.id}|${Wp(r)}` : Wp(r)) + tC(l, f);
          let I = cn.get(x);
          return I || (I = Yh(
            1048576
            /* Union */
          ), I.objectFlags = a | eM(
            r,
            /*excludeKinds*/
            98304
            /* Nullable */
          ), I.types = r, I.origin = d, I.aliasSymbol = l, I.aliasTypeArguments = f, r.length === 2 && r[0].flags & 512 && r[1].flags & 512 && (I.flags |= 16, I.intrinsicName = "boolean"), cn.set(x, I)), I;
        }
        function Utt(r) {
          const a = yn(r);
          if (!a.resolvedType) {
            const l = iC(r);
            a.resolvedType = Gn(fr(r.types, Ci), 1, l, jE(l));
          }
          return a.resolvedType;
        }
        function qtt(r, a, l) {
          const f = l.flags;
          return f & 2097152 ? X3e(r, a, l.types) : (Sg(l) ? a & 16777216 || (a |= 16777216, r.set(l.id.toString(), l)) : (f & 3 ? (l === _t && (a |= 8388608), Oe(l) && (a |= 1073741824)) : (K || !(f & 98304)) && (l === ye && (a |= 262144, l = _e), r.has(l.id.toString()) || (l.flags & 109472 && a & 109472 && (a |= 67108864), r.set(l.id.toString(), l))), a |= f & 473694207), a);
        }
        function X3e(r, a, l) {
          for (const f of l)
            a = qtt(r, a, qu(f));
          return a;
        }
        function Htt(r, a) {
          let l = r.length;
          for (; l > 0; ) {
            l--;
            const f = r[l];
            (f.flags & 4 && a & 402653312 || f.flags & 8 && a & 256 || f.flags & 64 && a & 2048 || f.flags & 4096 && a & 8192 || f.flags & 16384 && a & 32768 || Sg(f) && a & 470302716) && Py(r, l);
          }
        }
        function Gtt(r, a) {
          for (const l of r)
            if (!mh(l.types, a)) {
              if (a === ye)
                return mh(l.types, _e);
              if (a === _e)
                return mh(l.types, ye);
              const f = a.flags & 128 ? st : a.flags & 288 ? At : a.flags & 2048 ? Yr : a.flags & 8192 ? wt : void 0;
              if (!f || !mh(l.types, f))
                return !1;
            }
          return !0;
        }
        function $tt(r) {
          let a = r.length;
          const l = Tn(r, (f) => !!(f.flags & 128));
          for (; a > 0; ) {
            a--;
            const f = r[a];
            if (f.flags & 402653184) {
              for (const d of l)
                if (U2(d, f)) {
                  Py(r, a);
                  break;
                } else if (CT(f))
                  return !0;
            }
          }
          return !1;
        }
        function Q3e(r, a) {
          for (let l = 0; l < r.length; l++)
            r[l] = Hc(r[l], (f) => !(f.flags & a));
        }
        function Xtt(r) {
          let a;
          const l = oc(r, (x) => !!(Cn(x) & 32768));
          if (l < 0)
            return !1;
          let f = l + 1;
          for (; f < r.length; ) {
            const x = r[f];
            Cn(x) & 32768 ? ((a || (a = [r[l]])).push(x), Py(r, f)) : f++;
          }
          if (!a)
            return !1;
          const d = [], y = [];
          for (const x of a)
            for (const I of x.types)
              if (iM(d, I) && Gtt(a, I)) {
                if (I === _e && y.length && y[0] === ye)
                  continue;
                if (I === ye && y.length && y[0] === _e) {
                  y[0] = ye;
                  continue;
                }
                iM(y, I);
              }
          return r[l] = npe(
            y,
            32768
            /* PrimitiveUnion */
          ), !0;
        }
        function Qtt(r, a, l, f) {
          const d = Yh(
            2097152
            /* Intersection */
          );
          return d.objectFlags = a | eM(
            r,
            /*excludeKinds*/
            98304
            /* Nullable */
          ), d.types = r, d.aliasSymbol = l, d.aliasTypeArguments = f, d;
        }
        function aa(r, a = 0, l, f) {
          const d = /* @__PURE__ */ new Map(), y = X3e(d, 0, r), x = rs(d.values());
          let I = 0;
          if (y & 131072)
            return _s(x, Mt) ? Mt : Kt;
          if (K && y & 98304 && y & 84410368 || y & 67108864 && y & 402783228 || y & 402653316 && y & 67238776 || y & 296 && y & 469891796 || y & 2112 && y & 469889980 || y & 12288 && y & 469879804 || y & 49152 && y & 469842940 || y & 402653184 && y & 128 && $tt(x))
            return Kt;
          if (y & 1)
            return y & 8388608 ? _t : y & 1073741824 ? Ve : Ie;
          if (!K && y & 98304)
            return y & 16777216 ? Kt : y & 32768 ? _e : jt;
          if ((y & 4 && y & 402653312 || y & 8 && y & 256 || y & 64 && y & 2048 || y & 4096 && y & 8192 || y & 16384 && y & 32768 || y & 16777216 && y & 470302716) && (a & 1 || Htt(x, y)), y & 262144 && (x[x.indexOf(_e)] = ye), x.length === 0)
            return mt;
          if (x.length === 1)
            return x[0];
          if (x.length === 2 && !(a & 2)) {
            const Y = x[0].flags & 8650752 ? 0 : 1, Te = x[Y], de = x[1 - Y];
            if (Te.flags & 8650752 && (de.flags & 469893116 && !oNe(de) || y & 16777216)) {
              const Ge = ru(Te);
              if (Ge && j_(Ge, (ct) => !!(ct.flags & 469893116) || Sg(ct))) {
                if (fM(Ge, de))
                  return Te;
                if (!(Ge.flags & 1048576 && yp(Ge, (ct) => fM(ct, de))) && !fM(de, Ge))
                  return Kt;
                I = 67108864;
              }
            }
          }
          const R = Wp(x) + (a & 2 ? "*" : tC(l, f));
          let J = je.get(R);
          if (!J) {
            if (y & 1048576)
              if (Xtt(x))
                J = aa(x, a, l, f);
              else if (Pi(x, (Y) => !!(Y.flags & 1048576 && Y.types[0].flags & 32768))) {
                const Y = at(x, aI) ? ye : _e;
                Q3e(
                  x,
                  32768
                  /* Undefined */
                ), J = Gn([aa(x, a), Y], 1, l, f);
              } else if (Pi(x, (Y) => !!(Y.flags & 1048576 && (Y.types[0].flags & 65536 || Y.types[1].flags & 65536))))
                Q3e(
                  x,
                  65536
                  /* Null */
                ), J = Gn([aa(x, a), jt], 1, l, f);
              else if (x.length >= 3 && r.length > 2) {
                const Y = Math.floor(x.length / 2);
                J = aa([aa(x.slice(0, Y), a), aa(x.slice(Y), a)], a, l, f);
              } else {
                if (!sM(x))
                  return Ve;
                const Y = Ytt(x, a), Te = at(Y, (de) => !!(de.flags & 2097152)) && ipe(Y) > ipe(x) ? tpe(2097152, x) : void 0;
                J = Gn(Y, 1, l, f, Te);
              }
            else
              J = Qtt(x, I, l, f);
            je.set(R, J);
          }
          return J;
        }
        function Y3e(r) {
          return Hu(r, (a, l) => l.flags & 1048576 ? a * l.types.length : l.flags & 131072 ? 0 : a, 1);
        }
        function sM(r) {
          var a;
          const l = Y3e(r);
          return l >= 1e5 ? ((a = rn) == null || a.instant(rn.Phase.CheckTypes, "checkCrossProductUnion_DepthLimit", { typeIds: r.map((f) => f.id), size: l }), Be(k, p.Expression_produces_a_union_type_that_is_too_complex_to_represent), !1) : !0;
        }
        function Ytt(r, a) {
          const l = Y3e(r), f = [];
          for (let d = 0; d < l; d++) {
            const y = r.slice();
            let x = d;
            for (let R = r.length - 1; R >= 0; R--)
              if (r[R].flags & 1048576) {
                const J = r[R].types, Y = J.length;
                y[R] = J[x % Y], x = Math.floor(x / Y);
              }
            const I = aa(y, a);
            I.flags & 131072 || f.push(I);
          }
          return f;
        }
        function Z3e(r) {
          return !(r.flags & 3145728) || r.aliasSymbol ? 1 : r.flags & 1048576 && r.origin ? Z3e(r.origin) : ipe(r.types);
        }
        function ipe(r) {
          return Hu(r, (a, l) => a + Z3e(l), 0);
        }
        function Ztt(r) {
          const a = yn(r);
          if (!a.resolvedType) {
            const l = iC(r), f = fr(r.types, Ci), d = f.length === 2 ? f.indexOf(Vs) : -1, y = d >= 0 ? f[1 - d] : mt, x = !!(y.flags & 76 || y.flags & 134217728 && CT(y));
            a.resolvedType = aa(f, x ? 1 : 0, l, jE(l));
          }
          return a.resolvedType;
        }
        function K3e(r, a) {
          const l = Yh(
            4194304
            /* Index */
          );
          return l.type = r, l.indexFlags = a, l;
        }
        function Ktt(r) {
          const a = C(
            4194304
            /* Index */
          );
          return a.type = r, a;
        }
        function eNe(r, a) {
          return a & 1 ? r.resolvedStringIndexType || (r.resolvedStringIndexType = K3e(
            r,
            1
            /* StringsOnly */
          )) : r.resolvedIndexType || (r.resolvedIndexType = K3e(
            r,
            0
            /* None */
          ));
        }
        function tNe(r, a) {
          const l = Rd(r), f = Uf(r), d = cy(r.target || r);
          if (!d && !(a & 2))
            return f;
          const y = [];
          if (DT(f)) {
            if (IE(r))
              return eNe(r, a);
            OT(f, I);
          } else if (IE(r)) {
            const R = Uu(O2(r));
            Cfe(R, 8576, !!(a & 1), I);
          } else
            OT(XL(f), I);
          const x = a & 2 ? Hc(Gn(y), (R) => !(R.flags & 5)) : Gn(y);
          if (x.flags & 1048576 && f.flags & 1048576 && Wp(x.types) === Wp(f.types))
            return f;
          return x;
          function I(R) {
            const J = d ? ji(d, Z8(r.mapper, l, R)) : R;
            y.push(J === st ? $t : J);
          }
        }
        function ert(r) {
          const a = Rd(r);
          return l(cy(r) || a);
          function l(f) {
            return f.flags & 470810623 ? !0 : f.flags & 16777216 ? f.root.isDistributive && f.checkType === a : f.flags & 137363456 ? Pi(f.types, l) : f.flags & 8388608 ? l(f.objectType) && l(f.indexType) : f.flags & 33554432 ? l(f.baseType) && l(f.constraint) : f.flags & 268435456 ? l(f.type) : !1;
          }
        }
        function t0(r) {
          if (Di(r))
            return Kt;
          if (m_(r))
            return qu(Hi(r));
          if (ia(r))
            return qu(od(r));
          const a = SS(r);
          return a !== void 0 ? x_(Ei(a)) : lt(r) ? qu(Hi(r)) : Kt;
        }
        function rC(r, a, l) {
          if (l || !(np(r) & 6)) {
            let f = Ri(jG(r)).nameType;
            if (!f) {
              const d = ls(r.valueDeclaration);
              f = r.escapedName === "default" ? x_("default") : d && t0(d) || (W3(r) ? void 0 : x_(bc(r)));
            }
            if (f && f.flags & a)
              return f;
          }
          return Kt;
        }
        function rNe(r, a) {
          return !!(r.flags & a || r.flags & 2097152 && at(r.types, (l) => rNe(l, a)));
        }
        function trt(r, a, l) {
          const f = l && (Cn(r) & 7 || r.aliasSymbol) ? Ktt(r) : void 0, d = fr(Ga(r), (x) => rC(x, a)), y = fr(pu(r), (x) => x !== Li && rNe(x.keyType, a) ? x.keyType === st && a & 8 ? $t : x.keyType : Kt);
          return Gn(
            Ji(d, y),
            1,
            /*aliasSymbol*/
            void 0,
            /*aliasTypeArguments*/
            void 0,
            f
          );
        }
        function spe(r, a = 0) {
          return !!(r.flags & 58982400 || O1(r) || T_(r) && (!ert(r) || V8(r) === 2) || r.flags & 1048576 && !(a & 4) && Afe(r) || r.flags & 2097152 && Cc(
            r,
            465829888
            /* Instantiable */
          ) && at(r.types, Sg));
        }
        function Om(r, a = 0) {
          return r = sd(r), ME(r) ? Jfe(Om(r.baseType, a)) : spe(r, a) ? eNe(r, a) : r.flags & 1048576 ? aa(fr(r.types, (l) => Om(l, a))) : r.flags & 2097152 ? Gn(fr(r.types, (l) => Om(l, a))) : Cn(r) & 32 ? tNe(r, a) : r === _t ? _t : r.flags & 2 ? Kt : r.flags & 131073 ? Qn : trt(
            r,
            (a & 2 ? 128 : 402653316) | (a & 1 ? 0 : 12584),
            a === 0
            /* None */
          );
        }
        function nNe(r) {
          const a = gtt();
          return a ? LE(a, [r, st]) : st;
        }
        function rrt(r) {
          const a = nNe(Om(r));
          return a.flags & 131072 ? st : a;
        }
        function nrt(r) {
          const a = yn(r);
          if (!a.resolvedType)
            switch (r.operator) {
              case 143:
                a.resolvedType = Om(Ci(r.type));
                break;
              case 158:
                a.resolvedType = r.type.kind === 155 ? dpe(R3(r.parent)) : Ve;
                break;
              case 148:
                a.resolvedType = Ci(r.type);
                break;
              default:
                E.assertNever(r.operator);
            }
          return a.resolvedType;
        }
        function irt(r) {
          const a = yn(r);
          return a.resolvedType || (a.resolvedType = kT(
            [r.head.text, ...fr(r.templateSpans, (l) => l.literal.text)],
            fr(r.templateSpans, (l) => Ci(l.type))
          )), a.resolvedType;
        }
        function kT(r, a) {
          const l = oc(a, (J) => !!(J.flags & 1179648));
          if (l >= 0)
            return sM(a) ? Ho(a[l], (J) => kT(r, wR(a, l, J))) : Ve;
          if (_s(a, _t))
            return _t;
          const f = [], d = [];
          let y = r[0];
          if (!R(r, a))
            return st;
          if (f.length === 0)
            return x_(y);
          if (d.push(y), Pi(d, (J) => J === "")) {
            if (Pi(f, (J) => !!(J.flags & 4)))
              return st;
            if (f.length === 1 && CT(f[0]))
              return f[0];
          }
          const x = `${Wp(f)}|${fr(d, (J) => J.length).join(",")}|${d.join("")}`;
          let I = bi.get(x);
          return I || bi.set(x, I = art(d, f)), I;
          function R(J, Y) {
            for (let Te = 0; Te < Y.length; Te++) {
              const de = Y[Te];
              if (de.flags & 101248)
                y += srt(de) || "", y += J[Te + 1];
              else if (de.flags & 134217728) {
                if (y += de.texts[0], !R(de.texts, de.types)) return !1;
                y += J[Te + 1];
              } else if (DT(de) || aM(de))
                f.push(de), d.push(y), y = J[Te + 1];
              else
                return !1;
            }
            return !0;
          }
        }
        function srt(r) {
          return r.flags & 128 ? r.value : r.flags & 256 ? "" + r.value : r.flags & 2048 ? Jb(r.value) : r.flags & 98816 ? r.intrinsicName : void 0;
        }
        function art(r, a) {
          const l = Yh(
            134217728
            /* TemplateLiteral */
          );
          return l.texts = r, l.types = a, l;
        }
        function nC(r, a) {
          return a.flags & 1179648 ? Ho(a, (l) => nC(r, l)) : a.flags & 128 ? x_(iNe(r, a.value)) : a.flags & 134217728 ? kT(...ort(r, a.texts, a.types)) : (
            // Mapping<Mapping<T>> === Mapping<T>
            a.flags & 268435456 && r === a.symbol ? a : a.flags & 268435461 || DT(a) ? sNe(r, a) : (
              // This handles Mapping<`${number}`> and Mapping<`${bigint}`>
              aM(a) ? sNe(r, kT(["", ""], [a])) : a
            )
          );
        }
        function iNe(r, a) {
          switch (TW.get(r.escapedName)) {
            case 0:
              return a.toUpperCase();
            case 1:
              return a.toLowerCase();
            case 2:
              return a.charAt(0).toUpperCase() + a.slice(1);
            case 3:
              return a.charAt(0).toLowerCase() + a.slice(1);
          }
          return a;
        }
        function ort(r, a, l) {
          switch (TW.get(r.escapedName)) {
            case 0:
              return [a.map((f) => f.toUpperCase()), l.map((f) => nC(r, f))];
            case 1:
              return [a.map((f) => f.toLowerCase()), l.map((f) => nC(r, f))];
            case 2:
              return [a[0] === "" ? a : [a[0].charAt(0).toUpperCase() + a[0].slice(1), ...a.slice(1)], a[0] === "" ? [nC(r, l[0]), ...l.slice(1)] : l];
            case 3:
              return [a[0] === "" ? a : [a[0].charAt(0).toLowerCase() + a[0].slice(1), ...a.slice(1)], a[0] === "" ? [nC(r, l[0]), ...l.slice(1)] : l];
          }
          return [a, l];
        }
        function sNe(r, a) {
          const l = `${ea(r)},${Ll(a)}`;
          let f = ks.get(l);
          return f || ks.set(l, f = crt(r, a)), f;
        }
        function crt(r, a) {
          const l = uh(268435456, r);
          return l.type = a, l;
        }
        function lrt(r, a, l, f, d) {
          const y = Yh(
            8388608
            /* IndexedAccess */
          );
          return y.objectType = r, y.indexType = a, y.accessFlags = l, y.aliasSymbol = f, y.aliasTypeArguments = d, y;
        }
        function Q8(r) {
          if (fe)
            return !1;
          if (Cn(r) & 4096)
            return !0;
          if (r.flags & 1048576)
            return Pi(r.types, Q8);
          if (r.flags & 2097152)
            return at(r.types, Q8);
          if (r.flags & 465829888) {
            const a = wfe(r);
            return a !== r && Q8(a);
          }
          return !1;
        }
        function e$(r, a) {
          return ip(r) ? sp(r) : a && Bc(a) ? (
            // late bound names are handled in the first branch, so here we only need to handle normal names
            SS(a)
          ) : void 0;
        }
        function ape(r, a) {
          if (a.flags & 8208) {
            const l = _r(r.parent, (f) => !ko(f)) || r.parent;
            return Sb(l) ? Gd(l) && Fe(r) && mAe(l, r) : Pi(a.declarations, (f) => !Ts(f) || Gh(f));
          }
          return !0;
        }
        function aNe(r, a, l, f, d, y) {
          const x = d && d.kind === 212 ? d : void 0, I = d && Di(d) ? void 0 : e$(l, d);
          if (I !== void 0) {
            if (y & 256)
              return ab(a, I) || Ie;
            const J = Zs(a, I);
            if (J) {
              if (y & 64 && d && J.declarations && X0(J) && ape(d, J)) {
                const Te = x?.argumentExpression ?? (qb(d) ? d.indexType : d);
                cg(Te, J.declarations, I);
              }
              if (x) {
                if (zM(J, x, M8e(x.expression, a.symbol)), kIe(x, J, Hy(x))) {
                  Be(x.argumentExpression, p.Cannot_assign_to_0_because_it_is_a_read_only_property, Bi(J));
                  return;
                }
                if (y & 8 && (yn(d).resolvedSymbol = J), w8e(x, J))
                  return ft;
              }
              const Y = y & 4 ? sy(J) : Qr(J);
              return x && Hy(x) !== 1 ? l0(x, Y) : d && qb(d) && aI(Y) ? Gn([Y, _e]) : Y;
            }
            if (j_(a, va) && Ug(I)) {
              const Y = +I;
              if (d && j_(a, (Te) => !(Te.target.combinedFlags & 12)) && !(y & 16)) {
                const Te = ope(d);
                if (va(a)) {
                  if (Y < 0)
                    return Be(Te, p.A_tuple_type_cannot_be_indexed_with_a_negative_value), _e;
                  Be(Te, p.Tuple_type_0_of_length_1_has_no_element_at_index_2, Hr(a), _y(a), Ei(I));
                } else
                  Be(Te, p.Property_0_does_not_exist_on_type_1, Ei(I), Hr(a));
              }
              if (Y >= 0)
                return R(ph(a, At)), XNe(a, Y, y & 1 ? ye : void 0);
            }
          }
          if (!(l.flags & 98304) && nu(
            l,
            402665900
            /* ESSymbolLike */
          )) {
            if (a.flags & 131073)
              return a;
            const J = U8(a, l) || ph(a, st);
            if (J) {
              if (y & 2 && J.keyType !== At) {
                x && (y & 4 ? Be(x, p.Type_0_is_generic_and_can_only_be_indexed_for_reading, Hr(r)) : Be(x, p.Type_0_cannot_be_used_to_index_type_1, Hr(l), Hr(r)));
                return;
              }
              if (d && J.keyType === st && !nu(
                l,
                12
                /* Number */
              )) {
                const Y = ope(d);
                return Be(Y, p.Type_0_cannot_be_used_as_an_index_type, Hr(l)), y & 1 ? Gn([J.type, ye]) : J.type;
              }
              return R(J), y & 1 && !(a.symbol && a.symbol.flags & 384 && l.symbol && l.flags & 1024 && O_(l.symbol) === a.symbol) ? Gn([J.type, ye]) : J.type;
            }
            if (l.flags & 131072)
              return Kt;
            if (Q8(a))
              return Ie;
            if (x && !cX(a)) {
              if (dy(a)) {
                if (fe && l.flags & 384)
                  return Ia.add(Kr(x, p.Property_0_does_not_exist_on_type_1, l.value, Hr(a))), _e;
                if (l.flags & 12) {
                  const Y = fr(a.properties, (Te) => Qr(Te));
                  return Gn(Dr(Y, _e));
                }
              }
              if (a.symbol === ve && I !== void 0 && ve.exports.has(I) && ve.exports.get(I).flags & 418)
                Be(x, p.Property_0_does_not_exist_on_type_1, Ei(I), Hr(a));
              else if (fe && !(y & 128))
                if (I !== void 0 && A8e(I, a)) {
                  const Y = Hr(a);
                  Be(x, p.Property_0_does_not_exist_on_type_1_Did_you_mean_to_access_the_static_member_2_instead, I, Y, Y + "[" + Go(x.argumentExpression) + "]");
                } else if (Zv(a, At))
                  Be(x.argumentExpression, p.Element_implicitly_has_an_any_type_because_index_expression_is_not_of_type_number);
                else {
                  let Y;
                  if (I !== void 0 && (Y = O8e(I, a)))
                    Y !== void 0 && Be(x.argumentExpression, p.Property_0_does_not_exist_on_type_1_Did_you_mean_2, I, Hr(a), Y);
                  else {
                    const Te = pat(a, x, l);
                    if (Te !== void 0)
                      Be(x, p.Element_implicitly_has_an_any_type_because_type_0_has_no_index_signature_Did_you_mean_to_call_1, Hr(a), Te);
                    else {
                      let de;
                      if (l.flags & 1024)
                        de = vs(
                          /*details*/
                          void 0,
                          p.Property_0_does_not_exist_on_type_1,
                          "[" + Hr(l) + "]",
                          Hr(a)
                        );
                      else if (l.flags & 8192) {
                        const Ge = Qh(l.symbol, x);
                        de = vs(
                          /*details*/
                          void 0,
                          p.Property_0_does_not_exist_on_type_1,
                          "[" + Ge + "]",
                          Hr(a)
                        );
                      } else l.flags & 128 || l.flags & 256 ? de = vs(
                        /*details*/
                        void 0,
                        p.Property_0_does_not_exist_on_type_1,
                        l.value,
                        Hr(a)
                      ) : l.flags & 12 && (de = vs(
                        /*details*/
                        void 0,
                        p.No_index_signature_with_a_parameter_of_type_0_was_found_on_type_1,
                        Hr(l),
                        Hr(a)
                      ));
                      de = vs(
                        de,
                        p.Element_implicitly_has_an_any_type_because_expression_of_type_0_can_t_be_used_to_index_type_1,
                        Hr(f),
                        Hr(a)
                      ), Ia.add(Lg(Er(x), x, de));
                    }
                  }
                }
              return;
            }
          }
          if (y & 16 && dy(a))
            return _e;
          if (Q8(a))
            return Ie;
          if (d) {
            const J = ope(d);
            if (J.kind !== 10 && l.flags & 384)
              Be(J, p.Property_0_does_not_exist_on_type_1, "" + l.value, Hr(a));
            else if (l.flags & 12)
              Be(J, p.Type_0_has_no_matching_index_signature_for_type_1, Hr(a), Hr(l));
            else {
              const Y = J.kind === 10 ? "bigint" : Hr(l);
              Be(J, p.Type_0_cannot_be_used_as_an_index_type, Y);
            }
          }
          if (be(l))
            return l;
          return;
          function R(J) {
            J && J.isReadonly && x && (Gy(x) || DB(x)) && Be(x, p.Index_signature_in_type_0_only_permits_reading, Hr(a));
          }
        }
        function ope(r) {
          return r.kind === 212 ? r.argumentExpression : r.kind === 199 ? r.indexType : r.kind === 167 ? r.expression : r;
        }
        function aM(r) {
          if (r.flags & 2097152) {
            let a = !1;
            for (const l of r.types)
              if (l.flags & 101248 || aM(l))
                a = !0;
              else if (!(l.flags & 524288))
                return !1;
            return a;
          }
          return !!(r.flags & 77) || CT(r);
        }
        function CT(r) {
          return !!(r.flags & 134217728) && Pi(r.types, aM) || !!(r.flags & 268435456) && aM(r.type);
        }
        function oNe(r) {
          return !!(r.flags & 402653184) && !CT(r);
        }
        function tb(r) {
          return !!Y8(r);
        }
        function ET(r) {
          return !!(Y8(r) & 4194304);
        }
        function DT(r) {
          return !!(Y8(r) & 8388608);
        }
        function Y8(r) {
          return r.flags & 3145728 ? (r.objectFlags & 2097152 || (r.objectFlags |= 2097152 | Hu(r.types, (a, l) => a | Y8(l), 0)), r.objectFlags & 12582912) : r.flags & 33554432 ? (r.objectFlags & 2097152 || (r.objectFlags |= 2097152 | Y8(r.baseType) | Y8(r.constraint)), r.objectFlags & 12582912) : (r.flags & 58982400 || T_(r) || O1(r) ? 4194304 : 0) | (r.flags & 63176704 || oNe(r) ? 8388608 : 0);
        }
        function r0(r, a) {
          return r.flags & 8388608 ? _rt(r, a) : r.flags & 16777216 ? frt(r, a) : r;
        }
        function cNe(r, a, l) {
          if (r.flags & 1048576 || r.flags & 2097152 && !spe(r)) {
            const f = fr(r.types, (d) => r0(M_(d, a), l));
            return r.flags & 2097152 || l ? aa(f) : Gn(f);
          }
        }
        function urt(r, a, l) {
          if (a.flags & 1048576) {
            const f = fr(a.types, (d) => r0(M_(r, d), l));
            return l ? aa(f) : Gn(f);
          }
        }
        function _rt(r, a) {
          const l = a ? "simplifiedForWriting" : "simplifiedForReading";
          if (r[l])
            return r[l] === tc ? r : r[l];
          r[l] = tc;
          const f = r0(r.objectType, a), d = r0(r.indexType, a), y = urt(f, d, a);
          if (y)
            return r[l] = y;
          if (!(d.flags & 465829888)) {
            const x = cNe(f, d, a);
            if (x)
              return r[l] = x;
          }
          if (O1(f) && d.flags & 296) {
            const x = oP(
              f,
              d.flags & 8 ? 0 : f.target.fixedLength,
              /*endSkipCount*/
              0,
              a
            );
            if (x)
              return r[l] = x;
          }
          return T_(f) && V8(f) !== 2 ? r[l] = Ho(t$(f, r.indexType), (x) => r0(x, a)) : r[l] = r;
        }
        function frt(r, a) {
          const l = r.checkType, f = r.extendsType, d = I1(r), y = F1(r);
          if (y.flags & 131072 && n0(d) === n0(l)) {
            if (l.flags & 1 || js(PT(l), PT(f)))
              return r0(d, a);
            if (lNe(l, f))
              return Kt;
          } else if (d.flags & 131072 && n0(y) === n0(l)) {
            if (!(l.flags & 1) && js(PT(l), PT(f)))
              return Kt;
            if (l.flags & 1 || lNe(l, f))
              return r0(y, a);
          }
          return r;
        }
        function lNe(r, a) {
          return !!(Gn([$L(r, a), Kt]).flags & 131072);
        }
        function t$(r, a) {
          const l = R_([Rd(r)], [a]), f = W2(r.mapper, l), d = ji(Kh(r.target || r), f), y = ZPe(r) > 0 || (tb(r) ? Yw(O2(r)) > 0 : prt(r, a));
          return Ol(
            d,
            /*isProperty*/
            !0,
            y
          );
        }
        function prt(r, a) {
          const l = ru(a);
          return !!l && at(Ga(r), (f) => !!(f.flags & 16777216) && js(rC(
            f,
            8576
            /* StringOrNumberLiteralOrUnique */
          ), l));
        }
        function M_(r, a, l = 0, f, d, y) {
          return A1(r, a, l, f, d, y) || (f ? Ve : mt);
        }
        function uNe(r, a) {
          return j_(r, (l) => {
            if (l.flags & 384) {
              const f = sp(l);
              if (Ug(f)) {
                const d = +f;
                return d >= 0 && d < a;
              }
            }
            return !1;
          });
        }
        function A1(r, a, l = 0, f, d, y) {
          if (r === _t || a === _t)
            return _t;
          if (r = sd(r), ONe(r) && !(a.flags & 98304) && nu(
            a,
            12
            /* Number */
          ) && (a = st), F.noUncheckedIndexedAccess && l & 32 && (l |= 1), DT(a) || (f && f.kind !== 199 ? O1(r) && !uNe(a, epe(r.target)) : ET(r) && !(va(r) && uNe(a, epe(r.target))) || Afe(r))) {
            if (r.flags & 3)
              return r;
            const I = l & 1, R = r.id + "," + a.id + "," + I + tC(d, y);
            let J = Wn.get(R);
            return J || Wn.set(R, J = lrt(r, a, I, d, y)), J;
          }
          const x = Zw(r);
          if (a.flags & 1048576 && !(a.flags & 16)) {
            const I = [];
            let R = !1;
            for (const J of a.types) {
              const Y = aNe(r, x, J, a, f, l | (R ? 128 : 0));
              if (Y)
                I.push(Y);
              else if (f)
                R = !0;
              else
                return;
            }
            return R ? void 0 : l & 4 ? aa(I, 0, d, y) : Gn(I, 1, d, y);
          }
          return aNe(
            r,
            x,
            a,
            a,
            f,
            l | 8 | 64
            /* ReportDeprecated */
          );
        }
        function _Ne(r) {
          const a = yn(r);
          if (!a.resolvedType) {
            const l = Ci(r.objectType), f = Ci(r.indexType), d = iC(r);
            a.resolvedType = M_(l, f, 0, r, d, jE(d));
          }
          return a.resolvedType;
        }
        function cpe(r) {
          const a = yn(r);
          if (!a.resolvedType) {
            const l = ir(32, r.symbol);
            l.declaration = r, l.aliasSymbol = iC(r), l.aliasTypeArguments = jE(l.aliasSymbol), a.resolvedType = l, Uf(l);
          }
          return a.resolvedType;
        }
        function n0(r) {
          return r.flags & 33554432 ? n0(r.baseType) : r.flags & 8388608 && (r.objectType.flags & 33554432 || r.indexType.flags & 33554432) ? M_(n0(r.objectType), n0(r.indexType)) : r;
        }
        function fNe(r) {
          return zx(r) && Ar(r.elements) > 0 && !at(r.elements, (a) => bF(a) || SF(a) || _6(a) && !!(a.questionToken || a.dotDotDotToken));
        }
        function pNe(r, a) {
          return tb(r) || a && va(r) && at(j2(r), tb);
        }
        function lpe(r, a, l, f, d) {
          let y, x, I = 0;
          for (; ; ) {
            if (I === 1e3)
              return Be(k, p.Type_instantiation_is_excessively_deep_and_possibly_infinite), Ve;
            const J = ji(n0(r.checkType), a), Y = ji(r.extendsType, a);
            if (J === Ve || Y === Ve)
              return Ve;
            if (J === _t || Y === _t)
              return _t;
            const Te = U4(r.node.checkType), de = U4(r.node.extendsType), Ge = fNe(Te) && fNe(de) && Ar(Te.elements) === Ar(de.elements), ct = pNe(J, Ge);
            let ht;
            if (r.inferTypeParameters) {
              const Xt = cI(
                r.inferTypeParameters,
                /*signature*/
                void 0,
                0
                /* None */
              );
              a && (Xt.nonFixingMapper = W2(Xt.nonFixingMapper, a)), ct || c0(
                Xt.inferences,
                J,
                Y,
                1536
                /* AlwaysStrict */
              ), ht = a ? W2(Xt.mapper, a) : Xt.mapper;
            }
            const nr = ht ? ji(r.extendsType, ht) : Y;
            if (!ct && !pNe(nr, Ge)) {
              if (!(nr.flags & 3) && (J.flags & 1 || !js(eI(J), eI(nr)))) {
                (J.flags & 1 || l && !(nr.flags & 131072) && yp(eI(nr), (Gr) => js(Gr, eI(J)))) && (x || (x = [])).push(ji(Ci(r.node.trueType), ht || a));
                const Xt = Ci(r.node.falseType);
                if (Xt.flags & 16777216) {
                  const Gr = Xt.root;
                  if (Gr.node.parent === r.node && (!Gr.isDistributive || Gr.checkType === r.checkType)) {
                    r = Gr;
                    continue;
                  }
                  if (R(Xt, a))
                    continue;
                }
                y = ji(Xt, a);
                break;
              }
              if (nr.flags & 3 || js(PT(J), PT(nr))) {
                const Xt = Ci(r.node.trueType), Gr = ht || a;
                if (R(Xt, Gr))
                  continue;
                y = ji(Xt, Gr);
                break;
              }
            }
            y = Yh(
              16777216
              /* Conditional */
            ), y.root = r, y.checkType = ji(r.checkType, a), y.extendsType = ji(r.extendsType, a), y.mapper = a, y.combinedMapper = ht, y.aliasSymbol = f || r.aliasSymbol, y.aliasTypeArguments = f ? d : bg(r.aliasTypeArguments, a);
            break;
          }
          return x ? Gn(Dr(x, y)) : y;
          function R(J, Y) {
            if (J.flags & 16777216 && Y) {
              const Te = J.root;
              if (Te.outerTypeParameters) {
                const de = W2(J.mapper, Y), Ge = fr(Te.outerTypeParameters, (nr) => fy(nr, de)), ct = R_(Te.outerTypeParameters, Ge), ht = Te.isDistributive ? fy(Te.checkType, ct) : void 0;
                if (!ht || ht === Te.checkType || !(ht.flags & 1179648))
                  return r = Te, a = ct, f = void 0, d = void 0, Te.aliasSymbol && I++, !0;
              }
            }
            return !1;
          }
        }
        function I1(r) {
          return r.resolvedTrueType || (r.resolvedTrueType = ji(Ci(r.root.node.trueType), r.mapper));
        }
        function F1(r) {
          return r.resolvedFalseType || (r.resolvedFalseType = ji(Ci(r.root.node.falseType), r.mapper));
        }
        function drt(r) {
          return r.resolvedInferredTrueType || (r.resolvedInferredTrueType = r.combinedMapper ? ji(Ci(r.root.node.trueType), r.combinedMapper) : I1(r));
        }
        function upe(r) {
          let a;
          return r.locals && r.locals.forEach((l) => {
            l.flags & 262144 && (a = Dr(a, wo(l)));
          }), a;
        }
        function mrt(r) {
          return r.isDistributive && (_M(r.checkType, r.node.trueType) || _M(r.checkType, r.node.falseType));
        }
        function grt(r) {
          const a = yn(r);
          if (!a.resolvedType) {
            const l = Ci(r.checkType), f = iC(r), d = jE(f), y = ay(
              r,
              /*includeThisTypes*/
              !0
            ), x = d ? y : Tn(y, (R) => _M(R, r)), I = {
              node: r,
              checkType: l,
              extendsType: Ci(r.extendsType),
              isDistributive: !!(l.flags & 262144),
              inferTypeParameters: upe(r),
              outerTypeParameters: x,
              instantiations: void 0,
              aliasSymbol: f,
              aliasTypeArguments: d
            };
            a.resolvedType = lpe(
              I,
              /*mapper*/
              void 0,
              /*forConstraint*/
              !1
            ), x && (I.instantiations = /* @__PURE__ */ new Map(), I.instantiations.set(Wp(x), a.resolvedType));
          }
          return a.resolvedType;
        }
        function hrt(r) {
          const a = yn(r);
          return a.resolvedType || (a.resolvedType = F2(vn(r.typeParameter))), a.resolvedType;
        }
        function dNe(r) {
          return Fe(r) ? [r] : Dr(dNe(r.left), r.right);
        }
        function mNe(r) {
          var a;
          const l = yn(r);
          if (!l.resolvedType) {
            if (!Dh(r))
              return Be(r.argument, p.String_literal_expected), l.resolvedSymbol = Q, l.resolvedType = Ve;
            const f = r.isTypeOf ? 111551 : r.flags & 16777216 ? 900095 : 788968, d = Vu(r, r.argument.literal);
            if (!d)
              return l.resolvedSymbol = Q, l.resolvedType = Ve;
            const y = !!((a = d.exports) != null && a.get(
              "export="
              /* ExportEquals */
            )), x = b_(
              d,
              /*dontResolveAlias*/
              !1
            );
            if (cc(r.qualifier))
              if (x.flags & f)
                l.resolvedType = gNe(r, l, x, f);
              else {
                const I = f === 111551 ? p.Module_0_does_not_refer_to_a_value_but_is_used_as_a_value_here : p.Module_0_does_not_refer_to_a_type_but_is_used_as_a_type_here_Did_you_mean_typeof_import_0;
                Be(r, I, r.argument.literal.text), l.resolvedSymbol = Q, l.resolvedType = Ve;
              }
            else {
              const I = dNe(r.qualifier);
              let R = x, J;
              for (; J = I.shift(); ) {
                const Y = I.length ? 1920 : f, Te = La(dc(R)), de = r.isTypeOf || tn(r) && y ? Zs(
                  Qr(Te),
                  J.escapedText,
                  /*skipObjectFunctionPropertyAugment*/
                  !1,
                  /*includeTypeOnlyMembers*/
                  !0
                ) : void 0, ct = (r.isTypeOf ? void 0 : zu(lf(Te), J.escapedText, Y)) ?? de;
                if (!ct)
                  return Be(J, p.Namespace_0_has_no_exported_member_1, Qh(R), _o(J)), l.resolvedType = Ve;
                yn(J).resolvedSymbol = ct, yn(J.parent).resolvedSymbol = ct, R = ct;
              }
              l.resolvedType = gNe(r, l, R, f);
            }
          }
          return l.resolvedType;
        }
        function gNe(r, a, l, f) {
          const d = dc(l);
          return a.resolvedSymbol = d, f === 111551 ? uIe(Qr(l), r) : XG(r, d);
        }
        function hNe(r) {
          const a = yn(r);
          if (!a.resolvedType) {
            const l = iC(r);
            if (!r.symbol || gg(r.symbol).size === 0 && !l)
              a.resolvedType = Vs;
            else {
              let f = ir(16, r.symbol);
              f.aliasSymbol = l, f.aliasTypeArguments = jE(l), RS(r) && r.isArrayType && (f = du(f)), a.resolvedType = f;
            }
          }
          return a.resolvedType;
        }
        function iC(r) {
          let a = r.parent;
          for (; AS(a) || lv(a) || nv(a) && a.operator === 148; )
            a = a.parent;
          return O3(a) ? vn(a) : void 0;
        }
        function jE(r) {
          return r ? id(r) : void 0;
        }
        function r$(r) {
          return !!(r.flags & 524288) && !T_(r);
        }
        function _pe(r) {
          return i0(r) || !!(r.flags & 474058748);
        }
        function fpe(r, a) {
          if (!(r.flags & 1048576))
            return r;
          if (Pi(r.types, _pe))
            return Dn(r.types, i0) || Pa;
          const l = Dn(r.types, (y) => !_pe(y));
          if (!l || Dn(r.types, (y) => y !== l && !_pe(y)))
            return r;
          return d(l);
          function d(y) {
            const x = qs();
            for (const R of Ga(y))
              if (!(np(R) & 6)) {
                if (n$(R)) {
                  const J = R.flags & 65536 && !(R.flags & 32768), Te = sa(16777220, R.escapedName, kfe(R) | (a ? 8 : 0));
                  Te.links.type = J ? _e : Ol(
                    Qr(R),
                    /*isProperty*/
                    !0
                  ), Te.declarations = R.declarations, Te.links.nameType = Ri(R).nameType, Te.links.syntheticOrigin = R, x.set(R.escapedName, Te);
                }
              }
            const I = Jo(y.symbol, x, Ue, Ue, pu(y));
            return I.objectFlags |= 131200, I;
          }
        }
        function B2(r, a, l, f, d) {
          if (r.flags & 1 || a.flags & 1)
            return Ie;
          if (r.flags & 2 || a.flags & 2)
            return mt;
          if (r.flags & 131072)
            return a;
          if (a.flags & 131072)
            return r;
          if (r = fpe(r, d), r.flags & 1048576)
            return sM([r, a]) ? Ho(r, (J) => B2(J, a, l, f, d)) : Ve;
          if (a = fpe(a, d), a.flags & 1048576)
            return sM([r, a]) ? Ho(a, (J) => B2(r, J, l, f, d)) : Ve;
          if (a.flags & 473960444)
            return r;
          if (ET(r) || ET(a)) {
            if (i0(r))
              return a;
            if (r.flags & 2097152) {
              const J = r.types, Y = J[J.length - 1];
              if (r$(Y) && r$(a))
                return aa(Ji(J.slice(0, J.length - 1), [B2(Y, a, l, f, d)]));
            }
            return aa([r, a]);
          }
          const y = qs(), x = /* @__PURE__ */ new Set(), I = r === Pa ? pu(a) : GPe([r, a]);
          for (const J of Ga(a))
            np(J) & 6 ? x.add(J.escapedName) : n$(J) && y.set(J.escapedName, ppe(J, d));
          for (const J of Ga(r))
            if (!(x.has(J.escapedName) || !n$(J)))
              if (y.has(J.escapedName)) {
                const Y = y.get(J.escapedName), Te = Qr(Y);
                if (Y.flags & 16777216) {
                  const de = Ji(J.declarations, Y.declarations), Ge = 4 | J.flags & 16777216, ct = sa(Ge, J.escapedName), ht = Qr(J), nr = T$(ht), Xt = T$(Te);
                  ct.links.type = nr === Xt ? ht : Gn(
                    [ht, Xt],
                    2
                    /* Subtype */
                  ), ct.links.leftSpread = J, ct.links.rightSpread = Y, ct.declarations = de, ct.links.nameType = Ri(J).nameType, y.set(J.escapedName, ct);
                }
              } else
                y.set(J.escapedName, ppe(J, d));
          const R = Jo(l, y, Ue, Ue, $c(I, (J) => yrt(J, d)));
          return R.objectFlags |= 2228352 | f, R;
        }
        function n$(r) {
          var a;
          return !at(r.declarations, Iu) && (!(r.flags & 106496) || !((a = r.declarations) != null && a.some((l) => Xn(l.parent))));
        }
        function ppe(r, a) {
          const l = r.flags & 65536 && !(r.flags & 32768);
          if (!l && a === Vd(r))
            return r;
          const f = 4 | r.flags & 16777216, d = sa(f, r.escapedName, kfe(r) | (a ? 8 : 0));
          return d.links.type = l ? _e : Qr(r), d.declarations = r.declarations, d.links.nameType = Ri(r).nameType, d.links.syntheticOrigin = r, d;
        }
        function yrt(r, a) {
          return r.isReadonly !== a ? dh(r.keyType, r.type, a, r.declaration, r.components) : r;
        }
        function oM(r, a, l, f) {
          const d = uh(r, l);
          return d.value = a, d.regularType = f || d, d;
        }
        function sC(r) {
          if (r.flags & 2976) {
            if (!r.freshType) {
              const a = oM(r.flags, r.value, r.symbol, r);
              a.freshType = a, r.freshType = a;
            }
            return r.freshType;
          }
          return r;
        }
        function qu(r) {
          return r.flags & 2976 ? r.regularType : r.flags & 1048576 ? r.regularType || (r.regularType = Ho(r, qu)) : r;
        }
        function J2(r) {
          return !!(r.flags & 2976) && r.freshType === r;
        }
        function x_(r) {
          let a;
          return ut.get(r) || (ut.set(r, a = oM(128, r)), a);
        }
        function ad(r) {
          let a;
          return er.get(r) || (er.set(r, a = oM(256, r)), a);
        }
        function cM(r) {
          let a;
          const l = Jb(r);
          return Vr.get(l) || (Vr.set(l, a = oM(2048, r)), a);
        }
        function vrt(r, a, l) {
          let f;
          const d = `${a}${typeof r == "string" ? "@" : "#"}${r}`, y = 1024 | (typeof r == "string" ? 128 : 256);
          return zn.get(d) || (zn.set(d, f = oM(y, r, l)), f);
        }
        function brt(r) {
          if (r.literal.kind === 106)
            return jt;
          const a = yn(r);
          return a.resolvedType || (a.resolvedType = qu(Hi(r.literal))), a.resolvedType;
        }
        function Srt(r) {
          const a = uh(8192, r);
          return a.escapedName = `__@${a.symbol.escapedName}@${ea(a.symbol)}`, a;
        }
        function dpe(r) {
          if (tn(r) && lv(r)) {
            const a = Nb(r);
            a && (r = gx(a) || a);
          }
          if (sK(r)) {
            const a = q7(r) ? Sf(r.left) : Sf(r);
            if (a) {
              const l = Ri(a);
              return l.uniqueESSymbolType || (l.uniqueESSymbolType = Srt(a));
            }
          }
          return wt;
        }
        function Trt(r) {
          const a = Ou(
            r,
            /*includeArrowFunctions*/
            !1,
            /*includeClassComputedPropertyName*/
            !1
          ), l = a && a.parent;
          if (l && (Xn(l) || l.kind === 264) && !zs(a) && (!Xo(a) || Ab(r, a.body)))
            return pp(vn(l)).thisType;
          if (l && ua(l) && _n(l.parent) && Pc(l.parent) === 6)
            return pp(Sf(l.parent.left).parent).thisType;
          const f = r.flags & 16777216 ? X1(r) : void 0;
          return f && ho(f) && _n(f.parent) && Pc(f.parent) === 3 ? pp(Sf(f.parent.left).parent).thisType : jm(a) && Ab(r, a.body) ? pp(vn(a)).thisType : (Be(r, p.A_this_type_is_available_only_in_a_non_static_member_of_a_class_or_interface), Ve);
        }
        function mpe(r) {
          const a = yn(r);
          return a.resolvedType || (a.resolvedType = Trt(r)), a.resolvedType;
        }
        function yNe(r) {
          return Ci(lM(r.type) || r.type);
        }
        function lM(r) {
          switch (r.kind) {
            case 196:
              return lM(r.type);
            case 189:
              if (r.elements.length === 1 && (r = r.elements[0], r.kind === 191 || r.kind === 202 && r.dotDotDotToken))
                return lM(r.type);
              break;
            case 188:
              return r.elementType;
          }
        }
        function xrt(r) {
          const a = yn(r);
          return a.resolvedType || (a.resolvedType = r.dotDotDotToken ? yNe(r) : Ol(
            Ci(r.type),
            /*isProperty*/
            !0,
            !!r.questionToken
          ));
        }
        function Ci(r) {
          return Ket(vNe(r), r);
        }
        function vNe(r) {
          switch (r.kind) {
            case 133:
            case 312:
            case 313:
              return Ie;
            case 159:
              return mt;
            case 154:
              return st;
            case 150:
              return At;
            case 163:
              return Yr;
            case 136:
              return Jt;
            case 155:
              return wt;
            case 116:
              return dr;
            case 157:
              return _e;
            case 106:
              return jt;
            case 146:
              return Kt;
            case 151:
              return r.flags & 524288 && !fe ? Ie : br;
            case 141:
              return we;
            case 197:
            case 110:
              return mpe(r);
            case 201:
              return brt(r);
            case 183:
              return YG(r);
            case 182:
              return r.assertsModifier ? dr : Jt;
            case 233:
              return YG(r);
            case 186:
              return D3e(r);
            case 188:
            case 189:
              return Att(r);
            case 190:
              return Ltt(r);
            case 192:
              return Utt(r);
            case 193:
              return Ztt(r);
            case 314:
              return ett(r);
            case 316:
              return Ol(Ci(r.type));
            case 202:
              return xrt(r);
            case 196:
            case 315:
            case 309:
              return Ci(r.type);
            case 191:
              return yNe(r);
            case 318:
              return Lut(r);
            case 184:
            case 185:
            case 187:
            case 322:
            case 317:
            case 323:
              return hNe(r);
            case 198:
              return nrt(r);
            case 199:
              return _Ne(r);
            case 200:
              return cpe(r);
            case 194:
              return grt(r);
            case 195:
              return hrt(r);
            case 203:
              return irt(r);
            case 205:
              return mNe(r);
            // This function assumes that an identifier, qualified name, or property access expression is a type expression
            // Callers should first ensure this by calling `isPartOfTypeNode`
            // TODO(rbuckton): These aren't valid TypeNodes, but we treat them as such because of `isPartOfTypeNode`, which returns `true` for things that aren't `TypeNode`s.
            case 80:
            case 166:
            case 211:
              const a = vp(r);
              return a ? wo(a) : Ve;
            default:
              return Ve;
          }
        }
        function i$(r, a, l) {
          if (r && r.length)
            for (let f = 0; f < r.length; f++) {
              const d = r[f], y = l(d, a);
              if (d !== y) {
                const x = f === 0 ? [] : r.slice(0, f);
                for (x.push(y), f++; f < r.length; f++)
                  x.push(l(r[f], a));
                return x;
              }
            }
          return r;
        }
        function bg(r, a) {
          return i$(r, a, ji);
        }
        function s$(r, a) {
          return i$(r, a, V2);
        }
        function bNe(r, a) {
          return i$(r, a, Lrt);
        }
        function R_(r, a) {
          return r.length === 1 ? z2(r[0], a ? a[0] : Ie) : krt(r, a);
        }
        function fy(r, a) {
          switch (a.kind) {
            case 0:
              return r === a.source ? a.target : r;
            case 1: {
              const f = a.sources, d = a.targets;
              for (let y = 0; y < f.length; y++)
                if (r === f[y])
                  return d ? d[y] : Ie;
              return r;
            }
            case 2: {
              const f = a.sources, d = a.targets;
              for (let y = 0; y < f.length; y++)
                if (r === f[y])
                  return d[y]();
              return r;
            }
            case 3:
              return a.func(r);
            case 4:
            case 5:
              const l = fy(r, a.mapper1);
              return l !== r && a.kind === 4 ? ji(l, a.mapper2) : fy(l, a.mapper2);
          }
        }
        function z2(r, a) {
          return E.attachDebugPrototypeIfDebug({ kind: 0, source: r, target: a });
        }
        function krt(r, a) {
          return E.attachDebugPrototypeIfDebug({ kind: 1, sources: r, targets: a });
        }
        function uM(r, a) {
          return E.attachDebugPrototypeIfDebug({ kind: 3, func: r, debugInfo: E.isDebugging ? a : void 0 });
        }
        function gpe(r, a) {
          return E.attachDebugPrototypeIfDebug({ kind: 2, sources: r, targets: a });
        }
        function a$(r, a, l) {
          return E.attachDebugPrototypeIfDebug({ kind: r, mapper1: a, mapper2: l });
        }
        function SNe(r) {
          return R_(
            r,
            /*targets*/
            void 0
          );
        }
        function Crt(r, a) {
          const l = r.inferences.slice(a);
          return R_(fr(l, (f) => f.typeParameter), fr(l, () => mt));
        }
        function W2(r, a) {
          return r ? a$(4, r, a) : a;
        }
        function Ert(r, a) {
          return r ? a$(5, r, a) : a;
        }
        function wT(r, a, l) {
          return l ? a$(5, z2(r, a), l) : z2(r, a);
        }
        function Z8(r, a, l) {
          return r ? a$(5, r, z2(a, l)) : z2(a, l);
        }
        function Drt(r) {
          return !r.constraint && !GG(r) || r.constraint === Vc ? r : r.restrictiveInstantiation || (r.restrictiveInstantiation = hi(r.symbol), r.restrictiveInstantiation.constraint = Vc, r.restrictiveInstantiation);
        }
        function hpe(r) {
          const a = hi(r.symbol);
          return a.target = r, a;
        }
        function TNe(r, a) {
          return H8(r.kind, r.parameterName, r.parameterIndex, ji(r.type, a));
        }
        function V2(r, a, l) {
          let f;
          if (r.typeParameters && !l) {
            f = fr(r.typeParameters, hpe), a = W2(R_(r.typeParameters, f), a);
            for (const y of f)
              y.mapper = a;
          }
          const d = fh(
            r.declaration,
            f,
            r.thisParameter && ype(r.thisParameter, a),
            i$(r.parameters, a, ype),
            /*resolvedReturnType*/
            void 0,
            /*resolvedTypePredicate*/
            void 0,
            r.minArgumentCount,
            r.flags & 167
            /* PropagatingFlags */
          );
          return d.target = r, d.mapper = a, d;
        }
        function ype(r, a) {
          const l = Ri(r);
          if (l.type && !M1(l.type) && (!(r.flags & 65536) || l.writeType && !M1(l.writeType)))
            return r;
          lc(r) & 1 && (r = l.target, a = W2(l.mapper, a));
          const f = sa(r.flags, r.escapedName, 1 | lc(r) & 53256);
          return f.declarations = r.declarations, f.parent = r.parent, f.links.target = r, f.links.mapper = a, r.valueDeclaration && (f.valueDeclaration = r.valueDeclaration), l.nameType && (f.links.nameType = l.nameType), f;
        }
        function wrt(r, a, l, f) {
          const d = r.objectFlags & 4 || r.objectFlags & 8388608 ? r.node : r.symbol.declarations[0], y = yn(d), x = r.objectFlags & 4 ? y.resolvedType : r.objectFlags & 64 ? r.target : r;
          let I = r.objectFlags & 134217728 ? r.outerTypeParameters : y.outerTypeParameters;
          if (!I) {
            let R = ay(
              d,
              /*includeThisTypes*/
              !0
            );
            if (jm(d)) {
              const Y = u3e(d);
              R = wn(R, Y);
            }
            I = R || Ue;
            const J = r.objectFlags & 8388612 ? [d] : r.symbol.declarations;
            I = (x.objectFlags & 8388612 || x.symbol.flags & 8192 || x.symbol.flags & 2048) && !x.aliasTypeArguments ? Tn(I, (Y) => at(J, (Te) => _M(Y, Te))) : I, y.outerTypeParameters = I;
          }
          if (I.length) {
            const R = W2(r.mapper, a), J = fr(I, (ct) => fy(ct, R)), Y = l || r.aliasSymbol, Te = l ? f : bg(r.aliasTypeArguments, a), de = (r.objectFlags & 134217728 ? "S" : "") + Wp(J) + tC(Y, Te);
            x.instantiations || (x.instantiations = /* @__PURE__ */ new Map(), x.instantiations.set(Wp(I) + tC(x.aliasSymbol, x.aliasTypeArguments), x));
            let Ge = x.instantiations.get(de);
            if (!Ge) {
              if (r.objectFlags & 134217728)
                return Ge = o$(r, a), x.instantiations.set(de, Ge), Ge;
              const ct = R_(I, J);
              Ge = x.objectFlags & 4 ? Bfe(r.target, r.node, ct, Y, Te) : x.objectFlags & 32 ? Nrt(x, ct, Y, Te) : o$(x, ct, Y, Te), x.instantiations.set(de, Ge);
              const ht = Cn(Ge);
              if (Ge.flags & 3899393 && !(ht & 524288)) {
                const nr = at(J, M1);
                Cn(Ge) & 524288 || (ht & 52 ? Ge.objectFlags |= 524288 | (nr ? 1048576 : 0) : Ge.objectFlags |= nr ? 0 : 524288);
              }
            }
            return Ge;
          }
          return r;
        }
        function Prt(r) {
          return !(r.parent.kind === 183 && r.parent.typeArguments && r === r.parent.typeName || r.parent.kind === 205 && r.parent.typeArguments && r === r.parent.qualifier);
        }
        function _M(r, a) {
          if (r.symbol && r.symbol.declarations && r.symbol.declarations.length === 1) {
            const f = r.symbol.declarations[0].parent;
            for (let d = a; d !== f; d = d.parent)
              if (!d || d.kind === 241 || d.kind === 194 && Ss(d.extendsType, l))
                return !0;
            return l(a);
          }
          return !0;
          function l(f) {
            switch (f.kind) {
              case 197:
                return !!r.isThisType;
              case 80:
                return !r.isThisType && Yd(f) && Prt(f) && vNe(f) === r;
              // use worker because we're looking for === equality
              case 186:
                const d = f.exprName, y = Xu(d);
                if (!Xy(y)) {
                  const x = Du(y), I = r.symbol.declarations[0], R = I.kind === 168 ? I.parent : (
                    // Type parameter is a regular type parameter, e.g. foo<T>
                    r.isThisType ? I : (
                      // Type parameter is the this type, and its declaration is the class declaration.
                      void 0
                    )
                  );
                  if (x.declarations && R)
                    return at(x.declarations, (J) => Ab(J, R)) || at(f.typeArguments, l);
                }
                return !0;
              case 174:
              case 173:
                return !f.type && !!f.body || at(f.typeParameters, l) || at(f.parameters, l) || !!f.type && l(f.type);
            }
            return !!Ss(f, l);
          }
        }
        function K8(r) {
          const a = Uf(r);
          if (a.flags & 4194304) {
            const l = n0(a.type);
            if (l.flags & 262144)
              return l;
          }
        }
        function Nrt(r, a, l, f) {
          const d = K8(r);
          if (d) {
            const x = ji(d, a);
            if (d !== x)
              return CAe(sd(x), y, l, f);
          }
          return ji(Uf(r), a) === _t ? _t : o$(r, a, l, f);
          function y(x) {
            if (x.flags & 61603843 && x !== _t && !Oe(x)) {
              if (!r.declaration.nameType) {
                let I;
                if (gp(x) || x.flags & 1 && CE(
                  d,
                  4
                  /* ImmediateBaseConstraint */
                ) < 0 && (I = a_(d)) && j_(I, nb))
                  return Irt(x, r, wT(d, x, a));
                if (va(x))
                  return Art(x, r, d, a);
                if (i3e(x))
                  return aa(fr(x.types, y));
              }
              return o$(r, wT(d, x, a));
            }
            return x;
          }
        }
        function xNe(r, a) {
          return a & 1 ? !0 : a & 2 ? !1 : r;
        }
        function Art(r, a, l, f) {
          const d = r.target.elementFlags, y = r.target.fixedLength, x = y ? wT(l, r, f) : f, I = fr(j2(r), (Te, de) => {
            const Ge = d[de];
            return de < y ? kNe(a, x_("" + de), !!(Ge & 2), x) : Ge & 8 ? ji(a, wT(l, Te, f)) : bM(ji(a, wT(l, du(Te), f))) ?? mt;
          }), R = hg(a), J = R & 4 ? fr(d, (Te) => Te & 1 ? 2 : Te) : R & 8 ? fr(d, (Te) => Te & 2 ? 1 : Te) : d, Y = xNe(r.target.readonly, hg(a));
          return _s(I, Ve) ? Ve : vg(I, J, Y, r.target.labeledElementDeclarations);
        }
        function Irt(r, a, l) {
          const f = kNe(
            a,
            At,
            /*isOptional*/
            !0,
            l
          );
          return Oe(f) ? Ve : du(f, xNe(sP(r), hg(a)));
        }
        function kNe(r, a, l, f) {
          const d = Z8(f, Rd(r), a), y = ji(Kh(r.target || r), d), x = hg(r);
          return K && x & 4 && !Cc(
            y,
            49152
            /* Void */
          ) ? L1(
            y,
            /*isProperty*/
            !0
          ) : K && x & 8 && l ? hp(
            y,
            524288
            /* NEUndefined */
          ) : y;
        }
        function o$(r, a, l, f) {
          E.assert(r.symbol, "anonymous type must have symbol to be instantiated");
          const d = ir(r.objectFlags & -1572865 | 64, r.symbol);
          if (r.objectFlags & 32) {
            d.declaration = r.declaration;
            const y = Rd(r), x = hpe(y);
            d.typeParameter = x, a = W2(z2(y, x), a), x.mapper = a;
          }
          return r.objectFlags & 8388608 && (d.node = r.node), r.objectFlags & 134217728 && (d.outerTypeParameters = r.outerTypeParameters), d.target = r, d.mapper = a, d.aliasSymbol = l || r.aliasSymbol, d.aliasTypeArguments = l ? f : bg(r.aliasTypeArguments, a), d.objectFlags |= d.aliasTypeArguments ? eM(d.aliasTypeArguments) : 0, d;
        }
        function vpe(r, a, l, f, d) {
          const y = r.root;
          if (y.outerTypeParameters) {
            const x = fr(y.outerTypeParameters, (J) => fy(J, a)), I = (l ? "C" : "") + Wp(x) + tC(f, d);
            let R = y.instantiations.get(I);
            if (!R) {
              const J = R_(y.outerTypeParameters, x), Y = y.checkType, Te = y.isDistributive ? sd(fy(Y, J)) : void 0;
              R = Te && Y !== Te && Te.flags & 1179648 ? CAe(Te, (de) => lpe(y, wT(Y, de, J), l), f, d) : lpe(y, J, l, f, d), y.instantiations.set(I, R);
            }
            return R;
          }
          return r;
        }
        function ji(r, a) {
          return r && a ? CNe(
            r,
            a,
            /*aliasSymbol*/
            void 0,
            /*aliasTypeArguments*/
            void 0
          ) : r;
        }
        function CNe(r, a, l, f) {
          var d;
          if (!M1(r))
            return r;
          if (S === 100 || h >= 5e6)
            return (d = rn) == null || d.instant(rn.Phase.CheckTypes, "instantiateType_DepthLimit", { typeId: r.id, instantiationDepth: S, instantiationCount: h }), Be(k, p.Type_instantiation_is_excessively_deep_and_possibly_infinite), Ve;
          m++, h++, S++;
          const y = Frt(r, a, l, f);
          return S--, y;
        }
        function Frt(r, a, l, f) {
          const d = r.flags;
          if (d & 262144)
            return fy(r, a);
          if (d & 524288) {
            const y = r.objectFlags;
            if (y & 52) {
              if (y & 4 && !r.node) {
                const x = r.resolvedTypeArguments, I = bg(x, a);
                return I !== x ? Zfe(r.target, I) : r;
              }
              return y & 1024 ? Ort(r, a) : wrt(r, a, l, f);
            }
            return r;
          }
          if (d & 3145728) {
            const y = r.flags & 1048576 ? r.origin : void 0, x = y && y.flags & 3145728 ? y.types : r.types, I = bg(x, a);
            if (I === x && l === r.aliasSymbol)
              return r;
            const R = l || r.aliasSymbol, J = l ? f : bg(r.aliasTypeArguments, a);
            return d & 2097152 || y && y.flags & 2097152 ? aa(I, 0, R, J) : Gn(I, 1, R, J);
          }
          if (d & 4194304)
            return Om(ji(r.type, a));
          if (d & 134217728)
            return kT(r.texts, bg(r.types, a));
          if (d & 268435456)
            return nC(r.symbol, ji(r.type, a));
          if (d & 8388608) {
            const y = l || r.aliasSymbol, x = l ? f : bg(r.aliasTypeArguments, a);
            return M_(
              ji(r.objectType, a),
              ji(r.indexType, a),
              r.accessFlags,
              /*accessNode*/
              void 0,
              y,
              x
            );
          }
          if (d & 16777216)
            return vpe(
              r,
              W2(r.mapper, a),
              /*forConstraint*/
              !1,
              l,
              f
            );
          if (d & 33554432) {
            const y = ji(r.baseType, a);
            if (ME(r))
              return Jfe(y);
            const x = ji(r.constraint, a);
            return y.flags & 8650752 && tb(x) ? Wfe(y, x) : x.flags & 3 || js(PT(y), PT(x)) ? y : y.flags & 8650752 ? Wfe(y, x) : aa([x, y]);
          }
          return r;
        }
        function Ort(r, a) {
          const l = ji(r.mappedType, a);
          if (!(Cn(l) & 32))
            return r;
          const f = ji(r.constraintType, a);
          if (!(f.flags & 4194304))
            return r;
          const d = nAe(
            ji(r.source, a),
            l,
            f
          );
          return d || r;
        }
        function eI(r) {
          return r.flags & 402915327 ? r : r.permissiveInstantiation || (r.permissiveInstantiation = ji(r, qo));
        }
        function PT(r) {
          return r.flags & 402915327 ? r : (r.restrictiveInstantiation || (r.restrictiveInstantiation = ji(r, Nc), r.restrictiveInstantiation.restrictiveInstantiation = r.restrictiveInstantiation), r.restrictiveInstantiation);
        }
        function Lrt(r, a) {
          return dh(r.keyType, ji(r.type, a), r.isReadonly, r.declaration, r.components);
        }
        function Hf(r) {
          switch (E.assert(r.kind !== 174 || Ep(r)), r.kind) {
            case 218:
            case 219:
            case 174:
            case 262:
              return ENe(r);
            case 210:
              return at(r.properties, Hf);
            case 209:
              return at(r.elements, Hf);
            case 227:
              return Hf(r.whenTrue) || Hf(r.whenFalse);
            case 226:
              return (r.operatorToken.kind === 57 || r.operatorToken.kind === 61) && (Hf(r.left) || Hf(r.right));
            case 303:
              return Hf(r.initializer);
            case 217:
              return Hf(r.expression);
            case 292:
              return at(r.properties, Hf) || yd(r.parent) && at(r.parent.parent.children, Hf);
            case 291: {
              const { initializer: a } = r;
              return !!a && Hf(a);
            }
            case 294: {
              const { expression: a } = r;
              return !!a && Hf(a);
            }
          }
          return !1;
        }
        function ENe(r) {
          return eF(r) || Mrt(r);
        }
        function Mrt(r) {
          return r.typeParameters || mf(r) || !r.body ? !1 : r.body.kind !== 241 ? Hf(r.body) : !!qy(r.body, (a) => !!a.expression && Hf(a.expression));
        }
        function c$(r) {
          return (Ky(r) || Ep(r)) && ENe(r);
        }
        function DNe(r) {
          if (r.flags & 524288) {
            const a = jd(r);
            if (a.constructSignatures.length || a.callSignatures.length) {
              const l = ir(16, r.symbol);
              return l.members = a.members, l.properties = a.properties, l.callSignatures = Ue, l.constructSignatures = Ue, l.indexInfos = Ue, l;
            }
          } else if (r.flags & 2097152)
            return aa(fr(r.types, DNe));
          return r;
        }
        function gh(r, a) {
          return Lm(r, a, of);
        }
        function tI(r, a) {
          return Lm(r, a, of) ? -1 : 0;
        }
        function bpe(r, a) {
          return Lm(r, a, v_) ? -1 : 0;
        }
        function Rrt(r, a) {
          return Lm(r, a, eh) ? -1 : 0;
        }
        function U2(r, a) {
          return Lm(r, a, eh);
        }
        function fM(r, a) {
          return Lm(r, a, _p);
        }
        function js(r, a) {
          return Lm(r, a, v_);
        }
        function rb(r, a) {
          return r.flags & 1048576 ? Pi(r.types, (l) => rb(l, a)) : a.flags & 1048576 ? at(a.types, (l) => rb(r, l)) : r.flags & 2097152 ? at(r.types, (l) => rb(l, a)) : r.flags & 58982400 ? rb(ru(r) || mt, a) : Sg(a) ? !!(r.flags & 67633152) : a === Ae ? !!(r.flags & 67633152) && !Sg(r) : a === It ? !!(r.flags & 524288) && ede(r) : PE(r, wE(a)) || gp(a) && !sP(a) && rb(r, Ea);
        }
        function l$(r, a) {
          return Lm(r, a, I_);
        }
        function pM(r, a) {
          return l$(r, a) || l$(a, r);
        }
        function mu(r, a, l, f, d, y) {
          return mp(r, a, v_, l, f, d, y);
        }
        function q2(r, a, l, f, d, y) {
          return Spe(
            r,
            a,
            v_,
            l,
            f,
            d,
            y,
            /*errorOutputContainer*/
            void 0
          );
        }
        function Spe(r, a, l, f, d, y, x, I) {
          return Lm(r, a, l) ? !0 : !f || !rI(d, r, a, l, y, x, I) ? mp(r, a, l, f, y, x, I) : !1;
        }
        function wNe(r) {
          return !!(r.flags & 16777216 || r.flags & 2097152 && at(r.types, wNe));
        }
        function rI(r, a, l, f, d, y, x) {
          if (!r || wNe(l)) return !1;
          if (!mp(
            a,
            l,
            f,
            /*errorNode*/
            void 0
          ) && jrt(r, a, l, f, d, y, x))
            return !0;
          switch (r.kind) {
            case 234:
              if (!BJ(r))
                break;
            // fallthrough
            case 294:
            case 217:
              return rI(r.expression, a, l, f, d, y, x);
            case 226:
              switch (r.operatorToken.kind) {
                case 64:
                case 28:
                  return rI(r.right, a, l, f, d, y, x);
              }
              break;
            case 210:
              return Hrt(r, a, l, f, y, x);
            case 209:
              return Urt(r, a, l, f, y, x);
            case 292:
              return Vrt(r, a, l, f, y, x);
            case 219:
              return Brt(r, a, l, f, y, x);
          }
          return !1;
        }
        function jrt(r, a, l, f, d, y, x) {
          const I = As(
            a,
            0
            /* Call */
          ), R = As(
            a,
            1
            /* Construct */
          );
          for (const J of [R, I])
            if (at(J, (Y) => {
              const Te = Va(Y);
              return !(Te.flags & 131073) && mp(
                Te,
                l,
                f,
                /*errorNode*/
                void 0
              );
            })) {
              const Y = x || {};
              mu(a, l, r, d, y, Y);
              const Te = Y.errors[Y.errors.length - 1];
              return Ws(
                Te,
                Kr(
                  r,
                  J === R ? p.Did_you_mean_to_use_new_with_this_expression : p.Did_you_mean_to_call_this_expression
                )
              ), !0;
            }
          return !1;
        }
        function Brt(r, a, l, f, d, y) {
          if (Cs(r.body) || at(r.parameters, D7))
            return !1;
          const x = jT(a);
          if (!x)
            return !1;
          const I = As(
            l,
            0
            /* Call */
          );
          if (!Ar(I))
            return !1;
          const R = r.body, J = Va(x), Y = Gn(fr(I, Va));
          if (!mp(
            J,
            Y,
            f,
            /*errorNode*/
            void 0
          )) {
            const Te = R && rI(
              R,
              J,
              Y,
              f,
              /*headMessage*/
              void 0,
              d,
              y
            );
            if (Te)
              return Te;
            const de = y || {};
            if (mp(
              J,
              Y,
              f,
              R,
              /*headMessage*/
              void 0,
              d,
              de
            ), de.errors)
              return l.symbol && Ar(l.symbol.declarations) && Ws(
                de.errors[de.errors.length - 1],
                Kr(
                  l.symbol.declarations[0],
                  p.The_expected_type_comes_from_the_return_type_of_this_signature
                )
              ), (Fc(r) & 2) === 0 && !qc(J, "then") && mp(
                XM(J),
                Y,
                f,
                /*errorNode*/
                void 0
              ) && Ws(
                de.errors[de.errors.length - 1],
                Kr(
                  r,
                  p.Did_you_mean_to_mark_this_function_as_async
                )
              ), !0;
          }
          return !1;
        }
        function PNe(r, a, l) {
          const f = A1(a, l);
          if (f)
            return f;
          if (a.flags & 1048576) {
            const d = RNe(r, a);
            if (d)
              return A1(d, l);
          }
        }
        function NNe(r, a) {
          OM(
            r,
            a,
            /*isCache*/
            !1
          );
          const l = mP(
            r,
            1
            /* Contextual */
          );
          return pI(), l;
        }
        function dM(r, a, l, f, d, y) {
          let x = !1;
          for (const I of r) {
            const { errorNode: R, innerExpression: J, nameType: Y, errorMessage: Te } = I;
            let de = PNe(a, l, Y);
            if (!de || de.flags & 8388608) continue;
            let Ge = A1(a, Y);
            if (!Ge) continue;
            const ct = e$(
              Y,
              /*accessNode*/
              void 0
            );
            if (!mp(
              Ge,
              de,
              f,
              /*errorNode*/
              void 0
            )) {
              const ht = J && rI(
                J,
                Ge,
                de,
                f,
                /*headMessage*/
                void 0,
                d,
                y
              );
              if (x = !0, !ht) {
                const nr = y || {}, Xt = J ? NNe(J, Ge) : Ge;
                if (he && _$(Xt, de)) {
                  const Gr = Kr(R, p.Type_0_is_not_assignable_to_type_1_with_exactOptionalPropertyTypes_Colon_true_Consider_adding_undefined_to_the_type_of_the_target, Hr(Xt), Hr(de));
                  Ia.add(Gr), nr.errors = [Gr];
                } else {
                  const Gr = !!(ct && (Zs(l, ct) || Q).flags & 16777216), Jr = !!(ct && (Zs(a, ct) || Q).flags & 16777216);
                  de = o0(de, Gr), Ge = o0(Ge, Gr && Jr), mp(Xt, de, f, R, Te, d, nr) && Xt !== Ge && mp(Ge, de, f, R, Te, d, nr);
                }
                if (nr.errors) {
                  const Gr = nr.errors[nr.errors.length - 1], Jr = ip(Y) ? sp(Y) : void 0, sr = Jr !== void 0 ? Zs(l, Jr) : void 0;
                  let Yt = !1;
                  if (!sr) {
                    const un = U8(l, Y);
                    un && un.declaration && !Er(un.declaration).hasNoDefaultLib && (Yt = !0, Ws(Gr, Kr(un.declaration, p.The_expected_type_comes_from_this_index_signature)));
                  }
                  if (!Yt && (sr && Ar(sr.declarations) || l.symbol && Ar(l.symbol.declarations))) {
                    const un = sr && Ar(sr.declarations) ? sr.declarations[0] : l.symbol.declarations[0];
                    Er(un).hasNoDefaultLib || Ws(
                      Gr,
                      Kr(
                        un,
                        p.The_expected_type_comes_from_property_0_which_is_declared_here_on_type_1,
                        Jr && !(Y.flags & 8192) ? Ei(Jr) : Hr(Y),
                        Hr(l)
                      )
                    );
                  }
                }
              }
            }
          }
          return x;
        }
        function Jrt(r, a, l, f, d, y) {
          const x = Hc(l, y$), I = Hc(l, (Y) => !y$(Y)), R = I !== Kt ? xme(
            13,
            0,
            I,
            /*errorNode*/
            void 0
          ) : void 0;
          let J = !1;
          for (let Y = r.next(); !Y.done; Y = r.next()) {
            const { errorNode: Te, innerExpression: de, nameType: Ge, errorMessage: ct } = Y.value;
            let ht = R;
            const nr = x !== Kt ? PNe(a, x, Ge) : void 0;
            if (nr && !(nr.flags & 8388608) && (ht = R ? Gn([R, nr]) : nr), !ht) continue;
            let Xt = A1(a, Ge);
            if (!Xt) continue;
            const Gr = e$(
              Ge,
              /*accessNode*/
              void 0
            );
            if (!mp(
              Xt,
              ht,
              f,
              /*errorNode*/
              void 0
            )) {
              const Jr = de && rI(
                de,
                Xt,
                ht,
                f,
                /*headMessage*/
                void 0,
                d,
                y
              );
              if (J = !0, !Jr) {
                const sr = y || {}, Yt = de ? NNe(de, Xt) : Xt;
                if (he && _$(Yt, ht)) {
                  const un = Kr(Te, p.Type_0_is_not_assignable_to_type_1_with_exactOptionalPropertyTypes_Colon_true_Consider_adding_undefined_to_the_type_of_the_target, Hr(Yt), Hr(ht));
                  Ia.add(un), sr.errors = [un];
                } else {
                  const un = !!(Gr && (Zs(x, Gr) || Q).flags & 16777216), Bn = !!(Gr && (Zs(a, Gr) || Q).flags & 16777216);
                  ht = o0(ht, un), Xt = o0(Xt, un && Bn), mp(Yt, ht, f, Te, ct, d, sr) && Yt !== Xt && mp(Xt, ht, f, Te, ct, d, sr);
                }
              }
            }
          }
          return J;
        }
        function* zrt(r) {
          if (Ar(r.properties))
            for (const a of r.properties)
              Hx(a) || kde(mN(a.name)) || (yield { errorNode: a.name, innerExpression: a.initializer, nameType: x_(mN(a.name)) });
        }
        function* Wrt(r, a) {
          if (!Ar(r.children)) return;
          let l = 0;
          for (let f = 0; f < r.children.length; f++) {
            const d = r.children[f], y = ad(f - l), x = ANe(d, y, a);
            x ? yield x : l++;
          }
        }
        function ANe(r, a, l) {
          switch (r.kind) {
            case 294:
              return { errorNode: r, innerExpression: r.expression, nameType: a };
            case 12:
              if (r.containsOnlyTriviaWhiteSpaces)
                break;
              return { errorNode: r, innerExpression: void 0, nameType: a, errorMessage: l() };
            case 284:
            case 285:
            case 288:
              return { errorNode: r, innerExpression: r, nameType: a };
            default:
              return E.assertNever(r, "Found invalid jsx child");
          }
        }
        function Vrt(r, a, l, f, d, y) {
          let x = dM(zrt(r), a, l, f, d, y), I;
          if (yd(r.parent) && lm(r.parent.parent)) {
            const J = r.parent.parent, Y = MM(MT(r)), Te = Y === void 0 ? "children" : Ei(Y), de = x_(Te), Ge = M_(l, de), ct = QC(J.children);
            if (!Ar(ct))
              return x;
            const ht = Ar(ct) > 1;
            let nr, Xt;
            if (KG(
              /*reportErrors*/
              !1
            ) !== zt) {
              const Jr = z3e(Ie);
              nr = Hc(Ge, (sr) => js(sr, Jr)), Xt = Hc(Ge, (sr) => !js(sr, Jr));
            } else
              nr = Hc(Ge, y$), Xt = Hc(Ge, (Jr) => !y$(Jr));
            if (ht) {
              if (nr !== Kt) {
                const Jr = vg(q$(
                  J,
                  0
                  /* Normal */
                )), sr = Wrt(J, R);
                x = Jrt(sr, Jr, nr, f, d, y) || x;
              } else if (!Lm(M_(a, de), Ge, f)) {
                x = !0;
                const Jr = Be(
                  J.openingElement.tagName,
                  p.This_JSX_tag_s_0_prop_expects_a_single_child_of_type_1_but_multiple_children_were_provided,
                  Te,
                  Hr(Ge)
                );
                y && y.skipLogging && (y.errors || (y.errors = [])).push(Jr);
              }
            } else if (Xt !== Kt) {
              const Jr = ct[0], sr = ANe(Jr, de, R);
              sr && (x = dM(
                function* () {
                  yield sr;
                }(),
                a,
                l,
                f,
                d,
                y
              ) || x);
            } else if (!Lm(M_(a, de), Ge, f)) {
              x = !0;
              const Jr = Be(
                J.openingElement.tagName,
                p.This_JSX_tag_s_0_prop_expects_type_1_which_requires_multiple_children_but_only_a_single_child_was_provided,
                Te,
                Hr(Ge)
              );
              y && y.skipLogging && (y.errors || (y.errors = [])).push(Jr);
            }
          }
          return x;
          function R() {
            if (!I) {
              const J = Go(r.parent.tagName), Y = MM(MT(r)), Te = Y === void 0 ? "children" : Ei(Y), de = M_(l, x_(Te)), Ge = p._0_components_don_t_accept_text_as_child_elements_Text_in_JSX_has_the_type_string_but_the_expected_type_of_1_is_2;
              I = { ...Ge, key: "!!ALREADY FORMATTED!!", message: Ex(Ge, J, Te, Hr(de)) };
            }
            return I;
          }
        }
        function* INe(r, a) {
          const l = Ar(r.elements);
          if (l)
            for (let f = 0; f < l; f++) {
              if (aP(a) && !Zs(a, "" + f)) continue;
              const d = r.elements[f];
              if (vl(d)) continue;
              const y = ad(f), x = eX(d);
              yield { errorNode: x, innerExpression: x, nameType: y };
            }
        }
        function Urt(r, a, l, f, d, y) {
          if (l.flags & 402915324) return !1;
          if (aP(a))
            return dM(INe(r, l), a, l, f, d, y);
          OM(
            r,
            l,
            /*isCache*/
            !1
          );
          const x = u8e(
            r,
            1,
            /*forceTuple*/
            !0
          );
          return pI(), aP(x) ? dM(INe(r, l), x, l, f, d, y) : !1;
        }
        function* qrt(r) {
          if (Ar(r.properties))
            for (const a of r.properties) {
              if (Gg(a)) continue;
              const l = rC(
                vn(a),
                8576
                /* StringOrNumberLiteralOrUnique */
              );
              if (!(!l || l.flags & 131072))
                switch (a.kind) {
                  case 178:
                  case 177:
                  case 174:
                  case 304:
                    yield { errorNode: a.name, innerExpression: void 0, nameType: l };
                    break;
                  case 303:
                    yield { errorNode: a.name, innerExpression: a.initializer, nameType: l, errorMessage: u3(a.name) ? p.Type_of_computed_property_s_value_is_0_which_is_not_assignable_to_type_1 : void 0 };
                    break;
                  default:
                    E.assertNever(a);
                }
            }
        }
        function Hrt(r, a, l, f, d, y) {
          return l.flags & 402915324 ? !1 : dM(qrt(r), a, l, f, d, y);
        }
        function FNe(r, a, l, f, d) {
          return mp(r, a, I_, l, f, d);
        }
        function Grt(r, a, l) {
          return Tpe(
            r,
            a,
            4,
            /*reportErrors*/
            !1,
            /*errorReporter*/
            void 0,
            /*incompatibleErrorReporter*/
            void 0,
            bpe,
            /*reportUnreliableMarkers*/
            void 0
          ) !== 0;
        }
        function u$(r) {
          if (!r.typeParameters && (!r.thisParameter || be(HM(r.thisParameter))) && r.parameters.length === 1 && Tu(r)) {
            const a = HM(r.parameters[0]);
            return !!((gp(a) ? Io(a)[0] : a).flags & 131073 && Va(r).flags & 3);
          }
          return !1;
        }
        function Tpe(r, a, l, f, d, y, x, I) {
          if (r === a || !(l & 16 && u$(r)) && u$(a))
            return -1;
          if (l & 16 && u$(r) && !u$(a))
            return 0;
          const R = B_(a);
          if (!Tg(a) && (l & 8 ? Tg(r) || B_(r) > R : Wd(r) > R))
            return f && !(l & 8) && d(p.Target_signature_provides_too_few_arguments_Expected_0_or_more_but_got_1, Wd(r), R), 0;
          r.typeParameters && r.typeParameters !== a.typeParameters && (a = qet(a), r = V8e(
            r,
            a,
            /*inferenceContext*/
            void 0,
            x
          ));
          const Y = B_(r), Te = bI(r), de = bI(a);
          (Te || de) && ji(Te || de, I);
          const Ge = a.declaration ? a.declaration.kind : 0, ct = !(l & 3) && U && Ge !== 174 && Ge !== 173 && Ge !== 176;
          let ht = -1;
          const nr = Kv(r);
          if (nr && nr !== dr) {
            const Jr = Kv(a);
            if (Jr) {
              const sr = !ct && x(
                nr,
                Jr,
                /*reportErrors*/
                !1
              ) || x(Jr, nr, f);
              if (!sr)
                return f && d(p.The_this_types_of_each_signature_are_incompatible), 0;
              ht &= sr;
            }
          }
          const Xt = Te || de ? Math.min(Y, R) : Math.max(Y, R), Gr = Te || de ? Xt - 1 : -1;
          for (let Jr = 0; Jr < Xt; Jr++) {
            const sr = Jr === Gr ? dIe(r, Jr) : X2(r, Jr), Yt = Jr === Gr ? dIe(a, Jr) : X2(a, Jr);
            if (sr && Yt && (sr !== Yt || l & 8)) {
              const un = l & 3 || z8e(r, Jr) ? void 0 : jT(a0(sr)), Bn = l & 3 || z8e(a, Jr) ? void 0 : jT(a0(Yt));
              let bn = un && Bn && !dp(un) && !dp(Bn) && JE(
                sr,
                50331648
                /* IsUndefinedOrNull */
              ) === JE(
                Yt,
                50331648
                /* IsUndefinedOrNull */
              ) ? Tpe(Bn, un, l & 8 | (ct ? 2 : 1), f, d, y, x, I) : !(l & 3) && !ct && x(
                sr,
                Yt,
                /*reportErrors*/
                !1
              ) || x(Yt, sr, f);
              if (bn && l & 8 && Jr >= Wd(r) && Jr < Wd(a) && x(
                sr,
                Yt,
                /*reportErrors*/
                !1
              ) && (bn = 0), !bn)
                return f && d(p.Types_of_parameters_0_and_1_are_incompatible, Ei(fP(r, Jr)), Ei(fP(a, Jr))), 0;
              ht &= bn;
            }
          }
          if (!(l & 4)) {
            const Jr = zG(a) ? Ie : a.declaration && jm(a.declaration) ? pp(La(a.declaration.symbol)) : Va(a);
            if (Jr === dr || Jr === Ie)
              return ht;
            const sr = zG(r) ? Ie : r.declaration && jm(r.declaration) ? pp(La(r.declaration.symbol)) : Va(r), Yt = dp(a);
            if (Yt) {
              const un = dp(r);
              if (un)
                ht &= $rt(un, Yt, f, d, x);
              else if (oK(Yt) || cK(Yt))
                return f && d(p.Signature_0_must_be_a_type_predicate, N2(r)), 0;
            } else
              ht &= l & 1 && x(
                Jr,
                sr,
                /*reportErrors*/
                !1
              ) || x(sr, Jr, f), !ht && f && y && y(sr, Jr);
          }
          return ht;
        }
        function $rt(r, a, l, f, d) {
          if (r.kind !== a.kind)
            return l && (f(p.A_this_based_type_guard_is_not_compatible_with_a_parameter_based_type_guard), f(p.Type_predicate_0_is_not_assignable_to_1, Hv(r), Hv(a))), 0;
          if ((r.kind === 1 || r.kind === 3) && r.parameterIndex !== a.parameterIndex)
            return l && (f(p.Parameter_0_is_not_in_the_same_position_as_parameter_1, r.parameterName, a.parameterName), f(p.Type_predicate_0_is_not_assignable_to_1, Hv(r), Hv(a))), 0;
          const y = r.type === a.type ? -1 : r.type && a.type ? d(r.type, a.type, l) : 0;
          return y === 0 && l && f(p.Type_predicate_0_is_not_assignable_to_1, Hv(r), Hv(a)), y;
        }
        function Xrt(r, a) {
          const l = $8(r), f = $8(a), d = Va(l), y = Va(f);
          return y === dr || Lm(y, d, v_) || Lm(d, y, v_) ? Grt(
            l,
            f
          ) : !1;
        }
        function xpe(r) {
          return r !== Ka && r.properties.length === 0 && r.callSignatures.length === 0 && r.constructSignatures.length === 0 && r.indexInfos.length === 0;
        }
        function i0(r) {
          return r.flags & 524288 ? !T_(r) && xpe(jd(r)) : r.flags & 67108864 ? !0 : r.flags & 1048576 ? at(r.types, i0) : r.flags & 2097152 ? Pi(r.types, i0) : !1;
        }
        function Sg(r) {
          return !!(Cn(r) & 16 && (r.members && xpe(r) || r.symbol && r.symbol.flags & 2048 && gg(r.symbol).size === 0));
        }
        function Qrt(r) {
          if (K && r.flags & 1048576) {
            if (!(r.objectFlags & 33554432)) {
              const a = r.types;
              r.objectFlags |= 33554432 | (a.length >= 3 && a[0].flags & 32768 && a[1].flags & 65536 && at(a, Sg) ? 67108864 : 0);
            }
            return !!(r.objectFlags & 67108864);
          }
          return !1;
        }
        function BE(r) {
          return !!((r.flags & 1048576 ? r.types[0] : r).flags & 32768);
        }
        function Yrt(r) {
          const a = r.flags & 1048576 ? r.types[0] : r;
          return !!(a.flags & 32768) && a !== ye;
        }
        function ONe(r) {
          return r.flags & 524288 && !T_(r) && Ga(r).length === 0 && pu(r).length === 1 && !!ph(r, st) || r.flags & 3145728 && Pi(r.types, ONe) || !1;
        }
        function kpe(r, a, l) {
          const f = r.flags & 8 ? O_(r) : r, d = a.flags & 8 ? O_(a) : a;
          if (f === d)
            return !0;
          if (f.escapedName !== d.escapedName || !(f.flags & 256) || !(d.flags & 256))
            return !1;
          const y = ea(f) + "," + ea(d), x = il.get(y);
          if (x !== void 0 && !(x & 2 && l))
            return !!(x & 1);
          const I = Qr(d);
          for (const R of Ga(Qr(f)))
            if (R.flags & 8) {
              const J = Zs(I, R.escapedName);
              if (!J || !(J.flags & 8))
                return l && l(p.Property_0_is_missing_in_type_1, bc(R), Hr(
                  wo(d),
                  /*enclosingDeclaration*/
                  void 0,
                  64
                  /* UseFullyQualifiedType */
                )), il.set(
                  y,
                  2
                  /* Failed */
                ), !1;
              const Y = JT(jo(
                R,
                306
                /* EnumMember */
              )).value, Te = JT(jo(
                J,
                306
                /* EnumMember */
              )).value;
              if (Y !== Te) {
                const de = typeof Y == "string", Ge = typeof Te == "string";
                if (Y !== void 0 && Te !== void 0) {
                  if (l) {
                    const ct = de ? `"${Qm(Y)}"` : Y, ht = Ge ? `"${Qm(Te)}"` : Te;
                    l(p.Each_declaration_of_0_1_differs_in_its_value_where_2_was_expected_but_3_was_given, bc(d), bc(J), ht, ct);
                  }
                  return il.set(
                    y,
                    2
                    /* Failed */
                  ), !1;
                }
                if (de || Ge) {
                  if (l) {
                    const ct = Y ?? Te;
                    E.assert(typeof ct == "string");
                    const ht = `"${Qm(ct)}"`;
                    l(p.One_value_of_0_1_is_the_string_2_and_the_other_is_assumed_to_be_an_unknown_numeric_value, bc(d), bc(J), ht);
                  }
                  return il.set(
                    y,
                    2
                    /* Failed */
                  ), !1;
                }
              }
            }
          return il.set(
            y,
            1
            /* Succeeded */
          ), !0;
        }
        function nI(r, a, l, f) {
          const d = r.flags, y = a.flags;
          return y & 1 || d & 131072 || r === _t || y & 2 && !(l === _p && d & 1) ? !0 : y & 131072 ? !1 : !!(d & 402653316 && y & 4 || d & 128 && d & 1024 && y & 128 && !(y & 1024) && r.value === a.value || d & 296 && y & 8 || d & 256 && d & 1024 && y & 256 && !(y & 1024) && r.value === a.value || d & 2112 && y & 64 || d & 528 && y & 16 || d & 12288 && y & 4096 || d & 32 && y & 32 && r.symbol.escapedName === a.symbol.escapedName && kpe(r.symbol, a.symbol, f) || d & 1024 && y & 1024 && (d & 1048576 && y & 1048576 && kpe(r.symbol, a.symbol, f) || d & 2944 && y & 2944 && r.value === a.value && kpe(r.symbol, a.symbol, f)) || d & 32768 && (!K && !(y & 3145728) || y & 49152) || d & 65536 && (!K && !(y & 3145728) || y & 65536) || d & 524288 && y & 67108864 && !(l === _p && Sg(r) && !(Cn(r) & 8192)) || (l === v_ || l === I_) && (d & 1 || d & 8 && (y & 32 || y & 256 && y & 1024) || d & 256 && !(d & 1024) && (y & 32 || y & 256 && y & 1024 && r.value === a.value) || Qrt(a)));
        }
        function Lm(r, a, l) {
          if (J2(r) && (r = r.regularType), J2(a) && (a = a.regularType), r === a)
            return !0;
          if (l !== of) {
            if (l === I_ && !(a.flags & 131072) && nI(a, r, l) || nI(r, a, l))
              return !0;
          } else if (!((r.flags | a.flags) & 61865984)) {
            if (r.flags !== a.flags) return !1;
            if (r.flags & 67358815) return !0;
          }
          if (r.flags & 524288 && a.flags & 524288) {
            const f = l.get(d$(
              r,
              a,
              0,
              l,
              /*ignoreConstraints*/
              !1
            ));
            if (f !== void 0)
              return !!(f & 1);
          }
          return r.flags & 469499904 || a.flags & 469499904 ? mp(
            r,
            a,
            l,
            /*errorNode*/
            void 0
          ) : !1;
        }
        function LNe(r, a) {
          return Cn(r) & 2048 && kde(a.escapedName);
        }
        function mM(r, a) {
          for (; ; ) {
            const l = J2(r) ? r.regularType : O1(r) ? ent(r, a) : Cn(r) & 4 ? r.node ? e0(r.target, Io(r)) : Ipe(r) || r : r.flags & 3145728 ? Zrt(r, a) : r.flags & 33554432 ? a ? r.baseType : Vfe(r) : r.flags & 25165824 ? r0(r, a) : r;
            if (l === r) return l;
            r = l;
          }
        }
        function Zrt(r, a) {
          const l = sd(r);
          if (l !== r)
            return l;
          if (r.flags & 2097152 && Krt(r)) {
            const f = $c(r.types, (d) => mM(d, a));
            if (f !== r.types)
              return aa(f);
          }
          return r;
        }
        function Krt(r) {
          let a = !1, l = !1;
          for (const f of r.types)
            if (a || (a = !!(f.flags & 465829888)), l || (l = !!(f.flags & 98304) || Sg(f)), a && l) return !0;
          return !1;
        }
        function ent(r, a) {
          const l = j2(r), f = $c(l, (d) => d.flags & 25165824 ? r0(d, a) : d);
          return l !== f ? Kfe(r.target, f) : r;
        }
        function mp(r, a, l, f, d, y, x) {
          var I;
          let R, J, Y, Te, de, Ge, ct = 0, ht = 0, nr = 0, Xt = 0, Gr = !1, Jr = 0, sr = 0, Yt, un, Bn = 16e6 - l.size >> 3;
          E.assert(l !== of || !f, "no error reporting in identity checking");
          const wi = zr(
            r,
            a,
            3,
            /*reportErrors*/
            !!f,
            d
          );
          if (un && Qa(), Gr) {
            const We = d$(
              r,
              a,
              /*intersectionState*/
              0,
              l,
              /*ignoreConstraints*/
              !1
            );
            l.set(We, 2 | (Bn <= 0 ? 32 : 64)), (I = rn) == null || I.instant(rn.Phase.CheckTypes, "checkTypeRelatedTo_DepthLimit", { sourceId: r.id, targetId: a.id, depth: ht, targetDepth: nr });
            const tt = Bn <= 0 ? p.Excessive_complexity_comparing_types_0_and_1 : p.Excessive_stack_depth_comparing_types_0_and_1, Gt = Be(f || k, tt, Hr(r), Hr(a));
            x && (x.errors || (x.errors = [])).push(Gt);
          } else if (R) {
            if (y) {
              const Gt = y();
              Gt && (fee(Gt, R), R = Gt);
            }
            let We;
            if (d && f && !wi && r.symbol) {
              const Gt = Ri(r.symbol);
              if (Gt.originatingImport && !df(Gt.originatingImport) && mp(
                Qr(Gt.target),
                a,
                l,
                /*errorNode*/
                void 0
              )) {
                const vt = Kr(Gt.originatingImport, p.Type_originates_at_this_import_A_namespace_style_import_cannot_be_called_or_constructed_and_will_cause_a_failure_at_runtime_Consider_using_a_default_import_or_import_require_here_instead);
                We = Dr(We, vt);
              }
            }
            const tt = Lg(Er(f), f, R, We);
            J && Ws(tt, ...J), x && (x.errors || (x.errors = [])).push(tt), (!x || !x.skipLogging) && Ia.add(tt);
          }
          return f && x && x.skipLogging && wi === 0 && E.assert(!!x.errors, "missed opportunity to interact with error."), wi !== 0;
          function bn(We) {
            R = We.errorInfo, Yt = We.lastSkippedInfo, un = We.incompatibleStack, Jr = We.overrideNextErrorInfo, sr = We.skipParentCounter, J = We.relatedInfo;
          }
          function os() {
            return {
              errorInfo: R,
              lastSkippedInfo: Yt,
              incompatibleStack: un?.slice(),
              overrideNextErrorInfo: Jr,
              skipParentCounter: sr,
              relatedInfo: J?.slice()
            };
          }
          function Fs(We, ...tt) {
            Jr++, Yt = void 0, (un || (un = [])).push([We, ...tt]);
          }
          function Qa() {
            const We = un || [];
            un = void 0;
            const tt = Yt;
            if (Yt = void 0, We.length === 1) {
              bs(...We[0]), tt && sc(
                /*message*/
                void 0,
                ...tt
              );
              return;
            }
            let Gt = "";
            const Nr = [];
            for (; We.length; ) {
              const [vt, ...Tt] = We.pop();
              switch (vt.code) {
                case p.Types_of_property_0_are_incompatible.code: {
                  Gt.indexOf("new ") === 0 && (Gt = `(${Gt})`);
                  const or = "" + Tt[0];
                  Gt.length === 0 ? Gt = `${or}` : C_(or, ga(F)) ? Gt = `${Gt}.${or}` : or[0] === "[" && or[or.length - 1] === "]" ? Gt = `${Gt}${or}` : Gt = `${Gt}[${or}]`;
                  break;
                }
                case p.Call_signature_return_types_0_and_1_are_incompatible.code:
                case p.Construct_signature_return_types_0_and_1_are_incompatible.code:
                case p.Call_signatures_with_no_arguments_have_incompatible_return_types_0_and_1.code:
                case p.Construct_signatures_with_no_arguments_have_incompatible_return_types_0_and_1.code: {
                  if (Gt.length === 0) {
                    let or = vt;
                    vt.code === p.Call_signatures_with_no_arguments_have_incompatible_return_types_0_and_1.code ? or = p.Call_signature_return_types_0_and_1_are_incompatible : vt.code === p.Construct_signatures_with_no_arguments_have_incompatible_return_types_0_and_1.code && (or = p.Construct_signature_return_types_0_and_1_are_incompatible), Nr.unshift([or, Tt[0], Tt[1]]);
                  } else {
                    const or = vt.code === p.Construct_signature_return_types_0_and_1_are_incompatible.code || vt.code === p.Construct_signatures_with_no_arguments_have_incompatible_return_types_0_and_1.code ? "new " : "", Cr = vt.code === p.Call_signatures_with_no_arguments_have_incompatible_return_types_0_and_1.code || vt.code === p.Construct_signatures_with_no_arguments_have_incompatible_return_types_0_and_1.code ? "" : "...";
                    Gt = `${or}${Gt}(${Cr})`;
                  }
                  break;
                }
                case p.Type_at_position_0_in_source_is_not_compatible_with_type_at_position_1_in_target.code: {
                  Nr.unshift([p.Type_at_position_0_in_source_is_not_compatible_with_type_at_position_1_in_target, Tt[0], Tt[1]]);
                  break;
                }
                case p.Type_at_positions_0_through_1_in_source_is_not_compatible_with_type_at_position_2_in_target.code: {
                  Nr.unshift([p.Type_at_positions_0_through_1_in_source_is_not_compatible_with_type_at_position_2_in_target, Tt[0], Tt[1], Tt[2]]);
                  break;
                }
                default:
                  return E.fail(`Unhandled Diagnostic: ${vt.code}`);
              }
            }
            Gt ? bs(
              Gt[Gt.length - 1] === ")" ? p.The_types_returned_by_0_are_incompatible_between_these_types : p.The_types_of_0_are_incompatible_between_these_types,
              Gt
            ) : Nr.shift();
            for (const [vt, ...Tt] of Nr) {
              const or = vt.elidedInCompatabilityPyramid;
              vt.elidedInCompatabilityPyramid = !1, bs(vt, ...Tt), vt.elidedInCompatabilityPyramid = or;
            }
            tt && sc(
              /*message*/
              void 0,
              ...tt
            );
          }
          function bs(We, ...tt) {
            E.assert(!!f), un && Qa(), !We.elidedInCompatabilityPyramid && (sr === 0 ? R = vs(R, We, ...tt) : sr--);
          }
          function wu(We, ...tt) {
            bs(We, ...tt), sr++;
          }
          function Rl(We) {
            E.assert(!!R), J ? J.push(We) : J = [We];
          }
          function sc(We, tt, Gt) {
            un && Qa();
            const [Nr, vt] = Uv(tt, Gt);
            let Tt = tt, or = Nr;
            if (!(Gt.flags & 131072) && iI(tt) && !Cpe(Gt) && (Tt = s0(tt), E.assert(!js(Tt, Gt), "generalized source shouldn't be assignable"), or = Gk(Tt)), (Gt.flags & 8388608 && !(tt.flags & 8388608) ? Gt.objectType.flags : Gt.flags) & 262144 && Gt !== et && Gt !== Ot) {
              const en = ru(Gt);
              let Rn;
              en && (js(Tt, en) || (Rn = js(tt, en))) ? bs(
                p._0_is_assignable_to_the_constraint_of_type_1_but_1_could_be_instantiated_with_a_different_subtype_of_constraint_2,
                Rn ? Nr : or,
                vt,
                Hr(en)
              ) : (R = void 0, bs(
                p._0_could_be_instantiated_with_an_arbitrary_type_which_could_be_unrelated_to_1,
                vt,
                or
              ));
            }
            if (We)
              We === p.Argument_of_type_0_is_not_assignable_to_parameter_of_type_1 && he && MNe(tt, Gt).length && (We = p.Argument_of_type_0_is_not_assignable_to_parameter_of_type_1_with_exactOptionalPropertyTypes_Colon_true_Consider_adding_undefined_to_the_types_of_the_target_s_properties);
            else if (l === I_)
              We = p.Type_0_is_not_comparable_to_type_1;
            else if (Nr === vt)
              We = p.Type_0_is_not_assignable_to_type_1_Two_different_types_with_this_name_exist_but_they_are_unrelated;
            else if (he && MNe(tt, Gt).length)
              We = p.Type_0_is_not_assignable_to_type_1_with_exactOptionalPropertyTypes_Colon_true_Consider_adding_undefined_to_the_types_of_the_target_s_properties;
            else {
              if (tt.flags & 128 && Gt.flags & 1048576) {
                const en = dat(tt, Gt);
                if (en) {
                  bs(p.Type_0_is_not_assignable_to_type_1_Did_you_mean_2, or, vt, Hr(en));
                  return;
                }
              }
              We = p.Type_0_is_not_assignable_to_type_1;
            }
            bs(We, or, vt);
          }
          function kr(We, tt) {
            const Gt = xE(We.symbol) ? Hr(We, We.symbol.valueDeclaration) : Hr(We), Nr = xE(tt.symbol) ? Hr(tt, tt.symbol.valueDeclaration) : Hr(tt);
            (Do === We && st === tt || Ac === We && At === tt || rc === We && Jt === tt || O3e() === We && wt === tt) && bs(p._0_is_a_primitive_but_1_is_a_wrapper_object_Prefer_using_0_when_possible, Nr, Gt);
          }
          function Tr(We, tt, Gt) {
            return va(We) ? We.target.readonly && vM(tt) ? (Gt && bs(p.The_type_0_is_readonly_and_cannot_be_assigned_to_the_mutable_type_1, Hr(We), Hr(tt)), !1) : nb(tt) : sP(We) && vM(tt) ? (Gt && bs(p.The_type_0_is_readonly_and_cannot_be_assigned_to_the_mutable_type_1, Hr(We), Hr(tt)), !1) : va(tt) ? gp(We) : !0;
          }
          function di(We, tt, Gt) {
            return zr(We, tt, 3, Gt);
          }
          function zr(We, tt, Gt = 3, Nr = !1, vt, Tt = 0) {
            if (We === tt) return -1;
            if (We.flags & 524288 && tt.flags & 402784252)
              return l === I_ && !(tt.flags & 131072) && nI(tt, We, l) || nI(We, tt, l, Nr ? bs : void 0) ? -1 : (Nr && Ki(We, tt, We, tt, vt), 0);
            const or = mM(
              We,
              /*writing*/
              !1
            );
            let Cr = mM(
              tt,
              /*writing*/
              !0
            );
            if (or === Cr) return -1;
            if (l === of)
              return or.flags !== Cr.flags ? 0 : or.flags & 67358815 ? -1 : (Da(or, Cr), lb(
                or,
                Cr,
                /*reportErrors*/
                !1,
                0,
                Gt
              ));
            if (or.flags & 262144 && ST(or) === Cr)
              return -1;
            if (or.flags & 470302716 && Cr.flags & 1048576) {
              const en = Cr.types, Rn = en.length === 2 && en[0].flags & 98304 ? en[1] : en.length === 3 && en[0].flags & 98304 && en[1].flags & 98304 ? en[2] : void 0;
              if (Rn && !(Rn.flags & 98304) && (Cr = mM(
                Rn,
                /*writing*/
                !0
              ), or === Cr))
                return -1;
            }
            if (l === I_ && !(Cr.flags & 131072) && nI(Cr, or, l) || nI(or, Cr, l, Nr ? bs : void 0)) return -1;
            if (or.flags & 469499904 || Cr.flags & 469499904) {
              if (!(Tt & 2) && dy(or) && Cn(or) & 8192 && Gc(or, Cr, Nr))
                return Nr && sc(vt, or, tt.aliasSymbol ? tt : Cr), 0;
              const Rn = (l !== I_ || Bd(or)) && !(Tt & 2) && or.flags & 405405692 && or !== Ae && Cr.flags & 2621440 && Dpe(Cr) && (Ga(or).length > 0 || PX(or)), Ti = !!(Cn(or) & 2048);
              if (Rn && !rnt(or, Cr, Ti)) {
                if (Nr) {
                  const Fi = Hr(We.aliasSymbol ? We : or), ys = Hr(tt.aliasSymbol ? tt : Cr), Sa = As(
                    or,
                    0
                    /* Call */
                  ), na = As(
                    or,
                    1
                    /* Construct */
                  );
                  Sa.length > 0 && zr(
                    Va(Sa[0]),
                    Cr,
                    1,
                    /*reportErrors*/
                    !1
                  ) || na.length > 0 && zr(
                    Va(na[0]),
                    Cr,
                    1,
                    /*reportErrors*/
                    !1
                  ) ? bs(p.Value_of_type_0_has_no_properties_in_common_with_type_1_Did_you_mean_to_call_it, Fi, ys) : bs(p.Type_0_has_no_properties_in_common_with_type_1, Fi, ys);
                }
                return 0;
              }
              Da(or, Cr);
              const gn = or.flags & 1048576 && or.types.length < 4 && !(Cr.flags & 1048576) || Cr.flags & 1048576 && Cr.types.length < 4 && !(or.flags & 469499904) ? k_(or, Cr, Nr, Tt) : lb(or, Cr, Nr, Tt, Gt);
              if (gn)
                return gn;
            }
            return Nr && Ki(We, tt, or, Cr, vt), 0;
          }
          function Ki(We, tt, Gt, Nr, vt) {
            var Tt, or;
            const Cr = !!Ipe(We), en = !!Ipe(tt);
            Gt = We.aliasSymbol || Cr ? We : Gt, Nr = tt.aliasSymbol || en ? tt : Nr;
            let Rn = Jr > 0;
            if (Rn && Jr--, Gt.flags & 524288 && Nr.flags & 524288) {
              const Ti = R;
              Tr(
                Gt,
                Nr,
                /*reportErrors*/
                !0
              ), R !== Ti && (Rn = !!R);
            }
            if (Gt.flags & 524288 && Nr.flags & 402784252)
              kr(Gt, Nr);
            else if (Gt.symbol && Gt.flags & 524288 && Ae === Gt)
              bs(p.The_Object_type_is_assignable_to_very_few_other_types_Did_you_mean_to_use_the_any_type_instead);
            else if (Cn(Gt) & 2048 && Nr.flags & 2097152) {
              const Ti = Nr.types, $n = $2(Ff.IntrinsicAttributes, f), gn = $2(Ff.IntrinsicClassAttributes, f);
              if (!Oe($n) && !Oe(gn) && (_s(Ti, $n) || _s(Ti, gn)))
                return;
            } else
              R = Ife(R, tt);
            if (!vt && Rn) {
              const Ti = os();
              sc(vt, Gt, Nr);
              let $n;
              R && R !== Ti.errorInfo && ($n = { code: R.code, messageText: R.messageText }), bn(Ti), $n && R && (R.canonicalHead = $n), Yt = [Gt, Nr];
              return;
            }
            if (sc(vt, Gt, Nr), Gt.flags & 262144 && ((or = (Tt = Gt.symbol) == null ? void 0 : Tt.declarations) != null && or[0]) && !ST(Gt)) {
              const Ti = hpe(Gt);
              if (Ti.constraint = ji(Nr, z2(Gt, Ti)), YL(Ti)) {
                const $n = Hr(Nr, Gt.symbol.declarations[0]);
                Rl(Kr(Gt.symbol.declarations[0], p.This_type_parameter_might_need_an_extends_0_constraint, $n));
              }
            }
          }
          function Da(We, tt) {
            if (rn && We.flags & 3145728 && tt.flags & 3145728) {
              const Gt = We, Nr = tt;
              if (Gt.objectFlags & Nr.objectFlags & 32768)
                return;
              const vt = Gt.types.length, Tt = Nr.types.length;
              vt * Tt > 1e6 && rn.instant(rn.Phase.CheckTypes, "traceUnionsOrIntersectionsTooLarge_DepthLimit", {
                sourceId: We.id,
                sourceSize: vt,
                targetId: tt.id,
                targetSize: Tt,
                pos: f?.pos,
                end: f?.end
              });
            }
          }
          function So(We, tt) {
            return Gn(Hu(
              We,
              (Nr, vt) => {
                var Tt;
                vt = Uu(vt);
                const or = vt.flags & 3145728 ? ZL(vt, tt) : L2(vt, tt), Cr = or && Qr(or) || ((Tt = eC(vt, tt)) == null ? void 0 : Tt.type) || _e;
                return Dr(Nr, Cr);
              },
              /*initial*/
              void 0
            ) || Ue);
          }
          function Gc(We, tt, Gt) {
            var Nr;
            if (!gI(tt) || !fe && Cn(tt) & 4096)
              return !1;
            const vt = !!(Cn(We) & 2048);
            if ((l === v_ || l === I_) && (lP(Ae, tt) || !vt && i0(tt)))
              return !1;
            let Tt = tt, or;
            tt.flags & 1048576 && (Tt = f5e(We, tt, zr) || Sft(tt), or = Tt.flags & 1048576 ? Tt.types : [Tt]);
            for (const Cr of Ga(We))
              if (wa(Cr, We.symbol) && !LNe(We, Cr)) {
                if (!$$(Tt, Cr.escapedName, vt)) {
                  if (Gt) {
                    const en = Hc(Tt, gI);
                    if (!f) return E.fail();
                    if (Xb(f) || yu(f) || yu(f.parent)) {
                      Cr.valueDeclaration && um(Cr.valueDeclaration) && Er(f) === Er(Cr.valueDeclaration.name) && (f = Cr.valueDeclaration.name);
                      const Rn = Bi(Cr), Ti = F8e(Rn, en), $n = Ti ? Bi(Ti) : void 0;
                      $n ? bs(p.Property_0_does_not_exist_on_type_1_Did_you_mean_2, Rn, Hr(en), $n) : bs(p.Property_0_does_not_exist_on_type_1, Rn, Hr(en));
                    } else {
                      const Rn = ((Nr = We.symbol) == null ? void 0 : Nr.declarations) && Xc(We.symbol.declarations);
                      let Ti;
                      if (Cr.valueDeclaration && _r(Cr.valueDeclaration, ($n) => $n === Rn) && Er(Rn) === Er(f)) {
                        const $n = Cr.valueDeclaration;
                        E.assertNode($n, Eh);
                        const gn = $n.name;
                        f = gn, Fe(gn) && (Ti = O8e(gn, en));
                      }
                      Ti !== void 0 ? wu(p.Object_literal_may_only_specify_known_properties_but_0_does_not_exist_in_type_1_Did_you_mean_to_write_2, Bi(Cr), Hr(en), Ti) : wu(p.Object_literal_may_only_specify_known_properties_and_0_does_not_exist_in_type_1, Bi(Cr), Hr(en));
                    }
                  }
                  return !0;
                }
                if (or && !zr(Qr(Cr), So(or, Cr.escapedName), 3, Gt))
                  return Gt && Fs(p.Types_of_property_0_are_incompatible, Bi(Cr)), !0;
              }
            return !1;
          }
          function wa(We, tt) {
            return We.valueDeclaration && tt.valueDeclaration && We.valueDeclaration.parent === tt.valueDeclaration;
          }
          function k_(We, tt, Gt, Nr) {
            if (We.flags & 1048576) {
              if (tt.flags & 1048576) {
                const vt = We.origin;
                if (vt && vt.flags & 2097152 && tt.aliasSymbol && _s(vt.types, tt))
                  return -1;
                const Tt = tt.origin;
                if (Tt && Tt.flags & 1048576 && We.aliasSymbol && _s(Tt.types, We))
                  return -1;
              }
              return l === I_ ? Ec(We, tt, Gt && !(We.flags & 402784252), Nr) : hy(We, tt, Gt && !(We.flags & 402784252), Nr);
            }
            if (tt.flags & 1048576)
              return Qo(oI(We), tt, Gt && !(We.flags & 402784252) && !(tt.flags & 402784252), Nr);
            if (tt.flags & 2097152)
              return Tf(
                We,
                tt,
                Gt,
                2
                /* Target */
              );
            if (l === I_ && tt.flags & 402784252) {
              const vt = $c(We.types, (Tt) => Tt.flags & 465829888 ? ru(Tt) || mt : Tt);
              if (vt !== We.types) {
                if (We = aa(vt), We.flags & 131072)
                  return 0;
                if (!(We.flags & 2097152))
                  return zr(
                    We,
                    tt,
                    1,
                    /*reportErrors*/
                    !1
                  ) || zr(
                    tt,
                    We,
                    1,
                    /*reportErrors*/
                    !1
                  );
              }
            }
            return Ec(
              We,
              tt,
              /*reportErrors*/
              !1,
              1
              /* Source */
            );
          }
          function Rc(We, tt) {
            let Gt = -1;
            const Nr = We.types;
            for (const vt of Nr) {
              const Tt = Qo(
                vt,
                tt,
                /*reportErrors*/
                !1,
                0
                /* None */
              );
              if (!Tt)
                return 0;
              Gt &= Tt;
            }
            return Gt;
          }
          function Qo(We, tt, Gt, Nr) {
            const vt = tt.types;
            if (tt.flags & 1048576) {
              if (mh(vt, We))
                return -1;
              if (l !== I_ && Cn(tt) & 32768 && !(We.flags & 1024) && (We.flags & 2688 || (l === eh || l === _p) && We.flags & 256)) {
                const or = We === We.regularType ? We.freshType : We.regularType, Cr = We.flags & 128 ? st : We.flags & 256 ? At : We.flags & 2048 ? Yr : void 0;
                return Cr && mh(vt, Cr) || or && mh(vt, or) ? -1 : 0;
              }
              const Tt = pAe(tt, We);
              if (Tt) {
                const or = zr(
                  We,
                  Tt,
                  2,
                  /*reportErrors*/
                  !1,
                  /*headMessage*/
                  void 0,
                  Nr
                );
                if (or)
                  return or;
              }
            }
            for (const Tt of vt) {
              const or = zr(
                We,
                Tt,
                2,
                /*reportErrors*/
                !1,
                /*headMessage*/
                void 0,
                Nr
              );
              if (or)
                return or;
            }
            if (Gt) {
              const Tt = RNe(We, tt, zr);
              Tt && zr(
                We,
                Tt,
                2,
                /*reportErrors*/
                !0,
                /*headMessage*/
                void 0,
                Nr
              );
            }
            return 0;
          }
          function Tf(We, tt, Gt, Nr) {
            let vt = -1;
            const Tt = tt.types;
            for (const or of Tt) {
              const Cr = zr(
                We,
                or,
                2,
                Gt,
                /*headMessage*/
                void 0,
                Nr
              );
              if (!Cr)
                return 0;
              vt &= Cr;
            }
            return vt;
          }
          function Ec(We, tt, Gt, Nr) {
            const vt = We.types;
            if (We.flags & 1048576 && mh(vt, tt))
              return -1;
            const Tt = vt.length;
            for (let or = 0; or < Tt; or++) {
              const Cr = zr(
                vt[or],
                tt,
                1,
                Gt && or === Tt - 1,
                /*headMessage*/
                void 0,
                Nr
              );
              if (Cr)
                return Cr;
            }
            return 0;
          }
          function jc(We, tt) {
            return We.flags & 1048576 && tt.flags & 1048576 && !(We.types[0].flags & 32768) && tt.types[0].flags & 32768 ? uP(
              tt,
              -32769
              /* Undefined */
            ) : tt;
          }
          function hy(We, tt, Gt, Nr) {
            let vt = -1;
            const Tt = We.types, or = jc(We, tt);
            for (let Cr = 0; Cr < Tt.length; Cr++) {
              const en = Tt[Cr];
              if (or.flags & 1048576 && Tt.length >= or.types.length && Tt.length % or.types.length === 0) {
                const Ti = zr(
                  en,
                  or.types[Cr % or.types.length],
                  3,
                  /*reportErrors*/
                  !1,
                  /*headMessage*/
                  void 0,
                  Nr
                );
                if (Ti) {
                  vt &= Ti;
                  continue;
                }
              }
              const Rn = zr(
                en,
                tt,
                1,
                Gt,
                /*headMessage*/
                void 0,
                Nr
              );
              if (!Rn)
                return 0;
              vt &= Rn;
            }
            return vt;
          }
          function QE(We = Ue, tt = Ue, Gt = Ue, Nr, vt) {
            if (We.length !== tt.length && l === of)
              return 0;
            const Tt = We.length <= tt.length ? We.length : tt.length;
            let or = -1;
            for (let Cr = 0; Cr < Tt; Cr++) {
              const en = Cr < Gt.length ? Gt[Cr] : 1, Rn = en & 7;
              if (Rn !== 4) {
                const Ti = We[Cr], $n = tt[Cr];
                let gn = -1;
                if (en & 8 ? gn = l === of ? zr(
                  Ti,
                  $n,
                  3,
                  /*reportErrors*/
                  !1
                ) : tI(Ti, $n) : Rn === 1 ? gn = zr(
                  Ti,
                  $n,
                  3,
                  Nr,
                  /*headMessage*/
                  void 0,
                  vt
                ) : Rn === 2 ? gn = zr(
                  $n,
                  Ti,
                  3,
                  Nr,
                  /*headMessage*/
                  void 0,
                  vt
                ) : Rn === 3 ? (gn = zr(
                  $n,
                  Ti,
                  3,
                  /*reportErrors*/
                  !1
                ), gn || (gn = zr(
                  Ti,
                  $n,
                  3,
                  Nr,
                  /*headMessage*/
                  void 0,
                  vt
                ))) : (gn = zr(
                  Ti,
                  $n,
                  3,
                  Nr,
                  /*headMessage*/
                  void 0,
                  vt
                ), gn && (gn &= zr(
                  $n,
                  Ti,
                  3,
                  Nr,
                  /*headMessage*/
                  void 0,
                  vt
                ))), !gn)
                  return 0;
                or &= gn;
              }
            }
            return or;
          }
          function lb(We, tt, Gt, Nr, vt) {
            var Tt, or, Cr;
            if (Gr)
              return 0;
            const en = d$(
              We,
              tt,
              Nr,
              l,
              /*ignoreConstraints*/
              !1
            ), Rn = l.get(en);
            if (Rn !== void 0 && !(Gt && Rn & 2 && !(Rn & 96))) {
              if (ps) {
                const na = Rn & 24;
                na & 8 && ji(We, Lo), na & 16 && ji(We, Wc);
              }
              if (Gt && Rn & 96) {
                const na = Rn & 32 ? p.Excessive_complexity_comparing_types_0_and_1 : p.Excessive_stack_depth_comparing_types_0_and_1;
                bs(na, Hr(We), Hr(tt)), Jr++;
              }
              return Rn & 1 ? -1 : 0;
            }
            if (Bn <= 0)
              return Gr = !0, 0;
            if (!Y)
              Y = [], Te = /* @__PURE__ */ new Set(), de = [], Ge = [];
            else {
              if (Te.has(en))
                return 3;
              const na = en.startsWith("*") ? d$(
                We,
                tt,
                Nr,
                l,
                /*ignoreConstraints*/
                !0
              ) : void 0;
              if (na && Te.has(na))
                return 3;
              if (ht === 100 || nr === 100)
                return Gr = !0, 0;
            }
            const Ti = ct;
            Y[ct] = en, Te.add(en), ct++;
            const $n = Xt;
            vt & 1 && (de[ht] = We, ht++, !(Xt & 1) && oC(We, de, ht) && (Xt |= 1)), vt & 2 && (Ge[nr] = tt, nr++, !(Xt & 2) && oC(tt, Ge, nr) && (Xt |= 2));
            let gn, Fi = 0;
            ps && (gn = ps, ps = (na) => (Fi |= na ? 16 : 8, gn(na)));
            let ys;
            return Xt === 3 ? ((Tt = rn) == null || Tt.instant(rn.Phase.CheckTypes, "recursiveTypeRelatedTo_DepthLimit", {
              sourceId: We.id,
              sourceIdStack: de.map((na) => na.id),
              targetId: tt.id,
              targetIdStack: Ge.map((na) => na.id),
              depth: ht,
              targetDepth: nr
            }), ys = 3) : ((or = rn) == null || or.push(rn.Phase.CheckTypes, "structuredTypeRelatedTo", { sourceId: We.id, targetId: tt.id }), ys = LI(We, tt, Gt, Nr), (Cr = rn) == null || Cr.pop()), ps && (ps = gn), vt & 1 && ht--, vt & 2 && nr--, Xt = $n, ys ? (ys === -1 || ht === 0 && nr === 0) && Sa(
              ys === -1 || ys === 3
            ) : (l.set(en, 2 | Fi), Bn--, Sa(
              /*markAllAsSucceeded*/
              !1
            )), ys;
            function Sa(na) {
              for (let zo = Ti; zo < ct; zo++)
                Te.delete(Y[zo]), na && (l.set(Y[zo], 1 | Fi), Bn--);
              ct = Ti;
            }
          }
          function LI(We, tt, Gt, Nr) {
            const vt = os();
            let Tt = MI(We, tt, Gt, Nr, vt);
            if (l !== of) {
              if (!Tt && (We.flags & 2097152 || We.flags & 262144 && tt.flags & 1048576)) {
                const or = wet(We.flags & 2097152 ? We.types : [We], !!(tt.flags & 1048576));
                or && j_(or, (Cr) => Cr !== We) && (Tt = zr(
                  or,
                  tt,
                  1,
                  /*reportErrors*/
                  !1,
                  /*headMessage*/
                  void 0,
                  Nr
                ));
              }
              Tt && !(Nr & 2) && tt.flags & 2097152 && !ET(tt) && We.flags & 2621440 ? (Tt &= ae(
                We,
                tt,
                Gt,
                /*excludedProperties*/
                void 0,
                /*optionalsOnly*/
                !1,
                0
                /* None */
              ), Tt && dy(We) && Cn(We) & 8192 && (Tt &= ba(
                We,
                tt,
                /*sourceIsPrimitive*/
                !1,
                Gt,
                0
                /* None */
              ))) : Tt && r$(tt) && !nb(tt) && We.flags & 2097152 && Uu(We).flags & 3670016 && !at(We.types, (or) => or === tt || !!(Cn(or) & 262144)) && (Tt &= ae(
                We,
                tt,
                Gt,
                /*excludedProperties*/
                void 0,
                /*optionalsOnly*/
                !0,
                Nr
              ));
            }
            return Tt && bn(vt), Tt;
          }
          function xf(We, tt) {
            const Gt = Uu(O2(tt)), Nr = [];
            return Cfe(
              Gt,
              8576,
              /*stringsOnly*/
              !1,
              (vt) => void Nr.push(ji(We, Z8(tt.mapper, Rd(tt), vt)))
            ), Gn(Nr);
          }
          function MI(We, tt, Gt, Nr, vt) {
            let Tt, or, Cr = !1, en = We.flags;
            const Rn = tt.flags;
            if (l === of) {
              if (en & 3145728) {
                let gn = Rc(We, tt);
                return gn && (gn &= Rc(tt, We)), gn;
              }
              if (en & 4194304)
                return zr(
                  We.type,
                  tt.type,
                  3,
                  /*reportErrors*/
                  !1
                );
              if (en & 8388608 && (Tt = zr(
                We.objectType,
                tt.objectType,
                3,
                /*reportErrors*/
                !1
              )) && (Tt &= zr(
                We.indexType,
                tt.indexType,
                3,
                /*reportErrors*/
                !1
              )) || en & 16777216 && We.root.isDistributive === tt.root.isDistributive && (Tt = zr(
                We.checkType,
                tt.checkType,
                3,
                /*reportErrors*/
                !1
              )) && (Tt &= zr(
                We.extendsType,
                tt.extendsType,
                3,
                /*reportErrors*/
                !1
              )) && (Tt &= zr(
                I1(We),
                I1(tt),
                3,
                /*reportErrors*/
                !1
              )) && (Tt &= zr(
                F1(We),
                F1(tt),
                3,
                /*reportErrors*/
                !1
              )) || en & 33554432 && (Tt = zr(
                We.baseType,
                tt.baseType,
                3,
                /*reportErrors*/
                !1
              )) && (Tt &= zr(
                We.constraint,
                tt.constraint,
                3,
                /*reportErrors*/
                !1
              )))
                return Tt;
              if (!(en & 524288))
                return 0;
            } else if (en & 3145728 || Rn & 3145728) {
              if (Tt = k_(We, tt, Gt, Nr))
                return Tt;
              if (!(en & 465829888 || en & 524288 && Rn & 1048576 || en & 2097152 && Rn & 467402752))
                return 0;
            }
            if (en & 17301504 && We.aliasSymbol && We.aliasTypeArguments && We.aliasSymbol === tt.aliasSymbol && !(f$(We) || f$(tt))) {
              const gn = jNe(We.aliasSymbol);
              if (gn === Ue)
                return 1;
              const Fi = Ri(We.aliasSymbol).typeParameters, ys = yg(Fi), Sa = uy(We.aliasTypeArguments, Fi, ys, tn(We.aliasSymbol.valueDeclaration)), na = uy(tt.aliasTypeArguments, Fi, ys, tn(We.aliasSymbol.valueDeclaration)), zo = $n(Sa, na, gn, Nr);
              if (zo !== void 0)
                return zo;
            }
            if ($Ne(We) && !We.target.readonly && (Tt = zr(
              Io(We)[0],
              tt,
              1
              /* Source */
            )) || $Ne(tt) && (tt.target.readonly || vM(ru(We) || We)) && (Tt = zr(
              We,
              Io(tt)[0],
              2
              /* Target */
            )))
              return Tt;
            if (Rn & 262144) {
              if (Cn(We) & 32 && !We.declaration.nameType && zr(
                Om(tt),
                Uf(We),
                3
                /* Both */
              ) && !(hg(We) & 4)) {
                const gn = Kh(We), Fi = M_(tt, Rd(We));
                if (Tt = zr(gn, Fi, 3, Gt))
                  return Tt;
              }
              if (l === I_ && en & 262144) {
                let gn = a_(We);
                if (gn)
                  for (; gn && yp(gn, (Fi) => !!(Fi.flags & 262144)); ) {
                    if (Tt = zr(
                      gn,
                      tt,
                      1,
                      /*reportErrors*/
                      !1
                    ))
                      return Tt;
                    gn = a_(gn);
                  }
                return 0;
              }
            } else if (Rn & 4194304) {
              const gn = tt.type;
              if (en & 4194304 && (Tt = zr(
                gn,
                We.type,
                3,
                /*reportErrors*/
                !1
              )))
                return Tt;
              if (va(gn)) {
                if (Tt = zr(We, q3e(gn), 2, Gt))
                  return Tt;
              } else {
                const Fi = Efe(gn);
                if (Fi) {
                  if (zr(We, Om(
                    Fi,
                    tt.indexFlags | 4
                    /* NoReducibleCheck */
                  ), 2, Gt) === -1)
                    return -1;
                } else if (T_(gn)) {
                  const ys = cy(gn), Sa = Uf(gn);
                  let na;
                  if (ys && IE(gn)) {
                    const zo = xf(ys, gn);
                    na = Gn([zo, ys]);
                  } else
                    na = ys || Sa;
                  if (zr(We, na, 2, Gt) === -1)
                    return -1;
                }
              }
            } else if (Rn & 8388608) {
              if (en & 8388608) {
                if ((Tt = zr(We.objectType, tt.objectType, 3, Gt)) && (Tt &= zr(We.indexType, tt.indexType, 3, Gt)), Tt)
                  return Tt;
                Gt && (or = R);
              }
              if (l === v_ || l === I_) {
                const gn = tt.objectType, Fi = tt.indexType, ys = ru(gn) || gn, Sa = ru(Fi) || Fi;
                if (!ET(ys) && !DT(Sa)) {
                  const na = 4 | (ys !== gn ? 2 : 0), zo = A1(ys, Sa, na);
                  if (zo) {
                    if (Gt && or && bn(vt), Tt = zr(
                      We,
                      zo,
                      2,
                      Gt,
                      /*headMessage*/
                      void 0,
                      Nr
                    ))
                      return Tt;
                    Gt && or && R && (R = Ti([or]) <= Ti([R]) ? or : R);
                  }
                }
              }
              Gt && (or = void 0);
            } else if (T_(tt) && l !== of) {
              const gn = !!tt.declaration.nameType, Fi = Kh(tt), ys = hg(tt);
              if (!(ys & 8)) {
                if (!gn && Fi.flags & 8388608 && Fi.objectType === We && Fi.indexType === Rd(tt))
                  return -1;
                if (!T_(We)) {
                  const Sa = gn ? cy(tt) : Uf(tt), na = Om(
                    We,
                    2
                    /* NoIndexSignatures */
                  ), zo = ys & 4, cd = zo ? $L(Sa, na) : void 0;
                  if (zo ? !(cd.flags & 131072) : zr(
                    Sa,
                    na,
                    3
                    /* Both */
                  )) {
                    const vh = Kh(tt), f0 = Rd(tt), yy = uP(
                      vh,
                      -98305
                      /* Nullable */
                    );
                    if (!gn && yy.flags & 8388608 && yy.indexType === f0) {
                      if (Tt = zr(We, yy.objectType, 2, Gt))
                        return Tt;
                    } else {
                      const Pu = gn ? cd || Sa : cd ? aa([cd, f0]) : f0, vy = M_(We, Pu);
                      if (Tt = zr(vy, vh, 3, Gt))
                        return Tt;
                    }
                  }
                  or = R, bn(vt);
                }
              }
            } else if (Rn & 16777216) {
              if (oC(tt, Ge, nr, 10))
                return 3;
              const gn = tt;
              if (!gn.root.inferTypeParameters && !mrt(gn.root) && !(We.flags & 16777216 && We.root === gn.root)) {
                const Fi = !js(eI(gn.checkType), eI(gn.extendsType)), ys = !Fi && js(PT(gn.checkType), PT(gn.extendsType));
                if ((Tt = Fi ? -1 : zr(
                  We,
                  I1(gn),
                  2,
                  /*reportErrors*/
                  !1,
                  /*headMessage*/
                  void 0,
                  Nr
                )) && (Tt &= ys ? -1 : zr(
                  We,
                  F1(gn),
                  2,
                  /*reportErrors*/
                  !1,
                  /*headMessage*/
                  void 0,
                  Nr
                ), Tt))
                  return Tt;
              }
            } else if (Rn & 134217728) {
              if (en & 134217728) {
                if (l === I_)
                  return Vnt(We, tt) ? 0 : -1;
                ji(We, Wc);
              }
              if (P$(We, tt))
                return -1;
            } else if (tt.flags & 268435456 && !(We.flags & 268435456) && w$(We, tt))
              return -1;
            if (en & 8650752) {
              if (!(en & 8388608 && Rn & 8388608)) {
                const gn = ST(We) || mt;
                if (Tt = zr(
                  gn,
                  tt,
                  1,
                  /*reportErrors*/
                  !1,
                  /*headMessage*/
                  void 0,
                  Nr
                ))
                  return Tt;
                if (Tt = zr(
                  uf(gn, We),
                  tt,
                  1,
                  Gt && gn !== mt && !(Rn & en & 262144),
                  /*headMessage*/
                  void 0,
                  Nr
                ))
                  return Tt;
                if (Nfe(We)) {
                  const Fi = ST(We.indexType);
                  if (Fi && (Tt = zr(M_(We.objectType, Fi), tt, 1, Gt)))
                    return Tt;
                }
              }
            } else if (en & 4194304) {
              const gn = spe(We.type, We.indexFlags) && Cn(We.type) & 32;
              if (Tt = zr(Qn, tt, 1, Gt && !gn))
                return Tt;
              if (gn) {
                const Fi = We.type, ys = cy(Fi), Sa = ys && IE(Fi) ? xf(ys, Fi) : ys || Uf(Fi);
                if (Tt = zr(Sa, tt, 1, Gt))
                  return Tt;
              }
            } else if (en & 134217728 && !(Rn & 524288)) {
              if (!(Rn & 134217728)) {
                const gn = ru(We);
                if (gn && gn !== We && (Tt = zr(gn, tt, 1, Gt)))
                  return Tt;
              }
            } else if (en & 268435456)
              if (Rn & 268435456) {
                if (We.symbol !== tt.symbol)
                  return 0;
                if (Tt = zr(We.type, tt.type, 3, Gt))
                  return Tt;
              } else {
                const gn = ru(We);
                if (gn && (Tt = zr(gn, tt, 1, Gt)))
                  return Tt;
              }
            else if (en & 16777216) {
              if (oC(We, de, ht, 10))
                return 3;
              if (Rn & 16777216) {
                const ys = We.root.inferTypeParameters;
                let Sa = We.extendsType, na;
                if (ys) {
                  const zo = cI(
                    ys,
                    /*signature*/
                    void 0,
                    0,
                    di
                  );
                  c0(
                    zo.inferences,
                    tt.extendsType,
                    Sa,
                    1536
                    /* AlwaysStrict */
                  ), Sa = ji(Sa, zo.mapper), na = zo.mapper;
                }
                if (gh(Sa, tt.extendsType) && (zr(
                  We.checkType,
                  tt.checkType,
                  3
                  /* Both */
                ) || zr(
                  tt.checkType,
                  We.checkType,
                  3
                  /* Both */
                )) && ((Tt = zr(ji(I1(We), na), I1(tt), 3, Gt)) && (Tt &= zr(F1(We), F1(tt), 3, Gt)), Tt))
                  return Tt;
              }
              const gn = Dfe(We);
              if (gn && (Tt = zr(gn, tt, 1, Gt)))
                return Tt;
              const Fi = !(Rn & 16777216) && YL(We) ? KPe(We) : void 0;
              if (Fi && (bn(vt), Tt = zr(Fi, tt, 1, Gt)))
                return Tt;
            } else {
              if (l !== eh && l !== _p && bet(tt) && i0(We))
                return -1;
              if (T_(tt))
                return T_(We) && (Tt = Ft(We, tt, Gt)) ? Tt : 0;
              const gn = !!(en & 402784252);
              if (l !== of)
                We = Uu(We), en = We.flags;
              else if (T_(We))
                return 0;
              if (Cn(We) & 4 && Cn(tt) & 4 && We.target === tt.target && !va(We) && !(f$(We) || f$(tt))) {
                if (h$(We))
                  return -1;
                const Fi = wpe(We.target);
                if (Fi === Ue)
                  return 1;
                const ys = $n(Io(We), Io(tt), Fi, Nr);
                if (ys !== void 0)
                  return ys;
              } else {
                if (sP(tt) ? j_(We, nb) : gp(tt) && j_(We, (Fi) => va(Fi) && !Fi.target.readonly))
                  return l !== of ? zr(Zv(We, At) || Ie, Zv(tt, At) || Ie, 3, Gt) : 0;
                if (O1(We) && va(tt) && !O1(tt)) {
                  const Fi = Fm(We);
                  if (Fi !== We)
                    return zr(Fi, tt, 1, Gt);
                } else if ((l === eh || l === _p) && i0(tt) && Cn(tt) & 8192 && !i0(We))
                  return 0;
              }
              if (en & 2621440 && Rn & 524288) {
                const Fi = Gt && R === vt.errorInfo && !gn;
                if (Tt = ae(
                  We,
                  tt,
                  Fi,
                  /*excludedProperties*/
                  void 0,
                  /*optionalsOnly*/
                  !1,
                  Nr
                ), Tt && (Tt &= Lt(We, tt, 0, Fi, Nr), Tt && (Tt &= Lt(We, tt, 1, Fi, Nr), Tt && (Tt &= ba(We, tt, gn, Fi, Nr)))), Cr && Tt)
                  R = or || R || vt.errorInfo;
                else if (Tt)
                  return Tt;
              }
              if (en & 2621440 && Rn & 1048576) {
                const Fi = uP(
                  tt,
                  36175872
                  /* Substitution */
                );
                if (Fi.flags & 1048576) {
                  const ys = pr(We, Fi);
                  if (ys)
                    return ys;
                }
              }
            }
            return 0;
            function Ti(gn) {
              return gn ? Hu(gn, (Fi, ys) => Fi + 1 + Ti(ys.next), 0) : 0;
            }
            function $n(gn, Fi, ys, Sa) {
              if (Tt = QE(gn, Fi, ys, Gt, Sa))
                return Tt;
              if (at(ys, (zo) => !!(zo & 24))) {
                or = void 0, bn(vt);
                return;
              }
              const na = Fi && nnt(Fi, ys);
              if (Cr = !na, ys !== Ue && !na) {
                if (Cr && !(Gt && at(
                  ys,
                  (zo) => (zo & 7) === 0
                  /* Invariant */
                )))
                  return 0;
                or = R, bn(vt);
              }
            }
          }
          function Ft(We, tt, Gt) {
            if (l === I_ || (l === of ? hg(We) === hg(tt) : Yw(We) <= Yw(tt))) {
              let vt;
              const Tt = Uf(tt), or = ji(Uf(We), Yw(We) < 0 ? Lo : Wc);
              if (vt = zr(Tt, or, 3, Gt)) {
                const Cr = R_([Rd(We)], [Rd(tt)]);
                if (ji(cy(We), Cr) === ji(cy(tt), Cr))
                  return vt & zr(ji(Kh(We), Cr), Kh(tt), 3, Gt);
              }
            }
            return 0;
          }
          function pr(We, tt) {
            var Gt;
            const Nr = Ga(We), vt = fAe(Nr, tt);
            if (!vt) return 0;
            let Tt = 1;
            for (const $n of vt)
              if (Tt *= yit(P1($n)), Tt > 25)
                return (Gt = rn) == null || Gt.instant(rn.Phase.CheckTypes, "typeRelatedToDiscriminatedType_DepthLimit", { sourceId: We.id, targetId: tt.id, numCombinations: Tt }), 0;
            const or = new Array(vt.length), Cr = /* @__PURE__ */ new Set();
            for (let $n = 0; $n < vt.length; $n++) {
              const gn = vt[$n], Fi = P1(gn);
              or[$n] = Fi.flags & 1048576 ? Fi.types : [Fi], Cr.add(gn.escapedName);
            }
            const en = oQ(or), Rn = [];
            for (const $n of en) {
              let gn = !1;
              e:
                for (const Fi of tt.types) {
                  for (let ys = 0; ys < vt.length; ys++) {
                    const Sa = vt[ys], na = Zs(Fi, Sa.escapedName);
                    if (!na) continue e;
                    if (Sa === na) continue;
                    if (!Sn(
                      We,
                      tt,
                      Sa,
                      na,
                      (cd) => $n[ys],
                      /*reportErrors*/
                      !1,
                      0,
                      /*skipOptional*/
                      K || l === I_
                    ))
                      continue e;
                  }
                  $f(Rn, Fi, Dy), gn = !0;
                }
              if (!gn)
                return 0;
            }
            let Ti = -1;
            for (const $n of Rn)
              if (Ti &= ae(
                We,
                $n,
                /*reportErrors*/
                !1,
                Cr,
                /*optionalsOnly*/
                !1,
                0
                /* None */
              ), Ti && (Ti &= Lt(
                We,
                $n,
                0,
                /*reportErrors*/
                !1,
                0
                /* None */
              ), Ti && (Ti &= Lt(
                We,
                $n,
                1,
                /*reportErrors*/
                !1,
                0
                /* None */
              ), Ti && !(va(We) && va($n)) && (Ti &= ba(
                We,
                $n,
                /*sourceIsPrimitive*/
                !1,
                /*reportErrors*/
                !1,
                0
                /* None */
              )))), !Ti)
                return Ti;
            return Ti;
          }
          function Or(We, tt) {
            if (!tt || We.length === 0) return We;
            let Gt;
            for (let Nr = 0; Nr < We.length; Nr++)
              tt.has(We[Nr].escapedName) ? Gt || (Gt = We.slice(0, Nr)) : Gt && Gt.push(We[Nr]);
            return Gt || We;
          }
          function $r(We, tt, Gt, Nr, vt) {
            const Tt = K && !!(lc(tt) & 48), or = Ol(
              P1(tt),
              /*isProperty*/
              !1,
              Tt
            ), Cr = Gt(We);
            return zr(
              Cr,
              or,
              3,
              Nr,
              /*headMessage*/
              void 0,
              vt
            );
          }
          function Sn(We, tt, Gt, Nr, vt, Tt, or, Cr) {
            const en = np(Gt), Rn = np(Nr);
            if (en & 2 || Rn & 2) {
              if (Gt.valueDeclaration !== Nr.valueDeclaration)
                return Tt && (en & 2 && Rn & 2 ? bs(p.Types_have_separate_declarations_of_a_private_property_0, Bi(Nr)) : bs(p.Property_0_is_private_in_type_1_but_not_in_type_2, Bi(Nr), Hr(en & 2 ? We : tt), Hr(en & 2 ? tt : We))), 0;
            } else if (Rn & 4) {
              if (!cnt(Gt, Nr))
                return Tt && bs(p.Property_0_is_protected_but_type_1_is_not_a_class_derived_from_2, Bi(Nr), Hr(aC(Gt) || We), Hr(aC(Nr) || tt)), 0;
            } else if (en & 4)
              return Tt && bs(p.Property_0_is_protected_in_type_1_but_public_in_type_2, Bi(Nr), Hr(We), Hr(tt)), 0;
            if (l === _p && Vd(Gt) && !Vd(Nr))
              return 0;
            const Ti = $r(Gt, Nr, vt, Tt, or);
            return Ti ? !Cr && Gt.flags & 16777216 && Nr.flags & 106500 && !(Nr.flags & 16777216) ? (Tt && bs(p.Property_0_is_optional_in_type_1_but_required_in_type_2, Bi(Nr), Hr(We), Hr(tt)), 0) : Ti : (Tt && Fs(p.Types_of_property_0_are_incompatible, Bi(Nr)), 0);
          }
          function Se(We, tt, Gt, Nr) {
            let vt = !1;
            if (Gt.valueDeclaration && El(Gt.valueDeclaration) && Di(Gt.valueDeclaration.name) && We.symbol && We.symbol.flags & 32) {
              const or = Gt.valueDeclaration.name.escapedText, Cr = z3(We.symbol, or);
              if (Cr && Zs(We, Cr)) {
                const en = N.getDeclarationName(We.symbol.valueDeclaration), Rn = N.getDeclarationName(tt.symbol.valueDeclaration);
                bs(
                  p.Property_0_in_type_1_refers_to_a_different_member_that_cannot_be_accessed_from_within_type_2,
                  Nd(or),
                  Nd(en.escapedText === "" ? yW : en),
                  Nd(Rn.escapedText === "" ? yW : Rn)
                );
                return;
              }
            }
            const Tt = rs(Upe(
              We,
              tt,
              Nr,
              /*matchDiscriminantProperties*/
              !1
            ));
            if ((!d || d.code !== p.Class_0_incorrectly_implements_interface_1.code && d.code !== p.Class_0_incorrectly_implements_class_1_Did_you_mean_to_extend_1_and_inherit_its_members_as_a_subclass.code) && (vt = !0), Tt.length === 1) {
              const or = Bi(
                Gt,
                /*enclosingDeclaration*/
                void 0,
                0,
                20
                /* WriteComputedProps */
              );
              bs(p.Property_0_is_missing_in_type_1_but_required_in_type_2, or, ...Uv(We, tt)), Ar(Gt.declarations) && Rl(Kr(Gt.declarations[0], p._0_is_declared_here, or)), vt && R && Jr++;
            } else Tr(
              We,
              tt,
              /*reportErrors*/
              !1
            ) && (Tt.length > 5 ? bs(p.Type_0_is_missing_the_following_properties_from_type_1_Colon_2_and_3_more, Hr(We), Hr(tt), fr(Tt.slice(0, 4), (or) => Bi(or)).join(", "), Tt.length - 4) : bs(p.Type_0_is_missing_the_following_properties_from_type_1_Colon_2, Hr(We), Hr(tt), fr(Tt, (or) => Bi(or)).join(", ")), vt && R && Jr++);
          }
          function ae(We, tt, Gt, Nr, vt, Tt) {
            if (l === of)
              return xt(We, tt, Nr);
            let or = -1;
            if (va(tt)) {
              if (nb(We)) {
                if (!tt.target.readonly && (sP(We) || va(We) && We.target.readonly))
                  return 0;
                const $n = _y(We), gn = _y(tt), Fi = va(We) ? We.target.combinedFlags & 4 : 4, ys = !!(tt.target.combinedFlags & 12), Sa = va(We) ? We.target.minLength : 0, na = tt.target.minLength;
                if (!Fi && $n < na)
                  return Gt && bs(p.Source_has_0_element_s_but_target_requires_1, $n, na), 0;
                if (!ys && gn < Sa)
                  return Gt && bs(p.Source_has_0_element_s_but_target_allows_only_1, Sa, gn), 0;
                if (!ys && (Fi || gn < $n))
                  return Gt && (Sa < na ? bs(p.Target_requires_0_element_s_but_source_may_have_fewer, na) : bs(p.Target_allows_only_0_element_s_but_source_may_have_more, gn)), 0;
                const zo = Io(We), cd = Io(tt), vh = Ott(
                  tt.target,
                  11
                  /* NonRest */
                ), f0 = X8(
                  tt.target,
                  11
                  /* NonRest */
                );
                let yy = !!Nr;
                for (let Pu = 0; Pu < $n; Pu++) {
                  const vy = va(We) ? We.target.elementFlags[Pu] : 4, YE = $n - 1 - Pu, ub = ys && Pu >= vh ? gn - 1 - Math.min(YE, f0) : Pu, xg = tt.target.elementFlags[ub];
                  if (xg & 8 && !(vy & 8))
                    return Gt && bs(p.Source_provides_no_match_for_variadic_element_at_position_0_in_target, ub), 0;
                  if (vy & 8 && !(xg & 12))
                    return Gt && bs(p.Variadic_element_at_position_0_in_source_does_not_match_element_at_position_1_in_target, Pu, ub), 0;
                  if (xg & 1 && !(vy & 1))
                    return Gt && bs(p.Source_provides_no_match_for_required_element_at_position_0_in_target, ub), 0;
                  if (yy && ((vy & 12 || xg & 12) && (yy = !1), yy && Nr?.has("" + Pu)))
                    continue;
                  const SP = o0(zo[Pu], !!(vy & xg & 2)), RI = cd[ub], MX = vy & 8 && xg & 4 ? du(RI) : o0(RI, !!(xg & 2)), RX = zr(
                    SP,
                    MX,
                    3,
                    Gt,
                    /*headMessage*/
                    void 0,
                    Tt
                  );
                  if (!RX)
                    return Gt && (gn > 1 || $n > 1) && (ys && Pu >= vh && YE >= f0 && vh !== $n - f0 - 1 ? Fs(p.Type_at_positions_0_through_1_in_source_is_not_compatible_with_type_at_position_2_in_target, vh, $n - f0 - 1, ub) : Fs(p.Type_at_position_0_in_source_is_not_compatible_with_type_at_position_1_in_target, Pu, ub)), 0;
                  or &= RX;
                }
                return or;
              }
              if (tt.target.combinedFlags & 12)
                return 0;
            }
            const Cr = (l === eh || l === _p) && !dy(We) && !h$(We) && !va(We), en = qpe(
              We,
              tt,
              Cr,
              /*matchDiscriminantProperties*/
              !1
            );
            if (en)
              return Gt && ur(We, tt) && Se(We, tt, en, Cr), 0;
            if (dy(tt)) {
              for (const $n of Or(Ga(We), Nr))
                if (!L2(tt, $n.escapedName) && !(Qr($n).flags & 32768))
                  return Gt && bs(p.Property_0_does_not_exist_on_type_1, Bi($n), Hr(tt)), 0;
            }
            const Rn = Ga(tt), Ti = va(We) && va(tt);
            for (const $n of Or(Rn, Nr)) {
              const gn = $n.escapedName;
              if (!($n.flags & 4194304) && (!Ti || Ug(gn) || gn === "length") && (!vt || $n.flags & 16777216)) {
                const Fi = Zs(We, gn);
                if (Fi && Fi !== $n) {
                  const ys = Sn(We, tt, Fi, $n, P1, Gt, Tt, l === I_);
                  if (!ys)
                    return 0;
                  or &= ys;
                }
              }
            }
            return or;
          }
          function xt(We, tt, Gt) {
            if (!(We.flags & 524288 && tt.flags & 524288))
              return 0;
            const Nr = Or(ly(We), Gt), vt = Or(ly(tt), Gt);
            if (Nr.length !== vt.length)
              return 0;
            let Tt = -1;
            for (const or of Nr) {
              const Cr = L2(tt, or.escapedName);
              if (!Cr)
                return 0;
              const en = Npe(or, Cr, zr);
              if (!en)
                return 0;
              Tt &= en;
            }
            return Tt;
          }
          function Lt(We, tt, Gt, Nr, vt) {
            var Tt, or;
            if (l === of)
              return ui(We, tt, Gt);
            if (tt === Ka || We === Ka)
              return -1;
            const Cr = We.symbol && jm(We.symbol.valueDeclaration), en = tt.symbol && jm(tt.symbol.valueDeclaration), Rn = As(
              We,
              Cr && Gt === 1 ? 0 : Gt
            ), Ti = As(
              tt,
              en && Gt === 1 ? 0 : Gt
            );
            if (Gt === 1 && Rn.length && Ti.length) {
              const Sa = !!(Rn[0].flags & 4), na = !!(Ti[0].flags & 4);
              if (Sa && !na)
                return Nr && bs(p.Cannot_assign_an_abstract_constructor_type_to_a_non_abstract_constructor_type), 0;
              if (!ja(Rn[0], Ti[0], Nr))
                return 0;
            }
            let $n = -1;
            const gn = Gt === 1 ? Br : Ir, Fi = Cn(We), ys = Cn(tt);
            if (Fi & 64 && ys & 64 && We.symbol === tt.symbol || Fi & 4 && ys & 4 && We.target === tt.target) {
              E.assertEqual(Rn.length, Ti.length);
              for (let Sa = 0; Sa < Ti.length; Sa++) {
                const na = Kn(
                  Rn[Sa],
                  Ti[Sa],
                  /*erase*/
                  !0,
                  Nr,
                  vt,
                  gn(Rn[Sa], Ti[Sa])
                );
                if (!na)
                  return 0;
                $n &= na;
              }
            } else if (Rn.length === 1 && Ti.length === 1) {
              const Sa = l === I_, na = xa(Rn), zo = xa(Ti);
              if ($n = Kn(na, zo, Sa, Nr, vt, gn(na, zo)), !$n && Nr && Gt === 1 && Fi & ys && (((Tt = zo.declaration) == null ? void 0 : Tt.kind) === 176 || ((or = na.declaration) == null ? void 0 : or.kind) === 176)) {
                const cd = (vh) => N2(
                  vh,
                  /*enclosingDeclaration*/
                  void 0,
                  262144,
                  Gt
                );
                return bs(p.Type_0_is_not_assignable_to_type_1, cd(na), cd(zo)), bs(p.Types_of_construct_signatures_are_incompatible), $n;
              }
            } else
              e:
                for (const Sa of Ti) {
                  const na = os();
                  let zo = Nr;
                  for (const cd of Rn) {
                    const vh = Kn(
                      cd,
                      Sa,
                      /*erase*/
                      !0,
                      zo,
                      vt,
                      gn(cd, Sa)
                    );
                    if (vh) {
                      $n &= vh, bn(na);
                      continue e;
                    }
                    zo = !1;
                  }
                  return zo && bs(p.Type_0_provides_no_match_for_the_signature_1, Hr(We), N2(
                    Sa,
                    /*enclosingDeclaration*/
                    void 0,
                    /*flags*/
                    void 0,
                    Gt
                  )), 0;
                }
            return $n;
          }
          function ur(We, tt) {
            const Gt = KL(
              We,
              0
              /* Call */
            ), Nr = KL(
              We,
              1
              /* Construct */
            ), vt = ly(We);
            return (Gt.length || Nr.length) && !vt.length ? !!(As(
              tt,
              0
              /* Call */
            ).length && Gt.length || As(
              tt,
              1
              /* Construct */
            ).length && Nr.length) : !0;
          }
          function Ir(We, tt) {
            return We.parameters.length === 0 && tt.parameters.length === 0 ? (Gt, Nr) => Fs(p.Call_signatures_with_no_arguments_have_incompatible_return_types_0_and_1, Hr(Gt), Hr(Nr)) : (Gt, Nr) => Fs(p.Call_signature_return_types_0_and_1_are_incompatible, Hr(Gt), Hr(Nr));
          }
          function Br(We, tt) {
            return We.parameters.length === 0 && tt.parameters.length === 0 ? (Gt, Nr) => Fs(p.Construct_signatures_with_no_arguments_have_incompatible_return_types_0_and_1, Hr(Gt), Hr(Nr)) : (Gt, Nr) => Fs(p.Construct_signature_return_types_0_and_1_are_incompatible, Hr(Gt), Hr(Nr));
          }
          function Kn(We, tt, Gt, Nr, vt, Tt) {
            const or = l === eh ? 16 : l === _p ? 24 : 0;
            return Tpe(Gt ? $8(We) : We, Gt ? $8(tt) : tt, or, Nr, bs, Tt, Cr, Wc);
            function Cr(en, Rn, Ti) {
              return zr(
                en,
                Rn,
                3,
                Ti,
                /*headMessage*/
                void 0,
                vt
              );
            }
          }
          function ui(We, tt, Gt) {
            const Nr = As(We, Gt), vt = As(tt, Gt);
            if (Nr.length !== vt.length)
              return 0;
            let Tt = -1;
            for (let or = 0; or < Nr.length; or++) {
              const Cr = yM(
                Nr[or],
                vt[or],
                /*partialMatch*/
                !1,
                /*ignoreThisTypes*/
                !1,
                /*ignoreReturnTypes*/
                !1,
                zr
              );
              if (!Cr)
                return 0;
              Tt &= Cr;
            }
            return Tt;
          }
          function xs(We, tt, Gt, Nr) {
            let vt = -1;
            const Tt = tt.keyType, or = We.flags & 2097152 ? QL(We) : ly(We);
            for (const Cr of or)
              if (!LNe(We, Cr) && Kk(rC(
                Cr,
                8576
                /* StringOrNumberLiteralOrUnique */
              ), Tt)) {
                const en = P1(Cr), Rn = he || en.flags & 32768 || Tt === At || !(Cr.flags & 16777216) ? en : hp(
                  en,
                  524288
                  /* NEUndefined */
                ), Ti = zr(
                  Rn,
                  tt.type,
                  3,
                  Gt,
                  /*headMessage*/
                  void 0,
                  Nr
                );
                if (!Ti)
                  return Gt && bs(p.Property_0_is_incompatible_with_index_signature, Bi(Cr)), 0;
                vt &= Ti;
              }
            for (const Cr of pu(We))
              if (Kk(Cr.keyType, Tt)) {
                const en = $i(Cr, tt, Gt, Nr);
                if (!en)
                  return 0;
                vt &= en;
              }
            return vt;
          }
          function $i(We, tt, Gt, Nr) {
            const vt = zr(
              We.type,
              tt.type,
              3,
              Gt,
              /*headMessage*/
              void 0,
              Nr
            );
            return !vt && Gt && (We.keyType === tt.keyType ? bs(p._0_index_signatures_are_incompatible, Hr(We.keyType)) : bs(p._0_and_1_index_signatures_are_incompatible, Hr(We.keyType), Hr(tt.keyType))), vt;
          }
          function ba(We, tt, Gt, Nr, vt) {
            if (l === of)
              return fa(We, tt);
            const Tt = pu(tt), or = at(Tt, (en) => en.keyType === st);
            let Cr = -1;
            for (const en of Tt) {
              const Rn = l !== _p && !Gt && or && en.type.flags & 1 ? -1 : T_(We) && or ? zr(Kh(We), en.type, 3, Nr) : Bs(We, en, Nr, vt);
              if (!Rn)
                return 0;
              Cr &= Rn;
            }
            return Cr;
          }
          function Bs(We, tt, Gt, Nr) {
            const vt = U8(We, tt.keyType);
            return vt ? $i(vt, tt, Gt, Nr) : !(Nr & 1) && (l !== _p || Cn(We) & 8192) && x$(We) ? xs(We, tt, Gt, Nr) : (Gt && bs(p.Index_signature_for_type_0_is_missing_in_type_1, Hr(tt.keyType), Hr(We)), 0);
          }
          function fa(We, tt) {
            const Gt = pu(We), Nr = pu(tt);
            if (Gt.length !== Nr.length)
              return 0;
            for (const vt of Nr) {
              const Tt = ph(We, vt.keyType);
              if (!(Tt && zr(
                Tt.type,
                vt.type,
                3
                /* Both */
              ) && Tt.isReadonly === vt.isReadonly))
                return 0;
            }
            return -1;
          }
          function ja(We, tt, Gt) {
            if (!We.declaration || !tt.declaration)
              return !0;
            const Nr = vx(
              We.declaration,
              6
              /* NonPublicAccessibilityModifier */
            ), vt = vx(
              tt.declaration,
              6
              /* NonPublicAccessibilityModifier */
            );
            return vt === 2 || vt === 4 && Nr !== 2 || vt !== 4 && !Nr ? !0 : (Gt && bs(p.Cannot_assign_a_0_constructor_type_to_a_1_constructor_type, A2(Nr), A2(vt)), !1);
          }
        }
        function Cpe(r) {
          if (r.flags & 16)
            return !1;
          if (r.flags & 3145728)
            return !!ar(r.types, Cpe);
          if (r.flags & 465829888) {
            const a = ST(r);
            if (a && a !== r)
              return Cpe(a);
          }
          return Bd(r) || !!(r.flags & 134217728) || !!(r.flags & 268435456);
        }
        function MNe(r, a) {
          return va(r) && va(a) ? Ue : Ga(a).filter((l) => _$(qc(r, l.escapedName), Qr(l)));
        }
        function _$(r, a) {
          return !!r && !!a && Cc(
            r,
            32768
            /* Undefined */
          ) && !!aI(a);
        }
        function tnt(r) {
          return Ga(r).filter((a) => aI(Qr(a)));
        }
        function RNe(r, a, l = bpe) {
          return f5e(r, a, l) || hft(r, a) || yft(r, a) || vft(r, a) || bft(r, a);
        }
        function Epe(r, a, l) {
          const f = r.types, d = f.map(
            (x) => x.flags & 402784252 ? 0 : -1
            /* True */
          );
          for (const [x, I] of a) {
            let R = !1;
            for (let J = 0; J < f.length; J++)
              if (d[J]) {
                const Y = $(f[J], I);
                Y && yp(x(), (Te) => !!l(Te, Y)) ? R = !0 : d[J] = 3;
              }
            for (let J = 0; J < f.length; J++)
              d[J] === 3 && (d[J] = R ? 0 : -1);
          }
          const y = _s(
            d,
            0
            /* False */
          ) ? Gn(
            f.filter((x, I) => d[I]),
            0
            /* None */
          ) : r;
          return y.flags & 131072 ? r : y;
        }
        function Dpe(r) {
          if (r.flags & 524288) {
            const a = jd(r);
            return a.callSignatures.length === 0 && a.constructSignatures.length === 0 && a.indexInfos.length === 0 && a.properties.length > 0 && Pi(a.properties, (l) => !!(l.flags & 16777216));
          }
          return r.flags & 33554432 ? Dpe(r.baseType) : r.flags & 2097152 ? Pi(r.types, Dpe) : !1;
        }
        function rnt(r, a, l) {
          for (const f of Ga(r))
            if ($$(a, f.escapedName, l))
              return !0;
          return !1;
        }
        function wpe(r) {
          return r === Is || r === Ea || r.objectFlags & 8 ? O : BNe(r.symbol, r.typeParameters);
        }
        function jNe(r) {
          return BNe(r, Ri(r).typeParameters);
        }
        function BNe(r, a = Ue) {
          var l, f;
          const d = Ri(r);
          if (!d.variances) {
            (l = rn) == null || l.push(rn.Phase.CheckTypes, "getVariancesWorker", { arity: a.length, id: Ll(wo(r)) });
            const y = Pv, x = V0;
            Pv || (Pv = !0, V0 = ig.length), d.variances = Ue;
            const I = [];
            for (const R of a) {
              const J = Ppe(R);
              let Y = J & 16384 ? J & 8192 ? 0 : 1 : J & 8192 ? 2 : void 0;
              if (Y === void 0) {
                let Te = !1, de = !1;
                const Ge = ps;
                ps = (nr) => nr ? de = !0 : Te = !0;
                const ct = gM(r, R, yo), ht = gM(r, R, ge);
                Y = (js(ht, ct) ? 1 : 0) | (js(ct, ht) ? 2 : 0), Y === 3 && js(gM(r, R, H), ct) && (Y = 4), ps = Ge, (Te || de) && (Te && (Y |= 8), de && (Y |= 16));
              }
              I.push(Y);
            }
            y || (Pv = !1, V0 = x), d.variances = I, (f = rn) == null || f.pop({ variances: I.map(E.formatVariance) });
          }
          return d.variances;
        }
        function gM(r, a, l) {
          const f = z2(a, l), d = wo(r);
          if (Oe(d))
            return d;
          const y = r.flags & 524288 ? LE(r, bg(Ri(r).typeParameters, f)) : e0(d, bg(d.typeParameters, f));
          return rt.add(Ll(y)), y;
        }
        function f$(r) {
          return rt.has(Ll(r));
        }
        function Ppe(r) {
          var a;
          return Hu(
            (a = r.symbol) == null ? void 0 : a.declarations,
            (l, f) => l | Lu(f),
            0
            /* None */
          ) & 28672;
        }
        function nnt(r, a) {
          for (let l = 0; l < a.length; l++)
            if ((a[l] & 7) === 1 && r[l].flags & 16384)
              return !0;
          return !1;
        }
        function int(r) {
          return r.flags & 262144 && !a_(r);
        }
        function snt(r) {
          return !!(Cn(r) & 4) && !r.node;
        }
        function p$(r) {
          return snt(r) && at(Io(r), (a) => !!(a.flags & 262144) || p$(a));
        }
        function ant(r, a, l, f) {
          const d = [];
          let y = "";
          const x = R(r, 0), I = R(a, 0);
          return `${y}${x},${I}${l}`;
          function R(J, Y = 0) {
            let Te = "" + J.target.id;
            for (const de of Io(J)) {
              if (de.flags & 262144) {
                if (f || int(de)) {
                  let Ge = d.indexOf(de);
                  Ge < 0 && (Ge = d.length, d.push(de)), Te += "=" + Ge;
                  continue;
                }
                y = "*";
              } else if (Y < 4 && p$(de)) {
                Te += "<" + R(de, Y + 1) + ">";
                continue;
              }
              Te += "-" + de.id;
            }
            return Te;
          }
        }
        function d$(r, a, l, f, d) {
          if (f === of && r.id > a.id) {
            const x = r;
            r = a, a = x;
          }
          const y = l ? ":" + l : "";
          return p$(r) && p$(a) ? ant(r, a, y, d) : `${r.id},${a.id}${y}`;
        }
        function hM(r, a) {
          if (lc(r) & 6) {
            for (const l of r.links.containingType.types) {
              const f = Zs(l, r.escapedName), d = f && hM(f, a);
              if (d)
                return d;
            }
            return;
          }
          return a(r);
        }
        function aC(r) {
          return r.parent && r.parent.flags & 32 ? wo(O_(r)) : void 0;
        }
        function m$(r) {
          const a = aC(r), l = a && fl(a)[0];
          return l && qc(l, r.escapedName);
        }
        function ont(r, a) {
          return hM(r, (l) => {
            const f = aC(l);
            return f ? PE(f, a) : !1;
          });
        }
        function cnt(r, a) {
          return !hM(a, (l) => np(l) & 4 ? !ont(r, aC(l)) : !1);
        }
        function JNe(r, a, l) {
          return hM(a, (f) => np(f, l) & 4 ? !PE(r, aC(f)) : !1) ? void 0 : r;
        }
        function oC(r, a, l, f = 3) {
          if (l >= f) {
            if ((Cn(r) & 96) === 96 && (r = zNe(r)), r.flags & 2097152)
              return at(r.types, (I) => oC(I, a, l, f));
            const d = g$(r);
            let y = 0, x = 0;
            for (let I = 0; I < l; I++) {
              const R = a[I];
              if (WNe(R, d)) {
                if (R.id >= x && (y++, y >= f))
                  return !0;
                x = R.id;
              }
            }
          }
          return !1;
        }
        function zNe(r) {
          let a;
          for (; (Cn(r) & 96) === 96 && (a = O2(r)) && (a.symbol || a.flags & 2097152 && at(a.types, (l) => !!l.symbol)); )
            r = a;
          return r;
        }
        function WNe(r, a) {
          return (Cn(r) & 96) === 96 && (r = zNe(r)), r.flags & 2097152 ? at(r.types, (l) => WNe(l, a)) : g$(r) === a;
        }
        function g$(r) {
          if (r.flags & 524288 && !Gpe(r)) {
            if (Cn(r) & 4 && r.node)
              return r.node;
            if (r.symbol && !(Cn(r) & 16 && r.symbol.flags & 32))
              return r.symbol;
            if (va(r))
              return r.target;
          }
          if (r.flags & 262144)
            return r.symbol;
          if (r.flags & 8388608) {
            do
              r = r.objectType;
            while (r.flags & 8388608);
            return r;
          }
          return r.flags & 16777216 ? r.root : r;
        }
        function lnt(r, a) {
          return Npe(r, a, tI) !== 0;
        }
        function Npe(r, a, l) {
          if (r === a)
            return -1;
          const f = np(r) & 6, d = np(a) & 6;
          if (f !== d)
            return 0;
          if (f) {
            if (XE(r) !== XE(a))
              return 0;
          } else if ((r.flags & 16777216) !== (a.flags & 16777216))
            return 0;
          return Vd(r) !== Vd(a) ? 0 : l(Qr(r), Qr(a));
        }
        function unt(r, a, l) {
          const f = B_(r), d = B_(a), y = Wd(r), x = Wd(a), I = Tg(r), R = Tg(a);
          return !!(f === d && y === x && I === R || l && y <= x);
        }
        function yM(r, a, l, f, d, y) {
          if (r === a)
            return -1;
          if (!unt(r, a, l) || Ar(r.typeParameters) !== Ar(a.typeParameters))
            return 0;
          if (a.typeParameters) {
            const R = R_(r.typeParameters, a.typeParameters);
            for (let J = 0; J < a.typeParameters.length; J++) {
              const Y = r.typeParameters[J], Te = a.typeParameters[J];
              if (!(Y === Te || y(ji(tP(Y), R) || mt, tP(Te) || mt) && y(ji(M2(Y), R) || mt, M2(Te) || mt)))
                return 0;
            }
            r = V2(
              r,
              R,
              /*eraseTypeParameters*/
              !0
            );
          }
          let x = -1;
          if (!f) {
            const R = Kv(r);
            if (R) {
              const J = Kv(a);
              if (J) {
                const Y = y(R, J);
                if (!Y)
                  return 0;
                x &= Y;
              }
            }
          }
          const I = B_(a);
          for (let R = 0; R < I; R++) {
            const J = zd(r, R), Y = zd(a, R), Te = y(Y, J);
            if (!Te)
              return 0;
            x &= Te;
          }
          if (!d) {
            const R = dp(r), J = dp(a);
            x &= R || J ? _nt(R, J, y) : y(Va(r), Va(a));
          }
          return x;
        }
        function _nt(r, a, l) {
          return r && a && rpe(r, a) ? r.type === a.type ? -1 : r.type && a.type ? l(r.type, a.type) : 0 : 0;
        }
        function fnt(r) {
          let a;
          for (const l of r)
            if (!(l.flags & 131072)) {
              const f = s0(l);
              if (a ?? (a = f), f === l || f !== a)
                return !1;
            }
          return !0;
        }
        function VNe(r) {
          return Hu(r, (a, l) => a | (l.flags & 1048576 ? VNe(l.types) : l.flags), 0);
        }
        function pnt(r) {
          if (r.length === 1)
            return r[0];
          const a = K ? $c(r, (f) => Hc(f, (d) => !(d.flags & 98304))) : r, l = fnt(a) ? Gn(a) : Hu(a, (f, d) => U2(f, d) ? d : f);
          return a === r ? l : SM(
            l,
            VNe(r) & 98304
            /* Nullable */
          );
        }
        function dnt(r) {
          return Hu(r, (a, l) => U2(l, a) ? l : a);
        }
        function gp(r) {
          return !!(Cn(r) & 4) && (r.target === Is || r.target === Ea);
        }
        function sP(r) {
          return !!(Cn(r) & 4) && r.target === Ea;
        }
        function nb(r) {
          return gp(r) || va(r);
        }
        function vM(r) {
          return gp(r) && !sP(r) || va(r) && !r.target.readonly;
        }
        function bM(r) {
          return gp(r) ? Io(r)[0] : void 0;
        }
        function py(r) {
          return gp(r) || !(r.flags & 98304) && js(r, nf);
        }
        function Ape(r) {
          return vM(r) || !(r.flags & 98305) && js(r, ll);
        }
        function Ipe(r) {
          if (!(Cn(r) & 4) || !(Cn(r.target) & 3))
            return;
          if (Cn(r) & 33554432)
            return Cn(r) & 67108864 ? r.cachedEquivalentBaseType : void 0;
          r.objectFlags |= 33554432;
          const a = r.target;
          if (Cn(a) & 1) {
            const d = _i(a);
            if (d && d.expression.kind !== 80 && d.expression.kind !== 211)
              return;
          }
          const l = fl(a);
          if (l.length !== 1 || gg(r.symbol).size)
            return;
          let f = Ar(a.typeParameters) ? ji(l[0], R_(a.typeParameters, Io(r).slice(0, a.typeParameters.length))) : l[0];
          return Ar(Io(r)) > Ar(a.typeParameters) && (f = uf(f, pa(Io(r)))), r.objectFlags |= 67108864, r.cachedEquivalentBaseType = f;
        }
        function UNe(r) {
          return K ? r === cr : r === M;
        }
        function h$(r) {
          const a = bM(r);
          return !!a && UNe(a);
        }
        function aP(r) {
          let a;
          return va(r) || !!Zs(r, "0") || py(r) && !!(a = qc(r, "length")) && j_(a, (l) => !!(l.flags & 256));
        }
        function y$(r) {
          return py(r) || aP(r);
        }
        function qNe(r, a) {
          const l = qc(r, "" + a);
          if (l)
            return l;
          if (j_(r, va))
            return XNe(r, a, F.noUncheckedIndexedAccess ? _e : void 0);
        }
        function mnt(r) {
          return !(r.flags & 240544);
        }
        function Bd(r) {
          return !!(r.flags & 109472);
        }
        function HNe(r) {
          const a = Fm(r);
          return a.flags & 2097152 ? at(a.types, Bd) : Bd(a);
        }
        function gnt(r) {
          return r.flags & 2097152 && Dn(r.types, Bd) || r;
        }
        function iI(r) {
          return r.flags & 16 ? !0 : r.flags & 1048576 ? r.flags & 1024 ? !0 : Pi(r.types, Bd) : Bd(r);
        }
        function s0(r) {
          return r.flags & 1056 ? RG(r) : r.flags & 402653312 ? st : r.flags & 256 ? At : r.flags & 2048 ? Yr : r.flags & 512 ? Jt : r.flags & 1048576 ? hnt(r) : r;
        }
        function hnt(r) {
          const a = `B${Ll(r)}`;
          return wd(a) ?? v1(a, Ho(r, s0));
        }
        function Fpe(r) {
          return r.flags & 402653312 ? st : r.flags & 288 ? At : r.flags & 2048 ? Yr : r.flags & 512 ? Jt : r.flags & 1048576 ? Ho(r, Fpe) : r;
        }
        function ib(r) {
          return r.flags & 1056 && J2(r) ? RG(r) : r.flags & 128 && J2(r) ? st : r.flags & 256 && J2(r) ? At : r.flags & 2048 && J2(r) ? Yr : r.flags & 512 && J2(r) ? Jt : r.flags & 1048576 ? Ho(r, ib) : r;
        }
        function GNe(r) {
          return r.flags & 8192 ? wt : r.flags & 1048576 ? Ho(r, GNe) : r;
        }
        function Ope(r, a) {
          return uX(r, a) || (r = GNe(ib(r))), qu(r);
        }
        function ynt(r, a, l) {
          if (r && Bd(r)) {
            const f = a ? l ? EI(a) : a : void 0;
            r = Ope(r, f);
          }
          return r;
        }
        function Lpe(r, a, l, f) {
          if (r && Bd(r)) {
            const d = a ? gy(l, a, f) : void 0;
            r = Ope(r, d);
          }
          return r;
        }
        function va(r) {
          return !!(Cn(r) & 4 && r.target.objectFlags & 8);
        }
        function O1(r) {
          return va(r) && !!(r.target.combinedFlags & 8);
        }
        function $Ne(r) {
          return O1(r) && r.target.elementFlags.length === 1;
        }
        function v$(r) {
          return oP(r, r.target.fixedLength);
        }
        function XNe(r, a, l) {
          return Ho(r, (f) => {
            const d = f, y = v$(d);
            return y ? l && a >= epe(d.target) ? Gn([y, l]) : y : _e;
          });
        }
        function vnt(r) {
          const a = v$(r);
          return a && du(a);
        }
        function oP(r, a, l = 0, f = !1, d = !1) {
          const y = _y(r) - l;
          if (a < y) {
            const x = Io(r), I = [];
            for (let R = a; R < y; R++) {
              const J = x[R];
              I.push(r.target.elementFlags[R] & 8 ? M_(J, At) : J);
            }
            return f ? aa(I) : Gn(
              I,
              d ? 0 : 1
              /* Literal */
            );
          }
        }
        function bnt(r, a) {
          return _y(r) === _y(a) && Pi(r.target.elementFlags, (l, f) => (l & 12) === (a.target.elementFlags[f] & 12));
        }
        function QNe({ value: r }) {
          return r.base10Value === "0";
        }
        function YNe(r) {
          return Hc(r, (a) => Jd(
            a,
            4194304
            /* Truthy */
          ));
        }
        function Snt(r) {
          return Ho(r, Tnt);
        }
        function Tnt(r) {
          return r.flags & 4 ? af : r.flags & 8 ? ng : r.flags & 64 ? td : r === Rr || r === Mr || r.flags & 114691 || r.flags & 128 && r.value === "" || r.flags & 256 && r.value === 0 || r.flags & 2048 && QNe(r) ? r : Kt;
        }
        function SM(r, a) {
          const l = a & ~r.flags & 98304;
          return l === 0 ? r : Gn(l === 32768 ? [r, _e] : l === 65536 ? [r, jt] : [r, _e, jt]);
        }
        function L1(r, a = !1) {
          E.assert(K);
          const l = a ? X : _e;
          return r === l || r.flags & 1048576 && r.types[0] === l ? r : Gn([r, l]);
        }
        function xnt(r) {
          return n_ || (n_ = RE(
            "NonNullable",
            524288,
            /*diagnostic*/
            void 0
          ) || Q), n_ !== Q ? LE(n_, [r]) : aa([r, Pa]);
        }
        function a0(r) {
          return K ? FT(
            r,
            2097152
            /* NEUndefinedOrNull */
          ) : r;
        }
        function ZNe(r) {
          return K ? Gn([r, pt]) : r;
        }
        function b$(r) {
          return K ? A$(r, pt) : r;
        }
        function S$(r, a, l) {
          return l ? k4(a) ? L1(r) : ZNe(r) : r;
        }
        function sI(r, a) {
          return g7(a) ? a0(r) : hu(a) ? b$(r) : r;
        }
        function o0(r, a) {
          return he && a ? A$(r, ye) : r;
        }
        function aI(r) {
          return r === ye || !!(r.flags & 1048576) && r.types[0] === ye;
        }
        function T$(r) {
          return he ? A$(r, ye) : hp(
            r,
            524288
            /* NEUndefined */
          );
        }
        function knt(r, a) {
          return (r.flags & 524) !== 0 && (a.flags & 28) !== 0;
        }
        function x$(r) {
          const a = Cn(r);
          return r.flags & 2097152 ? Pi(r.types, x$) : !!(r.symbol && (r.symbol.flags & 7040) !== 0 && !(r.symbol.flags & 32) && !PX(r)) || !!(a & 4194304) || !!(a & 1024 && x$(r.source));
        }
        function NT(r, a) {
          const l = sa(
            r.flags,
            r.escapedName,
            lc(r) & 8
            /* Readonly */
          );
          l.declarations = r.declarations, l.parent = r.parent, l.links.type = a, l.links.target = r, r.valueDeclaration && (l.valueDeclaration = r.valueDeclaration);
          const f = Ri(r).nameType;
          return f && (l.links.nameType = f), l;
        }
        function Cnt(r, a) {
          const l = qs();
          for (const f of ly(r)) {
            const d = Qr(f), y = a(d);
            l.set(f.escapedName, y === d ? f : NT(f, y));
          }
          return l;
        }
        function oI(r) {
          if (!(dy(r) && Cn(r) & 8192))
            return r;
          const a = r.regularType;
          if (a)
            return a;
          const l = r, f = Cnt(r, oI), d = Jo(l.symbol, f, l.callSignatures, l.constructSignatures, l.indexInfos);
          return d.flags = l.flags, d.objectFlags |= l.objectFlags & -8193, r.regularType = d, d;
        }
        function KNe(r, a, l) {
          return { parent: r, propertyName: a, siblings: l, resolvedProperties: void 0 };
        }
        function eAe(r) {
          if (!r.siblings) {
            const a = [];
            for (const l of eAe(r.parent))
              if (dy(l)) {
                const f = L2(l, r.propertyName);
                f && OT(Qr(f), (d) => {
                  a.push(d);
                });
              }
            r.siblings = a;
          }
          return r.siblings;
        }
        function Ent(r) {
          if (!r.resolvedProperties) {
            const a = /* @__PURE__ */ new Map();
            for (const l of eAe(r))
              if (dy(l) && !(Cn(l) & 2097152))
                for (const f of Ga(l))
                  a.set(f.escapedName, f);
            r.resolvedProperties = rs(a.values());
          }
          return r.resolvedProperties;
        }
        function Dnt(r, a) {
          if (!(r.flags & 4))
            return r;
          const l = Qr(r), f = a && KNe(
            a,
            r.escapedName,
            /*siblings*/
            void 0
          ), d = Mpe(l, f);
          return d === l ? r : NT(r, d);
        }
        function wnt(r) {
          const a = ne.get(r.escapedName);
          if (a)
            return a;
          const l = NT(r, X);
          return l.flags |= 16777216, ne.set(r.escapedName, l), l;
        }
        function Pnt(r, a) {
          const l = qs();
          for (const d of ly(r))
            l.set(d.escapedName, Dnt(d, a));
          if (a)
            for (const d of Ent(a))
              l.has(d.escapedName) || l.set(d.escapedName, wnt(d));
          const f = Jo(r.symbol, l, Ue, Ue, $c(pu(r), (d) => dh(d.keyType, _f(d.type), d.isReadonly, d.declaration, d.components)));
          return f.objectFlags |= Cn(r) & 266240, f;
        }
        function _f(r) {
          return Mpe(
            r,
            /*context*/
            void 0
          );
        }
        function Mpe(r, a) {
          if (Cn(r) & 196608) {
            if (a === void 0 && r.widened)
              return r.widened;
            let l;
            if (r.flags & 98305)
              l = Ie;
            else if (dy(r))
              l = Pnt(r, a);
            else if (r.flags & 1048576) {
              const f = a || KNe(
                /*parent*/
                void 0,
                /*propertyName*/
                void 0,
                r.types
              ), d = $c(r.types, (y) => y.flags & 98304 ? y : Mpe(y, f));
              l = Gn(
                d,
                at(d, i0) ? 2 : 1
                /* Literal */
              );
            } else r.flags & 2097152 ? l = aa($c(r.types, _f)) : nb(r) && (l = e0(r.target, $c(Io(r), _f)));
            return l && a === void 0 && (r.widened = l), l || r;
          }
          return r;
        }
        function k$(r) {
          var a;
          let l = !1;
          if (Cn(r) & 65536) {
            if (r.flags & 1048576)
              if (at(r.types, i0))
                l = !0;
              else
                for (const f of r.types)
                  l || (l = k$(f));
            else if (nb(r))
              for (const f of Io(r))
                l || (l = k$(f));
            else if (dy(r))
              for (const f of ly(r)) {
                const d = Qr(f);
                if (Cn(d) & 65536 && (l = k$(d), !l)) {
                  const y = (a = f.declarations) == null ? void 0 : a.find((x) => {
                    var I;
                    return ((I = x.symbol.valueDeclaration) == null ? void 0 : I.parent) === r.symbol.valueDeclaration;
                  });
                  y && (Be(y, p.Object_literal_s_property_0_implicitly_has_an_1_type, Bi(f), Hr(_f(d))), l = !0);
                }
              }
          }
          return l;
        }
        function sb(r, a, l) {
          const f = Hr(_f(a));
          if (tn(r) && !pD(Er(r), F))
            return;
          let d;
          switch (r.kind) {
            case 226:
            case 172:
            case 171:
              d = fe ? p.Member_0_implicitly_has_an_1_type : p.Member_0_implicitly_has_an_1_type_but_a_better_type_may_be_inferred_from_usage;
              break;
            case 169:
              const y = r;
              if (Fe(y.name)) {
                const x = sS(y.name);
                if ((Bx(y.parent) || Xp(y.parent) || Ym(y.parent)) && y.parent.parameters.includes(y) && (it(
                  y,
                  y.name.escapedText,
                  788968,
                  /*nameNotFoundMessage*/
                  void 0,
                  /*isUse*/
                  !0
                ) || x && _J(x))) {
                  const I = "arg" + y.parent.parameters.indexOf(y), R = _o(y.name) + (y.dotDotDotToken ? "[]" : "");
                  Pd(fe, r, p.Parameter_has_a_name_but_no_type_Did_you_mean_0_Colon_1, I, R);
                  return;
                }
              }
              d = r.dotDotDotToken ? fe ? p.Rest_parameter_0_implicitly_has_an_any_type : p.Rest_parameter_0_implicitly_has_an_any_type_but_a_better_type_may_be_inferred_from_usage : fe ? p.Parameter_0_implicitly_has_an_1_type : p.Parameter_0_implicitly_has_an_1_type_but_a_better_type_may_be_inferred_from_usage;
              break;
            case 208:
              if (d = p.Binding_element_0_implicitly_has_an_1_type, !fe)
                return;
              break;
            case 317:
              Be(r, p.Function_type_which_lacks_return_type_annotation_implicitly_has_an_0_return_type, f);
              return;
            case 323:
              fe && b6(r.parent) && Be(r.parent.tagName, p.This_overload_implicitly_returns_the_type_0_because_it_lacks_a_return_type_annotation, f);
              return;
            case 262:
            case 174:
            case 173:
            case 177:
            case 178:
            case 218:
            case 219:
              if (fe && !r.name) {
                l === 3 ? Be(r, p.Generator_implicitly_has_yield_type_0_Consider_supplying_a_return_type_annotation, f) : Be(r, p.Function_expression_which_lacks_return_type_annotation_implicitly_has_an_0_return_type, f);
                return;
              }
              d = fe ? l === 3 ? p._0_which_lacks_return_type_annotation_implicitly_has_an_1_yield_type : p._0_which_lacks_return_type_annotation_implicitly_has_an_1_return_type : p._0_implicitly_has_an_1_return_type_but_a_better_type_may_be_inferred_from_usage;
              break;
            case 200:
              fe && Be(r, p.Mapped_object_type_implicitly_has_an_any_template_type);
              return;
            default:
              d = fe ? p.Variable_0_implicitly_has_an_1_type : p.Variable_0_implicitly_has_an_1_type_but_a_better_type_may_be_inferred_from_usage;
          }
          Pd(fe, r, d, _o(ls(r)), f);
        }
        function Nnt(r, a) {
          const l = xde(r);
          if (!l)
            return !0;
          let f = Va(l);
          const d = Fc(r);
          switch (a) {
            case 1:
              return d & 1 ? f = gy(1, f, !!(d & 2)) ?? f : d & 2 && (f = u0(f) ?? f), tb(f);
            case 3:
              const y = gy(0, f, !!(d & 2));
              return !!y && tb(y);
            case 2:
              const x = gy(2, f, !!(d & 2));
              return !!x && tb(x);
          }
          return !1;
        }
        function C$(r, a, l) {
          n(() => {
            fe && Cn(a) & 65536 && (!l || uo(r) && Nnt(r, l)) && (k$(a) || sb(r, a, l));
          });
        }
        function Rpe(r, a, l) {
          const f = B_(r), d = B_(a), y = vI(r), x = vI(a), I = x ? d - 1 : d, R = y ? I : Math.min(f, I), J = Kv(r);
          if (J) {
            const Y = Kv(a);
            Y && l(J, Y);
          }
          for (let Y = 0; Y < R; Y++)
            l(zd(r, Y), zd(a, Y));
          x && l(GM(
            r,
            R,
            /*readonly*/
            TT(x) && !yp(x, Ape)
          ), x);
        }
        function jpe(r, a, l) {
          const f = dp(a);
          if (f) {
            const y = dp(r);
            if (y && rpe(y, f) && y.type && f.type) {
              l(y.type, f.type);
              return;
            }
          }
          const d = Va(a);
          M1(d) && l(Va(r), d);
        }
        function cI(r, a, l, f) {
          return Bpe(r.map(zpe), a, l, f || bpe);
        }
        function Ant(r, a = 0) {
          return r && Bpe(fr(r.inferences, tAe), r.signature, r.flags | a, r.compareTypes);
        }
        function Bpe(r, a, l, f) {
          const d = {
            inferences: r,
            signature: a,
            flags: l,
            compareTypes: f,
            mapper: Lo,
            // initialize to a noop mapper so the context object is available, but the underlying object shape is right upon construction
            nonFixingMapper: Lo
          };
          return d.mapper = Int(d), d.nonFixingMapper = Fnt(d), d;
        }
        function Int(r) {
          return gpe(
            fr(r.inferences, (a) => a.typeParameter),
            fr(r.inferences, (a, l) => () => (a.isFixed || (Ont(r), E$(r.inferences), a.isFixed = !0), $pe(r, l)))
          );
        }
        function Fnt(r) {
          return gpe(
            fr(r.inferences, (a) => a.typeParameter),
            fr(r.inferences, (a, l) => () => $pe(r, l))
          );
        }
        function E$(r) {
          for (const a of r)
            a.isFixed || (a.inferredType = void 0);
        }
        function Jpe(r, a, l) {
          (r.intraExpressionInferenceSites ?? (r.intraExpressionInferenceSites = [])).push({ node: a, type: l });
        }
        function Ont(r) {
          if (r.intraExpressionInferenceSites) {
            for (const { node: a, type: l } of r.intraExpressionInferenceSites) {
              const f = a.kind === 174 ? s8e(
                a,
                2
                /* NoConstraints */
              ) : o_(
                a,
                2
                /* NoConstraints */
              );
              f && c0(r.inferences, l, f);
            }
            r.intraExpressionInferenceSites = void 0;
          }
        }
        function zpe(r) {
          return {
            typeParameter: r,
            candidates: void 0,
            contraCandidates: void 0,
            inferredType: void 0,
            priority: void 0,
            topLevel: !0,
            isFixed: !1,
            impliedArity: void 0
          };
        }
        function tAe(r) {
          return {
            typeParameter: r.typeParameter,
            candidates: r.candidates && r.candidates.slice(),
            contraCandidates: r.contraCandidates && r.contraCandidates.slice(),
            inferredType: r.inferredType,
            priority: r.priority,
            topLevel: r.topLevel,
            isFixed: r.isFixed,
            impliedArity: r.impliedArity
          };
        }
        function Lnt(r) {
          const a = Tn(r.inferences, $E);
          return a.length ? Bpe(fr(a, tAe), r.signature, r.flags, r.compareTypes) : void 0;
        }
        function Wpe(r) {
          return r && r.mapper;
        }
        function M1(r) {
          const a = Cn(r);
          if (a & 524288)
            return !!(a & 1048576);
          const l = !!(r.flags & 465829888 || r.flags & 524288 && !rAe(r) && (a & 4 && (r.node || at(Io(r), M1)) || a & 134217728 && Ar(r.outerTypeParameters) || a & 16 && r.symbol && r.symbol.flags & 14384 && r.symbol.declarations || a & 12583968) || r.flags & 3145728 && !(r.flags & 1024) && !rAe(r) && at(r.types, M1));
          return r.flags & 3899393 && (r.objectFlags |= 524288 | (l ? 1048576 : 0)), l;
        }
        function rAe(r) {
          if (r.aliasSymbol && !r.aliasTypeArguments) {
            const a = jo(
              r.aliasSymbol,
              265
              /* TypeAliasDeclaration */
            );
            return !!(a && _r(a.parent, (l) => l.kind === 307 ? !0 : l.kind === 267 ? !1 : "quit"));
          }
          return !1;
        }
        function lI(r, a, l = 0) {
          return !!(r === a || r.flags & 3145728 && at(r.types, (f) => lI(f, a, l)) || l < 3 && r.flags & 16777216 && (lI(I1(r), a, l + 1) || lI(F1(r), a, l + 1)));
        }
        function Mnt(r, a) {
          const l = dp(r);
          return l ? !!l.type && lI(l.type, a) : lI(Va(r), a);
        }
        function Rnt(r) {
          const a = qs();
          OT(r, (f) => {
            if (!(f.flags & 128))
              return;
            const d = ec(f.value), y = sa(4, d);
            y.links.type = Ie, f.symbol && (y.declarations = f.symbol.declarations, y.valueDeclaration = f.symbol.valueDeclaration), a.set(d, y);
          });
          const l = r.flags & 4 ? [dh(
            st,
            Pa,
            /*isReadonly*/
            !1
          )] : Ue;
          return Jo(
            /*symbol*/
            void 0,
            a,
            Ue,
            Ue,
            l
          );
        }
        function nAe(r, a, l) {
          const f = r.id + "," + a.id + "," + l.id;
          if (Cd.has(f))
            return Cd.get(f);
          const d = jnt(r, a, l);
          return Cd.set(f, d), d;
        }
        function Vpe(r) {
          return !(Cn(r) & 262144) || dy(r) && at(Ga(r), (a) => Vpe(Qr(a))) || va(r) && at(j2(r), Vpe);
        }
        function jnt(r, a, l) {
          if (!(ph(r, st) || Ga(r).length !== 0 && Vpe(r)))
            return;
          if (gp(r)) {
            const d = D$(Io(r)[0], a, l);
            return d ? du(d, sP(r)) : void 0;
          }
          if (va(r)) {
            const d = fr(j2(r), (x) => D$(x, a, l));
            if (!Pi(d, (x) => !!x))
              return;
            const y = hg(a) & 4 ? $c(r.target.elementFlags, (x) => x & 2 ? 1 : x) : r.target.elementFlags;
            return vg(d, y, r.target.readonly, r.target.labeledElementDeclarations);
          }
          const f = ir(
            1040,
            /*symbol*/
            void 0
          );
          return f.source = r, f.mappedType = a, f.constraintType = l, f;
        }
        function Bnt(r) {
          const a = Ri(r);
          return a.type || (a.type = D$(r.links.propertyType, r.links.mappedType, r.links.constraintType) || mt), a.type;
        }
        function Jnt(r, a, l) {
          const f = M_(l.type, Rd(a)), d = Kh(a), y = zpe(f);
          return c0([y], r, d), iAe(y) || mt;
        }
        function D$(r, a, l) {
          const f = r.id + "," + a.id + "," + l.id;
          if (pc.has(f))
            return pc.get(f) || mt;
          y2.push(r), v2.push(a);
          const d = q0;
          oC(r, y2, y2.length, 2) && (q0 |= 1), oC(a, v2, v2.length, 2) && (q0 |= 2);
          let y;
          return q0 !== 3 && (y = Jnt(r, a, l)), y2.pop(), v2.pop(), q0 = d, pc.set(f, y), y;
        }
        function* Upe(r, a, l, f) {
          const d = Ga(a);
          for (const y of d)
            if (!RPe(y) && (l || !(y.flags & 16777216 || lc(y) & 48))) {
              const x = Zs(r, y.escapedName);
              if (!x)
                yield y;
              else if (f) {
                const I = Qr(y);
                if (I.flags & 109472) {
                  const R = Qr(x);
                  R.flags & 1 || qu(R) === qu(I) || (yield y);
                }
              }
            }
        }
        function qpe(r, a, l, f) {
          return CP(Upe(r, a, l, f));
        }
        function znt(r, a) {
          return !(a.target.combinedFlags & 8) && a.target.minLength > r.target.minLength || !(a.target.combinedFlags & 12) && (!!(r.target.combinedFlags & 12) || a.target.fixedLength < r.target.fixedLength);
        }
        function Wnt(r, a) {
          return va(r) && va(a) ? znt(r, a) : !!qpe(
            r,
            a,
            /*requireOptionalProperties*/
            !1,
            /*matchDiscriminantProperties*/
            !0
          ) && !!qpe(
            a,
            r,
            /*requireOptionalProperties*/
            !1,
            /*matchDiscriminantProperties*/
            !1
          );
        }
        function iAe(r) {
          return r.candidates ? Gn(
            r.candidates,
            2
            /* Subtype */
          ) : r.contraCandidates ? aa(r.contraCandidates) : void 0;
        }
        function Hpe(r) {
          return !!yn(r).skipDirectInference;
        }
        function sAe(r) {
          return !!(r.symbol && at(r.symbol.declarations, Hpe));
        }
        function Vnt(r, a) {
          const l = r.texts[0], f = a.texts[0], d = r.texts[r.texts.length - 1], y = a.texts[a.texts.length - 1], x = Math.min(l.length, f.length), I = Math.min(d.length, y.length);
          return l.slice(0, x) !== f.slice(0, x) || d.slice(d.length - I) !== y.slice(y.length - I);
        }
        function aAe(r, a) {
          if (r === "") return !1;
          const l = +r;
          return isFinite(l) && (!a || "" + l === r);
        }
        function Unt(r) {
          return cM(IJ(r));
        }
        function w$(r, a) {
          if (a.flags & 1)
            return !0;
          if (a.flags & 134217732)
            return js(r, a);
          if (a.flags & 268435456) {
            const l = [];
            for (; a.flags & 268435456; )
              l.unshift(a.symbol), a = a.type;
            return Hu(l, (d, y) => nC(y, d), r) === r && w$(r, a);
          }
          return !1;
        }
        function oAe(r, a) {
          if (a.flags & 2097152)
            return Pi(a.types, (l) => l === Vs || oAe(r, l));
          if (a.flags & 4 || js(r, a))
            return !0;
          if (r.flags & 128) {
            const l = r.value;
            return !!(a.flags & 8 && aAe(
              l,
              /*roundTripOnly*/
              !1
            ) || a.flags & 64 && K5(
              l,
              /*roundTripOnly*/
              !1
            ) || a.flags & 98816 && l === a.intrinsicName || a.flags & 268435456 && w$(x_(l), a) || a.flags & 134217728 && P$(r, a));
          }
          if (r.flags & 134217728) {
            const l = r.texts;
            return l.length === 2 && l[0] === "" && l[1] === "" && js(r.types[0], a);
          }
          return !1;
        }
        function cAe(r, a) {
          return r.flags & 128 ? lAe([r.value], Ue, a) : r.flags & 134217728 ? Cf(r.texts, a.texts) ? fr(r.types, (l, f) => js(Fm(l), Fm(a.types[f])) ? l : qnt(l)) : lAe(r.texts, r.types, a) : void 0;
        }
        function P$(r, a) {
          const l = cAe(r, a);
          return !!l && Pi(l, (f, d) => oAe(f, a.types[d]));
        }
        function qnt(r) {
          return r.flags & 402653317 ? r : kT(["", ""], [r]);
        }
        function lAe(r, a, l) {
          const f = r.length - 1, d = r[0], y = r[f], x = l.texts, I = x.length - 1, R = x[0], J = x[I];
          if (f === 0 && d.length < R.length + J.length || !d.startsWith(R) || !y.endsWith(J)) return;
          const Y = y.slice(0, y.length - J.length), Te = [];
          let de = 0, Ge = R.length;
          for (let nr = 1; nr < I; nr++) {
            const Xt = x[nr];
            if (Xt.length > 0) {
              let Gr = de, Jr = Ge;
              for (; Jr = ct(Gr).indexOf(Xt, Jr), !(Jr >= 0); ) {
                if (Gr++, Gr === r.length) return;
                Jr = 0;
              }
              ht(Gr, Jr), Ge += Xt.length;
            } else if (Ge < ct(de).length)
              ht(de, Ge + 1);
            else if (de < f)
              ht(de + 1, 0);
            else
              return;
          }
          return ht(f, ct(f).length), Te;
          function ct(nr) {
            return nr < f ? r[nr] : Y;
          }
          function ht(nr, Xt) {
            const Gr = nr === de ? x_(ct(nr).slice(Ge, Xt)) : kT(
              [r[de].slice(Ge), ...r.slice(de + 1, nr), ct(nr).slice(0, Xt)],
              a.slice(de, nr)
            );
            Te.push(Gr), de = nr, Ge = Xt;
          }
        }
        function Hnt(r, a) {
          return va(a) && qNe(a, 0) === M_(r, ad(0)) && !qc(a, "1");
        }
        function c0(r, a, l, f = 0, d = !1) {
          let y = !1, x, I = 2048, R, J, Y, Te = 0;
          de(a, l);
          function de(kr, Tr) {
            if (!(!M1(Tr) || ME(Tr))) {
              if (kr === _t || kr === kt) {
                const di = x;
                x = kr, de(Tr, Tr), x = di;
                return;
              }
              if (kr.aliasSymbol && kr.aliasSymbol === Tr.aliasSymbol) {
                if (kr.aliasTypeArguments) {
                  const di = Ri(kr.aliasSymbol).typeParameters, zr = yg(di), Ki = uy(kr.aliasTypeArguments, di, zr, tn(kr.aliasSymbol.valueDeclaration)), Da = uy(Tr.aliasTypeArguments, di, zr, tn(kr.aliasSymbol.valueDeclaration));
                  Gr(Ki, Da, jNe(kr.aliasSymbol));
                }
                return;
              }
              if (kr === Tr && kr.flags & 3145728) {
                for (const di of kr.types)
                  de(di, di);
                return;
              }
              if (Tr.flags & 1048576) {
                const [di, zr] = Xt(kr.flags & 1048576 ? kr.types : [kr], Tr.types, Gnt), [Ki, Da] = Xt(di, zr, $nt);
                if (Da.length === 0)
                  return;
                if (Tr = Gn(Da), Ki.length === 0) {
                  Ge(
                    kr,
                    Tr,
                    1
                    /* NakedTypeVariable */
                  );
                  return;
                }
                kr = Gn(Ki);
              } else if (Tr.flags & 2097152 && !Pi(Tr.types, r$) && !(kr.flags & 1048576)) {
                const [di, zr] = Xt(kr.flags & 2097152 ? kr.types : [kr], Tr.types, gh);
                if (di.length === 0 || zr.length === 0)
                  return;
                kr = aa(di), Tr = aa(zr);
              }
              if (Tr.flags & 41943040) {
                if (ME(Tr))
                  return;
                Tr = n0(Tr);
              }
              if (Tr.flags & 8650752) {
                if (sAe(kr))
                  return;
                const di = Yt(Tr);
                if (di) {
                  if (Cn(kr) & 262144 || kr === Zr)
                    return;
                  if (!di.isFixed) {
                    const Ki = x || kr;
                    if (Ki === kt)
                      return;
                    if ((di.priority === void 0 || f < di.priority) && (di.candidates = void 0, di.contraCandidates = void 0, di.topLevel = !0, di.priority = f), f === di.priority) {
                      if (Hnt(di.typeParameter, Ki))
                        return;
                      d && !y ? _s(di.contraCandidates, Ki) || (di.contraCandidates = Dr(di.contraCandidates, Ki), E$(r)) : _s(di.candidates, Ki) || (di.candidates = Dr(di.candidates, Ki), E$(r));
                    }
                    !(f & 128) && Tr.flags & 262144 && di.topLevel && !lI(l, Tr) && (di.topLevel = !1, E$(r));
                  }
                  I = Math.min(I, f);
                  return;
                }
                const zr = r0(
                  Tr,
                  /*writing*/
                  !1
                );
                if (zr !== Tr)
                  de(kr, zr);
                else if (Tr.flags & 8388608) {
                  const Ki = r0(
                    Tr.indexType,
                    /*writing*/
                    !1
                  );
                  if (Ki.flags & 465829888) {
                    const Da = cNe(
                      r0(
                        Tr.objectType,
                        /*writing*/
                        !1
                      ),
                      Ki,
                      /*writing*/
                      !1
                    );
                    Da && Da !== Tr && de(kr, Da);
                  }
                }
              }
              if (Cn(kr) & 4 && Cn(Tr) & 4 && (kr.target === Tr.target || gp(kr) && gp(Tr)) && !(kr.node && Tr.node))
                Gr(Io(kr), Io(Tr), wpe(kr.target));
              else if (kr.flags & 4194304 && Tr.flags & 4194304)
                Jr(kr.type, Tr.type);
              else if ((iI(kr) || kr.flags & 4) && Tr.flags & 4194304) {
                const di = Rnt(kr);
                ct(
                  di,
                  Tr.type,
                  256
                  /* LiteralKeyof */
                );
              } else if (kr.flags & 8388608 && Tr.flags & 8388608)
                de(kr.objectType, Tr.objectType), de(kr.indexType, Tr.indexType);
              else if (kr.flags & 268435456 && Tr.flags & 268435456)
                kr.symbol === Tr.symbol && de(kr.type, Tr.type);
              else if (kr.flags & 33554432)
                de(kr.baseType, Tr), Ge(
                  Vfe(kr),
                  Tr,
                  4
                  /* SubstituteSource */
                );
              else if (Tr.flags & 16777216)
                nr(kr, Tr, bn);
              else if (Tr.flags & 3145728)
                Bn(kr, Tr.types, Tr.flags);
              else if (kr.flags & 1048576) {
                const di = kr.types;
                for (const zr of di)
                  de(zr, Tr);
              } else if (Tr.flags & 134217728)
                os(kr, Tr);
              else {
                if (kr = sd(kr), T_(kr) && T_(Tr) && nr(kr, Tr, Fs), !(f & 512 && kr.flags & 467927040)) {
                  const di = Uu(kr);
                  if (di !== kr && !(di.flags & 2621440))
                    return de(di, Tr);
                  kr = di;
                }
                kr.flags & 2621440 && nr(kr, Tr, Qa);
              }
            }
          }
          function Ge(kr, Tr, di) {
            const zr = f;
            f |= di, de(kr, Tr), f = zr;
          }
          function ct(kr, Tr, di) {
            const zr = f;
            f |= di, Jr(kr, Tr), f = zr;
          }
          function ht(kr, Tr, di, zr) {
            const Ki = f;
            f |= zr, Bn(kr, Tr, di), f = Ki;
          }
          function nr(kr, Tr, di) {
            const zr = kr.id + "," + Tr.id, Ki = R && R.get(zr);
            if (Ki !== void 0) {
              I = Math.min(I, Ki);
              return;
            }
            (R || (R = /* @__PURE__ */ new Map())).set(
              zr,
              -1
              /* Circularity */
            );
            const Da = I;
            I = 2048;
            const So = Te;
            (J ?? (J = [])).push(kr), (Y ?? (Y = [])).push(Tr), oC(kr, J, J.length, 2) && (Te |= 1), oC(Tr, Y, Y.length, 2) && (Te |= 2), Te !== 3 ? di(kr, Tr) : I = -1, Y.pop(), J.pop(), Te = So, R.set(zr, I), I = Math.min(I, Da);
          }
          function Xt(kr, Tr, di) {
            let zr, Ki;
            for (const Da of Tr)
              for (const So of kr)
                di(So, Da) && (de(So, Da), zr = Sh(zr, So), Ki = Sh(Ki, Da));
            return [
              zr ? Tn(kr, (Da) => !_s(zr, Da)) : kr,
              Ki ? Tn(Tr, (Da) => !_s(Ki, Da)) : Tr
            ];
          }
          function Gr(kr, Tr, di) {
            const zr = kr.length < Tr.length ? kr.length : Tr.length;
            for (let Ki = 0; Ki < zr; Ki++)
              Ki < di.length && (di[Ki] & 7) === 2 ? Jr(kr[Ki], Tr[Ki]) : de(kr[Ki], Tr[Ki]);
          }
          function Jr(kr, Tr) {
            d = !d, de(kr, Tr), d = !d;
          }
          function sr(kr, Tr) {
            U || f & 1024 ? Jr(kr, Tr) : de(kr, Tr);
          }
          function Yt(kr) {
            if (kr.flags & 8650752) {
              for (const Tr of r)
                if (kr === Tr.typeParameter)
                  return Tr;
            }
          }
          function un(kr) {
            let Tr;
            for (const di of kr) {
              const zr = di.flags & 2097152 && Dn(di.types, (Ki) => !!Yt(Ki));
              if (!zr || Tr && zr !== Tr)
                return;
              Tr = zr;
            }
            return Tr;
          }
          function Bn(kr, Tr, di) {
            let zr = 0;
            if (di & 1048576) {
              let Ki;
              const Da = kr.flags & 1048576 ? kr.types : [kr], So = new Array(Da.length);
              let Gc = !1;
              for (const wa of Tr)
                if (Yt(wa))
                  Ki = wa, zr++;
                else
                  for (let k_ = 0; k_ < Da.length; k_++) {
                    const Rc = I;
                    I = 2048, de(Da[k_], wa), I === f && (So[k_] = !0), Gc = Gc || I === -1, I = Math.min(I, Rc);
                  }
              if (zr === 0) {
                const wa = un(Tr);
                wa && Ge(
                  kr,
                  wa,
                  1
                  /* NakedTypeVariable */
                );
                return;
              }
              if (zr === 1 && !Gc) {
                const wa = oa(Da, (k_, Rc) => So[Rc] ? void 0 : k_);
                if (wa.length) {
                  de(Gn(wa), Ki);
                  return;
                }
              }
            } else
              for (const Ki of Tr)
                Yt(Ki) ? zr++ : de(kr, Ki);
            if (di & 2097152 ? zr === 1 : zr > 0)
              for (const Ki of Tr)
                Yt(Ki) && Ge(
                  kr,
                  Ki,
                  1
                  /* NakedTypeVariable */
                );
          }
          function wi(kr, Tr, di) {
            if (di.flags & 1048576 || di.flags & 2097152) {
              let zr = !1;
              for (const Ki of di.types)
                zr = wi(kr, Tr, Ki) || zr;
              return zr;
            }
            if (di.flags & 4194304) {
              const zr = Yt(di.type);
              if (zr && !zr.isFixed && !sAe(kr)) {
                const Ki = nAe(kr, Tr, di);
                Ki && Ge(
                  Ki,
                  zr.typeParameter,
                  Cn(kr) & 262144 ? 16 : 8
                  /* HomomorphicMappedType */
                );
              }
              return !0;
            }
            if (di.flags & 262144) {
              Ge(
                Om(
                  kr,
                  /*indexFlags*/
                  kr.pattern ? 2 : 0
                  /* None */
                ),
                di,
                32
                /* MappedTypeConstraint */
              );
              const zr = ST(di);
              if (zr && wi(kr, Tr, zr))
                return !0;
              const Ki = fr(Ga(kr), Qr), Da = fr(pu(kr), (So) => So !== Li ? So.type : Kt);
              return de(Gn(Ji(Ki, Da)), Kh(Tr)), !0;
            }
            return !1;
          }
          function bn(kr, Tr) {
            if (kr.flags & 16777216)
              de(kr.checkType, Tr.checkType), de(kr.extendsType, Tr.extendsType), de(I1(kr), I1(Tr)), de(F1(kr), F1(Tr));
            else {
              const di = [I1(Tr), F1(Tr)];
              ht(kr, di, Tr.flags, d ? 64 : 0);
            }
          }
          function os(kr, Tr) {
            const di = cAe(kr, Tr), zr = Tr.types;
            if (di || Pi(Tr.texts, (Ki) => Ki.length === 0))
              for (let Ki = 0; Ki < zr.length; Ki++) {
                const Da = di ? di[Ki] : Kt, So = zr[Ki];
                if (Da.flags & 128 && So.flags & 8650752) {
                  const Gc = Yt(So), wa = Gc ? ru(Gc.typeParameter) : void 0;
                  if (wa && !be(wa)) {
                    const k_ = wa.flags & 1048576 ? wa.types : [wa];
                    let Rc = Hu(k_, (Qo, Tf) => Qo | Tf.flags, 0);
                    if (!(Rc & 4)) {
                      const Qo = Da.value;
                      Rc & 296 && !aAe(
                        Qo,
                        /*roundTripOnly*/
                        !0
                      ) && (Rc &= -297), Rc & 2112 && !K5(
                        Qo,
                        /*roundTripOnly*/
                        !0
                      ) && (Rc &= -2113);
                      const Tf = Hu(k_, (Ec, jc) => jc.flags & Rc ? Ec.flags & 4 ? Ec : jc.flags & 4 ? Da : Ec.flags & 134217728 ? Ec : jc.flags & 134217728 && P$(Da, jc) ? Da : Ec.flags & 268435456 ? Ec : jc.flags & 268435456 && Qo === iNe(jc.symbol, Qo) ? Da : Ec.flags & 128 ? Ec : jc.flags & 128 && jc.value === Qo ? jc : Ec.flags & 8 ? Ec : jc.flags & 8 ? ad(+Qo) : Ec.flags & 32 ? Ec : jc.flags & 32 ? ad(+Qo) : Ec.flags & 256 ? Ec : jc.flags & 256 && jc.value === +Qo ? jc : Ec.flags & 64 ? Ec : jc.flags & 64 ? Unt(Qo) : Ec.flags & 2048 ? Ec : jc.flags & 2048 && Jb(jc.value) === Qo ? jc : Ec.flags & 16 ? Ec : jc.flags & 16 ? Qo === "true" ? Ye : Qo === "false" ? Mr : Jt : Ec.flags & 512 ? Ec : jc.flags & 512 && jc.intrinsicName === Qo ? jc : Ec.flags & 32768 ? Ec : jc.flags & 32768 && jc.intrinsicName === Qo ? jc : Ec.flags & 65536 ? Ec : jc.flags & 65536 && jc.intrinsicName === Qo ? jc : Ec : Ec, Kt);
                      if (!(Tf.flags & 131072)) {
                        de(Tf, So);
                        continue;
                      }
                    }
                  }
                }
                de(Da, So);
              }
          }
          function Fs(kr, Tr) {
            de(Uf(kr), Uf(Tr)), de(Kh(kr), Kh(Tr));
            const di = cy(kr), zr = cy(Tr);
            di && zr && de(di, zr);
          }
          function Qa(kr, Tr) {
            var di, zr;
            if (Cn(kr) & 4 && Cn(Tr) & 4 && (kr.target === Tr.target || gp(kr) && gp(Tr))) {
              Gr(Io(kr), Io(Tr), wpe(kr.target));
              return;
            }
            if (T_(kr) && T_(Tr) && Fs(kr, Tr), Cn(Tr) & 32 && !Tr.declaration.nameType) {
              const Ki = Uf(Tr);
              if (wi(kr, Tr, Ki))
                return;
            }
            if (!Wnt(kr, Tr)) {
              if (nb(kr)) {
                if (va(Tr)) {
                  const Ki = _y(kr), Da = _y(Tr), So = Io(Tr), Gc = Tr.target.elementFlags;
                  if (va(kr) && bnt(kr, Tr)) {
                    for (let Rc = 0; Rc < Da; Rc++)
                      de(Io(kr)[Rc], So[Rc]);
                    return;
                  }
                  const wa = va(kr) ? Math.min(kr.target.fixedLength, Tr.target.fixedLength) : 0, k_ = Math.min(va(kr) ? X8(
                    kr.target,
                    3
                    /* Fixed */
                  ) : 0, Tr.target.combinedFlags & 12 ? X8(
                    Tr.target,
                    3
                    /* Fixed */
                  ) : 0);
                  for (let Rc = 0; Rc < wa; Rc++)
                    de(Io(kr)[Rc], So[Rc]);
                  if (!va(kr) || Ki - wa - k_ === 1 && kr.target.elementFlags[wa] & 4) {
                    const Rc = Io(kr)[wa];
                    for (let Qo = wa; Qo < Da - k_; Qo++)
                      de(Gc[Qo] & 8 ? du(Rc) : Rc, So[Qo]);
                  } else {
                    const Rc = Da - wa - k_;
                    if (Rc === 2) {
                      if (Gc[wa] & Gc[wa + 1] & 8) {
                        const Qo = Yt(So[wa]);
                        Qo && Qo.impliedArity !== void 0 && (de(iP(kr, wa, k_ + Ki - Qo.impliedArity), So[wa]), de(iP(kr, wa + Qo.impliedArity, k_), So[wa + 1]));
                      } else if (Gc[wa] & 8 && Gc[wa + 1] & 4) {
                        const Qo = (di = Yt(So[wa])) == null ? void 0 : di.typeParameter, Tf = Qo && ru(Qo);
                        if (Tf && va(Tf) && !(Tf.target.combinedFlags & 12)) {
                          const Ec = Tf.target.fixedLength;
                          de(iP(kr, wa, Ki - (wa + Ec)), So[wa]), de(oP(kr, wa + Ec, k_), So[wa + 1]);
                        }
                      } else if (Gc[wa] & 4 && Gc[wa + 1] & 8) {
                        const Qo = (zr = Yt(So[wa + 1])) == null ? void 0 : zr.typeParameter, Tf = Qo && ru(Qo);
                        if (Tf && va(Tf) && !(Tf.target.combinedFlags & 12)) {
                          const Ec = Tf.target.fixedLength, jc = Ki - X8(
                            Tr.target,
                            3
                            /* Fixed */
                          ), hy = jc - Ec, QE = vg(
                            Io(kr).slice(hy, jc),
                            kr.target.elementFlags.slice(hy, jc),
                            /*readonly*/
                            !1,
                            kr.target.labeledElementDeclarations && kr.target.labeledElementDeclarations.slice(hy, jc)
                          );
                          de(oP(kr, wa, k_ + Ec), So[wa]), de(QE, So[wa + 1]);
                        }
                      }
                    } else if (Rc === 1 && Gc[wa] & 8) {
                      const Qo = Tr.target.elementFlags[Da - 1] & 2, Tf = iP(kr, wa, k_);
                      Ge(Tf, So[wa], Qo ? 2 : 0);
                    } else if (Rc === 1 && Gc[wa] & 4) {
                      const Qo = oP(kr, wa, k_);
                      Qo && de(Qo, So[wa]);
                    }
                  }
                  for (let Rc = 0; Rc < k_; Rc++)
                    de(Io(kr)[Ki - Rc - 1], So[Da - Rc - 1]);
                  return;
                }
                if (gp(Tr)) {
                  sc(kr, Tr);
                  return;
                }
              }
              bs(kr, Tr), wu(
                kr,
                Tr,
                0
                /* Call */
              ), wu(
                kr,
                Tr,
                1
                /* Construct */
              ), sc(kr, Tr);
            }
          }
          function bs(kr, Tr) {
            const di = ly(Tr);
            for (const zr of di) {
              const Ki = Zs(kr, zr.escapedName);
              Ki && !at(Ki.declarations, Hpe) && de(
                o0(Qr(Ki), !!(Ki.flags & 16777216)),
                o0(Qr(zr), !!(zr.flags & 16777216))
              );
            }
          }
          function wu(kr, Tr, di) {
            const zr = As(kr, di), Ki = zr.length;
            if (Ki > 0) {
              const Da = As(Tr, di), So = Da.length;
              for (let Gc = 0; Gc < So; Gc++) {
                const wa = Math.max(Ki - So + Gc, 0);
                Rl(Xet(zr[wa]), $8(Da[Gc]));
              }
            }
          }
          function Rl(kr, Tr) {
            if (!(kr.flags & 64)) {
              const di = y, zr = Tr.declaration ? Tr.declaration.kind : 0;
              y = y || zr === 174 || zr === 173 || zr === 176, Rpe(kr, Tr, sr), y = di;
            }
            jpe(kr, Tr, de);
          }
          function sc(kr, Tr) {
            const di = Cn(kr) & Cn(Tr) & 32 ? 8 : 0, zr = pu(Tr);
            if (x$(kr))
              for (const Ki of zr) {
                const Da = [];
                for (const So of Ga(kr))
                  if (Kk(rC(
                    So,
                    8576
                    /* StringOrNumberLiteralOrUnique */
                  ), Ki.keyType)) {
                    const Gc = Qr(So);
                    Da.push(So.flags & 16777216 ? T$(Gc) : Gc);
                  }
                for (const So of pu(kr))
                  Kk(So.keyType, Ki.keyType) && Da.push(So.type);
                Da.length && Ge(Gn(Da), Ki.type, di);
              }
            for (const Ki of zr) {
              const Da = U8(kr, Ki.keyType);
              Da && Ge(Da.type, Ki.type, di);
            }
          }
        }
        function Gnt(r, a) {
          return a === ye ? r === a : gh(r, a) || !!(a.flags & 4 && r.flags & 128 || a.flags & 8 && r.flags & 256);
        }
        function $nt(r, a) {
          return !!(r.flags & 524288 && a.flags & 524288 && r.symbol && r.symbol === a.symbol || r.aliasSymbol && r.aliasTypeArguments && r.aliasSymbol === a.aliasSymbol);
        }
        function Xnt(r) {
          const a = a_(r);
          return !!a && Cc(
            a.flags & 16777216 ? Dfe(a) : a,
            406978556
            /* StringMapping */
          );
        }
        function dy(r) {
          return !!(Cn(r) & 128);
        }
        function Gpe(r) {
          return !!(Cn(r) & 16512);
        }
        function Qnt(r) {
          if (r.length > 1) {
            const a = Tn(r, Gpe);
            if (a.length) {
              const l = Gn(
                a,
                2
                /* Subtype */
              );
              return Ji(Tn(r, (f) => !Gpe(f)), [l]);
            }
          }
          return r;
        }
        function Ynt(r) {
          return r.priority & 416 ? aa(r.contraCandidates) : dnt(r.contraCandidates);
        }
        function Znt(r, a) {
          const l = Qnt(r.candidates), f = Xnt(r.typeParameter) || TT(r.typeParameter), d = !f && r.topLevel && (r.isFixed || !Mnt(a, r.typeParameter)), y = f ? $c(l, qu) : d ? $c(l, ib) : l, x = r.priority & 416 ? Gn(
            y,
            2
            /* Subtype */
          ) : pnt(y);
          return _f(x);
        }
        function $pe(r, a) {
          const l = r.inferences[a];
          if (!l.inferredType) {
            let f, d;
            if (r.signature) {
              const x = l.candidates ? Znt(l, r.signature) : void 0, I = l.contraCandidates ? Ynt(l) : void 0;
              if (x || I) {
                const R = x && (!I || !(x.flags & 131073) && at(l.contraCandidates, (J) => js(x, J)) && Pi(r.inferences, (J) => J !== l && a_(J.typeParameter) !== l.typeParameter || Pi(J.candidates, (Y) => js(Y, x))));
                f = R ? x : I, d = R ? I : x;
              } else if (r.flags & 1)
                f = Mt;
              else {
                const R = M2(l.typeParameter);
                R && (f = ji(R, Ert(Crt(r, a), r.nonFixingMapper)));
              }
            } else
              f = iAe(l);
            l.inferredType = f || Xpe(!!(r.flags & 2));
            const y = a_(l.typeParameter);
            if (y) {
              const x = ji(y, r.nonFixingMapper);
              (!f || !r.compareTypes(f, uf(x, f))) && (l.inferredType = d && r.compareTypes(d, uf(x, d)) ? d : x);
            }
          }
          return l.inferredType;
        }
        function Xpe(r) {
          return r ? Ie : mt;
        }
        function Qpe(r) {
          const a = [];
          for (let l = 0; l < r.inferences.length; l++)
            a.push($pe(r, l));
          return a;
        }
        function uAe(r) {
          switch (r.escapedText) {
            case "document":
            case "console":
              return p.Cannot_find_name_0_Do_you_need_to_change_your_target_library_Try_changing_the_lib_compiler_option_to_include_dom;
            case "$":
              return F.types ? p.Cannot_find_name_0_Do_you_need_to_install_type_definitions_for_jQuery_Try_npm_i_save_dev_types_Slashjquery_and_then_add_jquery_to_the_types_field_in_your_tsconfig : p.Cannot_find_name_0_Do_you_need_to_install_type_definitions_for_jQuery_Try_npm_i_save_dev_types_Slashjquery;
            case "describe":
            case "suite":
            case "it":
            case "test":
              return F.types ? p.Cannot_find_name_0_Do_you_need_to_install_type_definitions_for_a_test_runner_Try_npm_i_save_dev_types_Slashjest_or_npm_i_save_dev_types_Slashmocha_and_then_add_jest_or_mocha_to_the_types_field_in_your_tsconfig : p.Cannot_find_name_0_Do_you_need_to_install_type_definitions_for_a_test_runner_Try_npm_i_save_dev_types_Slashjest_or_npm_i_save_dev_types_Slashmocha;
            case "process":
            case "require":
            case "Buffer":
            case "module":
              return F.types ? p.Cannot_find_name_0_Do_you_need_to_install_type_definitions_for_node_Try_npm_i_save_dev_types_Slashnode_and_then_add_node_to_the_types_field_in_your_tsconfig : p.Cannot_find_name_0_Do_you_need_to_install_type_definitions_for_node_Try_npm_i_save_dev_types_Slashnode;
            case "Bun":
              return F.types ? p.Cannot_find_name_0_Do_you_need_to_install_type_definitions_for_Bun_Try_npm_i_save_dev_types_Slashbun_and_then_add_bun_to_the_types_field_in_your_tsconfig : p.Cannot_find_name_0_Do_you_need_to_install_type_definitions_for_Bun_Try_npm_i_save_dev_types_Slashbun;
            case "Map":
            case "Set":
            case "Promise":
            case "Symbol":
            case "WeakMap":
            case "WeakSet":
            case "Iterator":
            case "AsyncIterator":
            case "SharedArrayBuffer":
            case "Atomics":
            case "AsyncIterable":
            case "AsyncIterableIterator":
            case "AsyncGenerator":
            case "AsyncGeneratorFunction":
            case "BigInt":
            case "Reflect":
            case "BigInt64Array":
            case "BigUint64Array":
              return p.Cannot_find_name_0_Do_you_need_to_change_your_target_library_Try_changing_the_lib_compiler_option_to_1_or_later;
            case "await":
              if (Ms(r.parent))
                return p.Cannot_find_name_0_Did_you_mean_to_write_this_in_an_async_function;
            // falls through
            default:
              return r.parent.kind === 304 ? p.No_value_exists_in_scope_for_the_shorthand_property_0_Either_declare_one_or_provide_an_initializer : p.Cannot_find_name_0;
          }
        }
        function Du(r) {
          const a = yn(r);
          return a.resolvedSymbol || (a.resolvedSymbol = !cc(r) && it(
            r,
            r,
            1160127,
            uAe(r),
            !A5(r),
            /*excludeGlobals*/
            !1
          ) || Q), a.resolvedSymbol;
        }
        function Ype(r) {
          return !!(r.flags & 33554432 || _r(r, (a) => Yl(a) || Ap(a) || Yu(a)));
        }
        function TM(r, a, l, f) {
          switch (r.kind) {
            case 80:
              if (!Lb(r)) {
                const x = Du(r);
                return x !== Q ? `${f ? Oa(f) : "-1"}|${Ll(a)}|${Ll(l)}|${ea(x)}` : void 0;
              }
            // falls through
            case 110:
              return `0|${f ? Oa(f) : "-1"}|${Ll(a)}|${Ll(l)}`;
            case 235:
            case 217:
              return TM(r.expression, a, l, f);
            case 166:
              const d = TM(r.left, a, l, f);
              return d && `${d}.${r.right.escapedText}`;
            case 211:
            case 212:
              const y = AT(r);
              if (y !== void 0) {
                const x = TM(r.expression, a, l, f);
                return x && `${x}.${y}`;
              }
              if (fo(r) && Fe(r.argumentExpression)) {
                const x = Du(r.argumentExpression);
                if (cC(x) || fI(x) && !_I(x)) {
                  const I = TM(r.expression, a, l, f);
                  return I && `${I}.@${ea(x)}`;
                }
              }
              break;
            case 206:
            case 207:
            case 262:
            case 218:
            case 219:
            case 174:
              return `${Oa(r)}#${Ll(a)}`;
          }
        }
        function Ul(r, a) {
          switch (a.kind) {
            case 217:
            case 235:
              return Ul(r, a.expression);
            case 226:
              return wl(a) && Ul(r, a.left) || _n(a) && a.operatorToken.kind === 28 && Ul(r, a.right);
          }
          switch (r.kind) {
            case 236:
              return a.kind === 236 && r.keywordToken === a.keywordToken && r.name.escapedText === a.name.escapedText;
            case 80:
            case 81:
              return Lb(r) ? a.kind === 110 : a.kind === 80 && Du(r) === Du(a) || (Zn(a) || ya(a)) && L_(Du(r)) === vn(a);
            case 110:
              return a.kind === 110;
            case 108:
              return a.kind === 108;
            case 235:
            case 217:
            case 238:
              return Ul(r.expression, a);
            case 211:
            case 212:
              const l = AT(r);
              if (l !== void 0) {
                const f = ko(a) ? AT(a) : void 0;
                if (f !== void 0)
                  return f === l && Ul(r.expression, a.expression);
              }
              if (fo(r) && fo(a) && Fe(r.argumentExpression) && Fe(a.argumentExpression)) {
                const f = Du(r.argumentExpression);
                if (f === Du(a.argumentExpression) && (cC(f) || fI(f) && !_I(f)))
                  return Ul(r.expression, a.expression);
              }
              break;
            case 166:
              return ko(a) && r.right.escapedText === AT(a) && Ul(r.left, a.expression);
            case 226:
              return _n(r) && r.operatorToken.kind === 28 && Ul(r.right, a);
          }
          return !1;
        }
        function AT(r) {
          if (kn(r))
            return r.name.escapedText;
          if (fo(r))
            return Knt(r);
          if (ya(r)) {
            const a = Ui(r);
            return a ? ec(a) : void 0;
          }
          if (Ni(r))
            return "" + r.parent.parameters.indexOf(r);
        }
        function Zpe(r) {
          return r.flags & 8192 ? r.escapedName : r.flags & 384 ? ec("" + r.value) : void 0;
        }
        function Knt(r) {
          return wf(r.argumentExpression) ? ec(r.argumentExpression.text) : to(r.argumentExpression) ? eit(r.argumentExpression) : void 0;
        }
        function eit(r) {
          const a = mc(
            r,
            111551,
            /*ignoreErrors*/
            !0
          );
          if (!a || !(cC(a) || a.flags & 8)) return;
          const l = a.valueDeclaration;
          if (l === void 0) return;
          const f = Qv(l);
          if (f) {
            const d = Zpe(f);
            if (d !== void 0)
              return d;
          }
          if (_S(l) && km(l, r)) {
            const d = E3(l);
            if (d) {
              const y = Ps(l.parent) ? so(l) : iu(d);
              return y && Zpe(y);
            }
            if (A0(l))
              return ux(l.name);
          }
        }
        function _Ae(r, a) {
          for (; ko(r); )
            if (r = r.expression, Ul(r, a))
              return !0;
          return !1;
        }
        function IT(r, a) {
          for (; hu(r); )
            if (r = r.expression, Ul(r, a))
              return !0;
          return !1;
        }
        function cP(r, a) {
          if (r && r.flags & 1048576) {
            const l = a3e(r, a);
            if (l && lc(l) & 2)
              return l.links.isDiscriminantProperty === void 0 && (l.links.isDiscriminantProperty = (l.links.checkFlags & 192) === 192 && !tb(Qr(l))), !!l.links.isDiscriminantProperty;
          }
          return !1;
        }
        function fAe(r, a) {
          let l;
          for (const f of r)
            if (cP(a, f.escapedName)) {
              if (l) {
                l.push(f);
                continue;
              }
              l = [f];
            }
          return l;
        }
        function tit(r, a) {
          const l = /* @__PURE__ */ new Map();
          let f = 0;
          for (const d of r)
            if (d.flags & 61603840) {
              const y = qc(d, a);
              if (y) {
                if (!iI(y))
                  return;
                let x = !1;
                OT(y, (I) => {
                  const R = Ll(qu(I)), J = l.get(R);
                  J ? J !== mt && (l.set(R, mt), x = !0) : l.set(R, d);
                }), x || f++;
              }
            }
          return f >= 10 && f * 2 >= r.length ? l : void 0;
        }
        function xM(r) {
          const a = r.types;
          if (!(a.length < 10 || Cn(r) & 32768 || d0(a, (l) => !!(l.flags & 59506688)) < 10)) {
            if (r.keyPropertyName === void 0) {
              const l = ar(a, (d) => d.flags & 59506688 ? ar(Ga(d), (y) => Bd(Qr(y)) ? y.escapedName : void 0) : void 0), f = l && tit(a, l);
              r.keyPropertyName = f ? l : "", r.constituentMap = f;
            }
            return r.keyPropertyName.length ? r.keyPropertyName : void 0;
          }
        }
        function kM(r, a) {
          var l;
          const f = (l = r.constituentMap) == null ? void 0 : l.get(Ll(qu(a)));
          return f !== mt ? f : void 0;
        }
        function pAe(r, a) {
          const l = xM(r), f = l && qc(a, l);
          return f && kM(r, f);
        }
        function rit(r, a) {
          const l = xM(r), f = l && Dn(a.properties, (y) => y.symbol && y.kind === 303 && y.symbol.escapedName === l && FM(y.initializer)), d = f && KM(f.initializer);
          return d && kM(r, d);
        }
        function dAe(r, a) {
          return Ul(r, a) || _Ae(r, a);
        }
        function mAe(r, a) {
          if (r.arguments) {
            for (const l of r.arguments)
              if (dAe(a, l) || IT(l, a))
                return !0;
          }
          return !!(r.expression.kind === 211 && dAe(a, r.expression.expression));
        }
        function Kpe(r) {
          return r.id <= 0 && (r.id = P1e, P1e++), r.id;
        }
        function nit(r, a) {
          if (!(r.flags & 1048576))
            return js(r, a);
          for (const l of r.types)
            if (js(l, a))
              return !0;
          return !1;
        }
        function iit(r, a) {
          if (r === a)
            return r;
          if (a.flags & 131072)
            return a;
          const l = `A${Ll(r)},${Ll(a)}`;
          return wd(l) ?? v1(l, sit(r, a));
        }
        function sit(r, a) {
          const l = Hc(r, (d) => nit(a, d)), f = a.flags & 512 && J2(a) ? Ho(l, sC) : l;
          return js(a, f) ? f : r;
        }
        function ede(r) {
          if (Cn(r) & 256)
            return !1;
          const a = jd(r);
          return !!(a.callSignatures.length || a.constructSignatures.length || a.members.get("bind") && U2(r, It));
        }
        function JE(r, a) {
          return tde(r, a) & a;
        }
        function Jd(r, a) {
          return JE(r, a) !== 0;
        }
        function tde(r, a) {
          r.flags & 467927040 && (r = ru(r) || mt);
          const l = r.flags;
          if (l & 268435460)
            return K ? 16317953 : 16776705;
          if (l & 134217856) {
            const f = l & 128 && r.value === "";
            return K ? f ? 12123649 : 7929345 : f ? 12582401 : 16776705;
          }
          if (l & 40)
            return K ? 16317698 : 16776450;
          if (l & 256) {
            const f = r.value === 0;
            return K ? f ? 12123394 : 7929090 : f ? 12582146 : 16776450;
          }
          if (l & 64)
            return K ? 16317188 : 16775940;
          if (l & 2048) {
            const f = QNe(r);
            return K ? f ? 12122884 : 7928580 : f ? 12581636 : 16775940;
          }
          return l & 16 ? K ? 16316168 : 16774920 : l & 528 ? K ? r === Mr || r === Rr ? 12121864 : 7927560 : r === Mr || r === Rr ? 12580616 : 16774920 : l & 524288 ? (a & (K ? 83427327 : 83886079)) === 0 ? 0 : Cn(r) & 16 && i0(r) ? K ? 83427327 : 83886079 : ede(r) ? K ? 7880640 : 16728e3 : K ? 7888800 : 16736160 : l & 16384 ? 9830144 : l & 32768 ? 26607360 : l & 65536 ? 42917664 : l & 12288 ? K ? 7925520 : 16772880 : l & 67108864 ? K ? 7888800 : 16736160 : l & 131072 ? 0 : l & 1048576 ? Hu(
            r.types,
            (f, d) => f | tde(d, a),
            0
            /* None */
          ) : l & 2097152 ? ait(r, a) : 83886079;
        }
        function ait(r, a) {
          const l = Cc(
            r,
            402784252
            /* Primitive */
          );
          let f = 0, d = 134217727;
          for (const y of r.types)
            if (!(l && y.flags & 524288)) {
              const x = tde(y, a);
              f |= x, d &= x;
            }
          return f & 8256 | d & 134209471;
        }
        function hp(r, a) {
          return Hc(r, (l) => Jd(l, a));
        }
        function FT(r, a) {
          const l = rde(hp(K && r.flags & 2 ? Ca : r, a));
          if (K)
            switch (a) {
              case 524288:
                return gAe(l, 65536, 131072, 33554432, jt);
              case 1048576:
                return gAe(l, 131072, 65536, 16777216, _e);
              case 2097152:
              case 4194304:
                return Ho(l, (f) => Jd(
                  f,
                  262144
                  /* EQUndefinedOrNull */
                ) ? xnt(f) : f);
            }
          return l;
        }
        function gAe(r, a, l, f, d) {
          const y = JE(
            r,
            50528256
            /* IsNull */
          );
          if (!(y & a))
            return r;
          const x = Gn([Pa, d]);
          return Ho(r, (I) => Jd(I, a) ? aa([I, !(y & f) && Jd(I, l) ? x : Pa]) : I);
        }
        function rde(r) {
          return r === Ca ? mt : r;
        }
        function nde(r, a) {
          return a ? Gn([Ln(r), iu(a)]) : r;
        }
        function hAe(r, a) {
          var l;
          const f = t0(a);
          if (!ip(f)) return Ve;
          const d = sp(f);
          return qc(r, d) || uI((l = eC(r, d)) == null ? void 0 : l.type) || Ve;
        }
        function yAe(r, a) {
          return j_(r, aP) && qNe(r, a) || uI(my(
            65,
            r,
            _e,
            /*errorNode*/
            void 0
          )) || Ve;
        }
        function uI(r) {
          return r && (F.noUncheckedIndexedAccess ? Gn([r, ye]) : r);
        }
        function vAe(r) {
          return du(my(
            65,
            r,
            _e,
            /*errorNode*/
            void 0
          ) || Ve);
        }
        function oit(r) {
          return r.parent.kind === 209 && ide(r.parent) || r.parent.kind === 303 && ide(r.parent.parent) ? nde(CM(r), r.right) : iu(r.right);
        }
        function ide(r) {
          return r.parent.kind === 226 && r.parent.left === r || r.parent.kind === 250 && r.parent.initializer === r;
        }
        function cit(r, a) {
          return yAe(CM(r), r.elements.indexOf(a));
        }
        function lit(r) {
          return vAe(CM(r.parent));
        }
        function bAe(r) {
          return hAe(CM(r.parent), r.name);
        }
        function uit(r) {
          return nde(bAe(r), r.objectAssignmentInitializer);
        }
        function CM(r) {
          const { parent: a } = r;
          switch (a.kind) {
            case 249:
              return st;
            case 250:
              return aR(a) || Ve;
            case 226:
              return oit(a);
            case 220:
              return _e;
            case 209:
              return cit(a, r);
            case 230:
              return lit(a);
            case 303:
              return bAe(a);
            case 304:
              return uit(a);
          }
          return Ve;
        }
        function _it(r) {
          const a = r.parent, l = TAe(a.parent), f = a.kind === 206 ? hAe(l, r.propertyName || r.name) : r.dotDotDotToken ? vAe(l) : yAe(l, a.elements.indexOf(r));
          return nde(f, r.initializer);
        }
        function SAe(r) {
          return yn(r).resolvedType || iu(r);
        }
        function fit(r) {
          return r.initializer ? SAe(r.initializer) : r.parent.parent.kind === 249 ? st : r.parent.parent.kind === 250 && aR(r.parent.parent) || Ve;
        }
        function TAe(r) {
          return r.kind === 260 ? fit(r) : _it(r);
        }
        function pit(r) {
          return r.kind === 260 && r.initializer && zp(r.initializer) || r.kind !== 208 && r.parent.kind === 226 && zp(r.parent.right);
        }
        function H2(r) {
          switch (r.kind) {
            case 217:
              return H2(r.expression);
            case 226:
              switch (r.operatorToken.kind) {
                case 64:
                case 76:
                case 77:
                case 78:
                  return H2(r.left);
                case 28:
                  return H2(r.right);
              }
          }
          return r;
        }
        function xAe(r) {
          const { parent: a } = r;
          return a.kind === 217 || a.kind === 226 && a.operatorToken.kind === 64 && a.left === r || a.kind === 226 && a.operatorToken.kind === 28 && a.right === r ? xAe(a) : r;
        }
        function dit(r) {
          return r.kind === 296 ? qu(iu(r.expression)) : Kt;
        }
        function N$(r) {
          const a = yn(r);
          if (!a.switchTypes) {
            a.switchTypes = [];
            for (const l of r.caseBlock.clauses)
              a.switchTypes.push(dit(l));
          }
          return a.switchTypes;
        }
        function kAe(r) {
          if (at(r.caseBlock.clauses, (l) => l.kind === 296 && !Ba(l.expression)))
            return;
          const a = [];
          for (const l of r.caseBlock.clauses) {
            const f = l.kind === 296 ? l.expression.text : void 0;
            a.push(f && !_s(a, f) ? f : void 0);
          }
          return a;
        }
        function mit(r, a) {
          return r.flags & 1048576 ? !ar(r.types, (l) => !_s(a, l)) : _s(a, r);
        }
        function lP(r, a) {
          return !!(r === a || r.flags & 131072 || a.flags & 1048576 && git(r, a));
        }
        function git(r, a) {
          if (r.flags & 1048576) {
            for (const l of r.types)
              if (!mh(a.types, l))
                return !1;
            return !0;
          }
          return r.flags & 1056 && RG(r) === a ? !0 : mh(a.types, r);
        }
        function OT(r, a) {
          return r.flags & 1048576 ? ar(r.types, a) : a(r);
        }
        function yp(r, a) {
          return r.flags & 1048576 ? at(r.types, a) : a(r);
        }
        function j_(r, a) {
          return r.flags & 1048576 ? Pi(r.types, a) : a(r);
        }
        function hit(r, a) {
          return r.flags & 3145728 ? Pi(r.types, a) : a(r);
        }
        function Hc(r, a) {
          if (r.flags & 1048576) {
            const l = r.types, f = Tn(l, a);
            if (f === l)
              return r;
            const d = r.origin;
            let y;
            if (d && d.flags & 1048576) {
              const x = d.types, I = Tn(x, (R) => !!(R.flags & 1048576) || a(R));
              if (x.length - I.length === l.length - f.length) {
                if (I.length === 1)
                  return I[0];
                y = tpe(1048576, I);
              }
            }
            return npe(
              f,
              r.objectFlags & 16809984,
              /*aliasSymbol*/
              void 0,
              /*aliasTypeArguments*/
              void 0,
              y
            );
          }
          return r.flags & 131072 || a(r) ? r : Kt;
        }
        function A$(r, a) {
          return Hc(r, (l) => l !== a);
        }
        function yit(r) {
          return r.flags & 1048576 ? r.types.length : 1;
        }
        function Ho(r, a, l) {
          if (r.flags & 131072)
            return r;
          if (!(r.flags & 1048576))
            return a(r);
          const f = r.origin, d = f && f.flags & 1048576 ? f.types : r.types;
          let y, x = !1;
          for (const I of d) {
            const R = I.flags & 1048576 ? Ho(I, a, l) : a(I);
            x || (x = I !== R), R && (y ? y.push(R) : y = [R]);
          }
          return x ? y && Gn(
            y,
            l ? 0 : 1
            /* Literal */
          ) : r;
        }
        function CAe(r, a, l, f) {
          return r.flags & 1048576 && l ? Gn(fr(r.types, a), 1, l, f) : Ho(r, a);
        }
        function uP(r, a) {
          return Hc(r, (l) => (l.flags & a) !== 0);
        }
        function EAe(r, a) {
          return Cc(
            r,
            134217804
            /* BigInt */
          ) && Cc(
            a,
            402655616
            /* BigIntLiteral */
          ) ? Ho(r, (l) => l.flags & 4 ? uP(
            a,
            402653316
            /* StringMapping */
          ) : CT(l) && !Cc(
            a,
            402653188
            /* StringMapping */
          ) ? uP(
            a,
            128
            /* StringLiteral */
          ) : l.flags & 8 ? uP(
            a,
            264
            /* NumberLiteral */
          ) : l.flags & 64 ? uP(
            a,
            2112
            /* BigIntLiteral */
          ) : l) : r;
        }
        function zE(r) {
          return r.flags === 0;
        }
        function LT(r) {
          return r.flags === 0 ? r.type : r;
        }
        function WE(r, a) {
          return a ? { flags: 0, type: r.flags & 131072 ? Mt : r } : r;
        }
        function vit(r) {
          const a = ir(
            256
            /* EvolvingArray */
          );
          return a.elementType = r, a;
        }
        function sde(r) {
          return Et[r.id] || (Et[r.id] = vit(r));
        }
        function DAe(r, a) {
          const l = oI(s0(KM(a)));
          return lP(l, r.elementType) ? r : sde(Gn([r.elementType, l]));
        }
        function bit(r) {
          return r.flags & 131072 ? ul : du(
            r.flags & 1048576 ? Gn(
              r.types,
              2
              /* Subtype */
            ) : r
          );
        }
        function Sit(r) {
          return r.finalArrayType || (r.finalArrayType = bit(r.elementType));
        }
        function EM(r) {
          return Cn(r) & 256 ? Sit(r) : r;
        }
        function Tit(r) {
          return Cn(r) & 256 ? r.elementType : Kt;
        }
        function xit(r) {
          let a = !1;
          for (const l of r)
            if (!(l.flags & 131072)) {
              if (!(Cn(l) & 256))
                return !1;
              a = !0;
            }
          return a;
        }
        function wAe(r) {
          const a = xAe(r), l = a.parent, f = kn(l) && (l.name.escapedText === "length" || l.parent.kind === 213 && Fe(l.name) && OB(l.name)), d = l.kind === 212 && l.expression === a && l.parent.kind === 226 && l.parent.operatorToken.kind === 64 && l.parent.left === l && !Gy(l.parent) && nu(
            iu(l.argumentExpression),
            296
            /* NumberLike */
          );
          return f || d;
        }
        function kit(r) {
          return (Zn(r) || is(r) || ju(r) || Ni(r)) && !!(Yc(r) || tn(r) && y0(r) && r.initializer && Ky(r.initializer) && mf(r.initializer));
        }
        function I$(r, a) {
          if (r = dc(r), r.flags & 8752)
            return Qr(r);
          if (r.flags & 7) {
            if (lc(r) & 262144) {
              const f = r.links.syntheticOrigin;
              if (f && I$(f))
                return Qr(r);
            }
            const l = r.valueDeclaration;
            if (l) {
              if (kit(l))
                return Qr(r);
              if (Zn(l) && l.parent.parent.kind === 250) {
                const f = l.parent.parent, d = DM(
                  f.expression,
                  /*diagnostic*/
                  void 0
                );
                if (d) {
                  const y = f.awaitModifier ? 15 : 13;
                  return my(
                    y,
                    d,
                    _e,
                    /*errorNode*/
                    void 0
                  );
                }
              }
              a && Ws(a, Kr(l, p._0_needs_an_explicit_type_annotation, Bi(r)));
            }
          }
        }
        function DM(r, a) {
          if (!(r.flags & 67108864))
            switch (r.kind) {
              case 80:
                const l = L_(Du(r));
                return I$(l, a);
              case 110:
                return qit(r);
              case 108:
                return j$(r);
              case 211: {
                const f = DM(r.expression, a);
                if (f) {
                  const d = r.name;
                  let y;
                  if (Di(d)) {
                    if (!f.symbol)
                      return;
                    y = Zs(f, z3(f.symbol, d.escapedText));
                  } else
                    y = Zs(f, d.escapedText);
                  return y && I$(y, a);
                }
                return;
              }
              case 217:
                return DM(r.expression, a);
            }
        }
        function wM(r) {
          const a = yn(r);
          let l = a.effectsSignature;
          if (l === void 0) {
            let f;
            if (_n(r)) {
              const x = UE(r.right);
              f = ame(x);
            } else r.parent.kind === 244 ? f = DM(
              r.expression,
              /*diagnostic*/
              void 0
            ) : r.expression.kind !== 108 && (hu(r) ? f = Mm(
              sI(Hi(r.expression), r.expression),
              r.expression
            ) : f = UE(r.expression));
            const d = As(
              f && Uu(f) || mt,
              0
              /* Call */
            ), y = d.length === 1 && !d[0].typeParameters ? d[0] : at(d, PAe) ? HE(r) : void 0;
            l = a.effectsSignature = y && PAe(y) ? y : Vn;
          }
          return l === Vn ? void 0 : l;
        }
        function PAe(r) {
          return !!(dp(r) || r.declaration && (FE(r.declaration) || mt).flags & 131072);
        }
        function Cit(r, a) {
          if (r.kind === 1 || r.kind === 3)
            return a.arguments[r.parameterIndex];
          const l = za(a.expression);
          return ko(l) ? za(l.expression) : void 0;
        }
        function Eit(r) {
          const a = _r(r, Rj), l = Er(r), f = Xd(l, a.statements.pos);
          Ia.add(al(l, f.start, f.length, p.The_containing_function_or_module_body_is_too_large_for_control_flow_analysis));
        }
        function PM(r) {
          const a = F$(
            r,
            /*noCacheCheck*/
            !1
          );
          return pn = r, Pr = a, a;
        }
        function NM(r) {
          const a = za(
            r,
            /*excludeJSDocTypeAssertions*/
            !0
          );
          return a.kind === 97 || a.kind === 226 && (a.operatorToken.kind === 56 && (NM(a.left) || NM(a.right)) || a.operatorToken.kind === 57 && NM(a.left) && NM(a.right));
        }
        function F$(r, a) {
          for (; ; ) {
            if (r === pn)
              return Pr;
            const l = r.flags;
            if (l & 4096) {
              if (!a) {
                const f = Kpe(r), d = Ck[f];
                return d !== void 0 ? d : Ck[f] = F$(
                  r,
                  /*noCacheCheck*/
                  !0
                );
              }
              a = !1;
            }
            if (l & 368)
              r = r.antecedent;
            else if (l & 512) {
              const f = wM(r.node);
              if (f) {
                const d = dp(f);
                if (d && d.kind === 3 && !d.type) {
                  const y = r.node.arguments[d.parameterIndex];
                  if (y && NM(y))
                    return !1;
                }
                if (Va(f).flags & 131072)
                  return !1;
              }
              r = r.antecedent;
            } else {
              if (l & 4)
                return at(r.antecedent, (f) => F$(
                  f,
                  /*noCacheCheck*/
                  !1
                ));
              if (l & 8) {
                const f = r.antecedent;
                if (f === void 0 || f.length === 0)
                  return !1;
                r = f[0];
              } else if (l & 128) {
                const f = r.node;
                if (f.clauseStart === f.clauseEnd && SIe(f.switchStatement))
                  return !1;
                r = r.antecedent;
              } else if (l & 1024) {
                pn = void 0;
                const f = r.node.target, d = f.antecedent;
                f.antecedent = r.node.antecedents;
                const y = F$(
                  r.antecedent,
                  /*noCacheCheck*/
                  !1
                );
                return f.antecedent = d, y;
              } else
                return !(l & 1);
            }
          }
        }
        function O$(r, a) {
          for (; ; ) {
            const l = r.flags;
            if (l & 4096) {
              if (!a) {
                const f = Kpe(r), d = sT[f];
                return d !== void 0 ? d : sT[f] = O$(
                  r,
                  /*noCacheCheck*/
                  !0
                );
              }
              a = !1;
            }
            if (l & 496)
              r = r.antecedent;
            else if (l & 512) {
              if (r.node.expression.kind === 108)
                return !0;
              r = r.antecedent;
            } else {
              if (l & 4)
                return Pi(r.antecedent, (f) => O$(
                  f,
                  /*noCacheCheck*/
                  !1
                ));
              if (l & 8)
                r = r.antecedent[0];
              else if (l & 1024) {
                const f = r.node.target, d = f.antecedent;
                f.antecedent = r.node.antecedents;
                const y = O$(
                  r.antecedent,
                  /*noCacheCheck*/
                  !1
                );
                return f.antecedent = d, y;
              } else
                return !!(l & 1);
            }
          }
        }
        function ade(r) {
          switch (r.kind) {
            case 110:
              return !0;
            case 80:
              if (!Lb(r)) {
                const l = Du(r);
                return cC(l) || fI(l) && !_I(l) || !!l.valueDeclaration && ho(l.valueDeclaration);
              }
              break;
            case 211:
            case 212:
              return ade(r.expression) && Vd(yn(r).resolvedSymbol || Q);
            case 206:
            case 207:
              const a = em(r.parent);
              return Ni(a) || Bee(a) ? !ode(a) : Zn(a) && OI(a);
          }
          return !1;
        }
        function l0(r, a, l = a, f, d = ((y) => (y = Mn(r, HC)) == null ? void 0 : y.flowNode)()) {
          let y, x = !1, I = 0;
          if (rr)
            return Ve;
          if (!d)
            return a;
          jr++;
          const R = Nt, J = LT(de(d));
          Nt = R;
          const Y = Cn(J) & 256 && wAe(r) ? ul : EM(J);
          if (Y === lr || r.parent && r.parent.kind === 235 && !(Y.flags & 131072) && hp(
            Y,
            2097152
            /* NEUndefinedOrNull */
          ).flags & 131072)
            return a;
          return Y;
          function Te() {
            return x ? y : (x = !0, y = TM(r, a, l, f));
          }
          function de(Ft) {
            var pr;
            if (I === 2e3)
              return (pr = rn) == null || pr.instant(rn.Phase.CheckTypes, "getTypeAtFlowNode_DepthLimit", { flowId: Ft.id }), rr = !0, Eit(r), Ve;
            I++;
            let Or;
            for (; ; ) {
              const $r = Ft.flags;
              if ($r & 4096) {
                for (let Se = R; Se < Nt; Se++)
                  if (mE[Se] === Ft)
                    return I--, iT[Se];
                Or = Ft;
              }
              let Sn;
              if ($r & 16) {
                if (Sn = ct(Ft), !Sn) {
                  Ft = Ft.antecedent;
                  continue;
                }
              } else if ($r & 512) {
                if (Sn = nr(Ft), !Sn) {
                  Ft = Ft.antecedent;
                  continue;
                }
              } else if ($r & 96)
                Sn = Gr(Ft);
              else if ($r & 128)
                Sn = Jr(Ft);
              else if ($r & 12) {
                if (Ft.antecedent.length === 1) {
                  Ft = Ft.antecedent[0];
                  continue;
                }
                Sn = $r & 4 ? sr(Ft) : Yt(Ft);
              } else if ($r & 256) {
                if (Sn = Xt(Ft), !Sn) {
                  Ft = Ft.antecedent;
                  continue;
                }
              } else if ($r & 1024) {
                const Se = Ft.node.target, ae = Se.antecedent;
                Se.antecedent = Ft.node.antecedents, Sn = de(Ft.antecedent), Se.antecedent = ae;
              } else if ($r & 2) {
                const Se = Ft.node;
                if (Se && Se !== f && r.kind !== 211 && r.kind !== 212 && !(r.kind === 110 && Se.kind !== 219)) {
                  Ft = Se.flowNode;
                  continue;
                }
                Sn = l;
              } else
                Sn = NI(a);
              return Or && (mE[Nt] = Or, iT[Nt] = Sn, Nt++), I--, Sn;
            }
          }
          function Ge(Ft) {
            const pr = Ft.node;
            return cde(
              pr.kind === 260 || pr.kind === 208 ? TAe(pr) : CM(pr),
              r
            );
          }
          function ct(Ft) {
            const pr = Ft.node;
            if (Ul(r, pr)) {
              if (!PM(Ft))
                return lr;
              if (Hy(pr) === 2) {
                const $r = de(Ft.antecedent);
                return WE(s0(LT($r)), zE($r));
              }
              if (a === ft || a === ul) {
                if (pit(pr))
                  return sde(Kt);
                const $r = ib(Ge(Ft));
                return js($r, a) ? $r : ll;
              }
              const Or = EB(pr) ? s0(a) : a;
              return Or.flags & 1048576 ? iit(Or, Ge(Ft)) : Or;
            }
            if (_Ae(r, pr)) {
              if (!PM(Ft))
                return lr;
              if (Zn(pr) && (tn(pr) || OI(pr))) {
                const Or = W4(pr);
                if (Or && (Or.kind === 218 || Or.kind === 219))
                  return de(Ft.antecedent);
              }
              return a;
            }
            if (Zn(pr) && pr.parent.parent.kind === 249 && (Ul(r, pr.parent.parent.expression) || IT(pr.parent.parent.expression, r)))
              return Pde(EM(LT(de(Ft.antecedent))));
          }
          function ht(Ft, pr) {
            const Or = za(
              pr,
              /*excludeJSDocTypeAssertions*/
              !0
            );
            if (Or.kind === 97)
              return lr;
            if (Or.kind === 226) {
              if (Or.operatorToken.kind === 56)
                return ht(ht(Ft, Or.left), Or.right);
              if (Or.operatorToken.kind === 57)
                return Gn([ht(Ft, Or.left), ht(Ft, Or.right)]);
            }
            return xf(
              Ft,
              Or,
              /*assumeTrue*/
              !0
            );
          }
          function nr(Ft) {
            const pr = wM(Ft.node);
            if (pr) {
              const Or = dp(pr);
              if (Or && (Or.kind === 2 || Or.kind === 3)) {
                const $r = de(Ft.antecedent), Sn = EM(LT($r)), Se = Or.type ? LI(
                  Sn,
                  Or,
                  Ft.node,
                  /*assumeTrue*/
                  !0
                ) : Or.kind === 3 && Or.parameterIndex >= 0 && Or.parameterIndex < Ft.node.arguments.length ? ht(Sn, Ft.node.arguments[Or.parameterIndex]) : Sn;
                return Se === Sn ? $r : WE(Se, zE($r));
              }
              if (Va(pr).flags & 131072)
                return lr;
            }
          }
          function Xt(Ft) {
            if (a === ft || a === ul) {
              const pr = Ft.node, Or = pr.kind === 213 ? pr.expression.expression : pr.left.expression;
              if (Ul(r, H2(Or))) {
                const $r = de(Ft.antecedent), Sn = LT($r);
                if (Cn(Sn) & 256) {
                  let Se = Sn;
                  if (pr.kind === 213)
                    for (const ae of pr.arguments)
                      Se = DAe(Se, ae);
                  else {
                    const ae = KM(pr.left.argumentExpression);
                    nu(
                      ae,
                      296
                      /* NumberLike */
                    ) && (Se = DAe(Se, pr.right));
                  }
                  return Se === Sn ? $r : WE(Se, zE($r));
                }
                return $r;
              }
            }
          }
          function Gr(Ft) {
            const pr = de(Ft.antecedent), Or = LT(pr);
            if (Or.flags & 131072)
              return pr;
            const $r = (Ft.flags & 32) !== 0, Sn = EM(Or), Se = xf(Sn, Ft.node, $r);
            return Se === Sn ? pr : WE(Se, zE(pr));
          }
          function Jr(Ft) {
            const pr = za(Ft.node.switchStatement.expression), Or = de(Ft.antecedent);
            let $r = LT(Or);
            if (Ul(r, pr))
              $r = So($r, Ft.node);
            else if (pr.kind === 221 && Ul(r, pr.expression))
              $r = k_($r, Ft.node);
            else if (pr.kind === 112)
              $r = Rc($r, Ft.node);
            else {
              K && (IT(pr, r) ? $r = Da($r, Ft.node, (Se) => !(Se.flags & 163840)) : pr.kind === 221 && IT(pr.expression, r) && ($r = Da($r, Ft.node, (Se) => !(Se.flags & 131072 || Se.flags & 128 && Se.value === "undefined"))));
              const Sn = wi(pr, $r);
              Sn && ($r = Fs($r, Sn, Ft.node));
            }
            return WE($r, zE(Or));
          }
          function sr(Ft) {
            const pr = [];
            let Or = !1, $r = !1, Sn;
            for (const Se of Ft.antecedent) {
              if (!Sn && Se.flags & 128 && Se.node.clauseStart === Se.node.clauseEnd) {
                Sn = Se;
                continue;
              }
              const ae = de(Se), xt = LT(ae);
              if (xt === a && a === l)
                return xt;
              $f(pr, xt), lP(xt, l) || (Or = !0), zE(ae) && ($r = !0);
            }
            if (Sn) {
              const Se = de(Sn), ae = LT(Se);
              if (!(ae.flags & 131072) && !_s(pr, ae) && !SIe(Sn.node.switchStatement)) {
                if (ae === a && a === l)
                  return ae;
                pr.push(ae), lP(ae, l) || (Or = !0), zE(Se) && ($r = !0);
              }
            }
            return WE(un(
              pr,
              Or ? 2 : 1
              /* Literal */
            ), $r);
          }
          function Yt(Ft) {
            const pr = Kpe(Ft), Or = dE[pr] || (dE[pr] = /* @__PURE__ */ new Map()), $r = Te();
            if (!$r)
              return a;
            const Sn = Or.get($r);
            if (Sn)
              return Sn;
            for (let ur = Le; ur < Qe; ur++)
              if (nT[ur] === Ft && kk[ur] === $r && h2[ur].length)
                return WE(
                  un(
                    h2[ur],
                    1
                    /* Literal */
                  ),
                  /*incomplete*/
                  !0
                );
            const Se = [];
            let ae = !1, xt;
            for (const ur of Ft.antecedent) {
              let Ir;
              if (!xt)
                Ir = xt = de(ur);
              else {
                nT[Qe] = Ft, kk[Qe] = $r, h2[Qe] = Se, Qe++;
                const Kn = fn;
                fn = void 0, Ir = de(ur), fn = Kn, Qe--;
                const ui = Or.get($r);
                if (ui)
                  return ui;
              }
              const Br = LT(Ir);
              if ($f(Se, Br), lP(Br, l) || (ae = !0), Br === a)
                break;
            }
            const Lt = un(
              Se,
              ae ? 2 : 1
              /* Literal */
            );
            return zE(xt) ? WE(
              Lt,
              /*incomplete*/
              !0
            ) : (Or.set($r, Lt), Lt);
          }
          function un(Ft, pr) {
            if (xit(Ft))
              return sde(Gn(fr(Ft, Tit)));
            const Or = rde(Gn($c(Ft, EM), pr));
            return Or !== a && Or.flags & a.flags & 1048576 && Cf(Or.types, a.types) ? a : Or;
          }
          function Bn(Ft) {
            if (Ps(r) || Ky(r) || Ep(r)) {
              if (Fe(Ft)) {
                const Or = Du(Ft).valueDeclaration;
                if (Or && (ya(Or) || Ni(Or)) && r === Or.parent && !Or.initializer && !Or.dotDotDotToken)
                  return Or;
              }
            } else if (ko(Ft)) {
              if (Ul(r, Ft.expression))
                return Ft;
            } else if (Fe(Ft)) {
              const pr = Du(Ft);
              if (cC(pr)) {
                const Or = pr.valueDeclaration;
                if (Zn(Or) && !Or.type && Or.initializer && ko(Or.initializer) && Ul(r, Or.initializer.expression))
                  return Or.initializer;
                if (ya(Or) && !Or.initializer) {
                  const $r = Or.parent.parent;
                  if (Zn($r) && !$r.type && $r.initializer && (Fe($r.initializer) || ko($r.initializer)) && Ul(r, $r.initializer))
                    return Or;
                }
              }
            }
          }
          function wi(Ft, pr) {
            if (a.flags & 1048576 || pr.flags & 1048576) {
              const Or = Bn(Ft);
              if (Or) {
                const $r = AT(Or);
                if ($r) {
                  const Sn = a.flags & 1048576 && lP(pr, a) ? a : pr;
                  if (cP(Sn, $r))
                    return Or;
                }
              }
            }
          }
          function bn(Ft, pr, Or) {
            const $r = AT(pr);
            if ($r === void 0)
              return Ft;
            const Sn = hu(pr), Se = K && (Sn || zee(pr)) && Cc(
              Ft,
              98304
              /* Nullable */
            );
            let ae = qc(Se ? hp(
              Ft,
              2097152
              /* NEUndefinedOrNull */
            ) : Ft, $r);
            if (!ae)
              return Ft;
            ae = Se && Sn ? L1(ae) : ae;
            const xt = Or(ae);
            return Hc(Ft, (Lt) => {
              const ur = $(Lt, $r) || mt;
              return !(ur.flags & 131072) && !(xt.flags & 131072) && pM(xt, ur);
            });
          }
          function os(Ft, pr, Or, $r, Sn) {
            if ((Or === 37 || Or === 38) && Ft.flags & 1048576) {
              const Se = xM(Ft);
              if (Se && Se === AT(pr)) {
                const ae = kM(Ft, iu($r));
                if (ae)
                  return Or === (Sn ? 37 : 38) ? ae : Bd(qc(ae, Se) || mt) ? A$(Ft, ae) : Ft;
              }
            }
            return bn(Ft, pr, (Se) => di(Se, Or, $r, Sn));
          }
          function Fs(Ft, pr, Or) {
            if (Or.clauseStart < Or.clauseEnd && Ft.flags & 1048576 && xM(Ft) === AT(pr)) {
              const $r = N$(Or.switchStatement).slice(Or.clauseStart, Or.clauseEnd), Sn = Gn(fr($r, (Se) => kM(Ft, Se) || mt));
              if (Sn !== mt)
                return Sn;
            }
            return bn(Ft, pr, ($r) => So($r, Or));
          }
          function Qa(Ft, pr, Or) {
            if (Ul(r, pr))
              return FT(
                Ft,
                Or ? 4194304 : 8388608
                /* Falsy */
              );
            K && Or && IT(pr, r) && (Ft = FT(
              Ft,
              2097152
              /* NEUndefinedOrNull */
            ));
            const $r = wi(pr, Ft);
            return $r ? bn(Ft, $r, (Sn) => hp(
              Sn,
              Or ? 4194304 : 8388608
              /* Falsy */
            )) : Ft;
          }
          function bs(Ft, pr, Or) {
            const $r = Zs(Ft, pr);
            return $r ? !!($r.flags & 16777216 || lc($r) & 48) || Or : !!eC(Ft, pr) || !Or;
          }
          function wu(Ft, pr, Or) {
            const $r = sp(pr);
            if (yp(Ft, (Se) => bs(
              Se,
              $r,
              /*assumeTrue*/
              !0
            )))
              return Hc(Ft, (Se) => bs(Se, $r, Or));
            if (Or) {
              const Se = wtt();
              if (Se)
                return aa([Ft, LE(Se, [pr, mt])]);
            }
            return Ft;
          }
          function Rl(Ft, pr, Or, $r, Sn) {
            return Sn = Sn !== (Or.kind === 112) != ($r !== 38 && $r !== 36), xf(Ft, pr, Sn);
          }
          function sc(Ft, pr, Or) {
            switch (pr.operatorToken.kind) {
              case 64:
              case 76:
              case 77:
              case 78:
                return Qa(xf(Ft, pr.right, Or), pr.left, Or);
              case 35:
              case 36:
              case 37:
              case 38:
                const $r = pr.operatorToken.kind, Sn = H2(pr.left), Se = H2(pr.right);
                if (Sn.kind === 221 && Ba(Se))
                  return zr(Ft, Sn, $r, Se, Or);
                if (Se.kind === 221 && Ba(Sn))
                  return zr(Ft, Se, $r, Sn, Or);
                if (Ul(r, Sn))
                  return di(Ft, $r, Se, Or);
                if (Ul(r, Se))
                  return di(Ft, $r, Sn, Or);
                K && (IT(Sn, r) ? Ft = Tr(Ft, $r, Se, Or) : IT(Se, r) && (Ft = Tr(Ft, $r, Sn, Or)));
                const ae = wi(Sn, Ft);
                if (ae)
                  return os(Ft, ae, $r, Se, Or);
                const xt = wi(Se, Ft);
                if (xt)
                  return os(Ft, xt, $r, Sn, Or);
                if (Qo(Sn))
                  return Tf(Ft, $r, Se, Or);
                if (Qo(Se))
                  return Tf(Ft, $r, Sn, Or);
                if (P4(Se) && !ko(Sn))
                  return Rl(Ft, Sn, Se, $r, Or);
                if (P4(Sn) && !ko(Se))
                  return Rl(Ft, Se, Sn, $r, Or);
                break;
              case 104:
                return Ec(Ft, pr, Or);
              case 103:
                if (Di(pr.left))
                  return kr(Ft, pr, Or);
                const Lt = H2(pr.right);
                if (aI(Ft) && ko(r) && Ul(r.expression, Lt)) {
                  const ur = iu(pr.left);
                  if (ip(ur) && AT(r) === sp(ur))
                    return hp(
                      Ft,
                      Or ? 524288 : 65536
                      /* EQUndefined */
                    );
                }
                if (Ul(r, Lt)) {
                  const ur = iu(pr.left);
                  if (ip(ur))
                    return wu(Ft, ur, Or);
                }
                break;
              case 28:
                return xf(Ft, pr.right, Or);
              // Ordinarily we won't see && and || expressions in control flow analysis because the Binder breaks those
              // expressions down to individual conditional control flows. However, we may encounter them when analyzing
              // aliased conditional expressions.
              case 56:
                return Or ? xf(
                  xf(
                    Ft,
                    pr.left,
                    /*assumeTrue*/
                    !0
                  ),
                  pr.right,
                  /*assumeTrue*/
                  !0
                ) : Gn([xf(
                  Ft,
                  pr.left,
                  /*assumeTrue*/
                  !1
                ), xf(
                  Ft,
                  pr.right,
                  /*assumeTrue*/
                  !1
                )]);
              case 57:
                return Or ? Gn([xf(
                  Ft,
                  pr.left,
                  /*assumeTrue*/
                  !0
                ), xf(
                  Ft,
                  pr.right,
                  /*assumeTrue*/
                  !0
                )]) : xf(
                  xf(
                    Ft,
                    pr.left,
                    /*assumeTrue*/
                    !1
                  ),
                  pr.right,
                  /*assumeTrue*/
                  !1
                );
            }
            return Ft;
          }
          function kr(Ft, pr, Or) {
            const $r = H2(pr.right);
            if (!Ul(r, $r))
              return Ft;
            E.assertNode(pr.left, Di);
            const Sn = Q$(pr.left);
            if (Sn === void 0)
              return Ft;
            const Se = Sn.parent, ae = sl(E.checkDefined(Sn.valueDeclaration, "should always have a declaration")) ? Qr(Se) : wo(Se);
            return hy(
              Ft,
              ae,
              Or,
              /*checkDerived*/
              !0
            );
          }
          function Tr(Ft, pr, Or, $r) {
            const Sn = pr === 35 || pr === 37, Se = pr === 35 || pr === 36 ? 98304 : 32768, ae = iu(Or);
            return Sn !== $r && j_(ae, (Lt) => !!(Lt.flags & Se)) || Sn === $r && j_(ae, (Lt) => !(Lt.flags & (3 | Se))) ? FT(
              Ft,
              2097152
              /* NEUndefinedOrNull */
            ) : Ft;
          }
          function di(Ft, pr, Or, $r) {
            if (Ft.flags & 1)
              return Ft;
            (pr === 36 || pr === 38) && ($r = !$r);
            const Sn = iu(Or), Se = pr === 35 || pr === 36;
            if (Sn.flags & 98304) {
              if (!K)
                return Ft;
              const ae = Se ? $r ? 262144 : 2097152 : Sn.flags & 65536 ? $r ? 131072 : 1048576 : $r ? 65536 : 524288;
              return FT(Ft, ae);
            }
            if ($r) {
              if (!Se && (Ft.flags & 2 || yp(Ft, Sg))) {
                if (Sn.flags & 469893116 || Sg(Sn))
                  return Sn;
                if (Sn.flags & 524288)
                  return br;
              }
              const ae = Hc(Ft, (xt) => pM(xt, Sn) || Se && knt(xt, Sn));
              return EAe(ae, Sn);
            }
            return Bd(Sn) ? Hc(Ft, (ae) => !(HNe(ae) && pM(ae, Sn))) : Ft;
          }
          function zr(Ft, pr, Or, $r, Sn) {
            (Or === 36 || Or === 38) && (Sn = !Sn);
            const Se = H2(pr.expression);
            if (!Ul(r, Se)) {
              K && IT(Se, r) && Sn === ($r.text !== "undefined") && (Ft = FT(
                Ft,
                2097152
                /* NEUndefinedOrNull */
              ));
              const ae = wi(Se, Ft);
              return ae ? bn(Ft, ae, (xt) => Ki(xt, $r, Sn)) : Ft;
            }
            return Ki(Ft, $r, Sn);
          }
          function Ki(Ft, pr, Or) {
            return Or ? Gc(Ft, pr.text) : FT(
              Ft,
              gne.get(pr.text) || 32768
              /* TypeofNEHostObject */
            );
          }
          function Da(Ft, { switchStatement: pr, clauseStart: Or, clauseEnd: $r }, Sn) {
            return Or !== $r && Pi(N$(pr).slice(Or, $r), Sn) ? hp(
              Ft,
              2097152
              /* NEUndefinedOrNull */
            ) : Ft;
          }
          function So(Ft, { switchStatement: pr, clauseStart: Or, clauseEnd: $r }) {
            const Sn = N$(pr);
            if (!Sn.length)
              return Ft;
            const Se = Sn.slice(Or, $r), ae = Or === $r || _s(Se, Kt);
            if (Ft.flags & 2 && !ae) {
              let Ir;
              for (let Br = 0; Br < Se.length; Br += 1) {
                const Kn = Se[Br];
                if (Kn.flags & 469893116)
                  Ir !== void 0 && Ir.push(Kn);
                else if (Kn.flags & 524288)
                  Ir === void 0 && (Ir = Se.slice(0, Br)), Ir.push(br);
                else
                  return Ft;
              }
              return Gn(Ir === void 0 ? Se : Ir);
            }
            const xt = Gn(Se), Lt = xt.flags & 131072 ? Kt : EAe(Hc(Ft, (Ir) => pM(xt, Ir)), xt);
            if (!ae)
              return Lt;
            const ur = Hc(Ft, (Ir) => !(HNe(Ir) && _s(Sn, Ir.flags & 32768 ? _e : qu(gnt(Ir)))));
            return Lt.flags & 131072 ? ur : Gn([Lt, ur]);
          }
          function Gc(Ft, pr) {
            switch (pr) {
              case "string":
                return wa(
                  Ft,
                  st,
                  1
                  /* TypeofEQString */
                );
              case "number":
                return wa(
                  Ft,
                  At,
                  2
                  /* TypeofEQNumber */
                );
              case "bigint":
                return wa(
                  Ft,
                  Yr,
                  4
                  /* TypeofEQBigInt */
                );
              case "boolean":
                return wa(
                  Ft,
                  Jt,
                  8
                  /* TypeofEQBoolean */
                );
              case "symbol":
                return wa(
                  Ft,
                  wt,
                  16
                  /* TypeofEQSymbol */
                );
              case "object":
                return Ft.flags & 1 ? Ft : Gn([wa(
                  Ft,
                  br,
                  32
                  /* TypeofEQObject */
                ), wa(
                  Ft,
                  jt,
                  131072
                  /* EQNull */
                )]);
              case "function":
                return Ft.flags & 1 ? Ft : wa(
                  Ft,
                  It,
                  64
                  /* TypeofEQFunction */
                );
              case "undefined":
                return wa(
                  Ft,
                  _e,
                  65536
                  /* EQUndefined */
                );
            }
            return wa(
              Ft,
              br,
              128
              /* TypeofEQHostObject */
            );
          }
          function wa(Ft, pr, Or) {
            return Ho(Ft, ($r) => (
              // We first check if a constituent is a subtype of the implied type. If so, we either keep or eliminate
              // the constituent based on its type facts. We use the strict subtype relation because it treats `object`
              // as a subtype of `{}`, and we need the type facts check because function types are subtypes of `object`,
              // but are classified as "function" according to `typeof`.
              Lm($r, pr, _p) ? Jd($r, Or) ? $r : Kt : (
                // We next check if the consituent is a supertype of the implied type. If so, we substitute the implied
                // type. This handles top types like `unknown` and `{}`, and supertypes like `{ toString(): string }`.
                U2(pr, $r) ? pr : (
                  // Neither the constituent nor the implied type is a subtype of the other, however their domains may still
                  // overlap. For example, an unconstrained type parameter and type `string`. If the type facts indicate
                  // possible overlap, we form an intersection. Otherwise, we eliminate the constituent.
                  Jd($r, Or) ? aa([$r, pr]) : Kt
                )
              )
            ));
          }
          function k_(Ft, { switchStatement: pr, clauseStart: Or, clauseEnd: $r }) {
            const Sn = kAe(pr);
            if (!Sn)
              return Ft;
            const Se = oc(
              pr.caseBlock.clauses,
              (Lt) => Lt.kind === 297
              /* DefaultClause */
            );
            if (Or === $r || Se >= Or && Se < $r) {
              const Lt = bIe(Or, $r, Sn);
              return Hc(Ft, (ur) => JE(ur, Lt) === Lt);
            }
            const xt = Sn.slice(Or, $r);
            return Gn(fr(xt, (Lt) => Lt ? Gc(Ft, Lt) : Kt));
          }
          function Rc(Ft, { switchStatement: pr, clauseStart: Or, clauseEnd: $r }) {
            const Sn = oc(
              pr.caseBlock.clauses,
              (xt) => xt.kind === 297
              /* DefaultClause */
            ), Se = Or === $r || Sn >= Or && Sn < $r;
            for (let xt = 0; xt < Or; xt++) {
              const Lt = pr.caseBlock.clauses[xt];
              Lt.kind === 296 && (Ft = xf(
                Ft,
                Lt.expression,
                /*assumeTrue*/
                !1
              ));
            }
            if (Se) {
              for (let xt = $r; xt < pr.caseBlock.clauses.length; xt++) {
                const Lt = pr.caseBlock.clauses[xt];
                Lt.kind === 296 && (Ft = xf(
                  Ft,
                  Lt.expression,
                  /*assumeTrue*/
                  !1
                ));
              }
              return Ft;
            }
            const ae = pr.caseBlock.clauses.slice(Or, $r);
            return Gn(fr(ae, (xt) => xt.kind === 296 ? xf(
              Ft,
              xt.expression,
              /*assumeTrue*/
              !0
            ) : Kt));
          }
          function Qo(Ft) {
            return (kn(Ft) && Pn(Ft.name) === "constructor" || fo(Ft) && Ba(Ft.argumentExpression) && Ft.argumentExpression.text === "constructor") && Ul(r, Ft.expression);
          }
          function Tf(Ft, pr, Or, $r) {
            if ($r ? pr !== 35 && pr !== 37 : pr !== 36 && pr !== 38)
              return Ft;
            const Sn = iu(Or);
            if (!Rme(Sn) && !In(Sn))
              return Ft;
            const Se = Zs(Sn, "prototype");
            if (!Se)
              return Ft;
            const ae = Qr(Se), xt = be(ae) ? void 0 : ae;
            if (!xt || xt === Ae || xt === It)
              return Ft;
            if (be(Ft))
              return xt;
            return Hc(Ft, (ur) => Lt(ur, xt));
            function Lt(ur, Ir) {
              return ur.flags & 524288 && Cn(ur) & 1 || Ir.flags & 524288 && Cn(Ir) & 1 ? ur.symbol === Ir.symbol : U2(ur, Ir);
            }
          }
          function Ec(Ft, pr, Or) {
            const $r = H2(pr.left);
            if (!Ul(r, $r))
              return Or && K && IT($r, r) ? FT(
                Ft,
                2097152
                /* NEUndefinedOrNull */
              ) : Ft;
            const Sn = pr.right, Se = iu(Sn);
            if (!rb(Se, Ae))
              return Ft;
            const ae = wM(pr), xt = ae && dp(ae);
            if (xt && xt.kind === 1 && xt.parameterIndex === 0)
              return hy(
                Ft,
                xt.type,
                Or,
                /*checkDerived*/
                !0
              );
            if (!rb(Se, It))
              return Ft;
            const Lt = Ho(Se, jc);
            return be(Ft) && (Lt === Ae || Lt === It) || !Or && !(Lt.flags & 524288 && !Sg(Lt)) ? Ft : hy(
              Ft,
              Lt,
              Or,
              /*checkDerived*/
              !0
            );
          }
          function jc(Ft) {
            const pr = qc(Ft, "prototype");
            if (pr && !be(pr))
              return pr;
            const Or = As(
              Ft,
              1
              /* Construct */
            );
            return Or.length ? Gn(fr(Or, ($r) => Va($8($r)))) : Pa;
          }
          function hy(Ft, pr, Or, $r) {
            const Sn = Ft.flags & 1048576 ? `N${Ll(Ft)},${Ll(pr)},${(Or ? 1 : 0) | ($r ? 2 : 0)}` : void 0;
            return wd(Sn) ?? v1(Sn, QE(Ft, pr, Or, $r));
          }
          function QE(Ft, pr, Or, $r) {
            if (!Or) {
              if (Ft === pr)
                return Kt;
              if ($r)
                return Hc(Ft, (Lt) => !rb(Lt, pr));
              Ft = Ft.flags & 2 ? Ca : Ft;
              const xt = hy(
                Ft,
                pr,
                /*assumeTrue*/
                !0,
                /*checkDerived*/
                !1
              );
              return rde(Hc(Ft, (Lt) => !lP(Lt, xt)));
            }
            if (Ft.flags & 3 || Ft === pr)
              return pr;
            const Sn = $r ? rb : U2, Se = Ft.flags & 1048576 ? xM(Ft) : void 0, ae = Ho(pr, (xt) => {
              const Lt = Se && qc(xt, Se), ur = Lt && kM(Ft, Lt), Ir = Ho(
                ur || Ft,
                $r ? (Br) => rb(Br, xt) ? Br : rb(xt, Br) ? xt : Kt : (Br) => fM(Br, xt) ? Br : fM(xt, Br) ? xt : U2(Br, xt) ? Br : U2(xt, Br) ? xt : Kt
              );
              return Ir.flags & 131072 ? Ho(Ft, (Br) => Cc(
                Br,
                465829888
                /* Instantiable */
              ) && Sn(xt, ru(Br) || mt) ? aa([Br, xt]) : Kt) : Ir;
            });
            return ae.flags & 131072 ? U2(pr, Ft) ? pr : js(Ft, pr) ? Ft : js(pr, Ft) ? pr : aa([Ft, pr]) : ae;
          }
          function lb(Ft, pr, Or) {
            if (mAe(pr, r)) {
              const $r = Or || !aS(pr) ? wM(pr) : void 0, Sn = $r && dp($r);
              if (Sn && (Sn.kind === 0 || Sn.kind === 1))
                return LI(Ft, Sn, pr, Or);
            }
            if (aI(Ft) && ko(r) && kn(pr.expression)) {
              const $r = pr.expression;
              if (Ul(r.expression, H2($r.expression)) && Fe($r.name) && $r.name.escapedText === "hasOwnProperty" && pr.arguments.length === 1) {
                const Sn = pr.arguments[0];
                if (Ba(Sn) && AT(r) === ec(Sn.text))
                  return hp(
                    Ft,
                    Or ? 524288 : 65536
                    /* EQUndefined */
                  );
              }
            }
            return Ft;
          }
          function LI(Ft, pr, Or, $r) {
            if (pr.type && !(be(Ft) && (pr.type === Ae || pr.type === It))) {
              const Sn = Cit(pr, Or);
              if (Sn) {
                if (Ul(r, Sn))
                  return hy(
                    Ft,
                    pr.type,
                    $r,
                    /*checkDerived*/
                    !1
                  );
                K && IT(Sn, r) && ($r && !Jd(
                  pr.type,
                  65536
                  /* EQUndefined */
                ) || !$r && j_(pr.type, jM)) && (Ft = FT(
                  Ft,
                  2097152
                  /* NEUndefinedOrNull */
                ));
                const Se = wi(Sn, Ft);
                if (Se)
                  return bn(Ft, Se, (ae) => hy(
                    ae,
                    pr.type,
                    $r,
                    /*checkDerived*/
                    !1
                  ));
              }
            }
            return Ft;
          }
          function xf(Ft, pr, Or) {
            if (g7(pr) || _n(pr.parent) && (pr.parent.operatorToken.kind === 61 || pr.parent.operatorToken.kind === 78) && pr.parent.left === pr)
              return MI(Ft, pr, Or);
            switch (pr.kind) {
              case 80:
                if (!Ul(r, pr) && T < 5) {
                  const $r = Du(pr);
                  if (cC($r)) {
                    const Sn = $r.valueDeclaration;
                    if (Sn && Zn(Sn) && !Sn.type && Sn.initializer && ade(r)) {
                      T++;
                      const Se = xf(Ft, Sn.initializer, Or);
                      return T--, Se;
                    }
                  }
                }
              // falls through
              case 110:
              case 108:
              case 211:
              case 212:
                return Qa(Ft, pr, Or);
              case 213:
                return lb(Ft, pr, Or);
              case 217:
              case 235:
              case 238:
                return xf(Ft, pr.expression, Or);
              case 226:
                return sc(Ft, pr, Or);
              case 224:
                if (pr.operator === 54)
                  return xf(Ft, pr.operand, !Or);
                break;
            }
            return Ft;
          }
          function MI(Ft, pr, Or) {
            if (Ul(r, pr))
              return FT(
                Ft,
                Or ? 2097152 : 262144
                /* EQUndefinedOrNull */
              );
            const $r = wi(pr, Ft);
            return $r ? bn(Ft, $r, (Sn) => hp(
              Sn,
              Or ? 2097152 : 262144
              /* EQUndefinedOrNull */
            )) : Ft;
          }
        }
        function Dit(r, a) {
          if (r = L_(r), (a.kind === 80 || a.kind === 81) && (tD(a) && (a = a.parent), dd(a) && (!Gy(a) || Tx(a)))) {
            const l = b$(
              Tx(a) && a.kind === 211 ? X$(
                a,
                /*checkMode*/
                void 0,
                /*writeOnly*/
                !0
              ) : iu(a)
            );
            if (L_(yn(a).resolvedSymbol) === r)
              return l;
          }
          return Xm(a) && $d(a.parent) && bT(a.parent) ? LG(a.parent.symbol) : tJ(a) && Tx(a.parent) ? sy(r) : P1(r);
        }
        function _P(r) {
          return _r(
            r.parent,
            (a) => Ts(a) && !Db(a) || a.kind === 268 || a.kind === 307 || a.kind === 172
            /* PropertyDeclaration */
          );
        }
        function wit(r) {
          return (r.lastAssignmentPos !== void 0 || _I(r) && r.lastAssignmentPos !== void 0) && r.lastAssignmentPos < 0;
        }
        function _I(r) {
          return !NAe(
            r,
            /*location*/
            void 0
          );
        }
        function NAe(r, a) {
          const l = _r(r.valueDeclaration, L$);
          if (!l)
            return !1;
          const f = yn(l);
          return f.flags & 131072 || (f.flags |= 131072, Pit(l) || IAe(l)), !r.lastAssignmentPos || a && Math.abs(r.lastAssignmentPos) < a.pos;
        }
        function ode(r) {
          return E.assert(Zn(r) || Ni(r)), AAe(r.name);
        }
        function AAe(r) {
          return r.kind === 80 ? _I(vn(r.parent)) : at(r.elements, (a) => a.kind !== 232 && AAe(a.name));
        }
        function Pit(r) {
          return !!_r(r.parent, (a) => L$(a) && !!(yn(a).flags & 131072));
        }
        function L$(r) {
          return uo(r) || xi(r);
        }
        function IAe(r) {
          switch (r.kind) {
            case 80:
              const a = Hy(r);
              if (a !== 0) {
                const d = Du(r), y = a === 1 || d.lastAssignmentPos !== void 0 && d.lastAssignmentPos < 0;
                if (fI(d)) {
                  if (d.lastAssignmentPos === void 0 || Math.abs(d.lastAssignmentPos) !== Number.MAX_VALUE) {
                    const x = _r(r, L$), I = _r(d.valueDeclaration, L$);
                    d.lastAssignmentPos = x === I ? Nit(r, d.valueDeclaration) : Number.MAX_VALUE;
                  }
                  y && d.lastAssignmentPos > 0 && (d.lastAssignmentPos *= -1);
                }
              }
              return;
            case 281:
              const l = r.parent.parent, f = r.propertyName || r.name;
              if (!r.isTypeOnly && !l.isTypeOnly && !l.moduleSpecifier && f.kind !== 11) {
                const d = mc(
                  f,
                  111551,
                  /*ignoreErrors*/
                  !0,
                  /*dontResolveAlias*/
                  !0
                );
                if (d && fI(d)) {
                  const y = d.lastAssignmentPos !== void 0 && d.lastAssignmentPos < 0 ? -1 : 1;
                  d.lastAssignmentPos = y * Number.MAX_VALUE;
                }
              }
              return;
            case 264:
            case 265:
            case 266:
              return;
          }
          si(r) || Ss(r, IAe);
        }
        function Nit(r, a) {
          let l = r.pos;
          for (; r && r.pos > a.pos; ) {
            switch (r.kind) {
              case 243:
              case 244:
              case 245:
              case 246:
              case 247:
              case 248:
              case 249:
              case 250:
              case 254:
              case 255:
              case 258:
              case 263:
                l = r.end;
            }
            r = r.parent;
          }
          return l;
        }
        function cC(r) {
          return r.flags & 3 && (Ede(r) & 6) !== 0;
        }
        function fI(r) {
          const a = r.valueDeclaration && em(r.valueDeclaration);
          return !!a && (Ni(a) || Zn(a) && (Qb(a.parent) || FAe(a)));
        }
        function FAe(r) {
          return !!(r.parent.flags & 1) && !(W1(r) & 32 || r.parent.parent.kind === 243 && v0(r.parent.parent.parent));
        }
        function Ait(r) {
          const a = yn(r);
          if (a.parameterInitializerContainsUndefined === void 0) {
            if (!Pm(
              r,
              8
              /* ParameterInitializerContainsUndefined */
            ))
              return DE(r.symbol), !0;
            const l = !!Jd(
              pP(
                r,
                0
                /* Normal */
              ),
              16777216
              /* IsUndefined */
            );
            if (!Nm())
              return DE(r.symbol), !0;
            a.parameterInitializerContainsUndefined ?? (a.parameterInitializerContainsUndefined = l);
          }
          return a.parameterInitializerContainsUndefined;
        }
        function Iit(r, a) {
          return K && a.kind === 169 && a.initializer && Jd(
            r,
            16777216
            /* IsUndefined */
          ) && !Ait(a) ? hp(
            r,
            524288
            /* NEUndefined */
          ) : r;
        }
        function Fit(r, a) {
          const l = a.parent;
          return l.kind === 211 || l.kind === 166 || l.kind === 213 && l.expression === a || l.kind === 214 && l.expression === a || l.kind === 212 && l.expression === a && !(yp(r, LAe) && DT(iu(l.argumentExpression)));
        }
        function OAe(r) {
          return r.flags & 2097152 ? at(r.types, OAe) : !!(r.flags & 465829888 && Fm(r).flags & 1146880);
        }
        function LAe(r) {
          return r.flags & 2097152 ? at(r.types, LAe) : !!(r.flags & 465829888 && !Cc(
            Fm(r),
            98304
            /* Nullable */
          ));
        }
        function Oit(r, a) {
          const l = (Fe(r) || kn(r) || fo(r)) && !((yd(r.parent) || MS(r.parent)) && r.parent.tagName === r) && (a && a & 32 ? o_(
            r,
            8
            /* SkipBindingPatterns */
          ) : o_(
            r,
            /*contextFlags*/
            void 0
          ));
          return l && !tb(l);
        }
        function cde(r, a, l) {
          return ME(r) && (r = r.baseType), !(l && l & 2) && yp(r, OAe) && (Fit(r, a) || Oit(a, l)) ? Ho(r, Fm) : r;
        }
        function MAe(r) {
          return !!_r(r, (a) => {
            const l = a.parent;
            return l === void 0 ? "quit" : Oo(l) ? l.expression === a && to(a) : bu(l) ? l.name === a || l.propertyName === a : !1;
          });
        }
        function lC(r, a, l, f) {
          if (Ce && !(r.flags & 33554432 && !ju(r) && !is(r)))
            switch (a) {
              case 1:
                return M$(r);
              case 2:
                return RAe(r, l, f);
              case 3:
                return jAe(r);
              case 4:
                return lde(r);
              case 5:
                return BAe(r);
              case 6:
                return JAe(r);
              case 7:
                return zAe(r);
              case 8:
                return WAe(r);
              case 0: {
                if (Fe(r) && (dd(r) || _u(r.parent) || bl(r.parent) && r.parent.moduleReference === r) && HAe(r)) {
                  if (KP(r.parent) && (kn(r.parent) ? r.parent.expression : r.parent.left) !== r)
                    return;
                  M$(r);
                  return;
                }
                if (KP(r)) {
                  let d = r;
                  for (; KP(d); ) {
                    if (Yd(d)) return;
                    d = d.parent;
                  }
                  return RAe(r);
                }
                return Oo(r) ? jAe(r) : yu(r) || Yp(r) ? lde(r) : bl(r) ? mS(r) || TX(r) ? JAe(r) : void 0 : bu(r) ? zAe(r) : ((uo(r) || Xp(r)) && BAe(r), !F.emitDecoratorMetadata || !Zb(r) || !Pf(r) || !r.modifiers || !b3(V, r, r.parent, r.parent.parent) ? void 0 : WAe(r));
              }
              default:
                E.assertNever(a, `Unhandled reference hint: ${a}`);
            }
        }
        function M$(r) {
          const a = Du(r);
          a && a !== se && a !== Q && !Lb(r) && AM(a, r);
        }
        function RAe(r, a, l) {
          const f = kn(r) ? r.expression : r.left;
          if (Xy(f) || !Fe(f))
            return;
          const d = Du(f);
          if (!d || d === Q)
            return;
          if (Np(F) || Yy(F) && MAe(r)) {
            AM(d, r);
            return;
          }
          const y = l || gc(f);
          if (be(y) || y === Mt) {
            AM(d, r);
            return;
          }
          let x = a;
          if (!x && !l) {
            const I = kn(r) ? r.name : r.right, R = Di(I) && BM(I.escapedText, I), J = Hy(r), Y = Uu(J !== 0 || Nde(r) ? _f(y) : y);
            x = Di(I) ? R && Y$(Y, R) || void 0 : Zs(Y, I.escapedText);
          }
          x && (II(x) || x.flags & 8 && r.parent.kind === 306) || AM(d, r);
        }
        function jAe(r) {
          if (Fe(r.expression)) {
            const a = r.expression, l = L_(mc(
              a,
              -1,
              /*ignoreErrors*/
              !0,
              /*dontResolveAlias*/
              !0,
              r
            ));
            l && AM(l, a);
          }
        }
        function lde(r) {
          if (!G$(r)) {
            const a = Ia && F.jsx === 2 ? p.This_JSX_tag_requires_0_to_be_in_scope_but_it_could_not_be_found : void 0, l = Vl(r), f = yu(r) ? r.tagName : r, d = F.jsx !== 1 && F.jsx !== 3;
            let y;
            if (Yp(r) && l === "null" || (y = it(
              f,
              l,
              d ? 111551 : 111167,
              a,
              /*isUse*/
              !0
            )), y && (y.isReferenced = -1, Ce && y.flags & 2097152 && !Id(y) && R$(y)), Yp(r)) {
              const x = Er(r), I = Bme(x);
              if (I) {
                const R = Xu(I).escapedText;
                it(
                  f,
                  R,
                  d ? 111551 : 111167,
                  a,
                  /*isUse*/
                  !0
                );
              }
            }
          }
        }
        function BAe(r) {
          if (j < 2 && Fc(r) & 2) {
            const a = mf(r);
            Lit(a);
          }
        }
        function JAe(r) {
          qn(
            r,
            32
            /* Export */
          ) && VAe(r);
        }
        function zAe(r) {
          if (!r.parent.parent.moduleSpecifier && !r.isTypeOnly && !r.parent.parent.isTypeOnly) {
            const a = r.propertyName || r.name;
            if (a.kind === 11)
              return;
            const l = it(
              a,
              a.escapedText,
              2998271,
              /*nameNotFoundMessage*/
              void 0,
              /*isUse*/
              !0
            );
            if (!(l && (l === oe || l === ve || l.declarations && v0(Xv(l.declarations[0]))))) {
              const f = l && (l.flags & 2097152 ? Uc(l) : l);
              (!f || cf(f) & 111551) && (VAe(r), M$(a));
            }
            return;
          }
        }
        function WAe(r) {
          if (F.emitDecoratorMetadata) {
            const a = Dn(r.modifiers, yl);
            if (!a)
              return;
            switch (xl(
              a,
              16
              /* Metadata */
            ), r.kind) {
              case 263:
                const l = jg(r);
                if (l)
                  for (const x of l.parameters)
                    VE(mX(x));
                break;
              case 177:
              case 178:
                const f = r.kind === 177 ? 178 : 177, d = jo(vn(r), f);
                VE(bT(r) || d && bT(d));
                break;
              case 174:
                for (const x of r.parameters)
                  VE(mX(x));
                VE(mf(r));
                break;
              case 172:
                VE(Yc(r));
                break;
              case 169:
                VE(mX(r));
                const y = r.parent;
                for (const x of y.parameters)
                  VE(mX(x));
                VE(mf(y));
                break;
            }
          }
        }
        function AM(r, a) {
          if (Ce && dT(
            r,
            /*excludes*/
            111551
            /* Value */
          ) && !yx(a)) {
            const l = Uc(r);
            cf(
              r,
              /*excludeTypeOnlyMeanings*/
              !0
            ) & 1160127 && (Np(F) || Yy(F) && MAe(a) || !II(L_(l))) && R$(r);
          }
        }
        function R$(r) {
          E.assert(Ce);
          const a = Ri(r);
          if (!a.referenced) {
            a.referenced = !0;
            const l = zf(r);
            if (!l) return E.fail();
            if (mS(l) && cf(dc(r)) & 111551) {
              const f = Xu(l.moduleReference);
              M$(f);
            }
          }
        }
        function VAe(r) {
          const a = vn(r), l = Uc(a);
          l && (l === Q || cf(
            a,
            /*excludeTypeOnlyMeanings*/
            !0
          ) & 111551 && !II(l)) && R$(a);
        }
        function UAe(r, a) {
          if (!r) return;
          const l = Xu(r), f = (r.kind === 80 ? 788968 : 1920) | 2097152, d = it(
            l,
            l.escapedText,
            f,
            /*nameNotFoundMessage*/
            void 0,
            /*isUse*/
            !0
          );
          if (d && d.flags & 2097152) {
            if (Ce && Fd(d) && !II(Uc(d)) && !Id(d))
              R$(d);
            else if (a && Np(F) && Mu(F) >= 5 && !Fd(d) && !at(d.declarations, h0)) {
              const y = Be(r, p.A_type_referenced_in_a_decorated_signature_must_be_imported_with_import_type_or_a_namespace_import_when_isolatedModules_and_emitDecoratorMetadata_are_enabled), x = Dn(d.declarations || Ue, ah);
              x && Ws(y, Kr(x, p._0_was_imported_here, Pn(l)));
            }
          }
        }
        function Lit(r) {
          UAe(
            r && v3(r),
            /*forDecoratorMetadata*/
            !1
          );
        }
        function VE(r) {
          const a = gme(r);
          a && Gu(a) && UAe(
            a,
            /*forDecoratorMetadata*/
            !0
          );
        }
        function Mit(r, a) {
          var l;
          const f = Qr(r), d = r.valueDeclaration;
          if (d) {
            if (ya(d) && !d.initializer && !d.dotDotDotToken && d.parent.elements.length >= 2) {
              const y = d.parent.parent, x = em(y);
              if (x.kind === 260 && Y2(x) & 6 || x.kind === 169) {
                const I = yn(y);
                if (!(I.flags & 4194304)) {
                  I.flags |= 4194304;
                  const R = yt(
                    y,
                    0
                    /* Normal */
                  ), J = R && Ho(R, Fm);
                  if (I.flags &= -4194305, J && J.flags & 1048576 && !(x.kind === 169 && ode(x))) {
                    const Y = d.parent, Te = l0(
                      Y,
                      J,
                      J,
                      /*flowContainer*/
                      void 0,
                      a.flowNode
                    );
                    return Te.flags & 131072 ? Kt : Fa(
                      d,
                      Te,
                      /*noTupleBoundsCheck*/
                      !0
                    );
                  }
                }
              }
            }
            if (Ni(d) && !d.type && !d.initializer && !d.dotDotDotToken) {
              const y = d.parent;
              if (y.parameters.length >= 2 && c$(y)) {
                const x = dI(y);
                if (x && x.parameters.length === 1 && Tu(x)) {
                  const I = Zw(ji(Qr(x.parameters[0]), (l = G2(y)) == null ? void 0 : l.nonFixingMapper));
                  if (I.flags & 1048576 && j_(I, va) && !at(y.parameters, ode)) {
                    const R = l0(
                      y,
                      I,
                      I,
                      /*flowContainer*/
                      void 0,
                      a.flowNode
                    ), J = y.parameters.indexOf(d) - (Ob(y) ? 1 : 0);
                    return M_(R, ad(J));
                  }
                }
              }
            }
          }
          return f;
        }
        function qAe(r, a) {
          if (Lb(r)) return;
          if (a === se) {
            if (Fde(r)) {
              Be(r, p.arguments_cannot_be_referenced_in_property_initializers);
              return;
            }
            let y = Df(r);
            if (y)
              for (j < 2 && (y.kind === 219 ? Be(r, p.The_arguments_object_cannot_be_referenced_in_an_arrow_function_in_ES5_Consider_using_a_standard_function_expression) : qn(
                y,
                1024
                /* Async */
              ) && Be(r, p.The_arguments_object_cannot_be_referenced_in_an_async_function_or_method_in_ES5_Consider_using_a_standard_function_or_method)), yn(y).flags |= 512; y && Co(y); )
                y = Df(y), y && (yn(y).flags |= 512);
            return;
          }
          const l = L_(a), f = Pme(l, r);
          X0(f) && ape(r, f) && f.declarations && cg(r, f.declarations, r.escapedText);
          const d = l.valueDeclaration;
          if (d && l.flags & 32 && Xn(d) && d.name !== r) {
            let y = Ou(
              r,
              /*includeArrowFunctions*/
              !1,
              /*includeClassComputedPropertyName*/
              !1
            );
            for (; y.kind !== 307 && y.parent !== d; )
              y = Ou(
                y,
                /*includeArrowFunctions*/
                !1,
                /*includeClassComputedPropertyName*/
                !1
              );
            y.kind !== 307 && (yn(d).flags |= 262144, yn(y).flags |= 262144, yn(r).flags |= 536870912);
          }
          zit(r, a);
        }
        function Rit(r, a) {
          if (Lb(r))
            return IM(r);
          const l = Du(r);
          if (l === Q)
            return Ve;
          if (qAe(r, l), l === se)
            return Fde(r) ? Ve : Qr(l);
          HAe(r) && lC(
            r,
            1
            /* Identifier */
          );
          const f = L_(l);
          let d = f.valueDeclaration;
          const y = d;
          if (d && d.kind === 208 && _s(Ds, d.parent) && _r(r, (Yt) => Yt === d.parent))
            return Zr;
          let x = Mit(f, r);
          const I = Hy(r);
          if (I) {
            if (!(f.flags & 3) && !(tn(r) && f.flags & 512)) {
              const Yt = f.flags & 384 ? p.Cannot_assign_to_0_because_it_is_an_enum : f.flags & 32 ? p.Cannot_assign_to_0_because_it_is_a_class : f.flags & 1536 ? p.Cannot_assign_to_0_because_it_is_a_namespace : f.flags & 16 ? p.Cannot_assign_to_0_because_it_is_a_function : f.flags & 2097152 ? p.Cannot_assign_to_0_because_it_is_an_import : p.Cannot_assign_to_0_because_it_is_not_a_variable;
              return Be(r, Yt, Bi(l)), Ve;
            }
            if (Vd(f))
              return f.flags & 3 ? Be(r, p.Cannot_assign_to_0_because_it_is_a_constant, Bi(l)) : Be(r, p.Cannot_assign_to_0_because_it_is_a_read_only_property, Bi(l)), Ve;
          }
          const R = f.flags & 2097152;
          if (f.flags & 3) {
            if (I === 1)
              return EB(r) ? s0(x) : x;
          } else if (R)
            d = zf(l);
          else
            return x;
          if (!d)
            return x;
          x = cde(x, r, a);
          const J = em(d).kind === 169, Y = _P(d);
          let Te = _P(r);
          const de = Te !== Y, Ge = r.parent && r.parent.parent && Gg(r.parent) && ide(r.parent.parent), ct = l.flags & 134217728, ht = x === ft || x === ul, nr = ht && r.parent.kind === 235;
          for (; Te !== Y && (Te.kind === 218 || Te.kind === 219 || H7(Te)) && (cC(f) && x !== ul || fI(f) && NAe(f, r)); )
            Te = _P(Te);
          const Xt = y && Zn(y) && !y.initializer && !y.exclamationToken && FAe(y) && !wit(l), Gr = J || R || de && !Xt || Ge || ct || jit(r, d) || x !== ft && x !== ul && (!K || (x.flags & 16387) !== 0 || yx(r) || Ype(r) || r.parent.kind === 281) || r.parent.kind === 235 || d.kind === 260 && d.exclamationToken || d.flags & 33554432, Jr = nr ? _e : Gr ? J ? Iit(x, d) : x : ht ? _e : L1(x), sr = nr ? a0(l0(r, x, Jr, Te)) : l0(r, x, Jr, Te);
          if (!wAe(r) && (x === ft || x === ul)) {
            if (sr === ft || sr === ul)
              return fe && (Be(ls(d), p.Variable_0_implicitly_has_type_1_in_some_locations_where_its_type_cannot_be_determined, Bi(l), Hr(sr)), Be(r, p.Variable_0_implicitly_has_an_1_type, Bi(l), Hr(sr))), NI(sr);
          } else if (!Gr && !BE(x) && BE(sr))
            return Be(r, p.Variable_0_is_used_before_being_assigned, Bi(l)), x;
          return I ? s0(sr) : sr;
        }
        function jit(r, a) {
          if (ya(a)) {
            const l = _r(r, ya);
            return l && em(l) === em(a);
          }
        }
        function HAe(r) {
          var a;
          const l = r.parent;
          if (l) {
            if (kn(l) && l.expression === r || bu(l) && l.isTypeOnly)
              return !1;
            const f = (a = l.parent) == null ? void 0 : a.parent;
            if (f && Oc(f) && f.isTypeOnly)
              return !1;
          }
          return !0;
        }
        function Bit(r, a) {
          return !!_r(r, (l) => l === a ? "quit" : Ts(l) || l.parent && is(l.parent) && !sl(l.parent) && l.parent.initializer === l);
        }
        function Jit(r, a) {
          return _r(r, (l) => l === a ? "quit" : l === a.initializer || l === a.condition || l === a.incrementor || l === a.statement);
        }
        function ude(r) {
          return _r(r, (a) => !a || LB(a) ? "quit" : Jy(
            a,
            /*lookInLabeledStatements*/
            !1
          ));
        }
        function zit(r, a) {
          if (j >= 2 || (a.flags & 34) === 0 || !a.valueDeclaration || xi(a.valueDeclaration) || a.valueDeclaration.parent.kind === 299)
            return;
          const l = pd(a.valueDeclaration), f = Bit(r, l), d = ude(l);
          if (d) {
            if (f) {
              let y = !0;
              if (ov(l)) {
                const x = Y1(
                  a.valueDeclaration,
                  261
                  /* VariableDeclarationList */
                );
                if (x && x.parent === l) {
                  const I = Jit(r.parent, l);
                  if (I) {
                    const R = yn(I);
                    R.flags |= 8192;
                    const J = R.capturedBlockScopeBindings || (R.capturedBlockScopeBindings = []);
                    $f(J, a), I === l.initializer && (y = !1);
                  }
                }
              }
              y && (yn(d).flags |= 4096);
            }
            if (ov(l)) {
              const y = Y1(
                a.valueDeclaration,
                261
                /* VariableDeclarationList */
              );
              y && y.parent === l && Vit(r, l) && (yn(a.valueDeclaration).flags |= 65536);
            }
            yn(a.valueDeclaration).flags |= 32768;
          }
          f && (yn(a.valueDeclaration).flags |= 16384);
        }
        function Wit(r, a) {
          const l = yn(r);
          return !!l && _s(l.capturedBlockScopeBindings, vn(a));
        }
        function Vit(r, a) {
          let l = r;
          for (; l.parent.kind === 217; )
            l = l.parent;
          let f = !1;
          if (Gy(l))
            f = !0;
          else if (l.parent.kind === 224 || l.parent.kind === 225) {
            const d = l.parent;
            f = d.operator === 46 || d.operator === 47;
          }
          return f ? !!_r(l, (d) => d === a ? "quit" : d === a.statement) : !1;
        }
        function _de(r, a) {
          if (yn(r).flags |= 2, a.kind === 172 || a.kind === 176) {
            const l = a.parent;
            yn(l).flags |= 4;
          } else
            yn(a).flags |= 4;
        }
        function GAe(r) {
          return dS(r) ? r : Ts(r) ? void 0 : Ss(r, GAe);
        }
        function fde(r) {
          const a = vn(r), l = wo(a);
          return Ja(l) === ke;
        }
        function $Ae(r, a, l) {
          const f = a.parent;
          Ib(f) && !fde(f) && HC(r) && r.flowNode && !O$(
            r.flowNode,
            /*noCacheCheck*/
            !1
          ) && Be(r, l);
        }
        function Uit(r, a) {
          is(a) && sl(a) && V && a.initializer && JP(a.initializer, r.pos) && Pf(a.parent) && Be(r, p.Cannot_use_this_in_a_static_property_initializer_of_a_decorated_class);
        }
        function IM(r) {
          const a = yx(r);
          let l = Ou(
            r,
            /*includeArrowFunctions*/
            !0,
            /*includeClassComputedPropertyName*/
            !0
          ), f = !1, d = !1;
          for (l.kind === 176 && $Ae(r, l, p.super_must_be_called_before_accessing_this_in_the_constructor_of_a_derived_class); ; ) {
            if (l.kind === 219 && (l = Ou(
              l,
              /*includeArrowFunctions*/
              !1,
              !d
            ), f = !0), l.kind === 167) {
              l = Ou(
                l,
                !f,
                /*includeClassComputedPropertyName*/
                !1
              ), d = !0;
              continue;
            }
            break;
          }
          if (Uit(r, l), d)
            Be(r, p.this_cannot_be_referenced_in_a_computed_property_name);
          else
            switch (l.kind) {
              case 267:
                Be(r, p.this_cannot_be_referenced_in_a_module_or_namespace_body);
                break;
              case 266:
                Be(r, p.this_cannot_be_referenced_in_current_location);
                break;
            }
          !a && f && j < 2 && _de(r, l);
          const y = pde(
            r,
            /*includeGlobalThis*/
            !0,
            l
          );
          if (me) {
            const x = Qr(ve);
            if (y === x && f)
              Be(r, p.The_containing_arrow_function_captures_the_global_value_of_this);
            else if (!y) {
              const I = Be(r, p.this_implicitly_has_type_any_because_it_does_not_have_a_type_annotation);
              if (!xi(l)) {
                const R = pde(l);
                R && R !== x && Ws(I, Kr(l, p.An_outer_value_of_this_is_shadowed_by_this_container));
              }
            }
          }
          return y || Ie;
        }
        function pde(r, a = !0, l = Ou(
          r,
          /*includeArrowFunctions*/
          !1,
          /*includeClassComputedPropertyName*/
          !1
        )) {
          const f = tn(r);
          if (Ts(l) && (!gde(r) || Ob(l))) {
            let d = gfe(l) || f && Git(l);
            if (!d) {
              const y = Hit(l);
              if (f && y) {
                const x = Hi(y).symbol;
                x && x.members && x.flags & 16 && (d = wo(x).thisType);
              } else jm(l) && (d = wo(La(l.symbol)).thisType);
              d || (d = dde(l));
            }
            if (d)
              return l0(r, d);
          }
          if (Xn(l.parent)) {
            const d = vn(l.parent), y = zs(l) ? Qr(d) : wo(d).thisType;
            return l0(r, y);
          }
          if (xi(l))
            if (l.commonJsModuleIndicator) {
              const d = vn(l);
              return d && Qr(d);
            } else {
              if (l.externalModuleIndicator)
                return _e;
              if (a)
                return Qr(ve);
            }
        }
        function qit(r) {
          const a = Ou(
            r,
            /*includeArrowFunctions*/
            !1,
            /*includeClassComputedPropertyName*/
            !1
          );
          if (Ts(a)) {
            const l = qf(a);
            if (l.thisParameter)
              return I$(l.thisParameter);
          }
          if (Xn(a.parent)) {
            const l = vn(a.parent);
            return zs(a) ? Qr(l) : wo(l).thisType;
          }
        }
        function Hit(r) {
          if (r.kind === 218 && _n(r.parent) && Pc(r.parent) === 3)
            return r.parent.left.expression.expression;
          if (r.kind === 174 && r.parent.kind === 210 && _n(r.parent.parent) && Pc(r.parent.parent) === 6)
            return r.parent.parent.left.expression;
          if (r.kind === 218 && r.parent.kind === 303 && r.parent.parent.kind === 210 && _n(r.parent.parent.parent) && Pc(r.parent.parent.parent) === 6)
            return r.parent.parent.parent.left.expression;
          if (r.kind === 218 && tl(r.parent) && Fe(r.parent.name) && (r.parent.name.escapedText === "value" || r.parent.name.escapedText === "get" || r.parent.name.escapedText === "set") && ua(r.parent.parent) && Ms(r.parent.parent.parent) && r.parent.parent.parent.arguments[2] === r.parent.parent && Pc(r.parent.parent.parent) === 9)
            return r.parent.parent.parent.arguments[0].expression;
          if (uc(r) && Fe(r.name) && (r.name.escapedText === "value" || r.name.escapedText === "get" || r.name.escapedText === "set") && ua(r.parent) && Ms(r.parent.parent) && r.parent.parent.arguments[2] === r.parent && Pc(r.parent.parent) === 9)
            return r.parent.parent.arguments[0].expression;
        }
        function Git(r) {
          const a = f7(r);
          if (a && a.typeExpression)
            return Ci(a.typeExpression);
          const l = eP(r);
          if (l)
            return Kv(l);
        }
        function $it(r, a) {
          return !!_r(r, (l) => uo(l) ? "quit" : l.kind === 169 && l.parent === a);
        }
        function j$(r) {
          const a = r.parent.kind === 213 && r.parent.expression === r, l = h3(
            r,
            /*stopOnFunctions*/
            !0
          );
          let f = l, d = !1, y = !1;
          if (!a) {
            for (; f && f.kind === 219; )
              qn(
                f,
                1024
                /* Async */
              ) && (y = !0), f = h3(
                f,
                /*stopOnFunctions*/
                !0
              ), d = j < 2;
            f && qn(
              f,
              1024
              /* Async */
            ) && (y = !0);
          }
          let x = 0;
          if (!f || !Y(f)) {
            const Te = _r(
              r,
              (de) => de === f ? "quit" : de.kind === 167
              /* ComputedPropertyName */
            );
            return Te && Te.kind === 167 ? Be(r, p.super_cannot_be_referenced_in_a_computed_property_name) : a ? Be(r, p.Super_calls_are_not_permitted_outside_constructors_or_in_nested_functions_inside_constructors) : !f || !f.parent || !(Xn(f.parent) || f.parent.kind === 210) ? Be(r, p.super_can_only_be_referenced_in_members_of_derived_classes_or_object_literal_expressions) : Be(r, p.super_property_access_is_permitted_only_in_a_constructor_member_function_or_member_accessor_of_a_derived_class), Ve;
          }
          if (!a && l.kind === 176 && $Ae(r, f, p.super_must_be_called_before_accessing_a_property_of_super_in_the_constructor_of_a_derived_class), zs(f) || a ? (x = 32, !a && j >= 2 && j <= 8 && (is(f) || hc(f)) && $Z(r.parent, (Te) => {
            (!xi(Te) || H_(Te)) && (yn(Te).flags |= 2097152);
          })) : x = 16, yn(r).flags |= x, f.kind === 174 && y && (E_(r.parent) && Gy(r.parent) ? yn(f).flags |= 256 : yn(f).flags |= 128), d && _de(r.parent, f), f.parent.kind === 210)
            return j < 2 ? (Be(r, p.super_is_only_allowed_in_members_of_object_literal_expressions_when_option_target_is_ES2015_or_higher), Ve) : Ie;
          const I = f.parent;
          if (!Ib(I))
            return Be(r, p.super_can_only_be_referenced_in_a_derived_class), Ve;
          if (fde(I))
            return a ? Ve : ke;
          const R = wo(vn(I)), J = R && fl(R)[0];
          if (!J)
            return Ve;
          if (f.kind === 176 && $it(r, f))
            return Be(r, p.super_cannot_be_referenced_in_constructor_arguments), Ve;
          return x === 32 ? Ja(R) : uf(J, R.thisType);
          function Y(Te) {
            return a ? Te.kind === 176 : Xn(Te.parent) || Te.parent.kind === 210 ? zs(Te) ? Te.kind === 174 || Te.kind === 173 || Te.kind === 177 || Te.kind === 178 || Te.kind === 172 || Te.kind === 175 : Te.kind === 174 || Te.kind === 173 || Te.kind === 177 || Te.kind === 178 || Te.kind === 172 || Te.kind === 171 || Te.kind === 176 : !1;
          }
        }
        function XAe(r) {
          return (r.kind === 174 || r.kind === 177 || r.kind === 178) && r.parent.kind === 210 ? r.parent : r.kind === 218 && r.parent.kind === 303 ? r.parent.parent : void 0;
        }
        function QAe(r) {
          return Cn(r) & 4 && r.target === Mc ? Io(r)[0] : void 0;
        }
        function Xit(r) {
          return Ho(r, (a) => a.flags & 2097152 ? ar(a.types, QAe) : QAe(a));
        }
        function YAe(r, a) {
          let l = r, f = a;
          for (; f; ) {
            const d = Xit(f);
            if (d)
              return d;
            if (l.parent.kind !== 303)
              break;
            l = l.parent.parent, f = ob(
              l,
              /*contextFlags*/
              void 0
            );
          }
        }
        function dde(r) {
          if (r.kind === 219)
            return;
          if (c$(r)) {
            const l = dI(r);
            if (l) {
              const f = l.thisParameter;
              if (f)
                return Qr(f);
            }
          }
          const a = tn(r);
          if (me || a) {
            const l = XAe(r);
            if (l) {
              const d = ob(
                l,
                /*contextFlags*/
                void 0
              ), y = YAe(l, d);
              return y ? ji(y, Wpe(G2(l))) : _f(d ? a0(d) : gc(l));
            }
            const f = Gp(r.parent);
            if (wl(f)) {
              const d = f.left;
              if (ko(d)) {
                const { expression: y } = d;
                if (a && Fe(y)) {
                  const x = Er(f);
                  if (x.commonJsModuleIndicator && Du(y) === x.symbol)
                    return;
                }
                return _f(gc(y));
              }
            }
          }
        }
        function ZAe(r) {
          const a = r.parent;
          if (!c$(a))
            return;
          const l = Db(a);
          if (l && l.arguments) {
            const d = tX(l), y = a.parameters.indexOf(r);
            if (r.dotDotDotToken)
              return zde(
                d,
                y,
                d.length,
                Ie,
                /*context*/
                void 0,
                0
                /* Normal */
              );
            const x = yn(l), I = x.resolvedSignature;
            x.resolvedSignature = Ur;
            const R = y < d.length ? ib(Hi(d[y])) : r.initializer ? void 0 : M;
            return x.resolvedSignature = I, R;
          }
          const f = dI(a);
          if (f) {
            const d = a.parameters.indexOf(r) - (Ob(a) ? 1 : 0);
            return r.dotDotDotToken && Po(a.parameters) === r ? GM(f, d) : X2(f, d);
          }
        }
        function mde(r, a) {
          const l = Yc(r) || (tn(r) ? iF(r) : void 0);
          if (l)
            return Ci(l);
          switch (r.kind) {
            case 169:
              return ZAe(r);
            case 208:
              return Qit(r, a);
            case 172:
              if (zs(r))
                return Yit(r, a);
          }
        }
        function Qit(r, a) {
          const l = r.parent.parent, f = r.propertyName || r.name, d = mde(l, a) || l.kind !== 208 && l.initializer && pP(
            l,
            r.dotDotDotToken ? 32 : 0
            /* Normal */
          );
          if (!d || Ps(f) || u3(f)) return;
          if (l.name.kind === 207) {
            const x = MC(r.parent.elements, r);
            return x < 0 ? void 0 : Sde(d, x);
          }
          const y = t0(f);
          if (ip(y)) {
            const x = sp(y);
            return qc(d, x);
          }
        }
        function Yit(r, a) {
          const l = lt(r.parent) && o_(r.parent, a);
          if (l)
            return ab(l, vn(r).escapedName);
        }
        function Zit(r, a) {
          const l = r.parent;
          if (y0(l) && r === l.initializer) {
            const f = mde(l, a);
            if (f)
              return f;
            if (!(a & 8) && Ps(l.name) && l.name.elements.length > 0)
              return Yi(
                l.name,
                /*includePatternInType*/
                !0,
                /*reportErrors*/
                !1
              );
          }
        }
        function Kit(r, a) {
          const l = Df(r);
          if (l) {
            let f = B$(l, a);
            if (f) {
              const d = Fc(l);
              if (d & 1) {
                const y = (d & 2) !== 0;
                f.flags & 1048576 && (f = Hc(f, (I) => !!gy(1, I, y)));
                const x = gy(1, f, (d & 2) !== 0);
                if (!x)
                  return;
                f = x;
              }
              if (d & 2) {
                const y = Ho(f, u0);
                return y && Gn([y, yIe(y)]);
              }
              return f;
            }
          }
        }
        function est(r, a) {
          const l = o_(r, a);
          if (l) {
            const f = u0(l);
            return f && Gn([f, yIe(f)]);
          }
        }
        function tst(r, a) {
          const l = Df(r);
          if (l) {
            const f = Fc(l);
            let d = B$(l, a);
            if (d) {
              const y = (f & 2) !== 0;
              if (!r.asteriskToken && d.flags & 1048576 && (d = Hc(d, (x) => !!gy(1, x, y))), r.asteriskToken) {
                const x = Dme(d, y), I = x?.yieldType ?? Mt, R = o_(r, a) ?? Mt, J = x?.nextType ?? mt, Y = aX(
                  I,
                  R,
                  J,
                  /*isAsyncGenerator*/
                  !1
                );
                if (y) {
                  const Te = aX(
                    I,
                    R,
                    J,
                    /*isAsyncGenerator*/
                    !0
                  );
                  return Gn([Y, Te]);
                }
                return Y;
              }
              return gy(0, d, y);
            }
          }
        }
        function gde(r) {
          let a = !1;
          for (; r.parent && !Ts(r.parent); ) {
            if (Ni(r.parent) && (a || r.parent.initializer === r))
              return !0;
            ya(r.parent) && r.parent.initializer === r && (a = !0), r = r.parent;
          }
          return !1;
        }
        function KAe(r, a) {
          const l = !!(Fc(a) & 2), f = B$(
            a,
            /*contextFlags*/
            void 0
          );
          if (f)
            return gy(r, f, l) || void 0;
        }
        function B$(r, a) {
          const l = FE(r);
          if (l)
            return l;
          const f = xde(r);
          if (f && !zG(f)) {
            const y = Va(f), x = Fc(r);
            return x & 1 ? Hc(y, (I) => !!(I.flags & 58998787) || _me(
              I,
              x,
              /*errorNode*/
              void 0
            )) : x & 2 ? Hc(y, (I) => !!(I.flags & 58998787) || !!gP(I)) : y;
          }
          const d = Db(r);
          if (d)
            return o_(d, a);
        }
        function e8e(r, a) {
          const f = tX(r).indexOf(a);
          return f === -1 ? void 0 : hde(r, f);
        }
        function hde(r, a) {
          if (df(r))
            return a === 0 ? st : a === 1 ? I3e(
              /*reportErrors*/
              !1
            ) : Ie;
          const l = yn(r).resolvedSignature === sn ? sn : HE(r);
          if (yu(r) && a === 0)
            return V$(l, r);
          const f = l.parameters.length - 1;
          return Tu(l) && a >= f ? M_(
            Qr(l.parameters[f]),
            ad(a - f),
            256
            /* Contextual */
          ) : zd(l, a);
        }
        function rst(r) {
          const a = tme(r);
          return a ? xT(a) : void 0;
        }
        function nst(r, a) {
          if (r.parent.kind === 215)
            return e8e(r.parent, a);
        }
        function ist(r, a) {
          const l = r.parent, { left: f, operatorToken: d, right: y } = l;
          switch (d.kind) {
            case 64:
            case 77:
            case 76:
            case 78:
              return r === y ? ast(l) : void 0;
            case 57:
            case 61:
              const x = o_(l, a);
              return r === y && (x && x.pattern || !x && !gK(l)) ? iu(f) : x;
            case 56:
            case 28:
              return r === y ? o_(l, a) : void 0;
            default:
              return;
          }
        }
        function sst(r) {
          if (fd(r) && r.symbol)
            return r.symbol;
          if (Fe(r))
            return Du(r);
          if (kn(r)) {
            const l = iu(r.expression);
            return Di(r.name) ? a(l, r.name) : Zs(l, r.name.escapedText);
          }
          if (fo(r)) {
            const l = gc(r.argumentExpression);
            if (!ip(l))
              return;
            const f = iu(r.expression);
            return Zs(f, sp(l));
          }
          return;
          function a(l, f) {
            const d = BM(f.escapedText, f);
            return d && Y$(l, d);
          }
        }
        function ast(r) {
          var a, l;
          const f = Pc(r);
          switch (f) {
            case 0:
            case 4:
              const d = sst(r.left), y = d && d.valueDeclaration;
              if (y && (is(y) || ju(y))) {
                const R = Yc(y);
                return R && ji(Ci(R), Ri(d).mapper) || (is(y) ? y.initializer && iu(r.left) : void 0);
              }
              return f === 0 ? iu(r.left) : t8e(r);
            case 5:
              if (J$(r, f))
                return t8e(r);
              if (!fd(r.left) || !r.left.symbol)
                return iu(r.left);
              {
                const R = r.left.symbol.valueDeclaration;
                if (!R)
                  return;
                const J = Us(r.left, ko), Y = Yc(R);
                if (Y)
                  return Ci(Y);
                if (Fe(J.expression)) {
                  const Te = J.expression, de = it(
                    Te,
                    Te.escapedText,
                    111551,
                    /*nameNotFoundMessage*/
                    void 0,
                    /*isUse*/
                    !0
                  );
                  if (de) {
                    const Ge = de.valueDeclaration && Yc(de.valueDeclaration);
                    if (Ge) {
                      const ct = wh(J);
                      if (ct !== void 0)
                        return ab(Ci(Ge), ct);
                    }
                    return;
                  }
                }
                return tn(R) || R === r.left ? void 0 : iu(r.left);
              }
            case 1:
            case 6:
            case 3:
            case 2:
              let x;
              f !== 2 && (x = fd(r.left) ? (a = r.left.symbol) == null ? void 0 : a.valueDeclaration : void 0), x || (x = (l = r.symbol) == null ? void 0 : l.valueDeclaration);
              const I = x && Yc(x);
              return I ? Ci(I) : void 0;
            case 7:
            case 8:
            case 9:
              return E.fail("Does not apply");
            default:
              return E.assertNever(f);
          }
        }
        function J$(r, a = Pc(r)) {
          if (a === 4)
            return !0;
          if (!tn(r) || a !== 5 || !Fe(r.left.expression))
            return !1;
          const l = r.left.expression.escapedText, f = it(
            r.left,
            l,
            111551,
            /*nameNotFoundMessage*/
            void 0,
            /*isUse*/
            !0,
            /*excludeGlobals*/
            !0
          );
          return Y7(f?.valueDeclaration);
        }
        function t8e(r) {
          if (!r.symbol) return iu(r.left);
          if (r.symbol.valueDeclaration) {
            const d = Yc(r.symbol.valueDeclaration);
            if (d) {
              const y = Ci(d);
              if (y)
                return y;
            }
          }
          const a = Us(r.left, ko);
          if (!Ep(Ou(
            a.expression,
            /*includeArrowFunctions*/
            !1,
            /*includeClassComputedPropertyName*/
            !1
          )))
            return;
          const l = IM(a.expression), f = wh(a);
          return f !== void 0 && ab(l, f) || void 0;
        }
        function ost(r) {
          return !!(lc(r) & 262144 && !r.links.type && CE(
            r,
            0
            /* Type */
          ) >= 0);
        }
        function yde(r, a) {
          if (r.flags & 16777216) {
            const l = r;
            return !!(sd(I1(l)).flags & 131072) && n0(F1(l)) === n0(l.checkType) && js(a, l.extendsType);
          }
          return r.flags & 2097152 ? at(r.types, (l) => yde(l, a)) : !1;
        }
        function ab(r, a, l) {
          return Ho(
            r,
            (f) => {
              if (f.flags & 2097152) {
                let d, y, x = !1;
                for (const I of f.types) {
                  if (!(I.flags & 524288))
                    continue;
                  if (T_(I) && V8(I) !== 2) {
                    const J = r8e(I, a, l);
                    d = vde(d, J);
                    continue;
                  }
                  const R = n8e(I, a);
                  if (!R) {
                    x || (y = Dr(y, I));
                    continue;
                  }
                  x = !0, y = void 0, d = vde(d, R);
                }
                if (y)
                  for (const I of y) {
                    const R = i8e(I, a, l);
                    d = vde(d, R);
                  }
                return d ? d.length === 1 ? d[0] : aa(d) : void 0;
              }
              if (f.flags & 524288)
                return T_(f) && V8(f) !== 2 ? r8e(f, a, l) : n8e(f, a) ?? i8e(f, a, l);
            },
            /*noReductions*/
            !0
          );
        }
        function vde(r, a) {
          return a ? Dr(r, a.flags & 1 ? mt : a) : r;
        }
        function r8e(r, a, l) {
          const f = l || x_(Ei(a)), d = Uf(r);
          if (r.nameType && yde(r.nameType, f) || yde(d, f))
            return;
          const y = ru(d) || d;
          if (js(f, y))
            return t$(r, f);
        }
        function n8e(r, a) {
          const l = Zs(r, a);
          if (!(!l || ost(l)))
            return o0(Qr(l), !!(l.flags & 16777216));
        }
        function i8e(r, a, l) {
          var f;
          if (va(r) && Ug(a) && +a >= 0) {
            const d = oP(
              r,
              r.target.fixedLength,
              /*endSkipCount*/
              0,
              /*writing*/
              !1,
              /*noReductions*/
              !0
            );
            if (d)
              return d;
          }
          return (f = Ffe(Ofe(r), l || x_(Ei(a)))) == null ? void 0 : f.type;
        }
        function s8e(r, a) {
          if (E.assert(Ep(r)), !(r.flags & 67108864))
            return bde(r, a);
        }
        function bde(r, a) {
          const l = r.parent, f = tl(r) && mde(r, a);
          if (f)
            return f;
          const d = ob(l, a);
          if (d) {
            if (AE(r)) {
              const y = vn(r);
              return ab(d, y.escapedName, Ri(y).nameType);
            }
            if (Ph(r)) {
              const y = ls(r);
              if (y && ia(y)) {
                const x = Hi(y.expression), I = ip(x) && ab(d, sp(x));
                if (I)
                  return I;
              }
            }
            if (r.name) {
              const y = t0(r.name);
              return Ho(
                d,
                (x) => {
                  var I;
                  return (I = Ffe(Ofe(x), y)) == null ? void 0 : I.type;
                },
                /*noReductions*/
                !0
              );
            }
          }
        }
        function cst(r) {
          let a, l;
          for (let f = 0; f < r.length; f++)
            op(r[f]) && (a ?? (a = f), l = f);
          return { first: a, last: l };
        }
        function Sde(r, a, l, f, d) {
          return r && Ho(
            r,
            (y) => {
              if (va(y)) {
                if ((f === void 0 || a < f) && a < y.target.fixedLength)
                  return o0(Io(y)[a], !!y.target.elementFlags[a]);
                const x = l !== void 0 && (d === void 0 || a > d) ? l - a : 0, I = x > 0 && y.target.combinedFlags & 12 ? X8(
                  y.target,
                  3
                  /* Fixed */
                ) : 0;
                return x > 0 && x <= I ? Io(y)[_y(y) - x] : oP(
                  y,
                  f === void 0 ? y.target.fixedLength : Math.min(y.target.fixedLength, f),
                  l === void 0 || d === void 0 ? I : Math.min(I, l - d),
                  /*writing*/
                  !1,
                  /*noReductions*/
                  !0
                );
              }
              return (!f || a < f) && ab(y, "" + a) || Tme(
                1,
                y,
                _e,
                /*errorNode*/
                void 0,
                /*checkAssignability*/
                !1
              );
            },
            /*noReductions*/
            !0
          );
        }
        function lst(r, a) {
          const l = r.parent;
          return r === l.whenTrue || r === l.whenFalse ? o_(l, a) : void 0;
        }
        function ust(r, a, l) {
          const f = ob(r.openingElement.attributes, l), d = MM(MT(r));
          if (!(f && !be(f) && d && d !== ""))
            return;
          const y = QC(r.children), x = y.indexOf(a), I = ab(f, d);
          return I && (y.length === 1 ? I : Ho(
            I,
            (R) => py(R) ? M_(R, ad(x)) : R,
            /*noReductions*/
            !0
          ));
        }
        function _st(r, a) {
          const l = r.parent;
          return k7(l) ? o_(r, a) : lm(l) ? ust(l, r, a) : void 0;
        }
        function a8e(r, a) {
          if (um(r)) {
            const l = ob(r.parent, a);
            return !l || be(l) ? void 0 : ab(l, bD(r.name));
          } else
            return o_(r.parent, a);
        }
        function FM(r) {
          switch (r.kind) {
            case 11:
            case 9:
            case 10:
            case 15:
            case 228:
            case 112:
            case 97:
            case 106:
            case 80:
            case 157:
              return !0;
            case 211:
            case 217:
              return FM(r.expression);
            case 294:
              return !r.expression || FM(r.expression);
          }
          return !1;
        }
        function fst(r, a) {
          const l = `D${Oa(r)},${Ll(a)}`;
          return wd(l) ?? v1(
            l,
            rit(a, r) ?? Epe(
              a,
              Ji(
                fr(
                  Tn(r.properties, (f) => f.symbol ? f.kind === 303 ? FM(f.initializer) && cP(a, f.symbol.escapedName) : f.kind === 304 ? cP(a, f.symbol.escapedName) : !1 : !1),
                  (f) => [() => KM(f.kind === 303 ? f.initializer : f.name), f.symbol.escapedName]
                ),
                fr(
                  Tn(Ga(a), (f) => {
                    var d;
                    return !!(f.flags & 16777216) && !!((d = r?.symbol) != null && d.members) && !r.symbol.members.has(f.escapedName) && cP(a, f.escapedName);
                  }),
                  (f) => [() => _e, f.escapedName]
                )
              ),
              js
            )
          );
        }
        function pst(r, a) {
          const l = `D${Oa(r)},${Ll(a)}`, f = wd(l);
          if (f) return f;
          const d = MM(MT(r));
          return v1(
            l,
            Epe(
              a,
              Ji(
                fr(
                  Tn(r.properties, (y) => !!y.symbol && y.kind === 291 && cP(a, y.symbol.escapedName) && (!y.initializer || FM(y.initializer))),
                  (y) => [y.initializer ? () => KM(y.initializer) : () => Ye, y.symbol.escapedName]
                ),
                fr(
                  Tn(Ga(a), (y) => {
                    var x;
                    if (!(y.flags & 16777216) || !((x = r?.symbol) != null && x.members))
                      return !1;
                    const I = r.parent.parent;
                    return y.escapedName === d && lm(I) && QC(I.children).length ? !1 : !r.symbol.members.has(y.escapedName) && cP(a, y.escapedName);
                  }),
                  (y) => [() => _e, y.escapedName]
                )
              ),
              js
            )
          );
        }
        function ob(r, a) {
          const l = Ep(r) ? s8e(r, a) : o_(r, a), f = z$(l, r, a);
          if (f && !(a && a & 2 && f.flags & 8650752)) {
            const d = Ho(
              f,
              // When obtaining apparent type of *contextual* type we don't want to get apparent type of mapped types.
              // That would evaluate mapped types with array or tuple type constraints too eagerly
              // and thus it would prevent `getTypeOfPropertyOfContextualType` from obtaining per-position contextual type for elements of array literal expressions.
              // Apparent type of other mapped types is already the mapped type itself so we can just avoid calling `getApparentType` here for all mapped types.
              (y) => Cn(y) & 32 ? y : Uu(y),
              /*noReductions*/
              !0
            );
            return d.flags & 1048576 && ua(r) ? fst(r, d) : d.flags & 1048576 && Xb(r) ? pst(r, d) : d;
          }
        }
        function z$(r, a, l) {
          if (r && Cc(
            r,
            465829888
            /* Instantiable */
          )) {
            const f = G2(a);
            if (f && l & 1 && at(f.inferences, rct))
              return W$(r, f.nonFixingMapper);
            if (f?.returnMapper) {
              const d = W$(r, f.returnMapper);
              return d.flags & 1048576 && mh(d.types, Rr) && mh(d.types, gt) ? Hc(d, (y) => y !== Rr && y !== gt) : d;
            }
          }
          return r;
        }
        function W$(r, a) {
          return r.flags & 465829888 ? ji(r, a) : r.flags & 1048576 ? Gn(
            fr(r.types, (l) => W$(l, a)),
            0
            /* None */
          ) : r.flags & 2097152 ? aa(fr(r.types, (l) => W$(l, a))) : r;
        }
        function o_(r, a) {
          var l;
          if (r.flags & 67108864)
            return;
          const f = c8e(
            r,
            /*includeCaches*/
            !a
          );
          if (f >= 0)
            return ts[f];
          const { parent: d } = r;
          switch (d.kind) {
            case 260:
            case 169:
            case 172:
            case 171:
            case 208:
              return Zit(r, a);
            case 219:
            case 253:
              return Kit(r, a);
            case 229:
              return tst(d, a);
            case 223:
              return est(d, a);
            case 213:
            case 214:
              return e8e(d, r);
            case 170:
              return rst(d);
            case 216:
            case 234:
              return Up(d.type) ? o_(d, a) : Ci(d.type);
            case 226:
              return ist(r, a);
            case 303:
            case 304:
              return bde(d, a);
            case 305:
              return o_(d.parent, a);
            case 209: {
              const y = d, x = ob(y, a), I = MC(y.elements, r), R = (l = yn(y)).spreadIndices ?? (l.spreadIndices = cst(y.elements));
              return Sde(x, I, y.elements.length, R.first, R.last);
            }
            case 227:
              return lst(r, a);
            case 239:
              return E.assert(
                d.parent.kind === 228
                /* TemplateExpression */
              ), nst(d.parent, r);
            case 217: {
              if (tn(d)) {
                if (MJ(d))
                  return Ci(RJ(d));
                const y = V1(d);
                if (y && !Up(y.typeExpression.type))
                  return Ci(y.typeExpression.type);
              }
              return o_(d, a);
            }
            case 235:
              return o_(d, a);
            case 238:
              return Ci(d.type);
            case 277:
              return Qv(d);
            case 294:
              return _st(d, a);
            case 291:
            case 293:
              return a8e(d, a);
            case 286:
            case 285:
              return hst(d, a);
            case 301:
              return gst(d);
          }
        }
        function o8e(r) {
          OM(
            r,
            o_(
              r,
              /*contextFlags*/
              void 0
            ),
            /*isCache*/
            !0
          );
        }
        function OM(r, a, l) {
          vi[Mi] = r, ts[Mi] = a, Hn[Mi] = l, Mi++;
        }
        function pI() {
          Mi--;
        }
        function c8e(r, a) {
          for (let l = Mi - 1; l >= 0; l--)
            if (r === vi[l] && (a || !Hn[l]))
              return l;
          return -1;
        }
        function dst(r, a) {
          Al[Jf] = r, Bf[Jf] = a, Jf++;
        }
        function mst() {
          Jf--;
        }
        function G2(r) {
          for (let a = Jf - 1; a >= 0; a--)
            if (Ab(r, Al[a]))
              return Bf[a];
        }
        function gst(r) {
          return ab(Hfe(
            /*reportErrors*/
            !1
          ), sF(r));
        }
        function hst(r, a) {
          if (yd(r) && a !== 4) {
            const l = c8e(
              r.parent,
              /*includeCaches*/
              !a
            );
            if (l >= 0)
              return ts[l];
          }
          return hde(r, 0);
        }
        function V$(r, a) {
          return Yp(a) || H8e(a) !== 0 ? yst(r, a) : Sst(r, a);
        }
        function yst(r, a) {
          let l = Kde(r, mt);
          l = l8e(a, MT(a), l);
          const f = $2(Ff.IntrinsicAttributes, a);
          return Oe(f) || (l = $L(f, l)), l;
        }
        function vst(r, a) {
          if (r.compositeSignatures) {
            const f = [];
            for (const d of r.compositeSignatures) {
              const y = Va(d);
              if (be(y))
                return y;
              const x = qc(y, a);
              if (!x)
                return;
              f.push(x);
            }
            return aa(f);
          }
          const l = Va(r);
          return be(l) ? l : qc(l, a);
        }
        function bst(r) {
          if (Yp(r)) return rIe(r);
          if (_C(r.tagName)) {
            const l = v8e(r), f = rX(r, l);
            return xT(f);
          }
          const a = gc(r.tagName);
          if (a.flags & 128) {
            const l = y8e(a, r);
            if (!l)
              return Ve;
            const f = rX(r, l);
            return xT(f);
          }
          return a;
        }
        function l8e(r, a, l) {
          const f = Ust(a);
          if (f) {
            const d = bst(r), y = T8e(f, tn(r), d, l);
            if (y)
              return y;
          }
          return l;
        }
        function Sst(r, a) {
          const l = MT(a), f = Hst(l);
          let d = f === void 0 ? Kde(r, mt) : f === "" ? Va(r) : vst(r, f);
          if (!d)
            return f && Ar(a.attributes.properties) && Be(a, p.JSX_element_class_does_not_support_attributes_because_it_does_not_have_a_0_property, Ei(f)), mt;
          if (d = l8e(a, l, d), be(d))
            return d;
          {
            let y = d;
            const x = $2(Ff.IntrinsicClassAttributes, a);
            if (!Oe(x)) {
              const R = id(x.symbol), J = Va(r);
              let Y;
              if (R) {
                const Te = uy([J], R, yg(R), tn(a));
                Y = ji(x, R_(R, Te));
              } else Y = x;
              y = $L(Y, y);
            }
            const I = $2(Ff.IntrinsicAttributes, a);
            return Oe(I) || (y = $L(I, y)), y;
          }
        }
        function Tst(r) {
          return lu(F, "noImplicitAny") ? Hu(
            r,
            (a, l) => a === l || !a ? a : HPe(a.typeParameters, l.typeParameters) ? Cst(a, l) : void 0
          ) : void 0;
        }
        function xst(r, a, l) {
          if (!r || !a)
            return r || a;
          const f = Gn([Qr(r), ji(Qr(a), l)]);
          return NT(r, f);
        }
        function kst(r, a, l) {
          const f = B_(r), d = B_(a), y = f >= d ? r : a, x = y === r ? a : r, I = y === r ? f : d, R = Tg(r) || Tg(a), J = R && !Tg(y), Y = new Array(I + (J ? 1 : 0));
          for (let Te = 0; Te < I; Te++) {
            let de = X2(y, Te);
            y === a && (de = ji(de, l));
            let Ge = X2(x, Te) || mt;
            x === a && (Ge = ji(Ge, l));
            const ct = Gn([de, Ge]), ht = R && !J && Te === I - 1, nr = Te >= Wd(y) && Te >= Wd(x), Xt = Te >= f ? void 0 : fP(r, Te), Gr = Te >= d ? void 0 : fP(a, Te), Jr = Xt === Gr ? Xt : Xt ? Gr ? void 0 : Xt : Gr, sr = sa(
              1 | (nr && !ht ? 16777216 : 0),
              Jr || `arg${Te}`,
              ht ? 32768 : nr ? 16384 : 0
            );
            sr.links.type = ht ? du(ct) : ct, Y[Te] = sr;
          }
          if (J) {
            const Te = sa(
              1,
              "args",
              32768
              /* RestParameter */
            );
            Te.links.type = du(zd(x, I)), x === a && (Te.links.type = ji(Te.links.type, l)), Y[I] = Te;
          }
          return Y;
        }
        function Cst(r, a) {
          const l = r.typeParameters || a.typeParameters;
          let f;
          r.typeParameters && a.typeParameters && (f = R_(a.typeParameters, r.typeParameters));
          let d = (r.flags | a.flags) & 166;
          const y = r.declaration, x = kst(r, a, f), I = Po(x);
          I && lc(I) & 32768 && (d |= 1);
          const R = xst(r.thisParameter, a.thisParameter, f), J = Math.max(r.minArgumentCount, a.minArgumentCount), Y = fh(
            y,
            l,
            R,
            x,
            /*resolvedReturnType*/
            void 0,
            /*resolvedTypePredicate*/
            void 0,
            J,
            d
          );
          return Y.compositeKind = 2097152, Y.compositeSignatures = Ji(r.compositeKind === 2097152 && r.compositeSignatures || [r], [a]), f && (Y.mapper = r.compositeKind === 2097152 && r.mapper && r.compositeSignatures ? W2(r.mapper, f) : f), Y;
        }
        function Tde(r, a) {
          const l = As(
            r,
            0
            /* Call */
          ), f = Tn(l, (d) => !Est(d, a));
          return f.length === 1 ? f[0] : Tst(f);
        }
        function Est(r, a) {
          let l = 0;
          for (; l < a.parameters.length; l++) {
            const f = a.parameters[l];
            if (f.initializer || f.questionToken || f.dotDotDotToken || nF(f))
              break;
          }
          return a.parameters.length && $y(a.parameters[0]) && l--, !Tg(r) && B_(r) < l;
        }
        function xde(r) {
          return Ky(r) || Ep(r) ? dI(r) : void 0;
        }
        function dI(r) {
          E.assert(r.kind !== 174 || Ep(r));
          const a = eP(r);
          if (a)
            return a;
          const l = ob(
            r,
            1
            /* Signature */
          );
          if (!l)
            return;
          if (!(l.flags & 1048576))
            return Tde(l, r);
          let f;
          const d = l.types;
          for (const y of d) {
            const x = Tde(y, r);
            if (x)
              if (!f)
                f = [x];
              else if (yM(
                f[0],
                x,
                /*partialMatch*/
                !1,
                /*ignoreThisTypes*/
                !0,
                /*ignoreReturnTypes*/
                !0,
                tI
              ))
                f.push(x);
              else
                return;
          }
          if (f)
            return f.length === 1 ? f[0] : UPe(f[0], f);
        }
        function Dst(r) {
          const a = Er(r);
          if (!j1(a) && !r.isUnterminated) {
            let l;
            s ?? (s = Pg(
              99,
              /*skipTrivia*/
              !0
            )), s.setScriptTarget(a.languageVersion), s.setLanguageVariant(a.languageVariant), s.setOnError((f, d, y) => {
              const x = s.getTokenEnd();
              if (f.category === 3 && l && x === l.start && d === l.length) {
                const I = kx(a.fileName, a.text, x, d, f, y);
                Ws(l, I);
              } else (!l || x !== l.start) && (l = al(a, x, d, f, y), Ia.add(l));
            }), s.setText(a.text, r.pos, r.end - r.pos);
            try {
              return s.scan(), E.assert(s.reScanSlashToken(
                /*reportErrors*/
                !0
              ) === 14, "Expected scanner to rescan RegularExpressionLiteral"), !!l;
            } finally {
              s.setText(""), s.setOnError(
                /*onError*/
                void 0
              );
            }
          }
          return !1;
        }
        function wst(r) {
          const a = yn(r);
          return a.flags & 1 || (a.flags |= 1, n(() => Dst(r))), nc;
        }
        function Pst(r, a) {
          j < kl.SpreadElements && xl(
            r,
            F.downlevelIteration ? 1536 : 1024
            /* SpreadArray */
          );
          const l = Hi(r.expression, a);
          return my(33, l, _e, r.expression);
        }
        function Nst(r) {
          return r.isSpread ? M_(r.type, At) : r.type;
        }
        function uC(r) {
          return r.kind === 208 && !!r.initializer || r.kind === 303 && uC(r.initializer) || r.kind === 304 && !!r.objectAssignmentInitializer || r.kind === 226 && r.operatorToken.kind === 64;
        }
        function Ast(r) {
          const a = Gp(r.parent);
          return op(a) && Gd(a.parent);
        }
        function u8e(r, a, l) {
          const f = r.elements, d = f.length, y = [], x = [];
          o8e(r);
          const I = Gy(r), R = dP(r), J = ob(
            r,
            /*contextFlags*/
            void 0
          ), Y = Ast(r) || !!J && yp(J, (de) => aP(de) || T_(de) && !de.nameType && !!K8(de.target || de));
          let Te = !1;
          for (let de = 0; de < d; de++) {
            const Ge = f[de];
            if (Ge.kind === 230) {
              j < kl.SpreadElements && xl(
                Ge,
                F.downlevelIteration ? 1536 : 1024
                /* SpreadArray */
              );
              const ct = Hi(Ge.expression, a, l);
              if (py(ct))
                y.push(ct), x.push(
                  8
                  /* Variadic */
                );
              else if (I) {
                const ht = Zv(ct, At) || Tme(
                  65,
                  ct,
                  _e,
                  /*errorNode*/
                  void 0,
                  /*checkAssignability*/
                  !1
                ) || mt;
                y.push(ht), x.push(
                  4
                  /* Rest */
                );
              } else
                y.push(my(33, ct, _e, Ge.expression)), x.push(
                  4
                  /* Rest */
                );
            } else if (he && Ge.kind === 232)
              Te = !0, y.push(X), x.push(
                2
                /* Optional */
              );
            else {
              const ct = mP(Ge, a, l);
              if (y.push(Ol(
                ct,
                /*isProperty*/
                !0,
                Te
              )), x.push(
                Te ? 2 : 1
                /* Required */
              ), Y && a && a & 2 && !(a & 4) && Hf(Ge)) {
                const ht = G2(r);
                E.assert(ht), Jpe(ht, Ge, ct);
              }
            }
          }
          return pI(), I ? vg(y, x) : _8e(l || R || Y ? vg(
            y,
            x,
            /*readonly*/
            R && !(J && yp(J, Ape))
          ) : du(
            y.length ? Gn(
              $c(y, (de, Ge) => x[Ge] & 8 ? A1(de, At) || Ie : de),
              2
              /* Subtype */
            ) : K ? cr : M,
            R
          ));
        }
        function _8e(r) {
          if (!(Cn(r) & 4))
            return r;
          let a = r.literalType;
          return a || (a = r.literalType = v3e(r), a.objectFlags |= 147456), a;
        }
        function Ist(r) {
          switch (r.kind) {
            case 167:
              return Fst(r);
            case 80:
              return Ug(r.escapedText);
            case 9:
            case 11:
              return Ug(r.text);
            default:
              return !1;
          }
        }
        function Fst(r) {
          return nu(
            od(r),
            296
            /* NumberLike */
          );
        }
        function od(r) {
          const a = yn(r.expression);
          if (!a.resolvedType) {
            if ((Yu(r.parent.parent) || Xn(r.parent.parent) || Yl(r.parent.parent)) && _n(r.expression) && r.expression.operatorToken.kind === 103 && r.parent.kind !== 177 && r.parent.kind !== 178)
              return a.resolvedType = Ve;
            if (a.resolvedType = Hi(r.expression), is(r.parent) && !sl(r.parent) && Kc(r.parent.parent)) {
              const l = pd(r.parent.parent), f = ude(l);
              f && (yn(f).flags |= 4096, yn(r).flags |= 32768, yn(r.parent.parent).flags |= 32768);
            }
            (a.resolvedType.flags & 98304 || !nu(
              a.resolvedType,
              402665900
              /* ESSymbolLike */
            ) && !js(a.resolvedType, Qn)) && Be(r, p.A_computed_property_name_must_be_of_type_string_number_symbol_or_any);
          }
          return a.resolvedType;
        }
        function Ost(r) {
          var a;
          const l = (a = r.declarations) == null ? void 0 : a[0];
          return Ug(r.escapedName) || l && El(l) && Ist(l.name);
        }
        function f8e(r) {
          var a;
          const l = (a = r.declarations) == null ? void 0 : a[0];
          return W3(r) || l && El(l) && ia(l.name) && nu(
            od(l.name),
            4096
            /* ESSymbol */
          );
        }
        function Lst(r) {
          var a;
          const l = (a = r.declarations) == null ? void 0 : a[0];
          return l && El(l) && ia(l.name);
        }
        function mI(r, a, l, f) {
          var d;
          const y = [];
          let x;
          for (let R = a; R < l.length; R++) {
            const J = l[R];
            (f === st && !f8e(J) || f === At && Ost(J) || f === wt && f8e(J)) && (y.push(Qr(l[R])), Lst(l[R]) && (x = Dr(x, (d = l[R].declarations) == null ? void 0 : d[0])));
          }
          const I = y.length ? Gn(
            y,
            2
            /* Subtype */
          ) : _e;
          return dh(
            f,
            I,
            r,
            /*declaration*/
            void 0,
            x
          );
        }
        function U$(r) {
          E.assert((r.flags & 2097152) !== 0, "Should only get Alias here.");
          const a = Ri(r);
          if (!a.immediateTarget) {
            const l = zf(r);
            if (!l) return E.fail();
            a.immediateTarget = Mv(
              l,
              /*dontRecursivelyResolve*/
              !0
            );
          }
          return a.immediateTarget;
        }
        function Mst(r, a = 0) {
          const l = Gy(r);
          H_t(r, l);
          const f = K ? qs() : void 0;
          let d = qs(), y = [], x = Pa;
          o8e(r);
          const I = ob(
            r,
            /*contextFlags*/
            void 0
          ), R = I && I.pattern && (I.pattern.kind === 206 || I.pattern.kind === 210), J = dP(r), Y = J ? 8 : 0, Te = tn(r) && !t5(r), de = Te ? wj(r) : void 0, Ge = !I && Te && !de;
          let ct = 8192, ht = !1, nr = !1, Xt = !1, Gr = !1;
          for (const Yt of r.properties)
            Yt.name && ia(Yt.name) && od(Yt.name);
          let Jr = 0;
          for (const Yt of r.properties) {
            let un = vn(Yt);
            const Bn = Yt.name && Yt.name.kind === 167 ? od(Yt.name) : void 0;
            if (Yt.kind === 303 || Yt.kind === 304 || Ep(Yt)) {
              let wi = Yt.kind === 303 ? FIe(Yt, a) : (
                // avoid resolving the left side of the ShorthandPropertyAssignment outside of the destructuring
                // for error recovery purposes. For example, if a user wrote `{ a = 100 }` instead of `{ a: 100 }`.
                // we don't want to say "could not find 'a'".
                Yt.kind === 304 ? mP(!l && Yt.objectAssignmentInitializer ? Yt.objectAssignmentInitializer : Yt.name, a) : OIe(Yt, a)
              );
              if (Te) {
                const Fs = fp(Yt);
                Fs ? (mu(wi, Fs, Yt), wi = Fs) : de && de.typeExpression && mu(wi, Ci(de.typeExpression), Yt);
              }
              ct |= Cn(wi) & 458752;
              const bn = Bn && ip(Bn) ? Bn : void 0, os = bn ? sa(
                4 | un.flags,
                sp(bn),
                Y | 4096
                /* Late */
              ) : sa(4 | un.flags, un.escapedName, Y);
              if (bn && (os.links.nameType = bn), l && uC(Yt))
                os.flags |= 16777216;
              else if (R && !(Cn(I) & 512)) {
                const Fs = Zs(I, un.escapedName);
                Fs ? os.flags |= Fs.flags & 16777216 : ph(I, st) || Be(Yt.name, p.Object_literal_may_only_specify_known_properties_and_0_does_not_exist_in_type_1, Bi(un), Hr(I));
              }
              if (os.declarations = un.declarations, os.parent = un.parent, un.valueDeclaration && (os.valueDeclaration = un.valueDeclaration), os.links.type = wi, os.links.target = un, un = os, f?.set(os.escapedName, os), I && a & 2 && !(a & 4) && (Yt.kind === 303 || Yt.kind === 174) && Hf(Yt)) {
                const Fs = G2(r);
                E.assert(Fs);
                const Qa = Yt.kind === 303 ? Yt.initializer : Yt;
                Jpe(Fs, Qa, wi);
              }
            } else if (Yt.kind === 305) {
              j < kl.ObjectAssign && xl(
                Yt,
                2
                /* Assign */
              ), y.length > 0 && (x = B2(x, sr(), r.symbol, ct, J), y = [], d = qs(), nr = !1, Xt = !1, Gr = !1);
              const wi = sd(Hi(
                Yt.expression,
                a & 2
                /* Inferential */
              ));
              if (LM(wi)) {
                const bn = fpe(wi, J);
                if (f && m8e(bn, f, Yt), Jr = y.length, Oe(x))
                  continue;
                x = B2(x, bn, r.symbol, ct, J);
              } else
                Be(Yt, p.Spread_types_may_only_be_created_from_object_types), x = Ve;
              continue;
            } else
              E.assert(
                Yt.kind === 177 || Yt.kind === 178
                /* SetAccessor */
              ), pC(Yt);
            Bn && !(Bn.flags & 8576) ? js(Bn, Qn) && (js(Bn, At) ? Xt = !0 : js(Bn, wt) ? Gr = !0 : nr = !0, l && (ht = !0)) : d.set(un.escapedName, un), y.push(un);
          }
          if (pI(), Oe(x))
            return Ve;
          if (x !== Pa)
            return y.length > 0 && (x = B2(x, sr(), r.symbol, ct, J), y = [], d = qs(), nr = !1, Xt = !1), Ho(x, (Yt) => Yt === Pa ? sr() : Yt);
          return sr();
          function sr() {
            const Yt = [], un = dP(r);
            nr && Yt.push(mI(un, Jr, y, st)), Xt && Yt.push(mI(un, Jr, y, At)), Gr && Yt.push(mI(un, Jr, y, wt));
            const Bn = Jo(r.symbol, d, Ue, Ue, Yt);
            return Bn.objectFlags |= ct | 128 | 131072, Ge && (Bn.objectFlags |= 4096), ht && (Bn.objectFlags |= 512), l && (Bn.pattern = r), Bn;
          }
        }
        function LM(r) {
          const a = YNe(Ho(r, Fm));
          return !!(a.flags & 126615553 || a.flags & 3145728 && Pi(a.types, LM));
        }
        function Rst(r) {
          Cde(r);
        }
        function jst(r, a) {
          return pC(r), RM(r) || Ie;
        }
        function Bst(r) {
          Cde(r.openingElement), _C(r.closingElement.tagName) ? H$(r.closingElement) : Hi(r.closingElement.tagName), q$(r);
        }
        function Jst(r, a) {
          return pC(r), RM(r) || Ie;
        }
        function zst(r) {
          Cde(r.openingFragment);
          const a = Er(r);
          z5(F) && (F.jsxFactory || a.pragmas.has("jsx")) && !F.jsxFragmentFactory && !a.pragmas.has("jsxfrag") && Be(
            r,
            F.jsxFactory ? p.The_jsxFragmentFactory_compiler_option_must_be_provided_to_use_JSX_fragments_with_the_jsxFactory_compiler_option : p.An_jsxFrag_pragma_is_required_when_using_an_jsx_pragma_with_JSX_fragments
          ), q$(r);
          const l = RM(r);
          return Oe(l) ? Ie : l;
        }
        function kde(r) {
          return r.includes("-");
        }
        function _C(r) {
          return Fe(r) && YC(r.escapedText) || vd(r);
        }
        function p8e(r, a) {
          return r.initializer ? mP(r.initializer, a) : Ye;
        }
        function d8e(r, a = 0) {
          const l = K ? qs() : void 0;
          let f = qs(), d = Bo, y = !1, x, I = !1, R = 2048;
          const J = MM(MT(r)), Y = Yp(r);
          let Te, de = r;
          if (!Y) {
            const ht = r.attributes;
            Te = ht.symbol, de = ht;
            const nr = o_(
              ht,
              0
              /* None */
            );
            for (const Xt of ht.properties) {
              const Gr = Xt.symbol;
              if (um(Xt)) {
                const Jr = p8e(Xt, a);
                R |= Cn(Jr) & 458752;
                const sr = sa(4 | Gr.flags, Gr.escapedName);
                if (sr.declarations = Gr.declarations, sr.parent = Gr.parent, Gr.valueDeclaration && (sr.valueDeclaration = Gr.valueDeclaration), sr.links.type = Jr, sr.links.target = Gr, f.set(sr.escapedName, sr), l?.set(sr.escapedName, sr), bD(Xt.name) === J && (I = !0), nr) {
                  const Yt = Zs(nr, Gr.escapedName);
                  Yt && Yt.declarations && X0(Yt) && Fe(Xt.name) && cg(Xt.name, Yt.declarations, Xt.name.escapedText);
                }
                if (nr && a & 2 && !(a & 4) && Hf(Xt)) {
                  const Yt = G2(ht);
                  E.assert(Yt);
                  const un = Xt.initializer.expression;
                  Jpe(Yt, un, Jr);
                }
              } else {
                E.assert(
                  Xt.kind === 293
                  /* JsxSpreadAttribute */
                ), f.size > 0 && (d = B2(
                  d,
                  ct(),
                  ht.symbol,
                  R,
                  /*readonly*/
                  !1
                ), f = qs());
                const Jr = sd(Hi(
                  Xt.expression,
                  a & 2
                  /* Inferential */
                ));
                be(Jr) && (y = !0), LM(Jr) ? (d = B2(
                  d,
                  Jr,
                  ht.symbol,
                  R,
                  /*readonly*/
                  !1
                ), l && m8e(Jr, l, Xt)) : (Be(Xt.expression, p.Spread_types_may_only_be_created_from_object_types), x = x ? aa([x, Jr]) : Jr);
              }
            }
            y || f.size > 0 && (d = B2(
              d,
              ct(),
              ht.symbol,
              R,
              /*readonly*/
              !1
            ));
          }
          const Ge = r.parent;
          if ((lm(Ge) && Ge.openingElement === r || cv(Ge) && Ge.openingFragment === r) && QC(Ge.children).length > 0) {
            const ht = q$(Ge, a);
            if (!y && J && J !== "") {
              I && Be(de, p._0_are_specified_twice_The_attribute_named_0_will_be_overwritten, Ei(J));
              const nr = yd(r) ? ob(
                r.attributes,
                /*contextFlags*/
                void 0
              ) : void 0, Xt = nr && ab(nr, J), Gr = sa(4, J);
              Gr.links.type = ht.length === 1 ? ht[0] : Xt && yp(Xt, aP) ? vg(ht) : du(Gn(ht)), Gr.valueDeclaration = N.createPropertySignature(
                /*modifiers*/
                void 0,
                Ei(J),
                /*questionToken*/
                void 0,
                /*type*/
                void 0
              ), Wa(Gr.valueDeclaration, de), Gr.valueDeclaration.symbol = Gr;
              const Jr = qs();
              Jr.set(J, Gr), d = B2(
                d,
                Jo(Te, Jr, Ue, Ue, Ue),
                Te,
                R,
                /*readonly*/
                !1
              );
            }
          }
          if (y)
            return Ie;
          if (x && d !== Bo)
            return aa([x, d]);
          return x || (d === Bo ? ct() : d);
          function ct() {
            return R |= 8192, Wst(R, Te, f);
          }
        }
        function Wst(r, a, l) {
          const f = Jo(a, l, Ue, Ue, Ue);
          return f.objectFlags |= r | 8192 | 128 | 131072, f;
        }
        function q$(r, a) {
          const l = [];
          for (const f of r.children)
            if (f.kind === 12)
              f.containsOnlyTriviaWhiteSpaces || l.push(st);
            else {
              if (f.kind === 294 && !f.expression)
                continue;
              l.push(mP(f, a));
            }
          return l;
        }
        function m8e(r, a, l) {
          for (const f of Ga(r))
            if (!(f.flags & 16777216)) {
              const d = a.get(f.escapedName);
              if (d) {
                const y = Be(d.valueDeclaration, p._0_is_specified_more_than_once_so_this_usage_will_be_overwritten, Ei(d.escapedName));
                Ws(y, Kr(l, p.This_spread_always_overwrites_this_property));
              }
            }
        }
        function Vst(r, a) {
          return d8e(r.parent, a);
        }
        function $2(r, a) {
          const l = MT(a), f = l && lf(l), d = f && zu(
            f,
            r,
            788968
            /* Type */
          );
          return d ? wo(d) : Ve;
        }
        function H$(r) {
          const a = yn(r);
          if (!a.resolvedSymbol) {
            const l = $2(Ff.IntrinsicElements, r);
            if (Oe(l))
              return fe && Be(r, p.JSX_element_implicitly_has_type_any_because_no_interface_JSX_0_exists, Ei(Ff.IntrinsicElements)), a.resolvedSymbol = Q;
            {
              if (!Fe(r.tagName) && !vd(r.tagName)) return E.fail();
              const f = vd(r.tagName) ? Ax(r.tagName) : r.tagName.escapedText, d = Zs(l, f);
              if (d)
                return a.jsxFlags |= 1, a.resolvedSymbol = d;
              const y = z7e(l, x_(Ei(f)));
              return y ? (a.jsxFlags |= 2, a.resolvedSymbol = y) : $(l, f) ? (a.jsxFlags |= 2, a.resolvedSymbol = l.symbol) : (Be(r, p.Property_0_does_not_exist_on_type_1, jJ(r.tagName), "JSX." + Ff.IntrinsicElements), a.resolvedSymbol = Q);
            }
          }
          return a.resolvedSymbol;
        }
        function G$(r) {
          const a = r && Er(r), l = a && yn(a);
          if (l && l.jsxImplicitImportContainer === !1)
            return;
          if (l && l.jsxImplicitImportContainer)
            return l.jsxImplicitImportContainer;
          const f = W5(oN(F, a), F);
          if (!f)
            return;
          const y = vu(F) === 1 ? p.Cannot_find_module_0_Did_you_mean_to_set_the_moduleResolution_option_to_nodenext_or_to_add_aliases_to_the_paths_option : p.This_JSX_tag_requires_the_module_path_0_to_exist_but_none_could_be_found_Make_sure_you_have_types_for_the_appropriate_package_installed, x = Tft(a, f), I = E2(x || r, f, y, r), R = I && I !== Q ? La(dc(I)) : void 0;
          return l && (l.jsxImplicitImportContainer = R || !1), R;
        }
        function MT(r) {
          const a = r && yn(r);
          if (a && a.jsxNamespace)
            return a.jsxNamespace;
          if (!a || a.jsxNamespace !== !1) {
            let f = G$(r);
            if (!f || f === Q) {
              const d = Vl(r);
              f = it(
                r,
                d,
                1920,
                /*nameNotFoundMessage*/
                void 0,
                /*isUse*/
                !1
              );
            }
            if (f) {
              const d = dc(zu(
                lf(dc(f)),
                Ff.JSX,
                1920
                /* Namespace */
              ));
              if (d && d !== Q)
                return a && (a.jsxNamespace = d), d;
            }
            a && (a.jsxNamespace = !1);
          }
          const l = dc(RE(
            Ff.JSX,
            1920,
            /*diagnostic*/
            void 0
          ));
          if (l !== Q)
            return l;
        }
        function g8e(r, a) {
          const l = a && zu(
            a.exports,
            r,
            788968
            /* Type */
          ), f = l && wo(l), d = f && Ga(f);
          if (d) {
            if (d.length === 0)
              return "";
            if (d.length === 1)
              return d[0].escapedName;
            d.length > 1 && l.declarations && Be(l.declarations[0], p.The_global_type_JSX_0_may_not_have_more_than_one_property, Ei(r));
          }
        }
        function Ust(r) {
          return r && zu(
            r.exports,
            Ff.LibraryManagedAttributes,
            788968
            /* Type */
          );
        }
        function qst(r) {
          return r && zu(
            r.exports,
            Ff.ElementType,
            788968
            /* Type */
          );
        }
        function Hst(r) {
          return g8e(Ff.ElementAttributesPropertyNameContainer, r);
        }
        function MM(r) {
          return F.jsx === 4 || F.jsx === 5 ? "children" : g8e(Ff.ElementChildrenAttributeNameContainer, r);
        }
        function h8e(r, a) {
          if (r.flags & 4)
            return [Ur];
          if (r.flags & 128) {
            const d = y8e(r, a);
            return d ? [rX(a, d)] : (Be(a, p.Property_0_does_not_exist_on_type_1, r.value, "JSX." + Ff.IntrinsicElements), Ue);
          }
          const l = Uu(r);
          let f = As(
            l,
            1
            /* Construct */
          );
          return f.length === 0 && (f = As(
            l,
            0
            /* Call */
          )), f.length === 0 && l.flags & 1048576 && (f = xfe(fr(l.types, (d) => h8e(d, a)))), f;
        }
        function y8e(r, a) {
          const l = $2(Ff.IntrinsicElements, a);
          if (!Oe(l)) {
            const f = r.value, d = Zs(l, ec(f));
            if (d)
              return Qr(d);
            const y = Zv(l, st);
            return y || void 0;
          }
          return Ie;
        }
        function Gst(r, a, l) {
          if (r === 1) {
            const d = S8e(l);
            d && mp(a, d, v_, l.tagName, p.Its_return_type_0_is_not_a_valid_JSX_element, f);
          } else if (r === 0) {
            const d = b8e(l);
            d && mp(a, d, v_, l.tagName, p.Its_instance_type_0_is_not_a_valid_JSX_element, f);
          } else {
            const d = S8e(l), y = b8e(l);
            if (!d || !y)
              return;
            const x = Gn([d, y]);
            mp(a, x, v_, l.tagName, p.Its_element_type_0_is_not_a_valid_JSX_element, f);
          }
          function f() {
            const d = Go(l.tagName);
            return vs(
              /*details*/
              void 0,
              p._0_cannot_be_used_as_a_JSX_component,
              d
            );
          }
        }
        function v8e(r) {
          var a;
          E.assert(_C(r.tagName));
          const l = yn(r);
          if (!l.resolvedJsxElementAttributesType) {
            const f = H$(r);
            if (l.jsxFlags & 1)
              return l.resolvedJsxElementAttributesType = Qr(f) || Ve;
            if (l.jsxFlags & 2) {
              const d = vd(r.tagName) ? Ax(r.tagName) : r.tagName.escapedText;
              return l.resolvedJsxElementAttributesType = ((a = eC($2(Ff.IntrinsicElements, r), d)) == null ? void 0 : a.type) || Ve;
            } else
              return l.resolvedJsxElementAttributesType = Ve;
          }
          return l.resolvedJsxElementAttributesType;
        }
        function b8e(r) {
          const a = $2(Ff.ElementClass, r);
          if (!Oe(a))
            return a;
        }
        function RM(r) {
          return $2(Ff.Element, r);
        }
        function S8e(r) {
          const a = RM(r);
          if (a)
            return Gn([a, jt]);
        }
        function $st(r) {
          const a = MT(r);
          if (!a) return;
          const l = qst(a);
          if (!l) return;
          const f = T8e(l, tn(r));
          if (!(!f || Oe(f)))
            return f;
        }
        function T8e(r, a, ...l) {
          const f = wo(r);
          if (r.flags & 524288) {
            const d = Ri(r).typeParameters;
            if (Ar(d) >= l.length) {
              const y = uy(l, d, l.length, a);
              return Ar(y) === 0 ? f : LE(r, y);
            }
          }
          if (Ar(f.typeParameters) >= l.length) {
            const d = uy(l, f.typeParameters, l.length, a);
            return e0(f, d);
          }
        }
        function Xst(r) {
          const a = $2(Ff.IntrinsicElements, r);
          return a ? Ga(a) : Ue;
        }
        function Qst(r) {
          (F.jsx || 0) === 0 && Be(r, p.Cannot_use_JSX_unless_the_jsx_flag_is_provided), RM(r) === void 0 && fe && Be(r, p.JSX_element_implicitly_has_type_any_because_the_global_type_JSX_Element_does_not_exist);
        }
        function Cde(r) {
          const a = yu(r);
          a && G_t(r), Qst(r), lde(r);
          const l = HE(r);
          if (iX(l, r), a) {
            const f = r, d = $st(f);
            if (d !== void 0) {
              const y = f.tagName, x = _C(y) ? x_(jJ(y)) : Hi(y);
              mp(x, d, v_, y, p.Its_type_0_is_not_a_valid_JSX_element_type, () => {
                const I = Go(y);
                return vs(
                  /*details*/
                  void 0,
                  p._0_cannot_be_used_as_a_JSX_component,
                  I
                );
              });
            } else
              Gst(H8e(f), Va(l), f);
          }
        }
        function $$(r, a, l) {
          if (r.flags & 524288 && (L2(r, a) || eC(r, a) || z8(a) && ph(r, st) || l && kde(a)))
            return !0;
          if (r.flags & 33554432)
            return $$(r.baseType, a, l);
          if (r.flags & 3145728 && gI(r)) {
            for (const f of r.types)
              if ($$(f, a, l))
                return !0;
          }
          return !1;
        }
        function gI(r) {
          return !!(r.flags & 524288 && !(Cn(r) & 512) || r.flags & 67108864 || r.flags & 33554432 && gI(r.baseType) || r.flags & 1048576 && at(r.types, gI) || r.flags & 2097152 && Pi(r.types, gI));
        }
        function Yst(r, a) {
          if (X_t(r), r.expression) {
            const l = Hi(r.expression, a);
            return r.dotDotDotToken && l !== Ie && !gp(l) && Be(r, p.JSX_spread_child_must_be_an_array_type), l;
          } else
            return Ve;
        }
        function Ede(r) {
          return r.valueDeclaration ? Y2(r.valueDeclaration) : 0;
        }
        function Dde(r) {
          if (r.flags & 8192 || lc(r) & 4)
            return !0;
          if (tn(r.valueDeclaration)) {
            const a = r.valueDeclaration.parent;
            return a && _n(a) && Pc(a) === 3;
          }
        }
        function wde(r, a, l, f, d, y = !0) {
          const x = y ? r.kind === 166 ? r.right : r.kind === 205 ? r : r.kind === 208 && r.propertyName ? r.propertyName : r.name : void 0;
          return x8e(r, a, l, f, d, x);
        }
        function x8e(r, a, l, f, d, y) {
          var x;
          const I = np(d, l);
          if (a) {
            if (j < 2 && k8e(d))
              return y && Be(y, p.Only_public_and_protected_methods_of_the_base_class_are_accessible_via_the_super_keyword), !1;
            if (I & 64)
              return y && Be(y, p.Abstract_method_0_in_class_1_cannot_be_accessed_via_super_expression, Bi(d), Hr(aC(d))), !1;
            if (!(I & 256) && ((x = d.declarations) != null && x.some(dZ)))
              return y && Be(y, p.Class_field_0_defined_by_the_parent_class_is_not_accessible_in_the_child_class_via_super, Bi(d)), !1;
          }
          if (I & 64 && k8e(d) && (y3(r) || pK(r) || Nf(r.parent) && Y7(r.parent.parent))) {
            const J = Fh(O_(d));
            if (J && qut(r))
              return y && Be(y, p.Abstract_property_0_in_class_1_cannot_be_accessed_in_the_constructor, Bi(d), ep(J.name)), !1;
          }
          if (!(I & 6))
            return !0;
          if (I & 2) {
            const J = Fh(O_(d));
            return Fme(r, J) ? !0 : (y && Be(y, p.Property_0_is_private_and_only_accessible_within_class_1, Bi(d), Hr(aC(d))), !1);
          }
          if (a)
            return !0;
          let R = B7e(r, (J) => {
            const Y = wo(vn(J));
            return JNe(Y, d, l);
          });
          return !R && (R = Zst(r), R = R && JNe(R, d, l), I & 256 || !R) ? (y && Be(y, p.Property_0_is_protected_and_only_accessible_within_class_1_and_its_subclasses, Bi(d), Hr(aC(d) || f)), !1) : I & 256 ? !0 : (f.flags & 262144 && (f = f.isThisType ? a_(f) : ru(f)), !f || !PE(f, R) ? (y && Be(y, p.Property_0_is_protected_and_only_accessible_through_an_instance_of_class_1_This_is_an_instance_of_class_2, Bi(d), Hr(R), Hr(f)), !1) : !0);
        }
        function Zst(r) {
          const a = Kst(r);
          let l = a?.type && Ci(a.type);
          if (l)
            l.flags & 262144 && (l = a_(l));
          else {
            const f = Ou(
              r,
              /*includeArrowFunctions*/
              !1,
              /*includeClassComputedPropertyName*/
              !1
            );
            Ts(f) && (l = dde(f));
          }
          if (l && Cn(l) & 7)
            return wE(l);
        }
        function Kst(r) {
          const a = Ou(
            r,
            /*includeArrowFunctions*/
            !1,
            /*includeClassComputedPropertyName*/
            !1
          );
          return a && Ts(a) ? Ob(a) : void 0;
        }
        function k8e(r) {
          return !!hM(r, (a) => !(a.flags & 8192));
        }
        function UE(r) {
          return Mm(Hi(r), r);
        }
        function jM(r) {
          return Jd(
            r,
            50331648
            /* IsUndefinedOrNull */
          );
        }
        function Pde(r) {
          return jM(r) ? a0(r) : r;
        }
        function eat(r, a) {
          const l = to(r) ? q_(r) : void 0;
          if (r.kind === 106) {
            Be(r, p.The_value_0_cannot_be_used_here, "null");
            return;
          }
          if (l !== void 0 && l.length < 100) {
            if (Fe(r) && l === "undefined") {
              Be(r, p.The_value_0_cannot_be_used_here, "undefined");
              return;
            }
            Be(
              r,
              a & 16777216 ? a & 33554432 ? p._0_is_possibly_null_or_undefined : p._0_is_possibly_undefined : p._0_is_possibly_null,
              l
            );
          } else
            Be(
              r,
              a & 16777216 ? a & 33554432 ? p.Object_is_possibly_null_or_undefined : p.Object_is_possibly_undefined : p.Object_is_possibly_null
            );
        }
        function tat(r, a) {
          Be(
            r,
            a & 16777216 ? a & 33554432 ? p.Cannot_invoke_an_object_which_is_possibly_null_or_undefined : p.Cannot_invoke_an_object_which_is_possibly_undefined : p.Cannot_invoke_an_object_which_is_possibly_null
          );
        }
        function C8e(r, a, l) {
          if (K && r.flags & 2) {
            if (to(a)) {
              const d = q_(a);
              if (d.length < 100)
                return Be(a, p._0_is_of_type_unknown, d), Ve;
            }
            return Be(a, p.Object_is_of_type_unknown), Ve;
          }
          const f = JE(
            r,
            50331648
            /* IsUndefinedOrNull */
          );
          if (f & 50331648) {
            l(a, f);
            const d = a0(r);
            return d.flags & 229376 ? Ve : d;
          }
          return r;
        }
        function Mm(r, a) {
          return C8e(r, a, eat);
        }
        function E8e(r, a) {
          const l = Mm(r, a);
          if (l.flags & 16384) {
            if (to(a)) {
              const f = q_(a);
              if (Fe(a) && f === "undefined")
                return Be(a, p.The_value_0_cannot_be_used_here, f), l;
              if (f.length < 100)
                return Be(a, p._0_is_possibly_undefined, f), l;
            }
            Be(a, p.Object_is_possibly_undefined);
          }
          return l;
        }
        function X$(r, a, l) {
          return r.flags & 64 ? rat(r, a) : Ade(r, r.expression, UE(r.expression), r.name, a, l);
        }
        function rat(r, a) {
          const l = Hi(r.expression), f = sI(l, r.expression);
          return S$(Ade(r, r.expression, Mm(f, r.expression), r.name, a), r, f !== l);
        }
        function D8e(r, a) {
          const l = e5(r) && Xy(r.left) ? Mm(IM(r.left), r.left) : UE(r.left);
          return Ade(r, r.left, l, r.right, a);
        }
        function Nde(r) {
          for (; r.parent.kind === 217; )
            r = r.parent;
          return Gd(r.parent) && r.parent.expression === r;
        }
        function BM(r, a) {
          for (let l = X7(a); l; l = Jl(l)) {
            const { symbol: f } = l, d = z3(f, r), y = f.members && f.members.get(d) || f.exports && f.exports.get(d);
            if (y)
              return y;
          }
        }
        function nat(r) {
          if (!Jl(r))
            return mr(r, p.Private_identifiers_are_not_allowed_outside_class_bodies);
          if (!kF(r.parent)) {
            if (!dd(r))
              return mr(r, p.Private_identifiers_are_only_allowed_in_class_bodies_and_may_only_be_used_as_part_of_a_class_member_declaration_property_access_or_on_the_left_hand_side_of_an_in_expression);
            const a = _n(r.parent) && r.parent.operatorToken.kind === 103;
            if (!Q$(r) && !a)
              return mr(r, p.Cannot_find_name_0, Pn(r));
          }
          return !1;
        }
        function iat(r) {
          nat(r);
          const a = Q$(r);
          return a && zM(
            a,
            /*nodeForCheckWriteOnly*/
            void 0,
            /*isSelfTypeAccess*/
            !1
          ), Ie;
        }
        function Q$(r) {
          if (!dd(r))
            return;
          const a = yn(r);
          return a.resolvedSymbol === void 0 && (a.resolvedSymbol = BM(r.escapedText, r)), a.resolvedSymbol;
        }
        function Y$(r, a) {
          return Zs(r, a.escapedName);
        }
        function sat(r, a, l) {
          let f;
          const d = Ga(r);
          d && ar(d, (x) => {
            const I = x.valueDeclaration;
            if (I && El(I) && Di(I.name) && I.name.escapedText === a.escapedText)
              return f = x, !0;
          });
          const y = Nd(a);
          if (f) {
            const x = E.checkDefined(f.valueDeclaration), I = E.checkDefined(Jl(x));
            if (l?.valueDeclaration) {
              const R = l.valueDeclaration, J = Jl(R);
              if (E.assert(!!J), _r(J, (Y) => I === Y)) {
                const Y = Be(
                  a,
                  p.The_property_0_cannot_be_accessed_on_type_1_within_this_class_because_it_is_shadowed_by_another_private_identifier_with_the_same_spelling,
                  y,
                  Hr(r)
                );
                return Ws(
                  Y,
                  Kr(
                    R,
                    p.The_shadowing_declaration_of_0_is_defined_here,
                    y
                  ),
                  Kr(
                    x,
                    p.The_declaration_of_0_that_you_probably_intended_to_use_is_defined_here,
                    y
                  )
                ), !0;
              }
            }
            return Be(
              a,
              p.Property_0_is_not_accessible_outside_class_1_because_it_has_a_private_identifier,
              y,
              Nd(I.name || yW)
            ), !0;
          }
          return !1;
        }
        function w8e(r, a) {
          return (E1(a) || y3(r) && M8(a)) && Ou(
            r,
            /*includeArrowFunctions*/
            !0,
            /*includeClassComputedPropertyName*/
            !1
          ) === Ma(a);
        }
        function Ade(r, a, l, f, d, y) {
          const x = yn(a).resolvedSymbol, I = Hy(r), R = Uu(I !== 0 || Nde(r) ? _f(l) : l), J = be(R) || R === Mt;
          let Y;
          if (Di(f)) {
            (j < kl.PrivateNamesAndClassStaticBlocks || j < kl.ClassAndClassElementDecorators || !G) && (I !== 0 && xl(
              r,
              1048576
              /* ClassPrivateFieldSet */
            ), I !== 1 && xl(
              r,
              524288
              /* ClassPrivateFieldGet */
            ));
            const de = BM(f.escapedText, f);
            if (I && de && de.valueDeclaration && uc(de.valueDeclaration) && mr(f, p.Cannot_assign_to_private_method_0_Private_methods_are_not_writable, Pn(f)), J) {
              if (de)
                return Oe(R) ? Ve : R;
              if (X7(f) === void 0)
                return mr(f, p.Private_identifiers_are_not_allowed_outside_class_bodies), Ie;
            }
            if (Y = de && Y$(l, de), Y === void 0) {
              if (sat(l, f, de))
                return Ve;
              const Ge = X7(f);
              Ge && F4(Er(Ge), F.checkJs) && mr(f, p.Private_field_0_must_be_declared_in_an_enclosing_class, Pn(f));
            } else
              Y.flags & 65536 && !(Y.flags & 32768) && I !== 1 && Be(r, p.Private_accessor_was_defined_without_a_getter);
          } else {
            if (J)
              return Fe(a) && x && lC(
                r,
                2,
                /*propSymbol*/
                void 0,
                l
              ), Oe(R) ? Ve : R;
            Y = Zs(
              R,
              f.escapedText,
              /*skipObjectFunctionPropertyAugment*/
              cX(R),
              /*includeTypeOnlyMembers*/
              r.kind === 166
              /* QualifiedName */
            );
          }
          lC(r, 2, Y, l);
          let Te;
          if (Y) {
            const de = Pme(Y, f);
            if (X0(de) && ape(r, de) && de.declarations && cg(f, de.declarations, f.escapedText), aat(Y, r, f), zM(Y, r, M8e(a, x)), yn(r).resolvedSymbol = Y, wde(r, a.kind === 108, Tx(r), R, Y), kIe(r, Y, I))
              return Be(f, p.Cannot_assign_to_0_because_it_is_a_read_only_property, Pn(f)), Ve;
            Te = w8e(r, Y) ? ft : y || A5(r) ? sy(Y) : Qr(Y);
          } else {
            const de = !Di(f) && (I === 0 || !ET(l) || vD(l)) ? eC(R, f.escapedText) : void 0;
            if (!(de && de.type)) {
              const Ge = Ide(
                r,
                l.symbol,
                /*excludeClasses*/
                !0
              );
              return !Ge && Q8(l) ? Ie : l.symbol === ve ? (ve.exports.has(f.escapedText) && ve.exports.get(f.escapedText).flags & 418 ? Be(f, p.Property_0_does_not_exist_on_type_1, Ei(f.escapedText), Hr(l)) : fe && Be(f, p.Element_implicitly_has_an_any_type_because_type_0_has_no_index_signature, Hr(l)), Ie) : (f.escapedText && !dn(r) && N8e(f, vD(l) ? R : l, Ge), Ve);
            }
            de.isReadonly && (Gy(r) || DB(r)) && Be(r, p.Index_signature_in_type_0_only_permits_reading, Hr(R)), Te = de.type, F.noUncheckedIndexedAccess && Hy(r) !== 1 && (Te = Gn([Te, ye])), F.noPropertyAccessFromIndexSignature && kn(r) && Be(f, p.Property_0_comes_from_an_index_signature_so_it_must_be_accessed_with_0, Ei(f.escapedText)), de.declaration && Gh(de.declaration) && cg(f, [de.declaration], f.escapedText);
          }
          return P8e(r, Y, Te, f, d);
        }
        function Ide(r, a, l) {
          var f;
          const d = Er(r);
          if (d && F.checkJs === void 0 && d.checkJsDirective === void 0 && (d.scriptKind === 1 || d.scriptKind === 2)) {
            const y = ar(a?.declarations, Er), x = !a?.valueDeclaration || !Xn(a.valueDeclaration) || ((f = a.valueDeclaration.heritageClauses) == null ? void 0 : f.length) || b0(
              /*useLegacyDecorators*/
              !1,
              a.valueDeclaration
            );
            return !(d !== y && y && v0(y)) && !(l && a && a.flags & 32 && x) && !(r && l && kn(r) && r.expression.kind === 110 && x);
          }
          return !1;
        }
        function P8e(r, a, l, f, d) {
          const y = Hy(r);
          if (y === 1)
            return o0(l, !!(a && a.flags & 16777216));
          if (a && !(a.flags & 98311) && !(a.flags & 8192 && l.flags & 1048576) && !EX(a.declarations))
            return l;
          if (l === ft)
            return EE(r, a);
          l = cde(l, r, d);
          let x = !1;
          if (K && te && ko(r) && r.expression.kind === 110) {
            const R = a && a.valueDeclaration;
            if (R && E7e(R) && !zs(R)) {
              const J = _P(r);
              J.kind === 176 && J.parent === R.parent && !(R.flags & 33554432) && (x = !0);
            }
          } else K && a && a.valueDeclaration && kn(a.valueDeclaration) && P3(a.valueDeclaration) && _P(r) === _P(a.valueDeclaration) && (x = !0);
          const I = l0(r, l, x ? L1(l) : l);
          return x && !BE(l) && BE(I) ? (Be(f, p.Property_0_is_used_before_being_assigned, Bi(a)), l) : y ? s0(I) : I;
        }
        function aat(r, a, l) {
          const { valueDeclaration: f } = r;
          if (!f || Er(a).isDeclarationFile)
            return;
          let d;
          const y = Pn(l);
          Fde(a) && !Ret(f) && !(ko(a) && ko(a.expression)) && !km(f, l) && !(uc(f) && LX(f) & 256) && (G || !oat(r)) ? d = Be(l, p.Property_0_is_used_before_its_initialization, y) : f.kind === 263 && a.parent.kind !== 183 && !(f.flags & 33554432) && !km(f, l) && (d = Be(l, p.Class_0_used_before_its_declaration, y)), d && Ws(d, Kr(f, p._0_is_declared_here, y));
        }
        function Fde(r) {
          return !!_r(r, (a) => {
            switch (a.kind) {
              case 172:
                return !0;
              case 303:
              case 174:
              case 177:
              case 178:
              case 305:
              case 167:
              case 239:
              case 294:
              case 291:
              case 292:
              case 293:
              case 286:
              case 233:
              case 298:
                return !1;
              case 219:
              case 244:
                return Cs(a.parent) && hc(a.parent.parent) ? !0 : "quit";
              default:
                return dd(a) ? !1 : "quit";
            }
          });
        }
        function oat(r) {
          if (!(r.parent.flags & 32))
            return !1;
          let a = Qr(r.parent);
          for (; ; ) {
            if (a = a.symbol && cat(a), !a)
              return !1;
            const l = Zs(a, r.escapedName);
            if (l && l.valueDeclaration)
              return !0;
          }
        }
        function cat(r) {
          const a = fl(r);
          if (a.length !== 0)
            return aa(a);
        }
        function N8e(r, a, l) {
          const f = yn(r), d = f.nonExistentPropCheckCache || (f.nonExistentPropCheckCache = /* @__PURE__ */ new Set()), y = `${Ll(a)}|${l}`;
          if (d.has(y))
            return;
          d.add(y);
          let x, I;
          if (!Di(r) && a.flags & 1048576 && !(a.flags & 402784252)) {
            for (const J of a.types)
              if (!Zs(J, r.escapedText) && !eC(J, r.escapedText)) {
                x = vs(x, p.Property_0_does_not_exist_on_type_1, _o(r), Hr(J));
                break;
              }
          }
          if (A8e(r.escapedText, a)) {
            const J = _o(r), Y = Hr(a);
            x = vs(x, p.Property_0_does_not_exist_on_type_1_Did_you_mean_to_access_the_static_member_2_instead, J, Y, Y + "." + J);
          } else {
            const J = EI(a);
            if (J && Zs(J, r.escapedText))
              x = vs(x, p.Property_0_does_not_exist_on_type_1, _o(r), Hr(a)), I = Kr(r, p.Did_you_forget_to_use_await);
            else {
              const Y = _o(r), Te = Hr(a), de = _at(Y, a);
              if (de !== void 0)
                x = vs(x, p.Property_0_does_not_exist_on_type_1_Do_you_need_to_change_your_target_library_Try_changing_the_lib_compiler_option_to_2_or_later, Y, Te, de);
              else {
                const Ge = Ode(r, a);
                if (Ge !== void 0) {
                  const ct = bc(Ge), ht = l ? p.Property_0_may_not_exist_on_type_1_Did_you_mean_2 : p.Property_0_does_not_exist_on_type_1_Did_you_mean_2;
                  x = vs(x, ht, Y, Te, ct), I = Ge.valueDeclaration && Kr(Ge.valueDeclaration, p._0_is_declared_here, ct);
                } else {
                  const ct = lat(a) ? p.Property_0_does_not_exist_on_type_1_Try_changing_the_lib_compiler_option_to_include_dom : p.Property_0_does_not_exist_on_type_1;
                  x = vs(Ife(x, a), ct, Y, Te);
                }
              }
            }
          }
          const R = Lg(Er(r), r, x);
          I && Ws(R, I), G0(!l || x.code !== p.Property_0_may_not_exist_on_type_1_Did_you_mean_2.code, R);
        }
        function lat(r) {
          return F.lib && !F.lib.includes("dom") && hit(r, (a) => a.symbol && /^(?:EventTarget|Node|(?:HTML[a-zA-Z]*)?Element)$/.test(Ei(a.symbol.escapedName))) && i0(r);
        }
        function A8e(r, a) {
          const l = a.symbol && Zs(Qr(a.symbol), r);
          return l !== void 0 && !!l.valueDeclaration && zs(l.valueDeclaration);
        }
        function uat(r) {
          const a = Nd(r), f = eB().get(a);
          return f && ER(f.keys());
        }
        function _at(r, a) {
          const l = Uu(a).symbol;
          if (!l)
            return;
          const f = bc(l), y = eB().get(f);
          if (y) {
            for (const [x, I] of y)
              if (_s(I, r))
                return x;
          }
        }
        function I8e(r, a) {
          return JM(
            r,
            Ga(a),
            106500
            /* ClassMember */
          );
        }
        function Ode(r, a) {
          let l = Ga(a);
          if (typeof r != "string") {
            const f = r.parent;
            kn(f) && (l = Tn(l, (d) => R8e(f, a, d))), r = Pn(r);
          }
          return JM(
            r,
            l,
            111551
            /* Value */
          );
        }
        function F8e(r, a) {
          const l = cs(r) ? r : Pn(r), f = Ga(a);
          return (l === "for" ? Dn(f, (y) => bc(y) === "htmlFor") : l === "class" ? Dn(f, (y) => bc(y) === "className") : void 0) ?? JM(
            l,
            f,
            111551
            /* Value */
          );
        }
        function O8e(r, a) {
          const l = Ode(r, a);
          return l && bc(l);
        }
        function fat(r, a, l) {
          const f = zu(r, a, l);
          if (f) return f;
          let d;
          return r === nt ? d = Oi(
            ["string", "number", "boolean", "object", "bigint", "symbol"],
            (x) => r.has(x.charAt(0).toUpperCase() + x.slice(1)) ? sa(524288, x) : void 0
          ).concat(rs(r.values())) : d = rs(r.values()), JM(Ei(a), d, l);
        }
        function L8e(r, a, l) {
          return E.assert(a !== void 0, "outername should always be defined"), Wt(
            r,
            a,
            l,
            /*nameNotFoundMessage*/
            void 0,
            /*isUse*/
            !1,
            /*excludeGlobals*/
            !1
          );
        }
        function Lde(r, a) {
          return a.exports && JM(
            Pn(r),
            Jv(a),
            2623475
            /* ModuleMember */
          );
        }
        function pat(r, a, l) {
          function f(x) {
            const I = L2(r, x);
            if (I) {
              const R = jT(Qr(I));
              return !!R && Wd(R) >= 1 && js(l, zd(R, 0));
            }
            return !1;
          }
          const d = Gy(a) ? "set" : "get";
          if (!f(d))
            return;
          let y = Z3(a.expression);
          return y === void 0 ? y = d : y += "." + d, y;
        }
        function dat(r, a) {
          const l = a.types.filter((f) => !!(f.flags & 128));
          return hb(r.value, l, (f) => f.value);
        }
        function JM(r, a, l) {
          return hb(r, a, f);
          function f(d) {
            const y = bc(d);
            if (!Wi(y, '"')) {
              if (d.flags & l)
                return y;
              if (d.flags & 2097152) {
                const x = bE(d);
                if (x && x.flags & l)
                  return y;
              }
            }
          }
        }
        function zM(r, a, l) {
          const f = r && r.flags & 106500 && r.valueDeclaration;
          if (!f)
            return;
          const d = $_(
            f,
            2
            /* Private */
          ), y = r.valueDeclaration && El(r.valueDeclaration) && Di(r.valueDeclaration.name);
          if (!(!d && !y) && !(a && A5(a) && !(r.flags & 65536))) {
            if (l) {
              const x = _r(a, uo);
              if (x && x.symbol === r)
                return;
            }
            (lc(r) & 1 ? Ri(r).target : r).isReferenced = -1;
          }
        }
        function M8e(r, a) {
          return r.kind === 110 || !!a && to(r) && a === Du(Xu(r));
        }
        function mat(r, a) {
          switch (r.kind) {
            case 211:
              return Mde(r, r.expression.kind === 108, a, _f(Hi(r.expression)));
            case 166:
              return Mde(
                r,
                /*isSuper*/
                !1,
                a,
                _f(Hi(r.left))
              );
            case 205:
              return Mde(
                r,
                /*isSuper*/
                !1,
                a,
                Ci(r)
              );
          }
        }
        function R8e(r, a, l) {
          return Rde(
            r,
            r.kind === 211 && r.expression.kind === 108,
            /*isWrite*/
            !1,
            a,
            l
          );
        }
        function Mde(r, a, l, f) {
          if (be(f))
            return !0;
          const d = Zs(f, l);
          return !!d && Rde(
            r,
            a,
            /*isWrite*/
            !1,
            f,
            d
          );
        }
        function Rde(r, a, l, f, d) {
          if (be(f))
            return !0;
          if (d.valueDeclaration && Iu(d.valueDeclaration)) {
            const y = Jl(d.valueDeclaration);
            return !hu(r) && !!_r(r, (x) => x === y);
          }
          return x8e(r, a, l, f, d);
        }
        function gat(r) {
          const a = r.initializer;
          if (a.kind === 261) {
            const l = a.declarations[0];
            if (l && !Ps(l.name))
              return vn(l);
          } else if (a.kind === 80)
            return Du(a);
        }
        function hat(r) {
          return pu(r).length === 1 && !!ph(r, At);
        }
        function yat(r) {
          const a = za(r);
          if (a.kind === 80) {
            const l = Du(a);
            if (l.flags & 3) {
              let f = r, d = r.parent;
              for (; d; ) {
                if (d.kind === 249 && f === d.statement && gat(d) === l && hat(iu(d.expression)))
                  return !0;
                f = d, d = d.parent;
              }
            }
          }
          return !1;
        }
        function vat(r, a) {
          return r.flags & 64 ? bat(r, a) : j8e(r, UE(r.expression), a);
        }
        function bat(r, a) {
          const l = Hi(r.expression), f = sI(l, r.expression);
          return S$(j8e(r, Mm(f, r.expression), a), r, f !== l);
        }
        function j8e(r, a, l) {
          const f = Hy(r) !== 0 || Nde(r) ? _f(a) : a, d = r.argumentExpression, y = Hi(d);
          if (Oe(f) || f === Mt)
            return f;
          if (cX(f) && !Ba(d))
            return Be(d, p.A_const_enum_member_can_only_be_accessed_using_a_string_literal), Ve;
          const x = yat(d) ? At : y, I = Hy(r);
          let R;
          I === 0 ? R = 32 : (R = 4 | (ET(f) && !vD(f) ? 2 : 0), I === 2 && (R |= 32));
          const J = A1(f, x, R, r) || Ve;
          return GIe(P8e(r, yn(r).resolvedSymbol, J, d, l), r);
        }
        function B8e(r) {
          return Gd(r) || iv(r) || yu(r);
        }
        function RT(r) {
          return B8e(r) && ar(r.typeArguments, _a), r.kind === 215 ? Hi(r.template) : yu(r) ? Hi(r.attributes) : _n(r) ? Hi(r.left) : Gd(r) && ar(r.arguments, (a) => {
            Hi(a);
          }), Ur;
        }
        function Rm(r) {
          return RT(r), Vn;
        }
        function Sat(r, a, l) {
          let f, d, y = 0, x, I = -1, R;
          E.assert(!a.length);
          for (const J of r) {
            const Y = J.declaration && vn(J.declaration), Te = J.declaration && J.declaration.parent;
            !d || Y === d ? f && Te === f ? x = x + 1 : (f = Te, x = y) : (x = y = a.length, f = Te), d = Y, O1e(J) ? (I++, R = I, y++) : R = x, a.splice(R, 0, l ? net(J, l) : J);
          }
        }
        function Z$(r) {
          return !!r && (r.kind === 230 || r.kind === 237 && r.isSpread);
        }
        function jde(r) {
          return oc(r, Z$);
        }
        function J8e(r) {
          return !!(r.flags & 16384);
        }
        function Tat(r) {
          return !!(r.flags & 49155);
        }
        function K$(r, a, l, f = !1) {
          if (Yp(r)) return !0;
          let d, y = !1, x = B_(l), I = Wd(l);
          if (r.kind === 215)
            if (d = a.length, r.template.kind === 228) {
              const R = pa(r.template.templateSpans);
              y = cc(R.literal) || !!R.literal.isUnterminated;
            } else {
              const R = r.template;
              E.assert(
                R.kind === 15
                /* NoSubstitutionTemplateLiteral */
              ), y = !!R.isUnterminated;
            }
          else if (r.kind === 170)
            d = $8e(r, l);
          else if (r.kind === 226)
            d = 1;
          else if (yu(r)) {
            if (y = r.attributes.end === r.end, y)
              return !0;
            d = I === 0 ? a.length : 1, x = a.length === 0 ? x : 1, I = Math.min(I, 1);
          } else if (r.arguments) {
            d = f ? a.length + 1 : a.length, y = r.arguments.end === r.end;
            const R = jde(a);
            if (R >= 0)
              return R >= Wd(l) && (Tg(l) || R < B_(l));
          } else
            return E.assert(
              r.kind === 214
              /* NewExpression */
            ), Wd(l) === 0;
          if (!Tg(l) && d > x)
            return !1;
          if (y || d >= I)
            return !0;
          for (let R = d; R < I; R++) {
            const J = zd(l, R);
            if (Hc(J, tn(r) && !K ? Tat : J8e).flags & 131072)
              return !1;
          }
          return !0;
        }
        function Bde(r, a) {
          const l = Ar(r.typeParameters), f = yg(r.typeParameters);
          return !at(a) || a.length >= f && a.length <= l;
        }
        function z8e(r, a) {
          let l;
          return !!(r.target && (l = X2(r.target, a)) && tb(l));
        }
        function jT(r) {
          return hI(
            r,
            0,
            /*allowMembers*/
            !1
          );
        }
        function W8e(r) {
          return hI(
            r,
            0,
            /*allowMembers*/
            !1
          ) || hI(
            r,
            1,
            /*allowMembers*/
            !1
          );
        }
        function hI(r, a, l) {
          if (r.flags & 524288) {
            const f = jd(r);
            if (l || f.properties.length === 0 && f.indexInfos.length === 0) {
              if (a === 0 && f.callSignatures.length === 1 && f.constructSignatures.length === 0)
                return f.callSignatures[0];
              if (a === 1 && f.constructSignatures.length === 1 && f.callSignatures.length === 0)
                return f.constructSignatures[0];
            }
          }
        }
        function V8e(r, a, l, f) {
          const d = cI(m3e(r), r, 0, f), y = vI(a), x = l && (y && y.flags & 262144 ? l.nonFixingMapper : l.mapper), I = x ? V2(a, x) : a;
          return Rpe(I, r, (R, J) => {
            c0(d.inferences, R, J);
          }), l || jpe(a, r, (R, J) => {
            c0(
              d.inferences,
              R,
              J,
              128
              /* ReturnType */
            );
          }), G8(r, Qpe(d), tn(a.declaration));
        }
        function xat(r, a, l, f) {
          const d = V$(a, r), y = GE(r.attributes, d, f, l);
          return c0(f.inferences, y, d), Qpe(f);
        }
        function U8e(r) {
          if (!r)
            return dr;
          const a = Hi(r);
          return XK(r) ? a : x4(r.parent) ? a0(a) : hu(r.parent) ? b$(a) : a;
        }
        function Jde(r, a, l, f, d) {
          if (yu(r))
            return xat(r, a, f, d);
          if (r.kind !== 170 && r.kind !== 226) {
            const R = Pi(a.typeParameters, (Y) => !!M2(Y)), J = o_(
              r,
              R ? 8 : 0
              /* None */
            );
            if (J) {
              const Y = Va(a);
              if (M1(Y)) {
                const Te = G2(r);
                if (!(!R && o_(
                  r,
                  8
                  /* SkipBindingPatterns */
                ) !== J)) {
                  const ht = Wpe(Ant(
                    Te,
                    1
                    /* NoDefault */
                  )), nr = ji(J, ht), Xt = jT(nr), Gr = Xt && Xt.typeParameters ? xT(jfe(Xt, Xt.typeParameters)) : nr;
                  c0(
                    d.inferences,
                    Gr,
                    Y,
                    128
                    /* ReturnType */
                  );
                }
                const Ge = cI(a.typeParameters, a, d.flags), ct = ji(J, Te && Te.returnMapper);
                c0(Ge.inferences, ct, Y), d.returnMapper = at(Ge.inferences, $E) ? Wpe(Lnt(Ge)) : void 0;
              }
            }
          }
          const y = bI(a), x = y ? Math.min(B_(a) - 1, l.length) : l.length;
          if (y && y.flags & 262144) {
            const R = Dn(d.inferences, (J) => J.typeParameter === y);
            R && (R.impliedArity = oc(l, Z$, x) < 0 ? l.length - x : void 0);
          }
          const I = Kv(a);
          if (I && M1(I)) {
            const R = G8e(r);
            c0(d.inferences, U8e(R), I);
          }
          for (let R = 0; R < x; R++) {
            const J = l[R];
            if (J.kind !== 232) {
              const Y = zd(a, R);
              if (M1(Y)) {
                const Te = GE(J, Y, d, f);
                c0(d.inferences, Te, Y);
              }
            }
          }
          if (y && M1(y)) {
            const R = zde(l, x, l.length, y, d, f);
            c0(d.inferences, R, y);
          }
          return Qpe(d);
        }
        function q8e(r) {
          return r.flags & 1048576 ? Ho(r, q8e) : r.flags & 1 || vM(ru(r) || r) ? r : va(r) ? vg(
            j2(r),
            r.target.elementFlags,
            /*readonly*/
            !1,
            r.target.labeledElementDeclarations
          ) : vg([r], [
            8
            /* Variadic */
          ]);
        }
        function zde(r, a, l, f, d, y) {
          const x = TT(f);
          if (a >= l - 1) {
            const Y = r[l - 1];
            if (Z$(Y)) {
              const Te = Y.kind === 237 ? Y.type : GE(Y.expression, f, d, y);
              return py(Te) ? q8e(Te) : du(my(33, Te, _e, Y.kind === 230 ? Y.expression : Y), x);
            }
          }
          const I = [], R = [], J = [];
          for (let Y = a; Y < l; Y++) {
            const Te = r[Y];
            if (Z$(Te)) {
              const de = Te.kind === 237 ? Te.type : Hi(Te.expression);
              py(de) ? (I.push(de), R.push(
                8
                /* Variadic */
              )) : (I.push(my(33, de, _e, Te.kind === 230 ? Te.expression : Te)), R.push(
                4
                /* Rest */
              ));
            } else {
              const de = va(f) ? Sde(f, Y - a, l - a) || mt : M_(
                f,
                ad(Y - a),
                256
                /* Contextual */
              ), Ge = GE(Te, de, d, y), ct = x || Cc(
                de,
                406978556
                /* StringMapping */
              );
              I.push(ct ? qu(Ge) : ib(Ge)), R.push(
                1
                /* Required */
              );
            }
            Te.kind === 237 && Te.tupleNameSource ? J.push(Te.tupleNameSource) : J.push(void 0);
          }
          return vg(I, R, x && !yp(f, Ape), J);
        }
        function Wde(r, a, l, f) {
          const d = tn(r.declaration), y = r.typeParameters, x = uy(fr(a, Ci), y, yg(y), d);
          let I;
          for (let R = 0; R < a.length; R++) {
            E.assert(y[R] !== void 0, "Should not call checkTypeArguments with too many type arguments");
            const J = a_(y[R]);
            if (J) {
              const Y = l && f ? () => vs(
                /*details*/
                void 0,
                p.Type_0_does_not_satisfy_the_constraint_1
              ) : void 0, Te = f || p.Type_0_does_not_satisfy_the_constraint_1;
              I || (I = R_(y, x));
              const de = x[R];
              if (!mu(
                de,
                uf(ji(J, I), de),
                l ? a[R] : void 0,
                Te,
                Y
              ))
                return;
            }
          }
          return x;
        }
        function H8e(r) {
          if (_C(r.tagName))
            return 2;
          const a = Uu(Hi(r.tagName));
          return Ar(As(
            a,
            1
            /* Construct */
          )) ? 0 : Ar(As(
            a,
            0
            /* Call */
          )) ? 1 : 2;
        }
        function kat(r, a, l, f, d, y, x) {
          const I = V$(a, r), R = Yp(r) ? d8e(r) : GE(
            r.attributes,
            I,
            /*inferenceContext*/
            void 0,
            f
          ), J = f & 4 ? oI(R) : R;
          return Y() && Spe(
            J,
            I,
            l,
            d ? Yp(r) ? r : r.tagName : void 0,
            Yp(r) ? void 0 : r.attributes,
            /*headMessage*/
            void 0,
            y,
            x
          );
          function Y() {
            var Te;
            if (G$(r))
              return !0;
            const de = (yd(r) || MS(r)) && !(_C(r.tagName) || vd(r.tagName)) ? Hi(r.tagName) : void 0;
            if (!de)
              return !0;
            const Ge = As(
              de,
              0
              /* Call */
            );
            if (!Ar(Ge))
              return !0;
            const ct = Bme(r);
            if (!ct)
              return !0;
            const ht = mc(
              ct,
              111551,
              /*ignoreErrors*/
              !0,
              /*dontResolveAlias*/
              !1,
              r
            );
            if (!ht)
              return !0;
            const nr = Qr(ht), Xt = As(
              nr,
              0
              /* Call */
            );
            if (!Ar(Xt))
              return !0;
            let Gr = !1, Jr = 0;
            for (const Yt of Xt) {
              const un = zd(Yt, 0), Bn = As(
                un,
                0
                /* Call */
              );
              if (Ar(Bn))
                for (const wi of Bn) {
                  if (Gr = !0, Tg(wi))
                    return !0;
                  const bn = B_(wi);
                  bn > Jr && (Jr = bn);
                }
            }
            if (!Gr)
              return !0;
            let sr = 1 / 0;
            for (const Yt of Ge) {
              const un = Wd(Yt);
              un < sr && (sr = un);
            }
            if (sr <= Jr)
              return !0;
            if (d) {
              const Yt = r.tagName, un = Kr(Yt, p.Tag_0_expects_at_least_1_arguments_but_the_JSX_factory_2_provides_at_most_3, q_(Yt), sr, q_(ct), Jr), Bn = (Te = vp(Yt)) == null ? void 0 : Te.valueDeclaration;
              Bn && Ws(un, Kr(Bn, p._0_is_declared_here, q_(Yt))), x && x.skipLogging && (x.errors || (x.errors = [])).push(un), x.skipLogging || Ia.add(un);
            }
            return !1;
          }
        }
        function eX(r) {
          const a = tn(r) ? -2147483615 : 33;
          return xc(r, a);
        }
        function WM(r, a, l, f, d, y, x, I) {
          const R = { errors: void 0, skipLogging: !0 };
          if (wZ(r))
            return kat(r, l, f, d, y, x, R) ? void 0 : (E.assert(!y || !!R.errors, "jsx should have errors when reporting errors"), R.errors || Ue);
          const J = Kv(l);
          if (J && J !== dr && !(Hb(r) || Ms(r) && E_(r.expression))) {
            const ct = G8e(r), ht = U8e(ct), nr = y ? ct || r : void 0, Xt = p.The_this_context_of_type_0_is_not_assignable_to_method_s_this_of_type_1;
            if (!mp(ht, J, f, nr, Xt, x, R))
              return E.assert(!y || !!R.errors, "this parameter should have errors when reporting errors"), R.errors || Ue;
          }
          const Y = p.Argument_of_type_0_is_not_assignable_to_parameter_of_type_1, Te = bI(l), de = Te ? Math.min(B_(l) - 1, a.length) : a.length;
          for (let ct = 0; ct < de; ct++) {
            const ht = a[ct];
            if (ht.kind !== 232) {
              const nr = zd(l, ct), Xt = GE(
                ht,
                nr,
                /*inferenceContext*/
                void 0,
                d
              ), Gr = d & 4 ? oI(Xt) : Xt, Jr = I ? ji(Gr, I.nonFixingMapper) : Gr, sr = eX(ht);
              if (!Spe(Jr, nr, f, y ? sr : void 0, sr, Y, x, R))
                return E.assert(!y || !!R.errors, "parameter should have errors when reporting errors"), Ge(ht, Jr, nr), R.errors || Ue;
            }
          }
          if (Te) {
            const ct = zde(
              a,
              de,
              a.length,
              Te,
              /*context*/
              void 0,
              d
            ), ht = a.length - de, nr = y ? ht === 0 ? r : ht === 1 ? eX(a[de]) : hd(yI(r, ct), a[de].pos, a[a.length - 1].end) : void 0;
            if (!mp(
              ct,
              Te,
              f,
              nr,
              Y,
              /*containingMessageChain*/
              void 0,
              R
            ))
              return E.assert(!y || !!R.errors, "rest parameter should have errors when reporting errors"), Ge(nr, ct, Te), R.errors || Ue;
          }
          return;
          function Ge(ct, ht, nr) {
            if (ct && y && R.errors && R.errors.length) {
              if (gP(nr))
                return;
              const Xt = gP(ht);
              Xt && Lm(Xt, nr, f) && Ws(R.errors[0], Kr(ct, p.Did_you_forget_to_use_await));
            }
          }
        }
        function G8e(r) {
          if (r.kind === 226)
            return r.right;
          const a = r.kind === 213 ? r.expression : r.kind === 215 ? r.tag : r.kind === 170 && !V ? r.expression : void 0;
          if (a) {
            const l = xc(a);
            if (ko(l))
              return l.expression;
          }
        }
        function yI(r, a, l, f) {
          const d = fv.createSyntheticExpression(a, l, f);
          return ot(d, r), Wa(d, r), d;
        }
        function tX(r) {
          if (Yp(r))
            return [yI(r, rf)];
          if (r.kind === 215) {
            const f = r.template, d = [yI(f, rtt())];
            return f.kind === 228 && ar(f.templateSpans, (y) => {
              d.push(y.expression);
            }), d;
          }
          if (r.kind === 170)
            return Cat(r);
          if (r.kind === 226)
            return [r.left];
          if (yu(r))
            return r.attributes.properties.length > 0 || yd(r) && r.parent.children.length > 0 ? [r.attributes] : Ue;
          const a = r.arguments || Ue, l = jde(a);
          if (l >= 0) {
            const f = a.slice(0, l);
            for (let d = l; d < a.length; d++) {
              const y = a[d], x = y.kind === 230 && (Qe ? Hi(y.expression) : gc(y.expression));
              x && va(x) ? ar(j2(x), (I, R) => {
                var J;
                const Y = x.target.elementFlags[R], Te = yI(y, Y & 4 ? du(I) : I, !!(Y & 12), (J = x.target.labeledElementDeclarations) == null ? void 0 : J[R]);
                f.push(Te);
              }) : f.push(y);
            }
            return f;
          }
          return a;
        }
        function Cat(r) {
          const a = r.expression, l = tme(r);
          if (l) {
            const f = [];
            for (const d of l.parameters) {
              const y = Qr(d);
              f.push(yI(a, y));
            }
            return f;
          }
          return E.fail();
        }
        function $8e(r, a) {
          return F.experimentalDecorators ? Eat(r, a) : (
            // Allow the runtime to oversupply arguments to an ES decorator as long as there's at least one parameter.
            Math.min(Math.max(B_(a), 1), 2)
          );
        }
        function Eat(r, a) {
          switch (r.parent.kind) {
            case 263:
            case 231:
              return 1;
            case 172:
              return tm(r.parent) ? 3 : 2;
            case 174:
            case 177:
            case 178:
              return a.parameters.length <= 2 ? 2 : 3;
            case 169:
              return 3;
            default:
              return E.fail();
          }
        }
        function X8e(r) {
          const a = Er(r), { start: l, length: f } = pS(a, kn(r.expression) ? r.expression.name : r.expression);
          return { start: l, length: f, sourceFile: a };
        }
        function VM(r, a, ...l) {
          if (Ms(r)) {
            const { sourceFile: f, start: d, length: y } = X8e(r);
            return "message" in a ? al(f, d, y, a, ...l) : _B(f, a);
          } else
            return "message" in a ? Kr(r, a, ...l) : Lg(Er(r), r, a);
        }
        function Dat(r) {
          return Gd(r) ? kn(r.expression) ? r.expression.name : r.expression : iv(r) ? kn(r.tag) ? r.tag.name : r.tag : yu(r) ? r.tagName : r;
        }
        function wat(r) {
          if (!Ms(r) || !Fe(r.expression)) return !1;
          const a = it(
            r.expression,
            r.expression.escapedText,
            111551,
            /*nameNotFoundMessage*/
            void 0,
            /*isUse*/
            !1
          ), l = a?.valueDeclaration;
          if (!l || !Ni(l) || !Ky(l.parent) || !Hb(l.parent.parent) || !Fe(l.parent.parent.expression))
            return !1;
          const f = Gfe(
            /*reportErrors*/
            !1
          );
          return f ? vp(
            l.parent.parent.expression,
            /*ignoreErrors*/
            !0
          ) === f : !1;
        }
        function Q8e(r, a, l, f) {
          var d;
          const y = jde(l);
          if (y > -1)
            return Kr(l[y], p.A_spread_argument_must_either_have_a_tuple_type_or_be_passed_to_a_rest_parameter);
          let x = Number.POSITIVE_INFINITY, I = Number.NEGATIVE_INFINITY, R = Number.NEGATIVE_INFINITY, J = Number.POSITIVE_INFINITY, Y;
          for (const ht of a) {
            const nr = Wd(ht), Xt = B_(ht);
            nr < x && (x = nr, Y = ht), I = Math.max(I, Xt), nr < l.length && nr > R && (R = nr), l.length < Xt && Xt < J && (J = Xt);
          }
          const Te = at(a, Tg), de = Te ? x : x < I ? x + "-" + I : x, Ge = !Te && de === 1 && l.length === 0 && wat(r);
          if (Ge && tn(r))
            return VM(r, p.Expected_1_argument_but_got_0_new_Promise_needs_a_JSDoc_hint_to_produce_a_resolve_that_can_be_called_without_arguments);
          const ct = yl(r) ? Te ? p.The_runtime_will_invoke_the_decorator_with_1_arguments_but_the_decorator_expects_at_least_0 : p.The_runtime_will_invoke_the_decorator_with_1_arguments_but_the_decorator_expects_0 : Te ? p.Expected_at_least_0_arguments_but_got_1 : Ge ? p.Expected_0_arguments_but_got_1_Did_you_forget_to_include_void_in_your_type_argument_to_Promise : p.Expected_0_arguments_but_got_1;
          if (x < l.length && l.length < I) {
            if (f) {
              let ht = vs(
                /*details*/
                void 0,
                p.No_overload_expects_0_arguments_but_overloads_do_exist_that_expect_either_1_or_2_arguments,
                l.length,
                R,
                J
              );
              return ht = vs(ht, f), VM(r, ht);
            }
            return VM(r, p.No_overload_expects_0_arguments_but_overloads_do_exist_that_expect_either_1_or_2_arguments, l.length, R, J);
          } else if (l.length < x) {
            let ht;
            if (f) {
              let Xt = vs(
                /*details*/
                void 0,
                ct,
                de,
                l.length
              );
              Xt = vs(Xt, f), ht = VM(r, Xt);
            } else
              ht = VM(r, ct, de, l.length);
            const nr = (d = Y?.declaration) == null ? void 0 : d.parameters[Y.thisParameter ? l.length + 1 : l.length];
            if (nr) {
              const Xt = Ps(nr.name) ? [p.An_argument_matching_this_binding_pattern_was_not_provided] : Hm(nr) ? [p.Arguments_for_the_rest_parameter_0_were_not_provided, Pn(Xu(nr.name))] : [p.An_argument_for_0_was_not_provided, nr.name ? Pn(Xu(nr.name)) : l.length], Gr = Kr(nr, ...Xt);
              return Ws(ht, Gr);
            }
            return ht;
          } else {
            const ht = N.createNodeArray(l.slice(I)), nr = xa(ht).pos;
            let Xt = pa(ht).end;
            if (Xt === nr && Xt++, hd(ht, nr, Xt), f) {
              let Gr = vs(
                /*details*/
                void 0,
                ct,
                de,
                l.length
              );
              return Gr = vs(Gr, f), _3(Er(r), ht, Gr);
            }
            return jC(Er(r), ht, ct, de, l.length);
          }
        }
        function Pat(r, a, l, f) {
          const d = l.length;
          if (a.length === 1) {
            const I = a[0], R = yg(I.typeParameters), J = Ar(I.typeParameters);
            if (f) {
              let Y = vs(
                /*details*/
                void 0,
                p.Expected_0_type_arguments_but_got_1,
                R < J ? R + "-" + J : R,
                d
              );
              return Y = vs(Y, f), _3(Er(r), l, Y);
            }
            return jC(Er(r), l, p.Expected_0_type_arguments_but_got_1, R < J ? R + "-" + J : R, d);
          }
          let y = -1 / 0, x = 1 / 0;
          for (const I of a) {
            const R = yg(I.typeParameters), J = Ar(I.typeParameters);
            R > d ? x = Math.min(x, R) : J < d && (y = Math.max(y, J));
          }
          if (y !== -1 / 0 && x !== 1 / 0) {
            if (f) {
              let I = vs(
                /*details*/
                void 0,
                p.No_overload_expects_0_type_arguments_but_overloads_do_exist_that_expect_either_1_or_2_type_arguments,
                d,
                y,
                x
              );
              return I = vs(I, f), _3(Er(r), l, I);
            }
            return jC(Er(r), l, p.No_overload_expects_0_type_arguments_but_overloads_do_exist_that_expect_either_1_or_2_type_arguments, d, y, x);
          }
          if (f) {
            let I = vs(
              /*details*/
              void 0,
              p.Expected_0_type_arguments_but_got_1,
              y === -1 / 0 ? x : y,
              d
            );
            return I = vs(I, f), _3(Er(r), l, I);
          }
          return jC(Er(r), l, p.Expected_0_type_arguments_but_got_1, y === -1 / 0 ? x : y, d);
        }
        function qE(r, a, l, f, d, y) {
          const x = r.kind === 215, I = r.kind === 170, R = yu(r), J = Yp(r), Y = r.kind === 226, Te = !w && !l;
          let de, Ge, ct, ht, nr = 0, Xt = [], Gr;
          !I && !Y && !dS(r) && !J && (Gr = r.typeArguments, (x || R || r.expression.kind !== 108) && ar(Gr, _a)), Xt = l || [], Sat(a, Xt, d), J || E.assert(Xt.length, "Revert #54442 and add a testcase with whatever triggered this");
          const Jr = tX(r), sr = Xt.length === 1 && !Xt[0].typeParameters;
          !I && !sr && at(Jr, Hf) && (nr = 4);
          const Yt = !!(f & 16) && r.kind === 213 && r.arguments.hasTrailingComma;
          Xt.length > 1 && (ht = wi(Xt, eh, sr, Yt)), ht || (ht = wi(Xt, v_, sr, Yt));
          const un = yn(r);
          if (un.resolvedSignature !== sn && !l)
            return E.assert(un.resolvedSignature), un.resolvedSignature;
          if (ht)
            return ht;
          if (ht = Nat(r, Xt, Jr, !!l, f), un.resolvedSignature = ht, Te) {
            if (!y && Y && (y = p.The_left_hand_side_of_an_instanceof_expression_must_be_assignable_to_the_first_argument_of_the_right_hand_side_s_Symbol_hasInstance_method), de)
              if (de.length === 1 || de.length > 3) {
                const bn = de[de.length - 1];
                let os;
                de.length > 3 && (os = vs(os, p.The_last_overload_gave_the_following_error), os = vs(os, p.No_overload_matches_this_call)), y && (os = vs(os, y));
                const Fs = WM(
                  r,
                  Jr,
                  bn,
                  v_,
                  0,
                  /*reportErrors*/
                  !0,
                  () => os,
                  /*inferenceContext*/
                  void 0
                );
                if (Fs)
                  for (const Qa of Fs)
                    bn.declaration && de.length > 3 && Ws(Qa, Kr(bn.declaration, p.The_last_overload_is_declared_here)), Bn(bn, Qa), Ia.add(Qa);
                else
                  E.fail("No error for last overload signature");
              } else {
                const bn = [];
                let os = 0, Fs = Number.MAX_VALUE, Qa = 0, bs = 0;
                for (const Tr of de) {
                  const zr = WM(
                    r,
                    Jr,
                    Tr,
                    v_,
                    0,
                    /*reportErrors*/
                    !0,
                    () => vs(
                      /*details*/
                      void 0,
                      p.Overload_0_of_1_2_gave_the_following_error,
                      bs + 1,
                      Xt.length,
                      N2(Tr)
                    ),
                    /*inferenceContext*/
                    void 0
                  );
                  zr ? (zr.length <= Fs && (Fs = zr.length, Qa = bs), os = Math.max(os, zr.length), bn.push(zr)) : E.fail("No error for 3 or fewer overload signatures"), bs++;
                }
                const wu = os > 1 ? bn[Qa] : Sp(bn);
                E.assert(wu.length > 0, "No errors reported for 3 or fewer overload signatures");
                let Rl = vs(
                  fr(wu, YZ),
                  p.No_overload_matches_this_call
                );
                y && (Rl = vs(Rl, y));
                const sc = [...oa(wu, (Tr) => Tr.relatedInformation)];
                let kr;
                if (Pi(wu, (Tr) => Tr.start === wu[0].start && Tr.length === wu[0].length && Tr.file === wu[0].file)) {
                  const { file: Tr, start: di, length: zr } = wu[0];
                  kr = { file: Tr, start: di, length: zr, code: Rl.code, category: Rl.category, messageText: Rl, relatedInformation: sc };
                } else
                  kr = Lg(Er(r), Dat(r), Rl, sc);
                Bn(de[0], kr), Ia.add(kr);
              }
            else if (Ge)
              Ia.add(Q8e(r, [Ge], Jr, y));
            else if (ct)
              Wde(
                ct,
                r.typeArguments,
                /*reportErrors*/
                !0,
                y
              );
            else if (!J) {
              const bn = Tn(a, (os) => Bde(os, Gr));
              bn.length === 0 ? Ia.add(Pat(r, a, Gr, y)) : Ia.add(Q8e(r, bn, Jr, y));
            }
          }
          return ht;
          function Bn(bn, os) {
            var Fs, Qa;
            const bs = de, wu = Ge, Rl = ct, sc = ((Qa = (Fs = bn.declaration) == null ? void 0 : Fs.symbol) == null ? void 0 : Qa.declarations) || Ue, Tr = sc.length > 1 ? Dn(sc, (di) => uo(di) && Cp(di.body)) : void 0;
            if (Tr) {
              const di = qf(Tr), zr = !di.typeParameters;
              wi([di], v_, zr) && Ws(os, Kr(Tr, p.The_call_would_have_succeeded_against_this_implementation_but_implementation_signatures_of_overloads_are_not_externally_visible));
            }
            de = bs, Ge = wu, ct = Rl;
          }
          function wi(bn, os, Fs, Qa = !1) {
            var bs, wu;
            if (de = void 0, Ge = void 0, ct = void 0, Fs) {
              const Rl = bn[0];
              if (at(Gr) || !K$(r, Jr, Rl, Qa))
                return;
              if (WM(
                r,
                Jr,
                Rl,
                os,
                0,
                /*reportErrors*/
                !1,
                /*containingMessageChain*/
                void 0,
                /*inferenceContext*/
                void 0
              )) {
                de = [Rl];
                return;
              }
              return Rl;
            }
            for (let Rl = 0; Rl < bn.length; Rl++) {
              let sc = bn[Rl];
              if (!Bde(sc, Gr) || !K$(r, Jr, sc, Qa))
                continue;
              let kr, Tr;
              if (sc.typeParameters) {
                const zr = ((wu = (bs = sc.typeParameters[0].symbol.declarations) == null ? void 0 : bs[0]) == null ? void 0 : wu.parent) || (sc.declaration && Xo(sc.declaration) ? sc.declaration.parent : sc.declaration);
                zr && _r(r, (Da) => Da === zr) && (sc = Get(sc));
                let Ki;
                if (at(Gr)) {
                  if (Ki = Wde(
                    sc,
                    Gr,
                    /*reportErrors*/
                    !1
                  ), !Ki) {
                    ct = sc;
                    continue;
                  }
                } else
                  Tr = cI(
                    sc.typeParameters,
                    sc,
                    /*flags*/
                    tn(r) ? 2 : 0
                    /* None */
                  ), Ki = bg(Jde(r, sc, Jr, nr | 8, Tr), Tr.nonFixingMapper), nr |= Tr.flags & 4 ? 8 : 0;
                if (kr = G8(sc, Ki, tn(sc.declaration), Tr && Tr.inferredTypeParameters), bI(sc) && !K$(r, Jr, kr, Qa)) {
                  Ge = kr;
                  continue;
                }
              } else
                kr = sc;
              if (WM(
                r,
                Jr,
                kr,
                os,
                nr,
                /*reportErrors*/
                !1,
                /*containingMessageChain*/
                void 0,
                Tr
              )) {
                (de || (de = [])).push(kr);
                continue;
              }
              if (nr) {
                if (nr = 0, Tr) {
                  const di = bg(Jde(r, sc, Jr, nr, Tr), Tr.mapper);
                  if (kr = G8(sc, di, tn(sc.declaration), Tr.inferredTypeParameters), bI(sc) && !K$(r, Jr, kr, Qa)) {
                    Ge = kr;
                    continue;
                  }
                }
                if (WM(
                  r,
                  Jr,
                  kr,
                  os,
                  nr,
                  /*reportErrors*/
                  !1,
                  /*containingMessageChain*/
                  void 0,
                  Tr
                )) {
                  (de || (de = [])).push(kr);
                  continue;
                }
              }
              return bn[Rl] = kr, kr;
            }
          }
        }
        function Nat(r, a, l, f, d) {
          return E.assert(a.length > 0), pC(r), f || a.length === 1 || a.some((y) => !!y.typeParameters) ? Fat(r, a, l, d) : Aat(a);
        }
        function Aat(r) {
          const a = Oi(r, (R) => R.thisParameter);
          let l;
          a.length && (l = Y8e(a, a.map(HM)));
          const { min: f, max: d } = Aee(r, Iat), y = [];
          for (let R = 0; R < d; R++) {
            const J = Oi(r, (Y) => Tu(Y) ? R < Y.parameters.length - 1 ? Y.parameters[R] : pa(Y.parameters) : R < Y.parameters.length ? Y.parameters[R] : void 0);
            E.assert(J.length !== 0), y.push(Y8e(J, Oi(r, (Y) => X2(Y, R))));
          }
          const x = Oi(r, (R) => Tu(R) ? pa(R.parameters) : void 0);
          let I = 128;
          if (x.length !== 0) {
            const R = du(Gn(
              Oi(r, d3e),
              2
              /* Subtype */
            ));
            y.push(Z8e(x, R)), I |= 1;
          }
          return r.some(O1e) && (I |= 2), fh(
            r[0].declaration,
            /*typeParameters*/
            void 0,
            // Before calling this we tested for `!candidates.some(c => !!c.typeParameters)`.
            l,
            y,
            /*resolvedReturnType*/
            aa(r.map(Va)),
            /*resolvedTypePredicate*/
            void 0,
            f,
            I
          );
        }
        function Iat(r) {
          const a = r.parameters.length;
          return Tu(r) ? a - 1 : a;
        }
        function Y8e(r, a) {
          return Z8e(r, Gn(
            a,
            2
            /* Subtype */
          ));
        }
        function Z8e(r, a) {
          return NT(xa(r), a);
        }
        function Fat(r, a, l, f) {
          const d = Mat(a, ze === void 0 ? l.length : ze), y = a[d], { typeParameters: x } = y;
          if (!x)
            return y;
          const I = B8e(r) ? r.typeArguments : void 0, R = I ? WG(y, Oat(I, x, tn(r))) : Lat(r, x, y, l, f);
          return a[d] = R, R;
        }
        function Oat(r, a, l) {
          const f = r.map(dC);
          for (; f.length > a.length; )
            f.pop();
          for (; f.length < a.length; )
            f.push(M2(a[f.length]) || a_(a[f.length]) || Xpe(l));
          return f;
        }
        function Lat(r, a, l, f, d) {
          const y = cI(
            a,
            l,
            /*flags*/
            tn(r) ? 2 : 0
            /* None */
          ), x = Jde(r, l, f, d | 4 | 8, y);
          return WG(l, x);
        }
        function Mat(r, a) {
          let l = -1, f = -1;
          for (let d = 0; d < r.length; d++) {
            const y = r[d], x = B_(y);
            if (Tg(y) || x >= a)
              return d;
            x > f && (f = x, l = d);
          }
          return l;
        }
        function Rat(r, a, l) {
          if (r.expression.kind === 108) {
            const R = j$(r.expression);
            if (be(R)) {
              for (const J of r.arguments)
                Hi(J);
              return Ur;
            }
            if (!Oe(R)) {
              const J = Zd(Jl(r));
              if (J) {
                const Y = Ra(R, J.typeArguments, J);
                return qE(
                  r,
                  Y,
                  a,
                  l,
                  0
                  /* None */
                );
              }
            }
            return RT(r);
          }
          let f, d = Hi(r.expression);
          if (aS(r)) {
            const R = sI(d, r.expression);
            f = R === d ? 0 : k4(r) ? 16 : 8, d = R;
          } else
            f = 0;
          if (d = C8e(
            d,
            r.expression,
            tat
          ), d === Mt)
            return xr;
          const y = Uu(d);
          if (Oe(y))
            return Rm(r);
          const x = As(
            y,
            0
            /* Call */
          ), I = As(
            y,
            1
            /* Construct */
          ).length;
          if (UM(d, y, x.length, I))
            return !Oe(d) && r.typeArguments && Be(r, p.Untyped_function_calls_may_not_accept_type_arguments), RT(r);
          if (!x.length) {
            if (I)
              Be(r, p.Value_of_type_0_is_not_callable_Did_you_mean_to_include_new, Hr(d));
            else {
              let R;
              if (r.arguments.length === 1) {
                const J = Er(r).text;
                gu(J.charCodeAt(ca(
                  J,
                  r.expression.end,
                  /*stopAfterLineBreak*/
                  !0
                ) - 1)) && (R = Kr(r.expression, p.Are_you_missing_a_semicolon));
              }
              Ude(r.expression, y, 0, R);
            }
            return Rm(r);
          }
          return l & 8 && !r.typeArguments && x.some(jat) ? (MIe(r, l), sn) : x.some((R) => tn(R.declaration) && !!Ej(R.declaration)) ? (Be(r, p.Value_of_type_0_is_not_callable_Did_you_mean_to_include_new, Hr(d)), Rm(r)) : qE(r, x, a, l, f);
        }
        function jat(r) {
          return !!(r.typeParameters && Rme(Va(r)));
        }
        function UM(r, a, l, f) {
          return be(r) || be(a) && !!(r.flags & 262144) || !l && !f && !(a.flags & 1048576) && !(sd(a).flags & 131072) && js(r, It);
        }
        function Bat(r, a, l) {
          let f = UE(r.expression);
          if (f === Mt)
            return xr;
          if (f = Uu(f), Oe(f))
            return Rm(r);
          if (be(f))
            return r.typeArguments && Be(r, p.Untyped_function_calls_may_not_accept_type_arguments), RT(r);
          const d = As(
            f,
            1
            /* Construct */
          );
          if (d.length) {
            if (!Jat(r, d[0]))
              return Rm(r);
            if (K8e(d, (I) => !!(I.flags & 4)))
              return Be(r, p.Cannot_create_an_instance_of_an_abstract_class), Rm(r);
            const x = f.symbol && Fh(f.symbol);
            return x && qn(
              x,
              64
              /* Abstract */
            ) ? (Be(r, p.Cannot_create_an_instance_of_an_abstract_class), Rm(r)) : qE(
              r,
              d,
              a,
              l,
              0
              /* None */
            );
          }
          const y = As(
            f,
            0
            /* Call */
          );
          if (y.length) {
            const x = qE(
              r,
              y,
              a,
              l,
              0
              /* None */
            );
            return fe || (x.declaration && !jm(x.declaration) && Va(x) !== dr && Be(r, p.Only_a_void_function_can_be_called_with_the_new_keyword), Kv(x) === dr && Be(r, p.A_function_that_is_called_with_the_new_keyword_cannot_have_a_this_type_that_is_void)), x;
          }
          return Ude(
            r.expression,
            f,
            1
            /* Construct */
          ), Rm(r);
        }
        function K8e(r, a) {
          return fs(r) ? at(r, (l) => K8e(l, a)) : r.compositeKind === 1048576 ? at(r.compositeSignatures, a) : a(r);
        }
        function Vde(r, a) {
          const l = fl(a);
          if (!Ar(l))
            return !1;
          const f = l[0];
          if (f.flags & 2097152) {
            const d = f.types, y = $Pe(d);
            let x = 0;
            for (const I of f.types) {
              if (!y[x] && Cn(I) & 3 && (I.symbol === r || Vde(r, I)))
                return !0;
              x++;
            }
            return !1;
          }
          return f.symbol === r ? !0 : Vde(r, f);
        }
        function Jat(r, a) {
          if (!a || !a.declaration)
            return !0;
          const l = a.declaration, f = vx(
            l,
            6
            /* NonPublicAccessibilityModifier */
          );
          if (!f || l.kind !== 176)
            return !0;
          const d = Fh(l.parent.symbol), y = wo(l.parent.symbol);
          if (!Fme(r, d)) {
            const x = Jl(r);
            if (x && f & 4) {
              const I = dC(x);
              if (Vde(l.parent.symbol, I))
                return !0;
            }
            return f & 2 && Be(r, p.Constructor_of_class_0_is_private_and_only_accessible_within_the_class_declaration, Hr(y)), f & 4 && Be(r, p.Constructor_of_class_0_is_protected_and_only_accessible_within_the_class_declaration, Hr(y)), !1;
          }
          return !0;
        }
        function eIe(r, a, l) {
          let f;
          const d = l === 0, y = fC(a), x = y && As(y, l).length > 0;
          if (a.flags & 1048576) {
            const R = a.types;
            let J = !1;
            for (const Y of R)
              if (As(Y, l).length !== 0) {
                if (J = !0, f)
                  break;
              } else if (f || (f = vs(
                f,
                d ? p.Type_0_has_no_call_signatures : p.Type_0_has_no_construct_signatures,
                Hr(Y)
              ), f = vs(
                f,
                d ? p.Not_all_constituents_of_type_0_are_callable : p.Not_all_constituents_of_type_0_are_constructable,
                Hr(a)
              )), J)
                break;
            J || (f = vs(
              /*details*/
              void 0,
              d ? p.No_constituent_of_type_0_is_callable : p.No_constituent_of_type_0_is_constructable,
              Hr(a)
            )), f || (f = vs(
              f,
              d ? p.Each_member_of_the_union_type_0_has_signatures_but_none_of_those_signatures_are_compatible_with_each_other : p.Each_member_of_the_union_type_0_has_construct_signatures_but_none_of_those_signatures_are_compatible_with_each_other,
              Hr(a)
            ));
          } else
            f = vs(
              f,
              d ? p.Type_0_has_no_call_signatures : p.Type_0_has_no_construct_signatures,
              Hr(a)
            );
          let I = d ? p.This_expression_is_not_callable : p.This_expression_is_not_constructable;
          if (Ms(r.parent) && r.parent.arguments.length === 0) {
            const { resolvedSymbol: R } = yn(r);
            R && R.flags & 32768 && (I = p.This_expression_is_not_callable_because_it_is_a_get_accessor_Did_you_mean_to_use_it_without);
          }
          return {
            messageChain: vs(f, I),
            relatedMessage: x ? p.Did_you_forget_to_use_await : void 0
          };
        }
        function Ude(r, a, l, f) {
          const { messageChain: d, relatedMessage: y } = eIe(r, a, l), x = Lg(Er(r), r, d);
          if (y && Ws(x, Kr(r, y)), Ms(r.parent)) {
            const { start: I, length: R } = X8e(r.parent);
            x.start = I, x.length = R;
          }
          Ia.add(x), tIe(a, l, f ? Ws(x, f) : x);
        }
        function tIe(r, a, l) {
          if (!r.symbol)
            return;
          const f = Ri(r.symbol).originatingImport;
          if (f && !df(f)) {
            const d = As(Qr(Ri(r.symbol).target), a);
            if (!d || !d.length) return;
            Ws(l, Kr(f, p.Type_originates_at_this_import_A_namespace_style_import_cannot_be_called_or_constructed_and_will_cause_a_failure_at_runtime_Consider_using_a_default_import_or_import_require_here_instead));
          }
        }
        function zat(r, a, l) {
          const f = Hi(r.tag), d = Uu(f);
          if (Oe(d))
            return Rm(r);
          const y = As(
            d,
            0
            /* Call */
          ), x = As(
            d,
            1
            /* Construct */
          ).length;
          if (UM(f, d, y.length, x))
            return RT(r);
          if (!y.length) {
            if (Ql(r.parent)) {
              const I = Kr(r.tag, p.It_is_likely_that_you_are_missing_a_comma_to_separate_these_two_template_expressions_They_form_a_tagged_template_expression_which_cannot_be_invoked);
              return Ia.add(I), Rm(r);
            }
            return Ude(
              r.tag,
              d,
              0
              /* Call */
            ), Rm(r);
          }
          return qE(
            r,
            y,
            a,
            l,
            0
            /* None */
          );
        }
        function Wat(r) {
          switch (r.parent.kind) {
            case 263:
            case 231:
              return p.Unable_to_resolve_signature_of_class_decorator_when_called_as_an_expression;
            case 169:
              return p.Unable_to_resolve_signature_of_parameter_decorator_when_called_as_an_expression;
            case 172:
              return p.Unable_to_resolve_signature_of_property_decorator_when_called_as_an_expression;
            case 174:
            case 177:
            case 178:
              return p.Unable_to_resolve_signature_of_method_decorator_when_called_as_an_expression;
            default:
              return E.fail();
          }
        }
        function Vat(r, a, l) {
          const f = Hi(r.expression), d = Uu(f);
          if (Oe(d))
            return Rm(r);
          const y = As(
            d,
            0
            /* Call */
          ), x = As(
            d,
            1
            /* Construct */
          ).length;
          if (UM(f, d, y.length, x))
            return RT(r);
          if (Hat(r, y) && !Zu(r.expression)) {
            const R = Go(
              r.expression,
              /*includeTrivia*/
              !1
            );
            return Be(r, p._0_accepts_too_few_arguments_to_be_used_as_a_decorator_here_Did_you_mean_to_call_it_first_and_write_0, R), Rm(r);
          }
          const I = Wat(r);
          if (!y.length) {
            const R = eIe(
              r.expression,
              d,
              0
              /* Call */
            ), J = vs(R.messageChain, I), Y = Lg(Er(r.expression), r.expression, J);
            return R.relatedMessage && Ws(Y, Kr(r.expression, R.relatedMessage)), Ia.add(Y), tIe(d, 0, Y), Rm(r);
          }
          return qE(r, y, a, l, 0, I);
        }
        function rX(r, a) {
          const l = MT(r), f = l && lf(l), d = f && zu(
            f,
            Ff.Element,
            788968
            /* Type */
          ), y = d && xe.symbolToEntityName(d, 788968, r), x = N.createFunctionTypeNode(
            /*typeParameters*/
            void 0,
            [N.createParameterDeclaration(
              /*modifiers*/
              void 0,
              /*dotDotDotToken*/
              void 0,
              "props",
              /*questionToken*/
              void 0,
              xe.typeToTypeNode(a, r)
            )],
            y ? N.createTypeReferenceNode(
              y,
              /*typeArguments*/
              void 0
            ) : N.createKeywordTypeNode(
              133
              /* AnyKeyword */
            )
          ), I = sa(1, "props");
          return I.links.type = a, fh(
            x,
            /*typeParameters*/
            void 0,
            /*thisParameter*/
            void 0,
            [I],
            d ? wo(d) : Ve,
            /*resolvedTypePredicate*/
            void 0,
            1,
            0
            /* None */
          );
        }
        function rIe(r) {
          const a = yn(Er(r));
          if (a.jsxFragmentType !== void 0) return a.jsxFragmentType;
          const l = Vl(r);
          if (!((F.jsx === 2 || F.jsxFragmentFactory !== void 0) && l !== "null")) return a.jsxFragmentType = Ie;
          const d = F.jsx !== 1 && F.jsx !== 3, y = Ia ? p.Using_JSX_fragments_requires_fragment_factory_0_to_be_in_scope_but_it_could_not_be_found : void 0, x = G$(r) ?? it(
            r,
            l,
            d ? 111551 : 111167,
            /*nameNotFoundMessage*/
            y,
            /*isUse*/
            !0
          );
          if (x === void 0) return a.jsxFragmentType = Ve;
          if (x.escapedName === kW.Fragment) return a.jsxFragmentType = Qr(x);
          const I = (x.flags & 2097152) === 0 ? x : Uc(x), R = x && lf(I), J = R && zu(
            R,
            kW.Fragment,
            2
            /* BlockScopedVariable */
          ), Y = J && Qr(J);
          return a.jsxFragmentType = Y === void 0 ? Ve : Y;
        }
        function Uat(r, a, l) {
          const f = Yp(r);
          let d;
          if (f)
            d = rIe(r);
          else {
            if (_C(r.tagName)) {
              const I = v8e(r), R = rX(r, I);
              return q2(GE(
                r.attributes,
                V$(R, r),
                /*inferenceContext*/
                void 0,
                0
                /* Normal */
              ), I, r.tagName, r.attributes), Ar(r.typeArguments) && (ar(r.typeArguments, _a), Ia.add(jC(Er(r), r.typeArguments, p.Expected_0_type_arguments_but_got_1, 0, Ar(r.typeArguments)))), R;
            }
            d = Hi(r.tagName);
          }
          const y = Uu(d);
          if (Oe(y))
            return Rm(r);
          const x = h8e(d, r);
          return UM(
            d,
            y,
            x.length,
            /*constructSignatures*/
            0
          ) ? RT(r) : x.length === 0 ? (f ? Be(r, p.JSX_element_type_0_does_not_have_any_construct_or_call_signatures, Go(r)) : Be(r.tagName, p.JSX_element_type_0_does_not_have_any_construct_or_call_signatures, Go(r.tagName)), Rm(r)) : qE(
            r,
            x,
            a,
            l,
            0
            /* None */
          );
        }
        function qat(r, a, l) {
          const f = Hi(r.right);
          if (!be(f)) {
            const d = ame(f);
            if (d) {
              const y = Uu(d);
              if (Oe(y))
                return Rm(r);
              const x = As(
                y,
                0
                /* Call */
              ), I = As(
                y,
                1
                /* Construct */
              );
              if (UM(d, y, x.length, I.length))
                return RT(r);
              if (x.length)
                return qE(
                  r,
                  x,
                  a,
                  l,
                  0
                  /* None */
                );
            } else if (!(PX(f) || U2(f, It)))
              return Be(r.right, p.The_right_hand_side_of_an_instanceof_expression_must_be_either_of_type_any_a_class_function_or_other_type_assignable_to_the_Function_interface_type_or_an_object_type_with_a_Symbol_hasInstance_method), Rm(r);
          }
          return Ur;
        }
        function Hat(r, a) {
          return a.length && Pi(a, (l) => l.minArgumentCount === 0 && !Tu(l) && l.parameters.length < $8e(r, l));
        }
        function Gat(r, a, l) {
          switch (r.kind) {
            case 213:
              return Rat(r, a, l);
            case 214:
              return Bat(r, a, l);
            case 215:
              return zat(r, a, l);
            case 170:
              return Vat(r, a, l);
            case 289:
            case 286:
            case 285:
              return Uat(r, a, l);
            case 226:
              return qat(r, a, l);
          }
          E.assertNever(r, "Branch in 'resolveSignature' should be unreachable.");
        }
        function HE(r, a, l) {
          const f = yn(r), d = f.resolvedSignature;
          if (d && d !== sn && !a)
            return d;
          const y = V0;
          d || (V0 = ig.length), f.resolvedSignature = sn;
          const x = Gat(
            r,
            a,
            l || 0
            /* Normal */
          );
          return V0 = y, x !== sn && (f.resolvedSignature = Le === Qe ? x : d), x;
        }
        function jm(r) {
          var a;
          if (!r || !tn(r))
            return !1;
          const l = Tc(r) || ho(r) ? r : (Zn(r) || tl(r)) && r.initializer && ho(r.initializer) ? r.initializer : void 0;
          if (l) {
            if (Ej(r)) return !0;
            if (tl(Gp(l.parent))) return !1;
            const f = vn(l);
            return !!((a = f?.members) != null && a.size);
          }
          return !1;
        }
        function qde(r, a) {
          var l, f;
          if (a) {
            const d = Ri(a);
            if (!d.inferredClassSymbol || !d.inferredClassSymbol.has(ea(r))) {
              const y = Ig(r) ? r : Iv(r);
              return y.exports = y.exports || qs(), y.members = y.members || qs(), y.flags |= a.flags & 32, (l = a.exports) != null && l.size && xm(y.exports, a.exports), (f = a.members) != null && f.size && xm(y.members, a.members), (d.inferredClassSymbol || (d.inferredClassSymbol = /* @__PURE__ */ new Map())).set(ea(y), y), y;
            }
            return d.inferredClassSymbol.get(ea(r));
          }
        }
        function $at(r) {
          var a;
          const l = r && nX(
            r,
            /*allowDeclaration*/
            !0
          ), f = (a = l?.exports) == null ? void 0 : a.get("prototype"), d = f?.valueDeclaration && Xat(f.valueDeclaration);
          return d ? vn(d) : void 0;
        }
        function nX(r, a) {
          if (!r.parent)
            return;
          let l, f;
          if (Zn(r.parent) && r.parent.initializer === r) {
            if (!tn(r) && !(OI(r.parent) && uo(r)))
              return;
            l = r.parent.name, f = r.parent;
          } else if (_n(r.parent)) {
            const d = r.parent, y = r.parent.operatorToken.kind;
            if (y === 64 && (a || d.right === r))
              l = d.left, f = l;
            else if ((y === 57 || y === 61) && (Zn(d.parent) && d.parent.initializer === d ? (l = d.parent.name, f = d.parent) : _n(d.parent) && d.parent.operatorToken.kind === 64 && (a || d.parent.right === d) && (l = d.parent.left, f = l), !l || !yS(l) || !UC(l, d.left)))
              return;
          } else a && Tc(r) && (l = r.name, f = r);
          if (!(!f || !l || !a && !$1(r, Qy(l))))
            return Sf(f);
        }
        function Xat(r) {
          if (!r.parent)
            return !1;
          let a = r.parent;
          for (; a && a.kind === 211; )
            a = a.parent;
          if (a && _n(a) && Qy(a.left) && a.operatorToken.kind === 64) {
            const l = TB(a);
            return ua(l) && l;
          }
        }
        function Qat(r, a) {
          var l, f, d;
          fR(r, r.typeArguments);
          const y = HE(
            r,
            /*candidatesOutArray*/
            void 0,
            a
          );
          if (y === sn)
            return Mt;
          if (iX(y, r), r.expression.kind === 108)
            return dr;
          if (r.kind === 214) {
            const I = y.declaration;
            if (I && I.kind !== 176 && I.kind !== 180 && I.kind !== 185 && !(I0(I) && ((f = (l = GC(I)) == null ? void 0 : l.parent) == null ? void 0 : f.kind) === 176) && !mx(I) && !jm(I))
              return fe && Be(r, p.new_expression_whose_target_lacks_a_construct_signature_implicitly_has_an_any_type), Ie;
          }
          if (tn(r) && aIe(r))
            return f3e(r.arguments[0]);
          const x = Va(y);
          if (x.flags & 12288 && nIe(r))
            return dpe(Gp(r.parent));
          if (r.kind === 213 && !r.questionDotToken && r.parent.kind === 244 && x.flags & 16384 && dp(y)) {
            if (!Q3(r.expression))
              Be(r.expression, p.Assertions_require_the_call_target_to_be_an_identifier_or_qualified_name);
            else if (!wM(r)) {
              const I = Be(r.expression, p.Assertions_require_every_name_in_the_call_target_to_be_declared_with_an_explicit_type_annotation);
              DM(r.expression, I);
            }
          }
          if (tn(r)) {
            const I = nX(
              r,
              /*allowDeclaration*/
              !1
            );
            if ((d = I?.exports) != null && d.size) {
              const R = Jo(I, I.exports, Ue, Ue, Ue);
              return R.objectFlags |= 4096, aa([x, R]);
            }
          }
          return x;
        }
        function iX(r, a) {
          if (!(r.flags & 128) && r.declaration && r.declaration.flags & 536870912) {
            const l = qM(a), f = Z3(Z7(a));
            Dk(l, r.declaration, f, N2(r));
          }
        }
        function qM(r) {
          switch (r = za(r), r.kind) {
            case 213:
            case 170:
            case 214:
              return qM(r.expression);
            case 215:
              return qM(r.tag);
            case 286:
            case 285:
              return qM(r.tagName);
            case 212:
              return r.argumentExpression;
            case 211:
              return r.name;
            case 183:
              const a = r;
              return Qu(a.typeName) ? a.typeName.right : a;
            default:
              return r;
          }
        }
        function nIe(r) {
          if (!Ms(r)) return !1;
          let a = r.expression;
          if (kn(a) && a.name.escapedText === "for" && (a = a.expression), !Fe(a) || a.escapedText !== "Symbol")
            return !1;
          const l = F3e(
            /*reportErrors*/
            !1
          );
          return l ? l === it(
            a,
            "Symbol",
            111551,
            /*nameNotFoundMessage*/
            void 0,
            /*isUse*/
            !1
          ) : !1;
        }
        function Yat(r) {
          if (gft(r), r.arguments.length === 0)
            return QM(r, Ie);
          const a = r.arguments[0], l = gc(a), f = r.arguments.length > 1 ? gc(r.arguments[1]) : void 0;
          for (let y = 2; y < r.arguments.length; ++y)
            gc(r.arguments[y]);
          if ((l.flags & 32768 || l.flags & 65536 || !js(l, st)) && Be(a, p.Dynamic_import_s_specifier_must_be_of_type_string_but_here_has_type_0, Hr(l)), f) {
            const y = I3e(
              /*reportErrors*/
              !0
            );
            y !== Pa && mu(f, SM(
              y,
              32768
              /* Undefined */
            ), r.arguments[1]);
          }
          const d = Vu(r, a);
          if (d) {
            const y = ry(
              d,
              a,
              /*dontResolveAlias*/
              !0,
              /*suppressInteropError*/
              !1
            );
            if (y)
              return QM(
                r,
                iIe(Qr(y), y, d, a) || sIe(Qr(y), y, d, a)
              );
          }
          return QM(r, Ie);
        }
        function Hde(r, a, l) {
          const f = qs(), d = sa(
            2097152,
            "default"
            /* Default */
          );
          return d.parent = a, d.links.nameType = x_("default"), d.links.aliasTarget = dc(r), f.set("default", d), Jo(l, f, Ue, Ue, Ue);
        }
        function iIe(r, a, l, f) {
          if (oh(f) && r && !Oe(r)) {
            const y = r;
            if (!y.defaultOnlyType) {
              const x = Hde(a, l);
              y.defaultOnlyType = x;
            }
            return y.defaultOnlyType;
          }
        }
        function sIe(r, a, l, f) {
          var d;
          if (pe && r && !Oe(r)) {
            const y = r;
            if (!y.syntheticType) {
              const x = (d = l.declarations) == null ? void 0 : d.find(xi);
              if (_T(
                x,
                l,
                /*dontResolveAlias*/
                !1,
                f
              )) {
                const R = sa(
                  2048,
                  "__type"
                  /* Type */
                ), J = Hde(a, l, R);
                R.links.type = J, y.syntheticType = LM(r) ? B2(
                  r,
                  J,
                  R,
                  /*objectFlags*/
                  0,
                  /*readonly*/
                  !1
                ) : J;
              } else
                y.syntheticType = r;
            }
            return y.syntheticType;
          }
          return r;
        }
        function aIe(r) {
          if (!f_(
            r,
            /*requireStringLiteralLikeArgument*/
            !0
          ))
            return !1;
          if (!Fe(r.expression)) return E.fail();
          const a = it(
            r.expression,
            r.expression.escapedText,
            111551,
            /*nameNotFoundMessage*/
            void 0,
            /*isUse*/
            !0
          );
          if (a === Pe)
            return !0;
          if (a.flags & 2097152)
            return !1;
          const l = a.flags & 16 ? 262 : a.flags & 3 ? 260 : 0;
          if (l !== 0) {
            const f = jo(a, l);
            return !!f && !!(f.flags & 33554432);
          }
          return !1;
        }
        function Zat(r) {
          V_t(r) || fR(r, r.typeArguments), j < kl.TaggedTemplates && xl(
            r,
            262144
            /* MakeTemplateObject */
          );
          const a = HE(r);
          return iX(a, r), Va(a);
        }
        function Kat(r, a) {
          if (r.kind === 216) {
            const l = Er(r);
            if (l && Dc(l.fileName, [
              ".cts",
              ".mts"
              /* Mts */
            ]) && mr(r, p.This_syntax_is_reserved_in_files_with_the_mts_or_cts_extension_Use_an_as_expression_instead), F.erasableSyntaxOnly) {
              const f = ca(l.text, r.pos), d = r.expression.pos;
              Ia.add(al(l, f, d - f, p.This_syntax_is_not_allowed_when_erasableSyntaxOnly_is_enabled));
            }
          }
          return oIe(r, a);
        }
        function Gde(r) {
          switch (r.kind) {
            case 11:
            case 15:
            case 9:
            case 10:
            case 112:
            case 97:
            case 209:
            case 210:
            case 228:
              return !0;
            case 217:
              return Gde(r.expression);
            case 224:
              const a = r.operator, l = r.operand;
              return a === 41 && (l.kind === 9 || l.kind === 10) || a === 40 && l.kind === 9;
            case 211:
            case 212:
              const f = za(r.expression), d = to(f) ? mc(
                f,
                111551,
                /*ignoreErrors*/
                !0
              ) : void 0;
              return !!(d && d.flags & 384);
          }
          return !1;
        }
        function oIe(r, a) {
          const { type: l, expression: f } = cIe(r), d = Hi(f, a);
          if (Up(l))
            return Gde(f) || Be(f, p.A_const_assertions_can_only_be_applied_to_references_to_enum_members_or_string_number_boolean_array_or_object_literals), qu(d);
          const y = yn(r);
          return y.assertionExpressionType = d, _a(l), pC(r), Ci(l);
        }
        function cIe(r) {
          let a, l;
          switch (r.kind) {
            case 234:
            case 216:
              a = r.type, l = r.expression;
              break;
            case 217:
              a = T6(r), l = r.expression;
              break;
          }
          return { type: a, expression: l };
        }
        function eot(r) {
          const { type: a } = cIe(r), l = Zu(r) ? a : r, f = yn(r);
          E.assertIsDefined(f.assertionExpressionType);
          const d = oI(s0(f.assertionExpressionType)), y = Ci(a);
          Oe(y) || n(() => {
            const x = _f(d);
            l$(y, x) || FNe(d, y, l, p.Conversion_of_type_0_to_type_1_may_be_a_mistake_because_neither_type_sufficiently_overlaps_with_the_other_If_this_was_intentional_convert_the_expression_to_unknown_first);
          });
        }
        function tot(r) {
          const a = Hi(r.expression), l = sI(a, r.expression);
          return S$(a0(l), r, l !== a);
        }
        function rot(r) {
          return r.flags & 64 ? tot(r) : a0(Hi(r.expression));
        }
        function lIe(r) {
          if (t5e(r), ar(r.typeArguments, _a), r.kind === 233) {
            const l = Gp(r.parent);
            l.kind === 226 && l.operatorToken.kind === 104 && Ab(r, l.right) && Be(r, p.The_right_hand_side_of_an_instanceof_expression_must_not_be_an_instantiation_expression);
          }
          const a = r.kind === 233 ? Hi(r.expression) : Xy(r.exprName) ? IM(r.exprName) : Hi(r.exprName);
          return uIe(a, r);
        }
        function uIe(r, a) {
          const l = a.typeArguments;
          if (r === Mt || Oe(r) || !at(l))
            return r;
          const f = yn(a);
          if (f.instantiationExpressionTypes || (f.instantiationExpressionTypes = /* @__PURE__ */ new Map()), f.instantiationExpressionTypes.has(r.id))
            return f.instantiationExpressionTypes.get(r.id);
          let d = !1, y;
          const x = R(r);
          f.instantiationExpressionTypes.set(r.id, x);
          const I = d ? y : r;
          return I && Ia.add(jC(Er(a), l, p.Type_0_has_no_signatures_for_which_the_type_argument_list_is_applicable, Hr(I))), x;
          function R(Y) {
            let Te = !1, de = !1;
            const Ge = ct(Y);
            return d || (d = de), Te && !de && (y ?? (y = Y)), Ge;
            function ct(ht) {
              if (ht.flags & 524288) {
                const nr = jd(ht), Xt = J(nr.callSignatures), Gr = J(nr.constructSignatures);
                if (Te || (Te = nr.callSignatures.length !== 0 || nr.constructSignatures.length !== 0), de || (de = Xt.length !== 0 || Gr.length !== 0), Xt !== nr.callSignatures || Gr !== nr.constructSignatures) {
                  const Jr = Jo(sa(
                    0,
                    "__instantiationExpression"
                    /* InstantiationExpression */
                  ), nr.members, Xt, Gr, nr.indexInfos);
                  return Jr.objectFlags |= 8388608, Jr.node = a, Jr;
                }
              } else if (ht.flags & 58982400) {
                const nr = ru(ht);
                if (nr) {
                  const Xt = ct(nr);
                  if (Xt !== nr)
                    return Xt;
                }
              } else {
                if (ht.flags & 1048576)
                  return Ho(ht, R);
                if (ht.flags & 2097152)
                  return aa($c(ht.types, ct));
              }
              return ht;
            }
          }
          function J(Y) {
            const Te = Tn(Y, (de) => !!de.typeParameters && Bde(de, l));
            return $c(Te, (de) => {
              const Ge = Wde(
                de,
                l,
                /*reportErrors*/
                !0
              );
              return Ge ? G8(de, Ge, tn(de.declaration)) : de;
            });
          }
        }
        function not(r) {
          return _a(r.type), $de(r.expression, r.type);
        }
        function $de(r, a, l) {
          const f = Hi(r, l), d = Ci(a);
          if (Oe(d))
            return d;
          const y = _r(
            a.parent,
            (x) => x.kind === 238 || x.kind === 350
            /* JSDocSatisfiesTag */
          );
          return q2(f, d, y, r, p.Type_0_does_not_satisfy_the_expected_type_1), f;
        }
        function iot(r) {
          return sft(r), r.keywordToken === 105 ? Xde(r) : r.keywordToken === 102 ? sot(r) : E.assertNever(r.keywordToken);
        }
        function _Ie(r) {
          switch (r.keywordToken) {
            case 102:
              return A3e();
            case 105:
              const a = Xde(r);
              return Oe(a) ? Ve : Tot(a);
            default:
              E.assertNever(r.keywordToken);
          }
        }
        function Xde(r) {
          const a = fK(r);
          if (a)
            if (a.kind === 176) {
              const l = vn(a.parent);
              return Qr(l);
            } else {
              const l = vn(a);
              return Qr(l);
            }
          else return Be(r, p.Meta_property_0_is_only_allowed_in_the_body_of_a_function_declaration_function_expression_or_constructor, "new.target"), Ve;
        }
        function sot(r) {
          100 <= z && z <= 199 ? Er(r).impliedNodeFormat !== 99 && Be(r, p.The_import_meta_meta_property_is_not_allowed_in_files_which_will_build_into_CommonJS_output) : z < 6 && z !== 4 && Be(r, p.The_import_meta_meta_property_is_only_allowed_when_the_module_option_is_es2020_es2022_esnext_system_node16_node18_or_nodenext);
          const a = Er(r);
          return E.assert(!!(a.flags & 8388608), "Containing file is missing import meta node flag."), r.name.escapedText === "meta" ? N3e() : Ve;
        }
        function HM(r) {
          const a = r.valueDeclaration;
          return Ol(
            Qr(r),
            /*isProperty*/
            !1,
            /*isOptional*/
            !!a && (y0(a) || Nx(a))
          );
        }
        function Qde(r, a, l) {
          switch (r.name.kind) {
            case 80: {
              const f = r.name.escapedText;
              return r.dotDotDotToken ? l & 12 ? f : `${f}_${a}` : l & 3 ? f : `${f}_n`;
            }
            case 207: {
              if (r.dotDotDotToken) {
                const f = r.name.elements, d = Mn(Po(f), ya), y = f.length - (d?.dotDotDotToken ? 1 : 0);
                if (a < y) {
                  const x = f[a];
                  if (ya(x))
                    return Qde(x, a, l);
                } else if (d?.dotDotDotToken)
                  return Qde(d, a - y, l);
              }
              break;
            }
          }
          return `arg_${a}`;
        }
        function Yde(r, a = 0, l = 3, f) {
          if (!r) {
            const d = Mn(f?.valueDeclaration, Ni);
            return d ? Qde(d, a, l) : `${f?.escapedName ?? "arg"}_${a}`;
          }
          return E.assert(Fe(r.name)), r.name.escapedText;
        }
        function fP(r, a, l) {
          var f;
          const d = r.parameters.length - (Tu(r) ? 1 : 0);
          if (a < d)
            return r.parameters[a].escapedName;
          const y = r.parameters[d] || Q, x = l || Qr(y);
          if (va(x)) {
            const I = x.target, R = a - d, J = (f = I.labeledElementDeclarations) == null ? void 0 : f[R], Y = I.elementFlags[R];
            return Yde(J, R, Y, y);
          }
          return y.escapedName;
        }
        function aot(r, a) {
          var l;
          if (((l = r.declaration) == null ? void 0 : l.kind) === 317)
            return;
          const f = r.parameters.length - (Tu(r) ? 1 : 0);
          if (a < f) {
            const I = r.parameters[a], R = fIe(I);
            return R ? {
              parameter: R,
              parameterName: I.escapedName,
              isRestParameter: !1
            } : void 0;
          }
          const d = r.parameters[f] || Q, y = fIe(d);
          if (!y)
            return;
          const x = Qr(d);
          if (va(x)) {
            const I = x.target.labeledElementDeclarations, R = a - f, J = I?.[R], Y = !!J?.dotDotDotToken;
            return J ? (E.assert(Fe(J.name)), { parameter: J.name, parameterName: J.name.escapedText, isRestParameter: Y }) : void 0;
          }
          if (a === f)
            return { parameter: y, parameterName: d.escapedName, isRestParameter: !0 };
        }
        function fIe(r) {
          return r.valueDeclaration && Ni(r.valueDeclaration) && Fe(r.valueDeclaration.name) && r.valueDeclaration.name;
        }
        function pIe(r) {
          return r.kind === 202 || Ni(r) && r.name && Fe(r.name);
        }
        function oot(r, a) {
          const l = r.parameters.length - (Tu(r) ? 1 : 0);
          if (a < l) {
            const y = r.parameters[a].valueDeclaration;
            return y && pIe(y) ? y : void 0;
          }
          const f = r.parameters[l] || Q, d = Qr(f);
          if (va(d)) {
            const y = d.target.labeledElementDeclarations, x = a - l;
            return y && y[x];
          }
          return f.valueDeclaration && pIe(f.valueDeclaration) ? f.valueDeclaration : void 0;
        }
        function zd(r, a) {
          return X2(r, a) || Ie;
        }
        function X2(r, a) {
          const l = r.parameters.length - (Tu(r) ? 1 : 0);
          if (a < l)
            return HM(r.parameters[a]);
          if (Tu(r)) {
            const f = Qr(r.parameters[l]), d = a - l;
            if (!va(f) || f.target.combinedFlags & 12 || d < f.target.fixedLength)
              return M_(f, ad(d));
          }
        }
        function GM(r, a, l) {
          const f = B_(r), d = Wd(r), y = vI(r);
          if (y && a >= f - 1)
            return a === f - 1 ? y : du(M_(y, At));
          const x = [], I = [], R = [];
          for (let J = a; J < f; J++)
            !y || J < f - 1 ? (x.push(zd(r, J)), I.push(
              J < d ? 1 : 2
              /* Optional */
            )) : (x.push(y), I.push(
              8
              /* Variadic */
            )), R.push(oot(r, J));
          return vg(x, I, l, R);
        }
        function dIe(r, a) {
          const l = GM(r, a), f = l && bM(l);
          return f && be(f) ? Ie : l;
        }
        function B_(r) {
          const a = r.parameters.length;
          if (Tu(r)) {
            const l = Qr(r.parameters[a - 1]);
            if (va(l))
              return a + l.target.fixedLength - (l.target.combinedFlags & 12 ? 0 : 1);
          }
          return a;
        }
        function Wd(r, a) {
          const l = a & 1, f = a & 2;
          if (f || r.resolvedMinArgumentCount === void 0) {
            let d;
            if (Tu(r)) {
              const y = Qr(r.parameters[r.parameters.length - 1]);
              if (va(y)) {
                const x = oc(y.target.elementFlags, (R) => !(R & 1)), I = x < 0 ? y.target.fixedLength : x;
                I > 0 && (d = r.parameters.length - 1 + I);
              }
            }
            if (d === void 0) {
              if (!l && r.flags & 32)
                return 0;
              d = r.minArgumentCount;
            }
            if (f)
              return d;
            for (let y = d - 1; y >= 0; y--) {
              const x = zd(r, y);
              if (Hc(x, J8e).flags & 131072)
                break;
              d = y;
            }
            r.resolvedMinArgumentCount = d;
          }
          return r.resolvedMinArgumentCount;
        }
        function Tg(r) {
          if (Tu(r)) {
            const a = Qr(r.parameters[r.parameters.length - 1]);
            return !va(a) || !!(a.target.combinedFlags & 12);
          }
          return !1;
        }
        function vI(r) {
          if (Tu(r)) {
            const a = Qr(r.parameters[r.parameters.length - 1]);
            if (!va(a))
              return be(a) ? ll : a;
            if (a.target.combinedFlags & 12)
              return iP(a, a.target.fixedLength);
          }
        }
        function bI(r) {
          const a = vI(r);
          return a && !gp(a) && !be(a) ? a : void 0;
        }
        function Zde(r) {
          return Kde(r, Kt);
        }
        function Kde(r, a) {
          return r.parameters.length > 0 ? zd(r, 0) : a;
        }
        function mIe(r, a, l) {
          const f = r.parameters.length - (Tu(r) ? 1 : 0);
          for (let d = 0; d < f; d++) {
            const y = r.parameters[d].valueDeclaration, x = Yc(y);
            if (x) {
              const I = Ol(
                Ci(x),
                /*isProperty*/
                !1,
                Nx(y)
              ), R = zd(a, d);
              c0(l.inferences, I, R);
            }
          }
        }
        function cot(r, a) {
          if (a.typeParameters)
            if (!r.typeParameters)
              r.typeParameters = a.typeParameters;
            else
              return;
          if (a.thisParameter) {
            const f = r.thisParameter;
            (!f || f.valueDeclaration && !f.valueDeclaration.type) && (f || (r.thisParameter = NT(
              a.thisParameter,
              /*type*/
              void 0
            )), $M(r.thisParameter, Qr(a.thisParameter)));
          }
          const l = r.parameters.length - (Tu(r) ? 1 : 0);
          for (let f = 0; f < l; f++) {
            const d = r.parameters[f], y = d.valueDeclaration;
            if (!Yc(y)) {
              let x = X2(a, f);
              if (x && y.initializer) {
                let I = pP(
                  y,
                  0
                  /* Normal */
                );
                !js(I, x) && js(x, I = cme(y, I)) && (x = I);
              }
              $M(d, x);
            }
          }
          if (Tu(r)) {
            const f = pa(r.parameters);
            if (f.valueDeclaration ? !Yc(f.valueDeclaration) : lc(f) & 65536) {
              const d = GM(a, l);
              $M(f, d);
            }
          }
        }
        function lot(r) {
          r.thisParameter && $M(r.thisParameter);
          for (const a of r.parameters)
            $M(a);
        }
        function $M(r, a) {
          const l = Ri(r);
          if (l.type)
            a && E.assertEqual(l.type, a, "Parameter symbol already has a cached type which differs from newly assigned type");
          else {
            const f = r.valueDeclaration;
            l.type = Ol(
              a || (f ? Ha(
                f,
                /*reportErrors*/
                !0
              ) : Qr(r)),
              /*isProperty*/
              !1,
              /*isOptional*/
              !!f && !f.initializer && Nx(f)
            ), f && f.name.kind !== 80 && (l.type === mt && (l.type = Yi(f.name)), gIe(f.name, l.type));
          }
        }
        function gIe(r, a) {
          for (const l of r.elements)
            if (!vl(l)) {
              const f = Fa(
                l,
                a,
                /*noTupleBoundsCheck*/
                !1
              );
              l.name.kind === 80 ? Ri(vn(l)).type = f : gIe(l.name, f);
            }
        }
        function uot(r) {
          return OE(vtt(
            /*reportErrors*/
            !0
          ), [r]);
        }
        function _ot(r, a) {
          return OE(btt(
            /*reportErrors*/
            !0
          ), [r, a]);
        }
        function fot(r, a) {
          return OE(Stt(
            /*reportErrors*/
            !0
          ), [r, a]);
        }
        function pot(r, a) {
          return OE(Ttt(
            /*reportErrors*/
            !0
          ), [r, a]);
        }
        function dot(r, a) {
          return OE(xtt(
            /*reportErrors*/
            !0
          ), [r, a]);
        }
        function mot(r, a) {
          return OE(Ett(
            /*reportErrors*/
            !0
          ), [r, a]);
        }
        function got(r, a, l) {
          const f = `${a ? "p" : "P"}${l ? "s" : "S"}${r.id}`;
          let d = ms.get(f);
          if (!d) {
            const y = qs();
            y.set("name", ih("name", r)), y.set("private", ih("private", a ? Ye : Mr)), y.set("static", ih("static", l ? Ye : Mr)), d = Jo(
              /*symbol*/
              void 0,
              y,
              Ue,
              Ue,
              Ue
            ), ms.set(f, d);
          }
          return d;
        }
        function hIe(r, a, l) {
          const f = sl(r), d = Di(r.name), y = d ? x_(Pn(r.name)) : t0(r.name), x = uc(r) ? _ot(a, l) : ap(r) ? fot(a, l) : P_(r) ? pot(a, l) : u_(r) ? dot(a, l) : is(r) ? mot(a, l) : E.failBadSyntaxKind(r), I = got(y, d, f);
          return aa([x, I]);
        }
        function hot(r, a) {
          return OE(ktt(
            /*reportErrors*/
            !0
          ), [r, a]);
        }
        function yot(r, a) {
          return OE(Ctt(
            /*reportErrors*/
            !0
          ), [r, a]);
        }
        function vot(r, a) {
          const l = Il("this", r), f = Il("value", a);
          return mme(
            /*typeParameters*/
            void 0,
            l,
            [f],
            a,
            /*typePredicate*/
            void 0,
            1
          );
        }
        function eme(r, a, l) {
          const f = Il("target", r), d = Il("context", a), y = Gn([l, dr]);
          return DI(
            /*typeParameters*/
            void 0,
            /*thisParameter*/
            void 0,
            [f, d],
            y
          );
        }
        function bot(r) {
          const { parent: a } = r, l = yn(a);
          if (!l.decoratorSignature)
            switch (l.decoratorSignature = Ur, a.kind) {
              case 263:
              case 231: {
                const d = Qr(vn(a)), y = uot(d);
                l.decoratorSignature = eme(d, y, d);
                break;
              }
              case 174:
              case 177:
              case 178: {
                const f = a;
                if (!Xn(f.parent)) break;
                const d = uc(f) ? xT(qf(f)) : dC(f), y = sl(f) ? Qr(vn(f.parent)) : pp(vn(f.parent)), x = ap(f) ? QIe(d) : P_(f) ? YIe(d) : d, I = hIe(f, y, d), R = ap(f) ? QIe(d) : P_(f) ? YIe(d) : d;
                l.decoratorSignature = eme(x, I, R);
                break;
              }
              case 172: {
                const f = a;
                if (!Xn(f.parent)) break;
                const d = dC(f), y = sl(f) ? Qr(vn(f.parent)) : pp(vn(f.parent)), x = tm(f) ? hot(y, d) : _e, I = hIe(f, y, d), R = tm(f) ? yot(y, d) : vot(y, d);
                l.decoratorSignature = eme(x, I, R);
                break;
              }
            }
          return l.decoratorSignature === Ur ? void 0 : l.decoratorSignature;
        }
        function Sot(r) {
          const { parent: a } = r, l = yn(a);
          if (!l.decoratorSignature)
            switch (l.decoratorSignature = Ur, a.kind) {
              case 263:
              case 231: {
                const d = Qr(vn(a)), y = Il("target", d);
                l.decoratorSignature = DI(
                  /*typeParameters*/
                  void 0,
                  /*thisParameter*/
                  void 0,
                  [y],
                  Gn([d, dr])
                );
                break;
              }
              case 169: {
                const f = a;
                if (!Xo(f.parent) && !(uc(f.parent) || P_(f.parent) && Xn(f.parent.parent)) || Ob(f.parent) === f)
                  break;
                const d = Ob(f.parent) ? f.parent.parameters.indexOf(f) - 1 : f.parent.parameters.indexOf(f);
                E.assert(d >= 0);
                const y = Xo(f.parent) ? Qr(vn(f.parent.parent)) : V7e(f.parent), x = Xo(f.parent) ? _e : U7e(f.parent), I = ad(d), R = Il("target", y), J = Il("propertyKey", x), Y = Il("parameterIndex", I);
                l.decoratorSignature = DI(
                  /*typeParameters*/
                  void 0,
                  /*thisParameter*/
                  void 0,
                  [R, J, Y],
                  dr
                );
                break;
              }
              case 174:
              case 177:
              case 178:
              case 172: {
                const f = a;
                if (!Xn(f.parent)) break;
                const d = V7e(f), y = Il("target", d), x = U7e(f), I = Il("propertyKey", x), R = is(f) ? dr : J3e(dC(f));
                if (!is(a) || tm(a)) {
                  const Y = J3e(dC(f)), Te = Il("descriptor", Y);
                  l.decoratorSignature = DI(
                    /*typeParameters*/
                    void 0,
                    /*thisParameter*/
                    void 0,
                    [y, I, Te],
                    Gn([R, dr])
                  );
                } else
                  l.decoratorSignature = DI(
                    /*typeParameters*/
                    void 0,
                    /*thisParameter*/
                    void 0,
                    [y, I],
                    Gn([R, dr])
                  );
                break;
              }
            }
          return l.decoratorSignature === Ur ? void 0 : l.decoratorSignature;
        }
        function tme(r) {
          return V ? Sot(r) : bot(r);
        }
        function XM(r) {
          const a = rM(
            /*reportErrors*/
            !0
          );
          return a !== zt ? (r = u0(hP(r)) || mt, e0(a, [r])) : mt;
        }
        function yIe(r) {
          const a = L3e(
            /*reportErrors*/
            !0
          );
          return a !== zt ? (r = u0(hP(r)) || mt, e0(a, [r])) : mt;
        }
        function QM(r, a) {
          const l = XM(a);
          return l === mt ? (Be(
            r,
            df(r) ? p.A_dynamic_import_call_returns_a_Promise_Make_sure_you_have_a_declaration_for_Promise_or_include_ES2015_in_your_lib_option : p.An_async_function_or_method_must_return_a_Promise_Make_sure_you_have_a_declaration_for_Promise_or_include_ES2015_in_your_lib_option
          ), Ve) : (Gfe(
            /*reportErrors*/
            !0
          ) || Be(
            r,
            df(r) ? p.A_dynamic_import_call_in_ES5_requires_the_Promise_constructor_Make_sure_you_have_a_declaration_for_the_Promise_constructor_or_include_ES2015_in_your_lib_option : p.An_async_function_or_method_in_ES5_requires_the_Promise_constructor_Make_sure_you_have_a_declaration_for_the_Promise_constructor_or_include_ES2015_in_your_lib_option
          ), l);
        }
        function Tot(r) {
          const a = sa(0, "NewTargetExpression"), l = sa(
            4,
            "target",
            8
            /* Readonly */
          );
          l.parent = a, l.links.type = r;
          const f = qs([l]);
          return a.members = f, Jo(a, f, Ue, Ue, Ue);
        }
        function sX(r, a) {
          if (!r.body)
            return Ve;
          const l = Fc(r), f = (l & 2) !== 0, d = (l & 1) !== 0;
          let y, x, I, R = dr;
          if (r.body.kind !== 241)
            y = gc(
              r.body,
              a && a & -9
              /* SkipGenericFunctions */
            ), f && (y = hP(tR(
              y,
              /*withAlias*/
              !1,
              /*errorNode*/
              r,
              p.The_return_type_of_an_async_function_must_either_be_a_valid_promise_or_must_not_contain_a_callable_then_member
            )));
          else if (d) {
            const J = TIe(r, a);
            J ? J.length > 0 && (y = Gn(
              J,
              2
              /* Subtype */
            )) : R = Kt;
            const { yieldTypes: Y, nextTypes: Te } = xot(r, a);
            x = at(Y) ? Gn(
              Y,
              2
              /* Subtype */
            ) : void 0, I = at(Te) ? aa(Te) : void 0;
          } else {
            const J = TIe(r, a);
            if (!J)
              return l & 2 ? QM(r, Kt) : Kt;
            if (J.length === 0) {
              const Y = B$(
                r,
                /*contextFlags*/
                void 0
              ), Te = Y && (oR(Y, l) || dr).flags & 32768 ? _e : dr;
              return l & 2 ? QM(r, Te) : (
                // Async function
                Te
              );
            }
            y = Gn(
              J,
              2
              /* Subtype */
            );
          }
          if (y || x || I) {
            if (x && C$(
              r,
              x,
              3
              /* GeneratorYield */
            ), y && C$(
              r,
              y,
              1
              /* FunctionReturn */
            ), I && C$(
              r,
              I,
              2
              /* GeneratorNext */
            ), y && Bd(y) || x && Bd(x) || I && Bd(I)) {
              const J = xde(r), Y = J ? J === qf(r) ? d ? void 0 : y : z$(
                Va(J),
                r,
                /*contextFlags*/
                void 0
              ) : void 0;
              d ? (x = Lpe(x, Y, 0, f), y = Lpe(y, Y, 1, f), I = Lpe(I, Y, 2, f)) : y = ynt(y, Y, f);
            }
            x && (x = _f(x)), y && (y = _f(y)), I && (I = _f(I));
          }
          return d ? aX(
            x || Kt,
            y || R,
            I || KAe(2, r) || mt,
            f
          ) : f ? XM(y || R) : y || R;
        }
        function aX(r, a, l, f) {
          const d = f ? fc : Lc, y = d.getGlobalGeneratorType(
            /*reportErrors*/
            !1
          );
          if (r = d.resolveIterationType(
            r,
            /*errorNode*/
            void 0
          ) || mt, a = d.resolveIterationType(
            a,
            /*errorNode*/
            void 0
          ) || mt, y === zt) {
            const x = d.getGlobalIterableIteratorType(
              /*reportErrors*/
              !1
            );
            return x !== zt ? nP(x, [r, a, l]) : (d.getGlobalIterableIteratorType(
              /*reportErrors*/
              !0
            ), Pa);
          }
          return nP(y, [r, a, l]);
        }
        function xot(r, a) {
          const l = [], f = [], d = (Fc(r) & 2) !== 0;
          return rK(r.body, (y) => {
            const x = y.expression ? Hi(y.expression, a) : M;
            $f(l, vIe(y, x, Ie, d));
            let I;
            if (y.asteriskToken) {
              const R = vX(
                x,
                d ? 19 : 17,
                y.expression
              );
              I = R && R.nextType;
            } else
              I = o_(
                y,
                /*contextFlags*/
                void 0
              );
            I && $f(f, I);
          }), { yieldTypes: l, nextTypes: f };
        }
        function vIe(r, a, l, f) {
          const d = r.expression || r, y = r.asteriskToken ? my(f ? 19 : 17, a, l, d) : a;
          return f ? fC(
            y,
            d,
            r.asteriskToken ? p.Type_of_iterated_elements_of_a_yield_Asterisk_operand_must_either_be_a_valid_promise_or_must_not_contain_a_callable_then_member : p.Type_of_yield_operand_in_an_async_generator_must_either_be_a_valid_promise_or_must_not_contain_a_callable_then_member
          ) : y;
        }
        function bIe(r, a, l) {
          let f = 0;
          for (let d = 0; d < l.length; d++) {
            const y = d < r || d >= a ? l[d] : void 0;
            f |= y !== void 0 ? gne.get(y) || 32768 : 0;
          }
          return f;
        }
        function SIe(r) {
          const a = yn(r);
          if (a.isExhaustive === void 0) {
            a.isExhaustive = 0;
            const l = kot(r);
            a.isExhaustive === 0 && (a.isExhaustive = l);
          } else a.isExhaustive === 0 && (a.isExhaustive = !1);
          return a.isExhaustive;
        }
        function kot(r) {
          if (r.expression.kind === 221) {
            const f = kAe(r);
            if (!f)
              return !1;
            const d = Fm(gc(r.expression.expression)), y = bIe(0, 0, f);
            return d.flags & 3 ? (556800 & y) === 556800 : !yp(d, (x) => JE(x, y) === y);
          }
          const a = Fm(gc(r.expression));
          if (!iI(a))
            return !1;
          const l = N$(r);
          return !l.length || at(l, mnt) ? !1 : mit(Ho(a, qu), l);
        }
        function rme(r) {
          return r.endFlowNode && PM(r.endFlowNode);
        }
        function TIe(r, a) {
          const l = Fc(r), f = [];
          let d = rme(r), y = !1;
          if (qy(r.body, (x) => {
            let I = x.expression;
            if (I) {
              if (I = za(
                I,
                /*excludeJSDocTypeAssertions*/
                !0
              ), l & 2 && I.kind === 223 && (I = za(
                I.expression,
                /*excludeJSDocTypeAssertions*/
                !0
              )), I.kind === 213 && I.expression.kind === 80 && gc(I.expression).symbol === La(r.symbol) && (!Ky(r.symbol.valueDeclaration) || ade(I.expression))) {
                y = !0;
                return;
              }
              let R = gc(
                I,
                a && a & -9
                /* SkipGenericFunctions */
              );
              l & 2 && (R = hP(tR(
                R,
                /*withAlias*/
                !1,
                r,
                p.The_return_type_of_an_async_function_must_either_be_a_valid_promise_or_must_not_contain_a_callable_then_member
              ))), R.flags & 131072 && (y = !0), $f(f, R);
            } else
              d = !0;
          }), !(f.length === 0 && !d && (y || Cot(r))))
            return K && f.length && d && !(jm(r) && f.some((x) => x.symbol === r.symbol)) && $f(f, _e), f;
        }
        function Cot(r) {
          switch (r.kind) {
            case 218:
            case 219:
              return !0;
            case 174:
              return r.parent.kind === 210;
            default:
              return !1;
          }
        }
        function Eot(r) {
          switch (r.kind) {
            case 176:
            case 177:
            case 178:
              return;
          }
          if (Fc(r) !== 0) return;
          let l;
          if (r.body && r.body.kind !== 241)
            l = r.body;
          else if (qy(r.body, (d) => {
            if (l || !d.expression) return !0;
            l = d.expression;
          }) || !l || rme(r)) return;
          return Dot(r, l);
        }
        function Dot(r, a) {
          if (a = za(
            a,
            /*excludeJSDocTypeAssertions*/
            !0
          ), !!(gc(a).flags & 16))
            return ar(r.parameters, (f, d) => {
              const y = Qr(f.symbol);
              if (!y || y.flags & 16 || !Fe(f.name) || _I(f.symbol) || Hm(f))
                return;
              const x = wot(r, a, f, y);
              if (x)
                return H8(1, Ei(f.name.escapedText), d, x);
            });
        }
        function wot(r, a, l, f) {
          const d = HC(a) && a.flowNode || a.parent.kind === 253 && a.parent.flowNode || eg(
            2,
            /*node*/
            void 0,
            /*antecedent*/
            void 0
          ), y = eg(32, a, d), x = l0(l.name, f, f, r, y);
          if (x === f) return;
          const I = eg(64, a, d);
          return l0(l.name, f, x, r, I).flags & 131072 ? x : void 0;
        }
        function nme(r, a) {
          n(l);
          return;
          function l() {
            const f = Fc(r), d = a && oR(a, f);
            if (d && (Cc(
              d,
              16384
              /* Void */
            ) || d.flags & 32769) || r.kind === 173 || cc(r.body) || r.body.kind !== 241 || !rme(r))
              return;
            const y = r.flags & 1024, x = mf(r) || r;
            if (d && d.flags & 131072)
              Be(x, p.A_function_returning_never_cannot_have_a_reachable_end_point);
            else if (d && !y)
              Be(x, p.A_function_whose_declared_type_is_neither_undefined_void_nor_any_must_return_a_value);
            else if (d && K && !js(_e, d))
              Be(x, p.Function_lacks_ending_return_statement_and_return_type_does_not_include_undefined);
            else if (F.noImplicitReturns) {
              if (!d) {
                if (!y)
                  return;
                const I = Va(qf(r));
                if (g7e(r, I))
                  return;
              }
              Be(x, p.Not_all_code_paths_return_a_value);
            }
          }
        }
        function xIe(r, a) {
          if (E.assert(r.kind !== 174 || Ep(r)), pC(r), ho(r) && yP(r, r.name), a && a & 4 && Hf(r)) {
            if (!mf(r) && !eF(r)) {
              const f = dI(r);
              if (f && M1(Va(f))) {
                const d = yn(r);
                if (d.contextFreeType)
                  return d.contextFreeType;
                const y = sX(r, a), x = fh(
                  /*declaration*/
                  void 0,
                  /*typeParameters*/
                  void 0,
                  /*thisParameter*/
                  void 0,
                  Ue,
                  y,
                  /*resolvedTypePredicate*/
                  void 0,
                  0,
                  64
                  /* IsNonInferrable */
                ), I = Jo(r.symbol, A, [x], Ue, Ue);
                return I.objectFlags |= 262144, d.contextFreeType = I;
              }
            }
            return Ka;
          }
          return !IX(r) && r.kind === 218 && Wme(r), Pot(r, a), Qr(vn(r));
        }
        function Pot(r, a) {
          const l = yn(r);
          if (!(l.flags & 64)) {
            const f = dI(r);
            if (!(l.flags & 64)) {
              l.flags |= 64;
              const d = Xc(As(
                Qr(vn(r)),
                0
                /* Call */
              ));
              if (!d)
                return;
              if (Hf(r))
                if (f) {
                  const y = G2(r);
                  let x;
                  if (a && a & 2) {
                    mIe(d, f, y);
                    const I = vI(f);
                    I && I.flags & 262144 && (x = V2(f, y.nonFixingMapper));
                  }
                  x || (x = y ? V2(f, y.mapper) : f), cot(d, x);
                } else
                  lot(d);
              else if (f && !r.typeParameters && f.parameters.length > r.parameters.length) {
                const y = G2(r);
                a && a & 2 && mIe(d, f, y);
              }
              if (f && !FE(r) && !d.resolvedReturnType) {
                const y = sX(r, a);
                d.resolvedReturnType || (d.resolvedReturnType = y);
              }
              xI(r);
            }
          }
        }
        function Not(r) {
          E.assert(r.kind !== 174 || Ep(r));
          const a = Fc(r), l = FE(r);
          if (nme(r, l), r.body)
            if (mf(r) || Va(qf(r)), r.body.kind === 241)
              _a(r.body);
            else {
              const f = Hi(r.body), d = l && oR(l, a);
              d && bX(r, d, r.body, r.body, f);
            }
        }
        function oX(r, a, l, f = !1) {
          if (!js(a, Ns)) {
            const d = f && gP(a);
            return $0(
              r,
              !!d && js(d, Ns),
              l
            ), !1;
          }
          return !0;
        }
        function Aot(r) {
          if (!Ms(r) || !hS(r))
            return !1;
          const a = gc(r.arguments[2]);
          if (qc(a, "value")) {
            const d = Zs(a, "writable"), y = d && Qr(d);
            if (!y || y === Mr || y === Rr)
              return !0;
            if (d && d.valueDeclaration && tl(d.valueDeclaration)) {
              const x = d.valueDeclaration.initializer, I = Hi(x);
              if (I === Mr || I === Rr)
                return !0;
            }
            return !1;
          }
          return !Zs(a, "set");
        }
        function Vd(r) {
          return !!(lc(r) & 8 || r.flags & 4 && np(r) & 8 || r.flags & 3 && Ede(r) & 6 || r.flags & 98304 && !(r.flags & 65536) || r.flags & 8 || at(r.declarations, Aot));
        }
        function kIe(r, a, l) {
          var f, d;
          if (l === 0)
            return !1;
          if (Vd(a)) {
            if (a.flags & 4 && ko(r) && r.expression.kind === 110) {
              const y = _P(r);
              if (!(y && (y.kind === 176 || jm(y))))
                return !0;
              if (a.valueDeclaration) {
                const x = _n(a.valueDeclaration), I = y.parent === a.valueDeclaration.parent, R = y === a.valueDeclaration.parent, J = x && ((f = a.parent) == null ? void 0 : f.valueDeclaration) === y.parent, Y = x && ((d = a.parent) == null ? void 0 : d.valueDeclaration) === y;
                return !(I || R || J || Y);
              }
            }
            return !0;
          }
          if (ko(r)) {
            const y = za(r.expression);
            if (y.kind === 80) {
              const x = yn(y).resolvedSymbol;
              if (x.flags & 2097152) {
                const I = zf(x);
                return !!I && I.kind === 274;
              }
            }
          }
          return !1;
        }
        function SI(r, a, l) {
          const f = xc(
            r,
            39
            /* Parentheses */
          );
          return f.kind !== 80 && !ko(f) ? (Be(r, a), !1) : f.flags & 64 ? (Be(r, l), !1) : !0;
        }
        function Iot(r) {
          Hi(r.expression);
          const a = za(r.expression);
          if (!ko(a))
            return Be(a, p.The_operand_of_a_delete_operator_must_be_a_property_reference), Jt;
          kn(a) && Di(a.name) && Be(a, p.The_operand_of_a_delete_operator_cannot_be_a_private_identifier);
          const l = yn(a), f = L_(l.resolvedSymbol);
          return f && (Vd(f) ? Be(a, p.The_operand_of_a_delete_operator_cannot_be_a_read_only_property) : Fot(a, f)), Jt;
        }
        function Fot(r, a) {
          const l = Qr(a);
          K && !(l.flags & 131075) && !(he ? a.flags & 16777216 : Jd(
            l,
            16777216
            /* IsUndefined */
          )) && Be(r, p.The_operand_of_a_delete_operator_must_be_optional);
        }
        function Oot(r) {
          return Hi(r.expression), Uw;
        }
        function Lot(r) {
          return pC(r), M;
        }
        function CIe(r) {
          let a = !1;
          const l = $7(r);
          if (l && hc(l)) {
            const f = n1(r) ? p.await_expression_cannot_be_used_inside_a_class_static_block : p.await_using_statements_cannot_be_used_inside_a_class_static_block;
            Be(r, f), a = !0;
          } else if (!(r.flags & 65536))
            if (Q7(r)) {
              const f = Er(r);
              if (!j1(f)) {
                let d;
                if (!RC(f, F)) {
                  d ?? (d = Xd(f, r.pos));
                  const y = n1(r) ? p.await_expressions_are_only_allowed_at_the_top_level_of_a_file_when_that_file_is_a_module_but_this_file_has_no_imports_or_exports_Consider_adding_an_empty_export_to_make_this_file_a_module : p.await_using_statements_are_only_allowed_at_the_top_level_of_a_file_when_that_file_is_a_module_but_this_file_has_no_imports_or_exports_Consider_adding_an_empty_export_to_make_this_file_a_module, x = al(f, d.start, d.length, y);
                  Ia.add(x), a = !0;
                }
                switch (z) {
                  case 100:
                  case 101:
                  case 199:
                    if (f.impliedNodeFormat === 1) {
                      d ?? (d = Xd(f, r.pos)), Ia.add(
                        al(f, d.start, d.length, p.The_current_file_is_a_CommonJS_module_and_cannot_use_await_at_the_top_level)
                      ), a = !0;
                      break;
                    }
                  // fallthrough
                  case 7:
                  case 99:
                  case 200:
                  case 4:
                    if (j >= 4)
                      break;
                  // fallthrough
                  default:
                    d ?? (d = Xd(f, r.pos));
                    const y = n1(r) ? p.Top_level_await_expressions_are_only_allowed_when_the_module_option_is_set_to_es2022_esnext_system_node16_node18_nodenext_or_preserve_and_the_target_option_is_set_to_es2017_or_higher : p.Top_level_await_using_statements_are_only_allowed_when_the_module_option_is_set_to_es2022_esnext_system_node16_node18_nodenext_or_preserve_and_the_target_option_is_set_to_es2017_or_higher;
                    Ia.add(al(f, d.start, d.length, y)), a = !0;
                    break;
                }
              }
            } else {
              const f = Er(r);
              if (!j1(f)) {
                const d = Xd(f, r.pos), y = n1(r) ? p.await_expressions_are_only_allowed_within_async_functions_and_at_the_top_levels_of_modules : p.await_using_statements_are_only_allowed_within_async_functions_and_at_the_top_levels_of_modules, x = al(f, d.start, d.length, y);
                if (l && l.kind !== 176 && (Fc(l) & 2) === 0) {
                  const I = Kr(l, p.Did_you_mean_to_mark_this_function_as_async);
                  Ws(x, I);
                }
                Ia.add(x), a = !0;
              }
            }
          return n1(r) && gde(r) && (Be(r, p.await_expressions_cannot_be_used_in_a_parameter_initializer), a = !0), a;
        }
        function Mot(r) {
          n(() => CIe(r));
          const a = Hi(r.expression), l = tR(
            a,
            /*withAlias*/
            !0,
            r,
            p.Type_of_await_operand_must_either_be_a_valid_promise_or_must_not_contain_a_callable_then_member
          );
          return l === a && !Oe(l) && !(a.flags & 3) && G0(
            /*isError*/
            !1,
            Kr(r, p.await_has_no_effect_on_the_type_of_this_expression)
          ), l;
        }
        function Rot(r) {
          const a = Hi(r.operand);
          if (a === Mt)
            return Mt;
          switch (r.operand.kind) {
            case 9:
              switch (r.operator) {
                case 41:
                  return sC(ad(-r.operand.text));
                case 40:
                  return sC(ad(+r.operand.text));
              }
              break;
            case 10:
              if (r.operator === 41)
                return sC(cM({
                  negative: !0,
                  base10Value: mD(r.operand.text)
                }));
          }
          switch (r.operator) {
            case 40:
            case 41:
            case 55:
              return Mm(a, r.operand), YM(
                a,
                12288
                /* ESSymbolLike */
              ) && Be(r.operand, p.The_0_operator_cannot_be_applied_to_type_symbol, Qs(r.operator)), r.operator === 40 ? (YM(
                a,
                2112
                /* BigIntLike */
              ) && Be(r.operand, p.Operator_0_cannot_be_applied_to_type_1, Qs(r.operator), Hr(s0(a))), At) : ime(a);
            case 54:
              bme(a, r.operand);
              const l = JE(
                a,
                12582912
                /* Falsy */
              );
              return l === 4194304 ? Mr : l === 8388608 ? Ye : Jt;
            case 46:
            case 47:
              return oX(r.operand, Mm(a, r.operand), p.An_arithmetic_operand_must_be_of_type_any_number_bigint_or_an_enum_type) && SI(
                r.operand,
                p.The_operand_of_an_increment_or_decrement_operator_must_be_a_variable_or_a_property_access,
                p.The_operand_of_an_increment_or_decrement_operator_may_not_be_an_optional_property_access
              ), ime(a);
          }
          return Ve;
        }
        function jot(r) {
          const a = Hi(r.operand);
          return a === Mt ? Mt : (oX(
            r.operand,
            Mm(a, r.operand),
            p.An_arithmetic_operand_must_be_of_type_any_number_bigint_or_an_enum_type
          ) && SI(
            r.operand,
            p.The_operand_of_an_increment_or_decrement_operator_must_be_a_variable_or_a_property_access,
            p.The_operand_of_an_increment_or_decrement_operator_may_not_be_an_optional_property_access
          ), ime(a));
        }
        function ime(r) {
          return Cc(
            r,
            2112
            /* BigIntLike */
          ) ? nu(
            r,
            3
            /* AnyOrUnknown */
          ) || Cc(
            r,
            296
            /* NumberLike */
          ) ? Ns : Yr : At;
        }
        function YM(r, a) {
          if (Cc(r, a))
            return !0;
          const l = Fm(r);
          return !!l && Cc(l, a);
        }
        function Cc(r, a) {
          if (r.flags & a)
            return !0;
          if (r.flags & 3145728) {
            const l = r.types;
            for (const f of l)
              if (Cc(f, a))
                return !0;
          }
          return !1;
        }
        function nu(r, a, l) {
          return r.flags & a ? !0 : l && r.flags & 114691 ? !1 : !!(a & 296) && js(r, At) || !!(a & 2112) && js(r, Yr) || !!(a & 402653316) && js(r, st) || !!(a & 528) && js(r, Jt) || !!(a & 16384) && js(r, dr) || !!(a & 131072) && js(r, Kt) || !!(a & 65536) && js(r, jt) || !!(a & 32768) && js(r, _e) || !!(a & 4096) && js(r, wt) || !!(a & 67108864) && js(r, br);
        }
        function TI(r, a, l) {
          return r.flags & 1048576 ? Pi(r.types, (f) => TI(f, a, l)) : nu(r, a, l);
        }
        function cX(r) {
          return !!(Cn(r) & 16) && !!r.symbol && sme(r.symbol);
        }
        function sme(r) {
          return (r.flags & 128) !== 0;
        }
        function ame(r) {
          const a = f7e("hasInstance");
          if (TI(
            r,
            67108864
            /* NonPrimitive */
          )) {
            const l = Zs(r, a);
            if (l) {
              const f = Qr(l);
              if (f && As(
                f,
                0
                /* Call */
              ).length !== 0)
                return f;
            }
          }
        }
        function Bot(r, a, l, f, d) {
          if (l === Mt || f === Mt)
            return Mt;
          !be(l) && TI(
            l,
            402784252
            /* Primitive */
          ) && Be(r, p.The_left_hand_side_of_an_instanceof_expression_must_be_of_type_any_an_object_type_or_a_type_parameter), E.assert(E5(r.parent));
          const y = HE(
            r.parent,
            /*candidatesOutArray*/
            void 0,
            d
          );
          if (y === sn)
            return Mt;
          const x = Va(y);
          return mu(x, Jt, a, p.An_object_s_Symbol_hasInstance_method_must_return_a_boolean_value_for_it_to_be_used_on_the_right_hand_side_of_an_instanceof_expression), Jt;
        }
        function Jot(r) {
          return yp(r, (a) => a === Aa || !!(a.flags & 2097152) && Sg(Fm(a)));
        }
        function zot(r, a, l, f) {
          if (l === Mt || f === Mt)
            return Mt;
          if (Di(r)) {
            if ((j < kl.PrivateNamesAndClassStaticBlocks || j < kl.ClassAndClassElementDecorators || !G) && xl(
              r,
              2097152
              /* ClassPrivateFieldIn */
            ), !yn(r).resolvedSymbol && Jl(r)) {
              const d = Ide(
                r,
                f.symbol,
                /*excludeClasses*/
                !0
              );
              N8e(r, f, d);
            }
          } else
            mu(Mm(l, r), Qn, r);
          return mu(Mm(f, a), br, a) && Jot(f) && Be(a, p.Type_0_may_represent_a_primitive_value_which_is_not_permitted_as_the_right_operand_of_the_in_operator, Hr(f)), Jt;
        }
        function Wot(r, a, l) {
          const f = r.properties;
          if (K && f.length === 0)
            return Mm(a, r);
          for (let d = 0; d < f.length; d++)
            EIe(r, a, d, f, l);
          return a;
        }
        function EIe(r, a, l, f, d = !1) {
          const y = r.properties, x = y[l];
          if (x.kind === 303 || x.kind === 304) {
            const I = x.name, R = t0(I);
            if (ip(R)) {
              const Te = sp(R), de = Zs(a, Te);
              de && (zM(de, x, d), wde(
                x,
                /*isSuper*/
                !1,
                /*writing*/
                !0,
                a,
                de
              ));
            }
            const J = M_(a, R, 32 | (uC(x) ? 16 : 0), I), Y = Si(x, J);
            return BT(x.kind === 304 ? x : x.initializer, Y);
          } else if (x.kind === 305)
            if (l < y.length - 1)
              Be(x, p.A_rest_element_must_be_last_in_a_destructuring_pattern);
            else {
              j < kl.ObjectSpreadRest && xl(
                x,
                4
                /* Rest */
              );
              const I = [];
              if (f)
                for (const J of f)
                  Gg(J) || I.push(J.name);
              const R = qt(a, I, a.symbol);
              return gC(f, p.A_rest_parameter_or_binding_pattern_may_not_have_a_trailing_comma), BT(x.expression, R);
            }
          else
            Be(x, p.Property_assignment_expected);
        }
        function Vot(r, a, l) {
          const f = r.elements;
          j < kl.DestructuringAssignment && F.downlevelIteration && xl(
            r,
            512
            /* Read */
          );
          const d = my(193, a, _e, r) || Ve;
          let y = F.noUncheckedIndexedAccess ? void 0 : d;
          for (let x = 0; x < f.length; x++) {
            let I = d;
            r.elements[x].kind === 230 && (I = y = y ?? (my(65, a, _e, r) || Ve)), DIe(r, a, x, I, l);
          }
          return a;
        }
        function DIe(r, a, l, f, d) {
          const y = r.elements, x = y[l];
          if (x.kind !== 232) {
            if (x.kind !== 230) {
              const I = ad(l);
              if (py(a)) {
                const R = 32 | (uC(x) ? 16 : 0), J = A1(a, I, R, yI(x, I)) || Ve, Y = uC(x) ? hp(
                  J,
                  524288
                  /* NEUndefined */
                ) : J, Te = Si(x, Y);
                return BT(x, Te, d);
              }
              return BT(x, f, d);
            }
            if (l < y.length - 1)
              Be(x, p.A_rest_element_must_be_last_in_a_destructuring_pattern);
            else {
              const I = x.expression;
              if (I.kind === 226 && I.operatorToken.kind === 64)
                Be(I.operatorToken, p.A_rest_element_cannot_have_an_initializer);
              else {
                gC(r.elements, p.A_rest_parameter_or_binding_pattern_may_not_have_a_trailing_comma);
                const R = j_(a, va) ? Ho(a, (J) => iP(J, l)) : du(f);
                return BT(I, R, d);
              }
            }
          }
        }
        function BT(r, a, l, f) {
          let d;
          if (r.kind === 304) {
            const y = r;
            y.objectAssignmentInitializer && (K && !Jd(
              Hi(y.objectAssignmentInitializer),
              16777216
              /* IsUndefined */
            ) && (a = hp(
              a,
              524288
              /* NEUndefined */
            )), Got(y.name, y.equalsToken, y.objectAssignmentInitializer, l)), d = r.name;
          } else
            d = r;
          return d.kind === 226 && d.operatorToken.kind === 64 && (De(d, l), d = d.left, K && (a = hp(
            a,
            524288
            /* NEUndefined */
          ))), d.kind === 210 ? Wot(d, a, f) : d.kind === 209 ? Vot(d, a, l) : Uot(d, a, l);
        }
        function Uot(r, a, l) {
          const f = Hi(r, l), d = r.parent.kind === 305 ? p.The_target_of_an_object_rest_assignment_must_be_a_variable_or_a_property_access : p.The_left_hand_side_of_an_assignment_expression_must_be_a_variable_or_a_property_access, y = r.parent.kind === 305 ? p.The_target_of_an_object_rest_assignment_may_not_be_an_optional_property_access : p.The_left_hand_side_of_an_assignment_expression_may_not_be_an_optional_property_access;
          return SI(r, d, y) && q2(a, f, r, r), AC(r) && xl(
            r.parent,
            1048576
            /* ClassPrivateFieldSet */
          ), a;
        }
        function ZM(r) {
          switch (r = za(r), r.kind) {
            case 80:
            case 11:
            case 14:
            case 215:
            case 228:
            case 15:
            case 9:
            case 10:
            case 112:
            case 97:
            case 106:
            case 157:
            case 218:
            case 231:
            case 219:
            case 209:
            case 210:
            case 221:
            case 235:
            case 285:
            case 284:
              return !0;
            case 227:
              return ZM(r.whenTrue) && ZM(r.whenFalse);
            case 226:
              return Ah(r.operatorToken.kind) ? !1 : ZM(r.left) && ZM(r.right);
            case 224:
            case 225:
              switch (r.operator) {
                case 54:
                case 40:
                case 41:
                case 55:
                  return !0;
              }
              return !1;
            // Some forms listed here for clarity
            case 222:
            // Explicit opt-out
            case 216:
            // Not SEF, but can produce useful type warnings
            case 234:
            // Not SEF, but can produce useful type warnings
            default:
              return !1;
          }
        }
        function ome(r, a) {
          return (a.flags & 98304) !== 0 || l$(r, a);
        }
        function qot() {
          const r = RF(a, l, f, d, y, x);
          return (de, Ge) => {
            const ct = r(de, Ge);
            return E.assertIsDefined(ct), ct;
          };
          function a(de, Ge, ct) {
            return Ge ? (Ge.stackIndex++, Ge.skip = !1, J(
              Ge,
              /*type*/
              void 0
            ), Te(
              Ge,
              /*type*/
              void 0
            )) : Ge = {
              checkMode: ct,
              skip: !1,
              stackIndex: 0,
              typeStack: [void 0, void 0]
            }, tn(de) && _x(de) ? (Ge.skip = !0, Te(Ge, Hi(de.right, ct)), Ge) : (Hot(de), de.operatorToken.kind === 64 && (de.left.kind === 210 || de.left.kind === 209) && (Ge.skip = !0, Te(Ge, BT(
              de.left,
              Hi(de.right, ct),
              ct,
              de.right.kind === 110
              /* ThisKeyword */
            ))), Ge);
          }
          function l(de, Ge, ct) {
            if (!Ge.skip)
              return I(Ge, de);
          }
          function f(de, Ge, ct) {
            if (!Ge.skip) {
              const ht = Y(Ge);
              E.assertIsDefined(ht), J(Ge, ht), Te(
                Ge,
                /*type*/
                void 0
              );
              const nr = de.kind;
              if (k5(nr)) {
                let Xt = ct.parent;
                for (; Xt.kind === 217 || X3(Xt); )
                  Xt = Xt.parent;
                (nr === 56 || av(Xt)) && vme(ct.left, ht, av(Xt) ? Xt.thenStatement : void 0), $3(nr) && bme(ht, ct.left);
              }
            }
          }
          function d(de, Ge, ct) {
            if (!Ge.skip)
              return I(Ge, de);
          }
          function y(de, Ge) {
            let ct;
            if (Ge.skip)
              ct = Y(Ge);
            else {
              const ht = R(Ge);
              E.assertIsDefined(ht);
              const nr = Y(Ge);
              E.assertIsDefined(nr), ct = wIe(de.left, de.operatorToken, de.right, ht, nr, Ge.checkMode, de);
            }
            return Ge.skip = !1, J(
              Ge,
              /*type*/
              void 0
            ), Te(
              Ge,
              /*type*/
              void 0
            ), Ge.stackIndex--, ct;
          }
          function x(de, Ge, ct) {
            return Te(de, Ge), de;
          }
          function I(de, Ge) {
            if (_n(Ge))
              return Ge;
            Te(de, Hi(Ge, de.checkMode));
          }
          function R(de) {
            return de.typeStack[de.stackIndex];
          }
          function J(de, Ge) {
            de.typeStack[de.stackIndex] = Ge;
          }
          function Y(de) {
            return de.typeStack[de.stackIndex + 1];
          }
          function Te(de, Ge) {
            de.typeStack[de.stackIndex + 1] = Ge;
          }
        }
        function Hot(r) {
          const { left: a, operatorToken: l, right: f } = r;
          if (l.kind === 61) {
            _n(a) && (a.operatorToken.kind === 57 || a.operatorToken.kind === 56) && mr(a, p._0_and_1_operations_cannot_be_mixed_without_parentheses, Qs(a.operatorToken.kind), Qs(l.kind)), _n(f) && (f.operatorToken.kind === 57 || f.operatorToken.kind === 56) && mr(f, p._0_and_1_operations_cannot_be_mixed_without_parentheses, Qs(f.operatorToken.kind), Qs(l.kind));
            const d = xc(
              a,
              63
              /* All */
            ), y = lX(d);
            y !== 3 && (r.parent.kind === 226 ? Be(d, p.This_binary_expression_is_never_nullish_Are_you_missing_parentheses) : y === 1 ? Be(d, p.This_expression_is_always_nullish) : Be(d, p.Right_operand_of_is_unreachable_because_the_left_operand_is_never_nullish));
          }
        }
        function lX(r) {
          switch (r = xc(r), r.kind) {
            case 223:
            case 213:
            case 215:
            case 212:
            case 236:
            case 214:
            case 211:
            case 229:
            case 110:
              return 3;
            case 226:
              switch (r.operatorToken.kind) {
                case 64:
                case 61:
                case 78:
                case 57:
                case 76:
                case 56:
                case 77:
                  return 3;
                case 28:
                  return lX(r.right);
              }
              return 2;
            case 227:
              return lX(r.whenTrue) | lX(r.whenFalse);
            case 106:
              return 1;
            case 80:
              return Du(r) === oe ? 1 : 3;
          }
          return 2;
        }
        function Got(r, a, l, f, d) {
          const y = a.kind;
          if (y === 64 && (r.kind === 210 || r.kind === 209))
            return BT(
              r,
              Hi(l, f),
              f,
              l.kind === 110
              /* ThisKeyword */
            );
          let x;
          $3(y) ? x = AI(r, f) : x = Hi(r, f);
          const I = Hi(l, f);
          return wIe(r, a, l, x, I, f, d);
        }
        function wIe(r, a, l, f, d, y, x) {
          const I = a.kind;
          switch (I) {
            case 42:
            case 43:
            case 67:
            case 68:
            case 44:
            case 69:
            case 45:
            case 70:
            case 41:
            case 66:
            case 48:
            case 71:
            case 49:
            case 72:
            case 50:
            case 73:
            case 52:
            case 75:
            case 53:
            case 79:
            case 51:
            case 74:
              if (f === Mt || d === Mt)
                return Mt;
              f = Mm(f, r), d = Mm(d, l);
              let sr;
              if (f.flags & 528 && d.flags & 528 && (sr = de(a.kind)) !== void 0)
                return Be(x || a, p.The_0_operator_is_not_allowed_for_boolean_types_Consider_using_1_instead, Qs(a.kind), Qs(sr)), At;
              {
                const Bn = oX(
                  r,
                  f,
                  p.The_left_hand_side_of_an_arithmetic_operation_must_be_of_type_any_number_bigint_or_an_enum_type,
                  /*isAwaitValid*/
                  !0
                ), wi = oX(
                  l,
                  d,
                  p.The_right_hand_side_of_an_arithmetic_operation_must_be_of_type_any_number_bigint_or_an_enum_type,
                  /*isAwaitValid*/
                  !0
                );
                let bn;
                if (nu(
                  f,
                  3
                  /* AnyOrUnknown */
                ) && nu(
                  d,
                  3
                  /* AnyOrUnknown */
                ) || // Or, if neither could be bigint, implicit coercion results in a number result
                !(Cc(
                  f,
                  2112
                  /* BigIntLike */
                ) || Cc(
                  d,
                  2112
                  /* BigIntLike */
                )))
                  bn = At;
                else if (R(f, d)) {
                  switch (I) {
                    case 50:
                    case 73:
                      nr();
                      break;
                    case 43:
                    case 68:
                      j < 3 && Be(x, p.Exponentiation_cannot_be_performed_on_bigint_values_unless_the_target_option_is_set_to_es2016_or_later);
                  }
                  bn = Yr;
                } else
                  nr(R), bn = Ve;
                if (Bn && wi)
                  switch (Ge(bn), I) {
                    case 48:
                    case 71:
                    case 49:
                    case 72:
                    case 50:
                    case 73:
                      const os = Xe(l);
                      typeof os.value == "number" && Math.abs(os.value) >= 32 && Pd(
                        A0(Gp(l.parent.parent)),
                        // elevate from suggestion to error within an enum member
                        x || a,
                        p.This_operation_can_be_simplified_This_shift_is_identical_to_0_1_2,
                        Go(r),
                        Qs(I),
                        os.value % 32
                      );
                      break;
                  }
                return bn;
              }
            case 40:
            case 65:
              if (f === Mt || d === Mt)
                return Mt;
              !nu(
                f,
                402653316
                /* StringLike */
              ) && !nu(
                d,
                402653316
                /* StringLike */
              ) && (f = Mm(f, r), d = Mm(d, l));
              let Yt;
              return nu(
                f,
                296,
                /*strict*/
                !0
              ) && nu(
                d,
                296,
                /*strict*/
                !0
              ) ? Yt = At : nu(
                f,
                2112,
                /*strict*/
                !0
              ) && nu(
                d,
                2112,
                /*strict*/
                !0
              ) ? Yt = Yr : nu(
                f,
                402653316,
                /*strict*/
                !0
              ) || nu(
                d,
                402653316,
                /*strict*/
                !0
              ) ? Yt = st : (be(f) || be(d)) && (Yt = Oe(f) || Oe(d) ? Ve : Ie), Yt && !Te(I) ? Yt : Yt ? (I === 65 && Ge(Yt), Yt) : (nr(
                (wi, bn) => nu(wi, 402655727) && nu(bn, 402655727)
              ), Ie);
            case 30:
            case 32:
            case 33:
            case 34:
              return Te(I) && (f = Fpe(Mm(f, r)), d = Fpe(Mm(d, l)), ht((Bn, wi) => {
                if (be(Bn) || be(wi))
                  return !0;
                const bn = js(Bn, Ns), os = js(wi, Ns);
                return bn && os || !bn && !os && pM(Bn, wi);
              })), Jt;
            case 35:
            case 36:
            case 37:
            case 38:
              if (!(y && y & 64)) {
                if ((Oj(r) || Oj(l)) && // only report for === and !== in JS, not == or !=
                (!tn(r) || I === 37 || I === 38)) {
                  const Bn = I === 35 || I === 37;
                  Be(x, p.This_condition_will_always_return_0_since_JavaScript_compares_objects_by_reference_not_value, Bn ? "false" : "true");
                }
                Gr(x, I, r, l), ht((Bn, wi) => ome(Bn, wi) || ome(wi, Bn));
              }
              return Jt;
            case 104:
              return Bot(r, l, f, d, y);
            case 103:
              return zot(r, l, f, d);
            case 56:
            case 77: {
              const Bn = Jd(
                f,
                4194304
                /* Truthy */
              ) ? Gn([Snt(K ? f : s0(d)), d]) : f;
              return I === 77 && Ge(d), Bn;
            }
            case 57:
            case 76: {
              const Bn = Jd(
                f,
                8388608
                /* Falsy */
              ) ? Gn(
                [a0(YNe(f)), d],
                2
                /* Subtype */
              ) : f;
              return I === 76 && Ge(d), Bn;
            }
            case 61:
            case 78: {
              const Bn = Jd(
                f,
                262144
                /* EQUndefinedOrNull */
              ) ? Gn(
                [a0(f), d],
                2
                /* Subtype */
              ) : f;
              return I === 78 && Ge(d), Bn;
            }
            case 64:
              const un = _n(r.parent) ? Pc(r.parent) : 0;
              return J(un, d), ct(un) ? ((!(d.flags & 524288) || un !== 2 && un !== 6 && !i0(d) && !ede(d) && !(Cn(d) & 1)) && Ge(d), f) : (Ge(d), d);
            case 28:
              if (!F.allowUnreachableCode && ZM(r) && !Y(r.parent)) {
                const Bn = Er(r), wi = Bn.text, bn = ca(wi, r.pos);
                Bn.parseDiagnostics.some((Fs) => Fs.code !== p.JSX_expressions_must_have_one_parent_element.code ? !1 : bj(Fs, bn)) || Be(r, p.Left_side_of_comma_operator_is_unused_and_has_no_side_effects);
              }
              return d;
            default:
              return E.fail();
          }
          function R(sr, Yt) {
            return nu(
              sr,
              2112
              /* BigIntLike */
            ) && nu(
              Yt,
              2112
              /* BigIntLike */
            );
          }
          function J(sr, Yt) {
            if (sr === 2)
              for (const un of ly(Yt)) {
                const Bn = Qr(un);
                if (Bn.symbol && Bn.symbol.flags & 32) {
                  const wi = un.escapedName, bn = it(
                    un.valueDeclaration,
                    wi,
                    788968,
                    /*nameNotFoundMessage*/
                    void 0,
                    /*isUse*/
                    !1
                  );
                  bn?.declarations && bn.declarations.some(jS) && ($h(bn, p.Duplicate_identifier_0, Ei(wi), un), $h(un, p.Duplicate_identifier_0, Ei(wi), bn));
                }
              }
          }
          function Y(sr) {
            return sr.parent.kind === 217 && m_(sr.left) && sr.left.text === "0" && (Ms(sr.parent.parent) && sr.parent.parent.expression === sr.parent || sr.parent.parent.kind === 215) && // special-case for "eval" because it's the only non-access case where an indirect call actually affects behavior.
            (ko(sr.right) || Fe(sr.right) && sr.right.escapedText === "eval");
          }
          function Te(sr) {
            const Yt = YM(
              f,
              12288
              /* ESSymbolLike */
            ) ? r : YM(
              d,
              12288
              /* ESSymbolLike */
            ) ? l : void 0;
            return Yt ? (Be(Yt, p.The_0_operator_cannot_be_applied_to_type_symbol, Qs(sr)), !1) : !0;
          }
          function de(sr) {
            switch (sr) {
              case 52:
              case 75:
                return 57;
              case 53:
              case 79:
                return 38;
              case 51:
              case 74:
                return 56;
              default:
                return;
            }
          }
          function Ge(sr) {
            Ah(I) && n(Yt);
            function Yt() {
              let un = f;
              if (ZD(a.kind) && r.kind === 211 && (un = X$(
                r,
                /*checkMode*/
                void 0,
                /*writeOnly*/
                !0
              )), SI(r, p.The_left_hand_side_of_an_assignment_expression_must_be_a_variable_or_a_property_access, p.The_left_hand_side_of_an_assignment_expression_may_not_be_an_optional_property_access)) {
                let Bn;
                if (he && kn(r) && Cc(
                  sr,
                  32768
                  /* Undefined */
                )) {
                  const wi = qc(iu(r.expression), r.name.escapedText);
                  _$(sr, wi) && (Bn = p.Type_0_is_not_assignable_to_type_1_with_exactOptionalPropertyTypes_Colon_true_Consider_adding_undefined_to_the_type_of_the_target);
                }
                q2(sr, un, r, l, Bn);
              }
            }
          }
          function ct(sr) {
            var Yt;
            switch (sr) {
              case 2:
                return !0;
              case 1:
              case 5:
              case 6:
              case 3:
              case 4:
                const un = Sf(r), Bn = _x(l);
                return !!Bn && ua(Bn) && !!((Yt = un?.exports) != null && Yt.size);
              default:
                return !1;
            }
          }
          function ht(sr) {
            return sr(f, d) ? !1 : (nr(sr), !0);
          }
          function nr(sr) {
            let Yt = !1;
            const un = x || a;
            if (sr) {
              const Fs = u0(f), Qa = u0(d);
              Yt = !(Fs === f && Qa === d) && !!(Fs && Qa) && sr(Fs, Qa);
            }
            let Bn = f, wi = d;
            !Yt && sr && ([Bn, wi] = $ot(f, d, sr));
            const [bn, os] = Uv(Bn, wi);
            Xt(un, Yt, bn, os) || $0(
              un,
              Yt,
              p.Operator_0_cannot_be_applied_to_types_1_and_2,
              Qs(a.kind),
              bn,
              os
            );
          }
          function Xt(sr, Yt, un, Bn) {
            switch (a.kind) {
              case 37:
              case 35:
              case 38:
              case 36:
                return $0(
                  sr,
                  Yt,
                  p.This_comparison_appears_to_be_unintentional_because_the_types_0_and_1_have_no_overlap,
                  un,
                  Bn
                );
              default:
                return;
            }
          }
          function Gr(sr, Yt, un, Bn) {
            const wi = Jr(za(un)), bn = Jr(za(Bn));
            if (wi || bn) {
              const os = Be(sr, p.This_condition_will_always_return_0, Qs(
                Yt === 37 || Yt === 35 ? 97 : 112
                /* TrueKeyword */
              ));
              if (wi && bn) return;
              const Fs = Yt === 38 || Yt === 36 ? Qs(
                54
                /* ExclamationToken */
              ) : "", Qa = wi ? Bn : un, bs = za(Qa);
              Ws(os, Kr(Qa, p.Did_you_mean_0, `${Fs}Number.isNaN(${to(bs) ? q_(bs) : "..."})`));
            }
          }
          function Jr(sr) {
            if (Fe(sr) && sr.escapedText === "NaN") {
              const Yt = Dtt();
              return !!Yt && Yt === Du(sr);
            }
            return !1;
          }
        }
        function $ot(r, a, l) {
          let f = r, d = a;
          const y = s0(r), x = s0(a);
          return l(y, x) || (f = y, d = x), [f, d];
        }
        function Xot(r) {
          n(Te);
          const a = Df(r);
          if (!a) return Ie;
          const l = Fc(a);
          if (!(l & 1))
            return Ie;
          const f = (l & 2) !== 0;
          r.asteriskToken && (f && j < kl.AsyncGenerators && xl(
            r,
            26624
            /* AsyncDelegatorIncludes */
          ), !f && j < kl.Generators && F.downlevelIteration && xl(
            r,
            256
            /* Values */
          ));
          let d = FE(a);
          d && d.flags & 1048576 && (d = Hc(d, (de) => _me(
            de,
            l,
            /*errorNode*/
            void 0
          )));
          const y = d && Dme(d, f), x = y && y.yieldType || Ie, I = y && y.nextType || Ie, R = r.expression ? Hi(r.expression) : M, J = vIe(r, R, I, f);
          if (d && J && q2(J, x, r.expression || r, r.expression), r.asteriskToken)
            return xme(f ? 19 : 17, 1, R, r.expression) || Ie;
          if (d)
            return gy(2, d, f) || Ie;
          let Y = KAe(2, a);
          return Y || (Y = Ie, n(() => {
            if (fe && !Ree(r)) {
              const de = o_(
                r,
                /*contextFlags*/
                void 0
              );
              (!de || be(de)) && Be(r, p.yield_expression_implicitly_results_in_an_any_type_because_its_containing_generator_lacks_a_return_type_annotation);
            }
          })), Y;
          function Te() {
            r.flags & 16384 || Ml(r, p.A_yield_expression_is_only_allowed_in_a_generator_body), gde(r) && Be(r, p.yield_expressions_cannot_be_used_in_a_parameter_initializer);
          }
        }
        function Qot(r, a) {
          const l = AI(r.condition, a);
          vme(r.condition, l, r.whenTrue);
          const f = Hi(r.whenTrue, a), d = Hi(r.whenFalse, a);
          return Gn(
            [f, d],
            2
            /* Subtype */
          );
        }
        function PIe(r) {
          const a = r.parent;
          return Zu(a) && PIe(a) || fo(a) && a.argumentExpression === r;
        }
        function Yot(r) {
          const a = [r.head.text], l = [];
          for (const d of r.templateSpans) {
            const y = Hi(d.expression);
            YM(
              y,
              12288
              /* ESSymbolLike */
            ) && Be(d.expression, p.Implicit_conversion_of_a_symbol_to_a_string_will_fail_at_runtime_Consider_wrapping_this_expression_in_String), a.push(d.literal.text), l.push(js(y, $s) ? y : st);
          }
          const f = r.parent.kind !== 215 && Xe(r).value;
          return f ? sC(x_(f)) : dP(r) || PIe(r) || yp(o_(
            r,
            /*contextFlags*/
            void 0
          ) || mt, Zot) ? kT(a, l) : st;
        }
        function Zot(r) {
          return !!(r.flags & 134217856 || r.flags & 58982400 && Cc(
            ru(r) || mt,
            402653316
            /* StringLike */
          ));
        }
        function Kot(r) {
          return Xb(r) && !MS(r.parent) ? r.parent.parent : r;
        }
        function GE(r, a, l, f) {
          const d = Kot(r);
          OM(
            d,
            a,
            /*isCache*/
            !1
          ), dst(d, l);
          const y = Hi(r, f | 1 | (l ? 2 : 0));
          l && l.intraExpressionInferenceSites && (l.intraExpressionInferenceSites = void 0);
          const x = Cc(
            y,
            2944
            /* Literal */
          ) && uX(y, z$(
            a,
            r,
            /*contextFlags*/
            void 0
          )) ? qu(y) : y;
          return mst(), pI(), x;
        }
        function gc(r, a) {
          if (a)
            return Hi(r, a);
          const l = yn(r);
          if (!l.resolvedType) {
            const f = Le, d = fn;
            Le = Qe, fn = void 0, l.resolvedType = Hi(r, a), fn = d, Le = f;
          }
          return l.resolvedType;
        }
        function NIe(r) {
          return r = za(
            r,
            /*excludeJSDocTypeAssertions*/
            !0
          ), r.kind === 216 || r.kind === 234 || Yb(r);
        }
        function pP(r, a, l) {
          const f = E3(r);
          if (tn(r)) {
            const y = iF(r);
            if (y)
              return $de(f, y, a);
          }
          const d = ume(f) || (l ? GE(
            f,
            l,
            /*inferenceContext*/
            void 0,
            a || 0
            /* Normal */
          ) : gc(f, a));
          if (Ni(ya(r) ? KT(r) : r)) {
            if (r.name.kind === 206 && dy(d))
              return ect(d, r.name);
            if (r.name.kind === 207 && va(d))
              return tct(d, r.name);
          }
          return d;
        }
        function ect(r, a) {
          let l;
          for (const y of a.elements)
            if (y.initializer) {
              const x = AIe(y);
              x && !Zs(r, x) && (l = Dr(l, y));
            }
          if (!l)
            return r;
          const f = qs();
          for (const y of ly(r))
            f.set(y.escapedName, y);
          for (const y of l) {
            const x = sa(16777220, AIe(y));
            x.links.type = Je(
              y,
              /*includePatternInType*/
              !1,
              /*reportErrors*/
              !1
            ), f.set(x.escapedName, x);
          }
          const d = Jo(r.symbol, f, Ue, Ue, pu(r));
          return d.objectFlags = r.objectFlags, d;
        }
        function AIe(r) {
          const a = t0(r.propertyName || r.name);
          return ip(a) ? sp(a) : void 0;
        }
        function tct(r, a) {
          if (r.target.combinedFlags & 12 || _y(r) >= a.elements.length)
            return r;
          const l = a.elements, f = j2(r).slice(), d = r.target.elementFlags.slice();
          for (let y = _y(r); y < l.length; y++) {
            const x = l[y];
            (y < l.length - 1 || !(x.kind === 208 && x.dotDotDotToken)) && (f.push(!vl(x) && uC(x) ? Je(
              x,
              /*includePatternInType*/
              !1,
              /*reportErrors*/
              !1
            ) : Ie), d.push(
              2
              /* Optional */
            ), !vl(x) && !uC(x) && sb(x, Ie));
          }
          return vg(f, d, r.target.readonly);
        }
        function cme(r, a) {
          const l = IIe(r, a);
          if (tn(r)) {
            if (UNe(l))
              return sb(r, Ie), Ie;
            if (h$(l))
              return sb(r, ll), ll;
          }
          return l;
        }
        function IIe(r, a) {
          return Y2(r) & 6 || f3(r) ? a : ib(a);
        }
        function uX(r, a) {
          if (a) {
            if (a.flags & 3145728) {
              const l = a.types;
              return at(l, (f) => uX(r, f));
            }
            if (a.flags & 58982400) {
              const l = ru(a) || mt;
              return Cc(
                l,
                4
                /* String */
              ) && Cc(
                r,
                128
                /* StringLiteral */
              ) || Cc(
                l,
                8
                /* Number */
              ) && Cc(
                r,
                256
                /* NumberLiteral */
              ) || Cc(
                l,
                64
                /* BigInt */
              ) && Cc(
                r,
                2048
                /* BigIntLiteral */
              ) || Cc(
                l,
                4096
                /* ESSymbol */
              ) && Cc(
                r,
                8192
                /* UniqueESSymbol */
              ) || uX(r, l);
            }
            return !!(a.flags & 406847616 && Cc(
              r,
              128
              /* StringLiteral */
            ) || a.flags & 256 && Cc(
              r,
              256
              /* NumberLiteral */
            ) || a.flags & 2048 && Cc(
              r,
              2048
              /* BigIntLiteral */
            ) || a.flags & 512 && Cc(
              r,
              512
              /* BooleanLiteral */
            ) || a.flags & 8192 && Cc(
              r,
              8192
              /* UniqueESSymbol */
            ));
          }
          return !1;
        }
        function dP(r) {
          const a = r.parent;
          return Tb(a) && Up(a.type) || Yb(a) && Up(T6(a)) || Gde(r) && TT(o_(
            r,
            0
            /* None */
          )) || (Zu(a) || Ql(a) || op(a)) && dP(a) || (tl(a) || _u(a) || m6(a)) && dP(a.parent);
        }
        function mP(r, a, l) {
          const f = Hi(r, a, l);
          return dP(r) || iK(r) ? qu(f) : NIe(r) ? f : Ope(f, z$(
            o_(
              r,
              /*contextFlags*/
              void 0
            ),
            r,
            /*contextFlags*/
            void 0
          ));
        }
        function FIe(r, a) {
          return r.name.kind === 167 && od(r.name), mP(r.initializer, a);
        }
        function OIe(r, a) {
          i5e(r), r.name.kind === 167 && od(r.name);
          const l = xIe(r, a);
          return LIe(r, l, a);
        }
        function LIe(r, a, l) {
          if (l && l & 10) {
            const f = hI(
              a,
              0,
              /*allowMembers*/
              !0
            ), d = hI(
              a,
              1,
              /*allowMembers*/
              !0
            ), y = f || d;
            if (y && y.typeParameters) {
              const x = ob(
                r,
                2
                /* NoConstraints */
              );
              if (x) {
                const I = hI(
                  a0(x),
                  f ? 0 : 1,
                  /*allowMembers*/
                  !1
                );
                if (I && !I.typeParameters) {
                  if (l & 8)
                    return MIe(r, l), Ka;
                  const R = G2(r), J = R.signature && Va(R.signature), Y = J && W8e(J);
                  if (Y && !Y.typeParameters && !Pi(R.inferences, $E)) {
                    const Te = sct(R, y.typeParameters), de = jfe(y, Te), Ge = fr(R.inferences, (ct) => zpe(ct.typeParameter));
                    if (Rpe(de, I, (ct, ht) => {
                      c0(
                        Ge,
                        ct,
                        ht,
                        /*priority*/
                        0,
                        /*contravariant*/
                        !0
                      );
                    }), at(Ge, $E) && (jpe(de, I, (ct, ht) => {
                      c0(Ge, ct, ht);
                    }), !nct(R.inferences, Ge)))
                      return ict(R.inferences, Ge), R.inferredTypeParameters = Ji(R.inferredTypeParameters, Te), xT(de);
                  }
                  return xT(V8e(y, I, R), oa(Bf, (Te) => Te && fr(Te.inferences, (de) => de.typeParameter)).slice());
                }
              }
            }
          }
          return a;
        }
        function MIe(r, a) {
          if (a & 2) {
            const l = G2(r);
            l.flags |= 4;
          }
        }
        function $E(r) {
          return !!(r.candidates || r.contraCandidates);
        }
        function rct(r) {
          return !!(r.candidates || r.contraCandidates || r3e(r.typeParameter));
        }
        function nct(r, a) {
          for (let l = 0; l < r.length; l++)
            if ($E(r[l]) && $E(a[l]))
              return !0;
          return !1;
        }
        function ict(r, a) {
          for (let l = 0; l < r.length; l++)
            !$E(r[l]) && $E(a[l]) && (r[l] = a[l]);
        }
        function sct(r, a) {
          const l = [];
          let f, d;
          for (const y of a) {
            const x = y.symbol.escapedName;
            if (lme(r.inferredTypeParameters, x) || lme(l, x)) {
              const I = act(Ji(r.inferredTypeParameters, l), x), R = sa(262144, I), J = hi(R);
              J.target = y, f = Dr(f, y), d = Dr(d, J), l.push(J);
            } else
              l.push(y);
          }
          if (d) {
            const y = R_(f, d);
            for (const x of d)
              x.mapper = y;
          }
          return l;
        }
        function lme(r, a) {
          return at(r, (l) => l.symbol.escapedName === a);
        }
        function act(r, a) {
          let l = a.length;
          for (; l > 1 && a.charCodeAt(l - 1) >= 48 && a.charCodeAt(l - 1) <= 57; ) l--;
          const f = a.slice(0, l);
          for (let d = 1; ; d++) {
            const y = f + d;
            if (!lme(r, y))
              return y;
          }
        }
        function RIe(r) {
          const a = jT(r);
          if (a && !a.typeParameters)
            return Va(a);
        }
        function oct(r) {
          const a = Hi(r.expression), l = sI(a, r.expression), f = RIe(a);
          return f && S$(f, r, l !== a);
        }
        function iu(r) {
          const a = ume(r);
          if (a)
            return a;
          if (r.flags & 268435456 && fn) {
            const d = fn[Oa(r)];
            if (d)
              return d;
          }
          const l = jr, f = Hi(
            r,
            64
            /* TypeOnly */
          );
          if (jr !== l) {
            const d = fn || (fn = []);
            d[Oa(r)] = f, Mee(
              r,
              r.flags | 268435456
              /* TypeCached */
            );
          }
          return f;
        }
        function ume(r) {
          let a = za(
            r,
            /*excludeJSDocTypeAssertions*/
            !0
          );
          if (Yb(a)) {
            const l = T6(a);
            if (!Up(l))
              return Ci(l);
          }
          if (a = za(r), n1(a)) {
            const l = ume(a.expression);
            return l ? fC(l) : void 0;
          }
          if (Ms(a) && a.expression.kind !== 108 && !f_(
            a,
            /*requireStringLiteralLikeArgument*/
            !0
          ) && !nIe(a))
            return aS(a) ? oct(a) : RIe(UE(a.expression));
          if (Tb(a) && !Up(a.type))
            return Ci(a.type);
          if (oS(r) || P4(r))
            return Hi(r);
        }
        function KM(r) {
          const a = yn(r);
          if (a.contextFreeType)
            return a.contextFreeType;
          OM(
            r,
            Ie,
            /*isCache*/
            !1
          );
          const l = a.contextFreeType = Hi(
            r,
            4
            /* SkipContextSensitive */
          );
          return pI(), l;
        }
        function Hi(r, a, l) {
          var f, d;
          (f = rn) == null || f.push(rn.Phase.Check, "checkExpression", { kind: r.kind, pos: r.pos, end: r.end, path: r.tracingPath });
          const y = k;
          k = r, h = 0;
          const x = uct(r, a, l), I = LIe(r, x, a);
          return cX(I) && cct(r, I), k = y, (d = rn) == null || d.pop(), I;
        }
        function cct(r, a) {
          const l = r.parent.kind === 211 && r.parent.expression === r || r.parent.kind === 212 && r.parent.expression === r || (r.kind === 80 || r.kind === 166) && DX(r) || r.parent.kind === 186 && r.parent.exprName === r || r.parent.kind === 281;
          if (l || Be(r, p.const_enums_can_only_be_used_in_property_or_index_access_expressions_or_the_right_hand_side_of_an_import_declaration_or_export_assignment_or_type_query), F.isolatedModules || F.verbatimModuleSyntax && l && !it(
            r,
            Xu(r),
            2097152,
            /*nameNotFoundMessage*/
            void 0,
            /*isUse*/
            !1,
            /*excludeGlobals*/
            !0
          )) {
            E.assert(!!(a.symbol.flags & 128));
            const f = a.symbol.valueDeclaration, d = e.getRedirectReferenceForResolutionFromSourceOfProject(Er(f).resolvedPath);
            f.flags & 33554432 && !ev(r) && (!d || !Yy(d.commandLine.options)) && Be(r, p.Cannot_access_ambient_const_enums_when_0_is_enabled, Ee);
          }
        }
        function lct(r, a) {
          if (pf(r)) {
            if (MJ(r))
              return $de(r.expression, RJ(r), a);
            if (Yb(r))
              return oIe(r, a);
          }
          return Hi(r.expression, a);
        }
        function uct(r, a, l) {
          const f = r.kind;
          if (i)
            switch (f) {
              case 231:
              case 218:
              case 219:
                i.throwIfCancellationRequested();
            }
          switch (f) {
            case 80:
              return Rit(r, a);
            case 81:
              return iat(r);
            case 110:
              return IM(r);
            case 108:
              return j$(r);
            case 106:
              return ke;
            case 15:
            case 11:
              return Hpe(r) ? kt : sC(x_(r.text));
            case 9:
              return u5e(r), sC(ad(+r.text));
            case 10:
              return fft(r), sC(cM({
                negative: !1,
                base10Value: mD(r.text)
              }));
            case 112:
              return Ye;
            case 97:
              return Mr;
            case 228:
              return Yot(r);
            case 14:
              return wst(r);
            case 209:
              return u8e(r, a, l);
            case 210:
              return Mst(r, a);
            case 211:
              return X$(r, a);
            case 166:
              return D8e(r, a);
            case 212:
              return vat(r, a);
            case 213:
              if (r.expression.kind === 102)
                return Yat(r);
            // falls through
            case 214:
              return Qat(r, a);
            case 215:
              return Zat(r);
            case 217:
              return lct(r, a);
            case 231:
              return eut(r);
            case 218:
            case 219:
              return xIe(r, a);
            case 221:
              return Oot(r);
            case 216:
            case 234:
              return Kat(r, a);
            case 235:
              return rot(r);
            case 233:
              return lIe(r);
            case 238:
              return not(r);
            case 236:
              return iot(r);
            case 220:
              return Iot(r);
            case 222:
              return Lot(r);
            case 223:
              return Mot(r);
            case 224:
              return Rot(r);
            case 225:
              return jot(r);
            case 226:
              return De(r, a);
            case 227:
              return Qot(r, a);
            case 230:
              return Pst(r, a);
            case 232:
              return M;
            case 229:
              return Xot(r);
            case 237:
              return Nst(r);
            case 294:
              return Yst(r, a);
            case 284:
              return Jst(r);
            case 285:
              return jst(r);
            case 288:
              return zst(r);
            case 292:
              return Vst(r, a);
            case 286:
              E.fail("Shouldn't ever directly check a JsxOpeningElement");
          }
          return Ve;
        }
        function jIe(r) {
          yh(r), r.expression && Ml(r.expression, p.Type_expected), _a(r.constraint), _a(r.default);
          const a = F2(vn(r));
          ru(a), Net(a) || Be(r.default, p.Type_parameter_0_has_a_circular_default, Hr(a));
          const l = a_(a), f = M2(a);
          l && f && mu(f, uf(ji(l, z2(a, f)), f), r.default, p.Type_0_does_not_satisfy_the_constraint_1), pC(r), n(() => vP(r.name, p.Type_parameter_name_cannot_be_0));
        }
        function _ct(r) {
          var a, l;
          if (Yl(r.parent) || Xn(r.parent) || Ap(r.parent)) {
            const f = F2(vn(r)), d = Ppe(f) & 24576;
            if (d) {
              const y = vn(r.parent);
              if (Ap(r.parent) && !(Cn(wo(y)) & 48))
                Be(r, p.Variance_annotations_are_only_supported_in_type_aliases_for_object_function_constructor_and_mapped_types);
              else if (d === 8192 || d === 16384) {
                (a = rn) == null || a.push(rn.Phase.CheckTypes, "checkTypeParameterDeferred", { parent: Ll(wo(y)), id: Ll(f) });
                const x = gM(y, f, d === 16384 ? Ot : et), I = gM(y, f, d === 16384 ? et : Ot), R = f;
                D = f, mu(x, I, r, p.Type_0_is_not_assignable_to_type_1_as_implied_by_variance_annotation), D = R, (l = rn) == null || l.pop();
              }
            }
          }
        }
        function BIe(r) {
          yh(r), sR(r);
          const a = Df(r);
          qn(
            r,
            31
            /* ParameterPropertyModifier */
          ) && (F.erasableSyntaxOnly && Be(r, p.This_syntax_is_not_allowed_when_erasableSyntaxOnly_is_enabled), a.kind === 176 && Cp(a.body) || Be(r, p.A_parameter_property_is_only_allowed_in_a_constructor_implementation), a.kind === 176 && Fe(r.name) && r.name.escapedText === "constructor" && Be(r.name, p.constructor_cannot_be_used_as_a_parameter_property_name)), !r.initializer && Nx(r) && Ps(r.name) && a.body && Be(r, p.A_binding_pattern_parameter_cannot_be_optional_in_an_implementation_signature), r.name && Fe(r.name) && (r.name.escapedText === "this" || r.name.escapedText === "new") && (a.parameters.indexOf(r) !== 0 && Be(r, p.A_0_parameter_must_be_the_first_parameter, r.name.escapedText), (a.kind === 176 || a.kind === 180 || a.kind === 185) && Be(r, p.A_constructor_cannot_have_a_this_parameter), a.kind === 219 && Be(r, p.An_arrow_function_cannot_have_a_this_parameter), (a.kind === 177 || a.kind === 178) && Be(r, p.get_and_set_accessors_cannot_declare_this_parameters)), r.dotDotDotToken && !Ps(r.name) && !js(sd(Qr(r.symbol)), nf) && Be(r, p.A_rest_parameter_must_be_of_an_array_type);
        }
        function fct(r) {
          const a = pct(r);
          if (!a) {
            Be(r, p.A_type_predicate_is_only_allowed_in_return_type_position_for_functions_and_methods);
            return;
          }
          const l = qf(a), f = dp(l);
          if (!f)
            return;
          _a(r.type);
          const { parameterName: d } = r;
          if (f.kind !== 0 && f.kind !== 2) {
            if (f.parameterIndex >= 0) {
              if (Tu(l) && f.parameterIndex === l.parameters.length - 1)
                Be(d, p.A_type_predicate_cannot_reference_a_rest_parameter);
              else if (f.type) {
                const y = () => vs(
                  /*details*/
                  void 0,
                  p.A_type_predicate_s_type_must_be_assignable_to_its_parameter_s_type
                );
                mu(
                  f.type,
                  Qr(l.parameters[f.parameterIndex]),
                  r.type,
                  /*headMessage*/
                  void 0,
                  y
                );
              }
            } else if (d) {
              let y = !1;
              for (const { name: x } of a.parameters)
                if (Ps(x) && JIe(x, d, f.parameterName)) {
                  y = !0;
                  break;
                }
              y || Be(r.parameterName, p.Cannot_find_parameter_0, f.parameterName);
            }
          }
        }
        function pct(r) {
          switch (r.parent.kind) {
            case 219:
            case 179:
            case 262:
            case 218:
            case 184:
            case 174:
            case 173:
              const a = r.parent;
              if (r === a.type)
                return a;
          }
        }
        function JIe(r, a, l) {
          for (const f of r.elements) {
            if (vl(f))
              continue;
            const d = f.name;
            if (d.kind === 80 && d.escapedText === l)
              return Be(a, p.A_type_predicate_cannot_reference_element_0_in_a_binding_pattern, l), !0;
            if ((d.kind === 207 || d.kind === 206) && JIe(
              d,
              a,
              l
            ))
              return !0;
          }
        }
        function xI(r) {
          r.kind === 181 ? z_t(r) : (r.kind === 184 || r.kind === 262 || r.kind === 185 || r.kind === 179 || r.kind === 176 || r.kind === 180) && IX(r);
          const a = Fc(r);
          a & 4 || ((a & 3) === 3 && j < kl.AsyncGenerators && xl(
            r,
            6144
            /* AsyncGeneratorIncludes */
          ), (a & 3) === 2 && j < kl.AsyncFunctions && xl(
            r,
            64
            /* Awaiter */
          ), (a & 3) !== 0 && j < kl.Generators && xl(
            r,
            128
            /* Generator */
          )), cR(Ly(r)), Ylt(r), ar(r.parameters, BIe), r.type && _a(r.type), n(l);
          function l() {
            flt(r);
            let f = mf(r), d = f;
            if (tn(r)) {
              const y = V1(r);
              if (y && y.typeExpression && X_(y.typeExpression.type)) {
                const x = jT(Ci(y.typeExpression));
                x && x.declaration && (f = mf(x.declaration), d = y.typeExpression.type);
              }
            }
            if (fe && !f)
              switch (r.kind) {
                case 180:
                  Be(r, p.Construct_signature_which_lacks_return_type_annotation_implicitly_has_an_any_return_type);
                  break;
                case 179:
                  Be(r, p.Call_signature_which_lacks_return_type_annotation_implicitly_has_an_any_return_type);
                  break;
              }
            if (f && d) {
              const y = Fc(r);
              if ((y & 5) === 1) {
                const x = Ci(f);
                x === dr ? Be(d, p.A_generator_cannot_have_a_void_type_annotation) : _me(x, y, d);
              } else (y & 3) === 2 && Uct(r, f, d);
            }
            r.kind !== 181 && r.kind !== 317 && R1(r);
          }
        }
        function _me(r, a, l) {
          const f = gy(0, r, (a & 2) !== 0) || Ie, d = gy(1, r, (a & 2) !== 0) || f, y = gy(2, r, (a & 2) !== 0) || mt, x = aX(f, d, y, !!(a & 2));
          return mu(x, r, l);
        }
        function dct(r) {
          const a = /* @__PURE__ */ new Map(), l = /* @__PURE__ */ new Map(), f = /* @__PURE__ */ new Map();
          for (const y of r.members)
            if (y.kind === 176)
              for (const x of y.parameters)
                U_(x, y) && !Ps(x.name) && d(
                  a,
                  x.name,
                  x.name.escapedText,
                  3
                  /* GetOrSetAccessor */
                );
            else {
              const x = zs(y), I = y.name;
              if (!I)
                continue;
              const R = Di(I), J = R && x ? 16 : 0, Y = R ? f : x ? l : a, Te = I && Hme(I);
              if (Te)
                switch (y.kind) {
                  case 177:
                    d(Y, I, Te, 1 | J);
                    break;
                  case 178:
                    d(Y, I, Te, 2 | J);
                    break;
                  case 172:
                    d(Y, I, Te, 3 | J);
                    break;
                  case 174:
                    d(Y, I, Te, 8 | J);
                    break;
                }
            }
          function d(y, x, I, R) {
            const J = y.get(I);
            if (J)
              if ((J & 16) !== (R & 16))
                Be(x, p.Duplicate_identifier_0_Static_and_instance_elements_cannot_share_the_same_private_name, Go(x));
              else {
                const Y = !!(J & 8), Te = !!(R & 8);
                Y || Te ? Y !== Te && Be(x, p.Duplicate_identifier_0, Go(x)) : J & R & -17 ? Be(x, p.Duplicate_identifier_0, Go(x)) : y.set(I, J | R);
              }
            else
              y.set(I, R);
          }
        }
        function mct(r) {
          for (const a of r.members) {
            const l = a.name;
            if (zs(a) && l) {
              const d = Hme(l);
              switch (d) {
                case "name":
                case "length":
                case "caller":
                case "arguments":
                  if (G)
                    break;
                // fall through
                case "prototype":
                  const y = p.Static_property_0_conflicts_with_built_in_property_Function_0_of_constructor_function_1, x = Gv(vn(r));
                  Be(l, y, d, x);
                  break;
              }
            }
          }
        }
        function zIe(r) {
          const a = /* @__PURE__ */ new Map();
          for (const l of r.members)
            if (l.kind === 171) {
              let f;
              const d = l.name;
              switch (d.kind) {
                case 11:
                case 9:
                  f = d.text;
                  break;
                case 80:
                  f = Pn(d);
                  break;
                default:
                  continue;
              }
              a.get(f) ? (Be(ls(l.symbol.valueDeclaration), p.Duplicate_identifier_0, f), Be(l.name, p.Duplicate_identifier_0, f)) : a.set(f, !0);
            }
        }
        function fme(r) {
          if (r.kind === 264) {
            const l = vn(r);
            if (l.declarations && l.declarations.length > 0 && l.declarations[0] !== r)
              return;
          }
          const a = VG(vn(r));
          if (a?.declarations) {
            const l = /* @__PURE__ */ new Map();
            for (const f of a.declarations)
              r1(f) && f.parameters.length === 1 && f.parameters[0].type && OT(Ci(f.parameters[0].type), (d) => {
                const y = l.get(Ll(d));
                y ? y.declarations.push(f) : l.set(Ll(d), { type: d, declarations: [f] });
              });
            l.forEach((f) => {
              if (f.declarations.length > 1)
                for (const d of f.declarations)
                  Be(d, p.Duplicate_index_signature_for_type_0, Hr(f.type));
            });
          }
        }
        function WIe(r) {
          !yh(r) && !lft(r) && FX(r.name), sR(r), _X(r), qn(
            r,
            64
            /* Abstract */
          ) && r.kind === 172 && r.initializer && Be(r, p.Property_0_cannot_have_an_initializer_because_it_is_marked_abstract, _o(r.name));
        }
        function gct(r) {
          return Di(r.name) && Be(r, p.Private_identifiers_are_not_allowed_outside_class_bodies), WIe(r);
        }
        function hct(r) {
          i5e(r) || FX(r.name), uc(r) && r.asteriskToken && Fe(r.name) && Pn(r.name) === "constructor" && Be(r.name, p.Class_constructor_may_not_be_a_generator), e7e(r), qn(
            r,
            64
            /* Abstract */
          ) && r.kind === 174 && r.body && Be(r, p.Method_0_cannot_have_an_implementation_because_it_is_marked_abstract, _o(r.name)), Di(r.name) && !Jl(r) && Be(r, p.Private_identifiers_are_not_allowed_outside_class_bodies), _X(r);
        }
        function _X(r) {
          if (Di(r.name) && (j < kl.PrivateNamesAndClassStaticBlocks || j < kl.ClassAndClassElementDecorators || !G)) {
            for (let a = pd(r); a; a = pd(a))
              yn(a).flags |= 1048576;
            if (Kc(r.parent)) {
              const a = ude(r.parent);
              a && (yn(r.name).flags |= 32768, yn(a).flags |= 4096);
            }
          }
        }
        function yct(r) {
          yh(r), Ss(r, _a);
        }
        function vct(r) {
          xI(r), oft(r) || cft(r), _a(r.body);
          const a = vn(r), l = jo(a, r.kind);
          if (r === l && pX(a), cc(r.body))
            return;
          n(d);
          return;
          function f(y) {
            return Iu(y) ? !0 : y.kind === 172 && !zs(y) && !!y.initializer;
          }
          function d() {
            const y = r.parent;
            if (Ib(y)) {
              _de(r.parent, y);
              const x = fde(y), I = GAe(r.body);
              if (I) {
                if (x && Be(I, p.A_constructor_cannot_contain_a_super_call_when_its_class_extends_null), !W && (at(r.parent.members, f) || at(r.parameters, (J) => qn(
                  J,
                  31
                  /* ParameterPropertyModifier */
                ))))
                  if (!bct(I, r.body))
                    Be(I, p.A_super_call_must_be_a_root_level_statement_within_a_constructor_of_a_derived_class_that_contains_initialized_properties_parameter_properties_or_private_identifiers);
                  else {
                    let J;
                    for (const Y of r.body.statements) {
                      if (Pl(Y) && dS(xc(Y.expression))) {
                        J = Y;
                        break;
                      }
                      if (VIe(Y))
                        break;
                    }
                    J === void 0 && Be(r, p.A_super_call_must_be_the_first_statement_in_the_constructor_to_refer_to_super_or_this_when_a_derived_class_contains_initialized_properties_parameter_properties_or_private_identifiers);
                  }
              } else x || Be(r, p.Constructors_for_derived_classes_must_contain_a_super_call);
            }
          }
        }
        function bct(r, a) {
          const l = Gp(r.parent);
          return Pl(l) && l.parent === a;
        }
        function VIe(r) {
          return r.kind === 108 || r.kind === 110 ? !0 : _K(r) ? !1 : !!Ss(r, VIe);
        }
        function UIe(r) {
          Fe(r.name) && Pn(r.name) === "constructor" && Xn(r.parent) && Be(r.name, p.Class_constructor_may_not_be_an_accessor), n(a), _a(r.body), _X(r);
          function a() {
            if (!IX(r) && !Q_t(r) && FX(r.name), rR(r), xI(r), r.kind === 177 && !(r.flags & 33554432) && Cp(r.body) && r.flags & 512 && (r.flags & 1024 || Be(r.name, p.A_get_accessor_must_return_a_value)), r.name.kind === 167 && od(r.name), AE(r)) {
              const f = vn(r), d = jo(
                f,
                177
                /* GetAccessor */
              ), y = jo(
                f,
                178
                /* SetAccessor */
              );
              if (d && y && !(mC(d) & 1)) {
                yn(d).flags |= 1;
                const x = Lu(d), I = Lu(y);
                (x & 64) !== (I & 64) && (Be(d.name, p.Accessors_must_both_be_abstract_or_non_abstract), Be(y.name, p.Accessors_must_both_be_abstract_or_non_abstract)), (x & 4 && !(I & 6) || x & 2 && !(I & 2)) && (Be(d.name, p.A_get_accessor_must_be_at_least_as_accessible_as_the_setter), Be(y.name, p.A_get_accessor_must_be_at_least_as_accessible_as_the_setter));
              }
            }
            const l = Xw(vn(r));
            r.kind === 177 && nme(r, l);
          }
        }
        function Sct(r) {
          rR(r);
        }
        function Tct(r, a, l) {
          return r.typeArguments && l < r.typeArguments.length ? Ci(r.typeArguments[l]) : fX(r, a)[l];
        }
        function fX(r, a) {
          return uy(fr(r.typeArguments, Ci), a, yg(a), tn(r));
        }
        function qIe(r, a) {
          let l, f, d = !0;
          for (let y = 0; y < a.length; y++) {
            const x = a_(a[y]);
            x && (l || (l = fX(r, a), f = R_(a, l)), d = d && mu(
              l[y],
              ji(x, f),
              r.typeArguments[y],
              p.Type_0_does_not_satisfy_the_constraint_1
            ));
          }
          return d;
        }
        function xct(r, a) {
          if (!Oe(r))
            return a.flags & 524288 && Ri(a).typeParameters || (Cn(r) & 4 ? r.target.localTypeParameters : void 0);
        }
        function pme(r) {
          const a = Ci(r);
          if (!Oe(a)) {
            const l = yn(r).resolvedSymbol;
            if (l)
              return xct(a, l);
          }
        }
        function dme(r) {
          if (fR(r, r.typeArguments), r.kind === 183 && !tn(r) && !T3(r) && r.typeArguments && r.typeName.end !== r.typeArguments.pos) {
            const a = Er(r);
            eK(a, r.typeName.end) === 25 && Q2(r, ca(a.text, r.typeName.end), 1, p.JSDoc_types_can_only_be_used_inside_documentation_comments);
          }
          ar(r.typeArguments, _a), HIe(r);
        }
        function HIe(r) {
          const a = Ci(r);
          if (!Oe(a)) {
            r.typeArguments && n(() => {
              const f = pme(r);
              f && qIe(r, f);
            });
            const l = yn(r).resolvedSymbol;
            l && at(l.declarations, (f) => Px(f) && !!(f.flags & 536870912)) && cg(
              qM(r),
              l.declarations,
              l.escapedName
            );
          }
        }
        function kct(r) {
          const a = Mn(r.parent, w7);
          if (!a) return;
          const l = pme(a);
          if (!l) return;
          const f = a_(l[a.typeArguments.indexOf(r)]);
          return f && ji(f, R_(l, fX(a, l)));
        }
        function Cct(r) {
          D3e(r);
        }
        function Ect(r) {
          ar(r.members, _a), n(a);
          function a() {
            const l = hNe(r);
            SX(l, l.symbol), fme(r), zIe(r);
          }
        }
        function Dct(r) {
          _a(r.elementType);
        }
        function wct(r) {
          let a = !1, l = !1;
          for (const f of r.elements) {
            let d = Qfe(f);
            if (d & 8) {
              const y = Ci(f.type);
              if (!py(y)) {
                Be(f, p.A_rest_element_type_must_be_an_array_type);
                break;
              }
              (gp(y) || va(y) && y.target.combinedFlags & 4) && (d |= 4);
            }
            if (d & 4) {
              if (l) {
                mr(f, p.A_rest_element_cannot_follow_another_rest_element);
                break;
              }
              l = !0;
            } else if (d & 2) {
              if (l) {
                mr(f, p.An_optional_element_cannot_follow_a_rest_element);
                break;
              }
              a = !0;
            } else if (d & 1 && a) {
              mr(f, p.A_required_element_cannot_follow_an_optional_element);
              break;
            }
          }
          ar(r.elements, _a), Ci(r);
        }
        function Pct(r) {
          ar(r.types, _a), Ci(r);
        }
        function GIe(r, a) {
          if (!(r.flags & 8388608))
            return r;
          const l = r.objectType, f = r.indexType, d = T_(l) && V8(l) === 2 ? tNe(
            l,
            0
            /* None */
          ) : Om(
            l,
            0
            /* None */
          ), y = !!ph(l, At);
          if (j_(f, (x) => js(x, d) || y && Kk(x, At)))
            return a.kind === 212 && Gy(a) && Cn(l) & 32 && hg(l) & 1 && Be(a, p.Index_signature_in_type_0_only_permits_reading, Hr(l)), r;
          if (ET(l)) {
            const x = e$(f, a);
            if (x) {
              const I = OT(Uu(l), (R) => Zs(R, x));
              if (I && np(I) & 6)
                return Be(a, p.Private_or_protected_member_0_cannot_be_accessed_on_a_type_parameter, Ei(x)), Ve;
            }
          }
          return Be(a, p.Type_0_cannot_be_used_to_index_type_1, Hr(f), Hr(l)), Ve;
        }
        function Nct(r) {
          _a(r.objectType), _a(r.indexType), GIe(_Ne(r), r);
        }
        function Act(r) {
          Ict(r), _a(r.typeParameter), _a(r.nameType), _a(r.type), r.type || sb(r, Ie);
          const a = cpe(r), l = cy(a);
          if (l)
            mu(l, Qn, r.nameType);
          else {
            const f = Uf(a);
            mu(f, Qn, PC(r.typeParameter));
          }
        }
        function Ict(r) {
          var a;
          if ((a = r.members) != null && a.length)
            return mr(r.members[0], p.A_mapped_type_may_not_declare_properties_or_methods);
        }
        function Fct(r) {
          mpe(r);
        }
        function Oct(r) {
          Z_t(r), _a(r.type);
        }
        function Lct(r) {
          Ss(r, _a);
        }
        function Mct(r) {
          _r(r, (l) => l.parent && l.parent.kind === 194 && l.parent.extendsType === l) || mr(r, p.infer_declarations_are_only_permitted_in_the_extends_clause_of_a_conditional_type), _a(r.typeParameter);
          const a = vn(r.typeParameter);
          if (a.declarations && a.declarations.length > 1) {
            const l = Ri(a);
            if (!l.typeParametersChecked) {
              l.typeParametersChecked = !0;
              const f = F2(a), d = AZ(
                a,
                168
                /* TypeParameter */
              );
              if (!v7e(d, [f], (y) => [y])) {
                const y = Bi(a);
                for (const x of d)
                  Be(x.name, p.All_declarations_of_0_must_have_identical_constraints, y);
              }
            }
          }
          R1(r);
        }
        function Rct(r) {
          for (const a of r.templateSpans) {
            _a(a.type);
            const l = Ci(a.type);
            mu(l, $s, a.type);
          }
          Ci(r);
        }
        function jct(r) {
          _a(r.argument), r.attributes && R6(r.attributes, mr), HIe(r);
        }
        function Bct(r) {
          r.dotDotDotToken && r.questionToken && mr(r, p.A_tuple_member_cannot_be_both_optional_and_rest), r.type.kind === 190 && mr(r.type, p.A_labeled_tuple_element_is_declared_as_optional_with_a_question_mark_after_the_name_and_before_the_colon_rather_than_after_the_type), r.type.kind === 191 && mr(r.type, p.A_labeled_tuple_element_is_declared_as_rest_with_a_before_the_name_rather_than_before_the_type), _a(r.type), Ci(r);
        }
        function eR(r) {
          return ($_(
            r,
            2
            /* Private */
          ) || Iu(r)) && !!(r.flags & 33554432);
        }
        function kI(r, a) {
          let l = LX(r);
          if (r.parent.kind !== 264 && r.parent.kind !== 263 && r.parent.kind !== 231 && r.flags & 33554432) {
            const f = J7(r);
            f && f.flags & 128 && !(l & 128) && !(om(r.parent) && zc(r.parent.parent) && $m(r.parent.parent)) && (l |= 32), l |= 128;
          }
          return l & a;
        }
        function pX(r) {
          n(() => Jct(r));
        }
        function Jct(r) {
          function a(sr, Yt) {
            return Yt !== void 0 && Yt.parent === sr[0].parent ? Yt : sr[0];
          }
          function l(sr, Yt, un, Bn, wi) {
            if ((Bn ^ wi) !== 0) {
              const os = kI(a(sr, Yt), un);
              yC(sr, (Fs) => Er(Fs).fileName).forEach((Fs) => {
                const Qa = kI(a(Fs, Yt), un);
                for (const bs of Fs) {
                  const wu = kI(bs, un) ^ os, Rl = kI(bs, un) ^ Qa;
                  Rl & 32 ? Be(ls(bs), p.Overload_signatures_must_all_be_exported_or_non_exported) : Rl & 128 ? Be(ls(bs), p.Overload_signatures_must_all_be_ambient_or_non_ambient) : wu & 6 ? Be(ls(bs) || bs, p.Overload_signatures_must_all_be_public_private_or_protected) : wu & 64 && Be(ls(bs), p.Overload_signatures_must_all_be_abstract_or_non_abstract);
                }
              });
            }
          }
          function f(sr, Yt, un, Bn) {
            if (un !== Bn) {
              const wi = dx(a(sr, Yt));
              ar(sr, (bn) => {
                dx(bn) !== wi && Be(ls(bn), p.Overload_signatures_must_all_be_optional_or_required);
              });
            }
          }
          const d = 230;
          let y = 0, x = d, I = !1, R = !0, J = !1, Y, Te, de;
          const Ge = r.declarations, ct = (r.flags & 16384) !== 0;
          function ht(sr) {
            if (sr.name && cc(sr.name))
              return;
            let Yt = !1;
            const un = Ss(sr.parent, (wi) => {
              if (Yt)
                return wi;
              Yt = wi === sr;
            });
            if (un && un.pos === sr.end && un.kind === sr.kind) {
              const wi = un.name || un, bn = un.name;
              if (sr.name && bn && // both are private identifiers
              (Di(sr.name) && Di(bn) && sr.name.escapedText === bn.escapedText || // Both are computed property names
              ia(sr.name) && ia(bn) && gh(od(sr.name), od(bn)) || // Both are literal property names that are the same.
              Kd(sr.name) && Kd(bn) && X4(sr.name) === X4(bn))) {
                if ((sr.kind === 174 || sr.kind === 173) && zs(sr) !== zs(un)) {
                  const Fs = zs(sr) ? p.Function_overload_must_be_static : p.Function_overload_must_not_be_static;
                  Be(wi, Fs);
                }
                return;
              }
              if (Cp(un.body)) {
                Be(wi, p.Function_implementation_name_must_be_0, _o(sr.name));
                return;
              }
            }
            const Bn = sr.name || sr;
            ct ? Be(Bn, p.Constructor_implementation_is_missing) : qn(
              sr,
              64
              /* Abstract */
            ) ? Be(Bn, p.All_declarations_of_an_abstract_method_must_be_consecutive) : Be(Bn, p.Function_implementation_is_missing_or_not_immediately_following_the_declaration);
          }
          let nr = !1, Xt = !1, Gr = !1;
          const Jr = [];
          if (Ge)
            for (const sr of Ge) {
              const Yt = sr, un = Yt.flags & 33554432, Bn = Yt.parent && (Yt.parent.kind === 264 || Yt.parent.kind === 187) || un;
              if (Bn && (de = void 0), (Yt.kind === 263 || Yt.kind === 231) && !un && (Gr = !0), Yt.kind === 262 || Yt.kind === 174 || Yt.kind === 173 || Yt.kind === 176) {
                Jr.push(Yt);
                const wi = kI(Yt, d);
                y |= wi, x &= wi, I = I || dx(Yt), R = R && dx(Yt);
                const bn = Cp(Yt.body);
                bn && Y ? ct ? Xt = !0 : nr = !0 : de?.parent === Yt.parent && de.end !== Yt.pos && ht(de), bn ? Y || (Y = Yt) : J = !0, de = Yt, Bn || (Te = Yt);
              }
              tn(sr) && Ts(sr) && sr.jsDoc && (J = Ar(CB(sr)) > 0);
            }
          if (Xt && ar(Jr, (sr) => {
            Be(sr, p.Multiple_constructor_implementations_are_not_allowed);
          }), nr && ar(Jr, (sr) => {
            Be(ls(sr) || sr, p.Duplicate_function_implementation);
          }), Gr && !ct && r.flags & 16 && Ge) {
            const sr = Tn(
              Ge,
              (Yt) => Yt.kind === 263
              /* ClassDeclaration */
            ).map((Yt) => Kr(Yt, p.Consider_adding_a_declare_modifier_to_this_class));
            ar(Ge, (Yt) => {
              const un = Yt.kind === 263 ? p.Class_declaration_cannot_implement_overload_list_for_0 : Yt.kind === 262 ? p.Function_with_bodies_can_only_merge_with_classes_that_are_ambient : void 0;
              un && Ws(
                Be(ls(Yt) || Yt, un, bc(r)),
                ...sr
              );
            });
          }
          if (Te && !Te.body && !qn(
            Te,
            64
            /* Abstract */
          ) && !Te.questionToken && ht(Te), J && (Ge && (l(Ge, Y, d, y, x), f(Ge, Y, I, R)), Y)) {
            const sr = R2(r), Yt = qf(Y);
            for (const un of sr)
              if (!Xrt(Yt, un)) {
                const Bn = un.declaration && I0(un.declaration) ? un.declaration.parent.tagName : un.declaration;
                Ws(
                  Be(Bn, p.This_overload_signature_is_not_compatible_with_its_implementation_signature),
                  Kr(Y, p.The_implementation_signature_is_declared_here)
                );
                break;
              }
          }
        }
        function CI(r) {
          n(() => zct(r));
        }
        function zct(r) {
          let a = r.localSymbol;
          if (!a && (a = vn(r), !a.exportSymbol) || jo(a, r.kind) !== r)
            return;
          let l = 0, f = 0, d = 0;
          for (const J of a.declarations) {
            const Y = R(J), Te = kI(
              J,
              2080
              /* Default */
            );
            Te & 32 ? Te & 2048 ? d |= Y : l |= Y : f |= Y;
          }
          const y = l | f, x = l & f, I = d & y;
          if (x || I)
            for (const J of a.declarations) {
              const Y = R(J), Te = ls(J);
              Y & I ? Be(Te, p.Merged_declaration_0_cannot_include_a_default_export_declaration_Consider_adding_a_separate_export_default_0_declaration_instead, _o(Te)) : Y & x && Be(Te, p.Individual_declarations_in_merged_declaration_0_must_be_all_exported_or_all_local, _o(Te));
            }
          function R(J) {
            let Y = J;
            switch (Y.kind) {
              case 264:
              case 265:
              // A jsdoc typedef and callback are, by definition, type aliases.
              // falls through
              case 346:
              case 338:
              case 340:
                return 2;
              case 267:
                return Fu(Y) || jh(Y) !== 0 ? 5 : 4;
              case 263:
              case 266:
              case 306:
                return 3;
              case 307:
                return 7;
              case 277:
              case 226:
                const Te = Y, de = Oo(Te) ? Te.expression : Te.right;
                if (!to(de))
                  return 1;
                Y = de;
              // The below options all declare an Alias, which is allowed to merge with other values within the importing module.
              // falls through
              case 271:
              case 274:
              case 273:
                let Ge = 0;
                const ct = Uc(vn(Y));
                return ar(ct.declarations, (ht) => {
                  Ge |= R(ht);
                }), Ge;
              case 260:
              case 208:
              case 262:
              case 276:
              // https://github.com/Microsoft/TypeScript/pull/7591
              case 80:
                return 1;
              case 173:
              case 171:
                return 2;
              default:
                return E.failBadSyntaxKind(Y);
            }
          }
        }
        function gP(r, a, l, ...f) {
          const d = EI(r, a);
          return d && fC(d, a, l, ...f);
        }
        function EI(r, a, l) {
          if (be(r))
            return;
          const f = r;
          if (f.promisedTypeOfPromise)
            return f.promisedTypeOfPromise;
          if (Am(r, rM(
            /*reportErrors*/
            !1
          )))
            return f.promisedTypeOfPromise = Io(r)[0];
          if (TI(
            Fm(r),
            402915324
            /* Never */
          ))
            return;
          const d = qc(r, "then");
          if (be(d))
            return;
          const y = d ? As(
            d,
            0
            /* Call */
          ) : Ue;
          if (y.length === 0) {
            a && Be(a, p.A_promise_must_have_a_then_method);
            return;
          }
          let x, I;
          for (const Y of y) {
            const Te = Kv(Y);
            Te && Te !== dr && !Lm(r, Te, eh) ? x = Te : I = Dr(I, Y);
          }
          if (!I) {
            E.assertIsDefined(x), l && (l.value = x), a && Be(a, p.The_this_context_of_type_0_is_not_assignable_to_method_s_this_of_type_1, Hr(r), Hr(x));
            return;
          }
          const R = hp(
            Gn(fr(I, Zde)),
            2097152
            /* NEUndefinedOrNull */
          );
          if (be(R))
            return;
          const J = As(
            R,
            0
            /* Call */
          );
          if (J.length === 0) {
            a && Be(a, p.The_first_parameter_of_the_then_method_of_a_promise_must_be_a_callback);
            return;
          }
          return f.promisedTypeOfPromise = Gn(
            fr(J, Zde),
            2
            /* Subtype */
          );
        }
        function tR(r, a, l, f, ...d) {
          return (a ? fC(r, l, f, ...d) : u0(r, l, f, ...d)) || Ve;
        }
        function $Ie(r) {
          if (TI(
            Fm(r),
            402915324
            /* Never */
          ))
            return !1;
          const a = qc(r, "then");
          return !!a && As(
            hp(
              a,
              2097152
              /* NEUndefinedOrNull */
            ),
            0
            /* Call */
          ).length > 0;
        }
        function dX(r) {
          var a;
          if (r.flags & 16777216) {
            const l = Xfe(
              /*reportErrors*/
              !1
            );
            return !!l && r.aliasSymbol === l && ((a = r.aliasTypeArguments) == null ? void 0 : a.length) === 1;
          }
          return !1;
        }
        function hP(r) {
          return r.flags & 1048576 ? Ho(r, hP) : dX(r) ? r.aliasTypeArguments[0] : r;
        }
        function XIe(r) {
          if (be(r) || dX(r))
            return !1;
          if (ET(r)) {
            const a = ru(r);
            if (a ? a.flags & 3 || i0(a) || yp(a, $Ie) : Cc(
              r,
              8650752
              /* TypeVariable */
            ))
              return !0;
          }
          return !1;
        }
        function Wct(r) {
          const a = Xfe(
            /*reportErrors*/
            !0
          );
          if (a)
            return LE(a, [hP(r)]);
        }
        function Vct(r) {
          return XIe(r) ? Wct(r) ?? r : (E.assert(dX(r) || EI(r) === void 0, "type provided should not be a non-generic 'promise'-like."), r);
        }
        function fC(r, a, l, ...f) {
          const d = u0(r, a, l, ...f);
          return d && Vct(d);
        }
        function u0(r, a, l, ...f) {
          if (be(r) || dX(r))
            return r;
          const d = r;
          if (d.awaitedTypeOfType)
            return d.awaitedTypeOfType;
          if (r.flags & 1048576) {
            if (h1.lastIndexOf(r.id) >= 0) {
              a && Be(a, p.Type_is_referenced_directly_or_indirectly_in_the_fulfillment_callback_of_its_own_then_method);
              return;
            }
            const I = a ? (J) => u0(J, a, l, ...f) : u0;
            h1.push(r.id);
            const R = Ho(r, I);
            return h1.pop(), d.awaitedTypeOfType = R;
          }
          if (XIe(r))
            return d.awaitedTypeOfType = r;
          const y = { value: void 0 }, x = EI(
            r,
            /*errorNode*/
            void 0,
            y
          );
          if (x) {
            if (r.id === x.id || h1.lastIndexOf(x.id) >= 0) {
              a && Be(a, p.Type_is_referenced_directly_or_indirectly_in_the_fulfillment_callback_of_its_own_then_method);
              return;
            }
            h1.push(r.id);
            const I = u0(x, a, l, ...f);
            return h1.pop(), I ? d.awaitedTypeOfType = I : void 0;
          }
          if ($Ie(r)) {
            if (a) {
              E.assertIsDefined(l);
              let I;
              y.value && (I = vs(I, p.The_this_context_of_type_0_is_not_assignable_to_method_s_this_of_type_1, Hr(r), Hr(y.value))), I = vs(I, l, ...f), Ia.add(Lg(Er(a), a, I));
            }
            return;
          }
          return d.awaitedTypeOfType = r;
        }
        function Uct(r, a, l) {
          const f = Ci(a);
          if (j >= 2) {
            if (Oe(f))
              return;
            const y = rM(
              /*reportErrors*/
              !0
            );
            if (y !== zt && !Am(f, y)) {
              d(p.The_return_type_of_an_async_function_or_method_must_be_the_global_Promise_T_type_Did_you_mean_to_write_Promise_0, a, l, Hr(u0(f) || dr));
              return;
            }
          } else {
            if (lC(
              r,
              5
              /* AsyncFunction */
            ), Oe(f))
              return;
            const y = v3(a);
            if (y === void 0) {
              d(p.Type_0_is_not_a_valid_async_function_return_type_in_ES5_because_it_does_not_refer_to_a_Promise_compatible_constructor_value, a, l, Hr(f));
              return;
            }
            const x = mc(
              y,
              111551,
              /*ignoreErrors*/
              !0
            ), I = x ? Qr(x) : Ve;
            if (Oe(I)) {
              y.kind === 80 && y.escapedText === "Promise" && wE(f) === rM(
                /*reportErrors*/
                !1
              ) ? Be(l, p.An_async_function_or_method_in_ES5_requires_the_Promise_constructor_Make_sure_you_have_a_declaration_for_the_Promise_constructor_or_include_ES2015_in_your_lib_option) : d(p.Type_0_is_not_a_valid_async_function_return_type_in_ES5_because_it_does_not_refer_to_a_Promise_compatible_constructor_value, a, l, q_(y));
              return;
            }
            const R = itt(
              /*reportErrors*/
              !0
            );
            if (R === Pa) {
              d(p.Type_0_is_not_a_valid_async_function_return_type_in_ES5_because_it_does_not_refer_to_a_Promise_compatible_constructor_value, a, l, q_(y));
              return;
            }
            const J = p.Type_0_is_not_a_valid_async_function_return_type_in_ES5_because_it_does_not_refer_to_a_Promise_compatible_constructor_value;
            if (!mu(I, R, l, J, () => a === l ? void 0 : vs(
              /*details*/
              void 0,
              p.The_return_type_of_an_async_function_or_method_must_be_the_global_Promise_T_type
            )))
              return;
            const Te = y && Xu(y), de = zu(
              r.locals,
              Te.escapedText,
              111551
              /* Value */
            );
            if (de) {
              Be(de.valueDeclaration, p.Duplicate_identifier_0_Compiler_uses_declaration_1_to_support_async_functions, Pn(Te), q_(y));
              return;
            }
          }
          tR(
            f,
            /*withAlias*/
            !1,
            r,
            p.The_return_type_of_an_async_function_must_either_be_a_valid_promise_or_must_not_contain_a_callable_then_member
          );
          function d(y, x, I, R) {
            if (x === I)
              Be(I, y, R);
            else {
              const J = Be(I, p.The_return_type_of_an_async_function_or_method_must_be_the_global_Promise_T_type);
              Ws(J, Kr(x, y, R));
            }
          }
        }
        function qct(r) {
          const a = Er(r);
          if (!j1(a)) {
            let l = r.expression;
            if (Zu(l))
              return !1;
            let f = !0, d;
            for (; ; ) {
              if (Lh(l) || Ux(l)) {
                l = l.expression;
                continue;
              }
              if (Ms(l)) {
                f || (d = l), l.questionDotToken && (d = l.questionDotToken), l = l.expression, f = !1;
                continue;
              }
              if (kn(l)) {
                l.questionDotToken && (d = l.questionDotToken), l = l.expression, f = !1;
                continue;
              }
              Fe(l) || (d = l);
              break;
            }
            if (d)
              return Ws(
                Be(r.expression, p.Expression_must_be_enclosed_in_parentheses_to_be_used_as_a_decorator),
                Kr(d, p.Invalid_syntax_in_decorator)
              ), !0;
          }
          return !1;
        }
        function Hct(r) {
          qct(r);
          const a = HE(r);
          iX(a, r);
          const l = Va(a);
          if (l.flags & 1)
            return;
          const f = tme(r);
          if (!f?.resolvedReturnType) return;
          let d;
          const y = f.resolvedReturnType;
          switch (r.parent.kind) {
            case 263:
            case 231:
              d = p.Decorator_function_return_type_0_is_not_assignable_to_type_1;
              break;
            case 172:
              if (!V) {
                d = p.Decorator_function_return_type_0_is_not_assignable_to_type_1;
                break;
              }
            // falls through
            case 169:
              d = p.Decorator_function_return_type_is_0_but_is_expected_to_be_void_or_any;
              break;
            case 174:
            case 177:
            case 178:
              d = p.Decorator_function_return_type_0_is_not_assignable_to_type_1;
              break;
            default:
              return E.failBadSyntaxKind(r.parent);
          }
          mu(l, y, r.expression, d);
        }
        function DI(r, a, l, f, d, y = l.length, x = 0) {
          const I = N.createFunctionTypeNode(
            /*typeParameters*/
            void 0,
            Ue,
            N.createKeywordTypeNode(
              133
              /* AnyKeyword */
            )
          );
          return fh(I, r, a, l, f, d, y, x);
        }
        function mme(r, a, l, f, d, y, x) {
          const I = DI(r, a, l, f, d, y, x);
          return xT(I);
        }
        function QIe(r) {
          return mme(
            /*typeParameters*/
            void 0,
            /*thisParameter*/
            void 0,
            Ue,
            r
          );
        }
        function YIe(r) {
          const a = Il("value", r);
          return mme(
            /*typeParameters*/
            void 0,
            /*thisParameter*/
            void 0,
            [a],
            dr
          );
        }
        function gme(r) {
          if (r)
            switch (r.kind) {
              case 193:
              case 192:
                return ZIe(r.types);
              case 194:
                return ZIe([r.trueType, r.falseType]);
              case 196:
              case 202:
                return gme(r.type);
              case 183:
                return r.typeName;
            }
        }
        function ZIe(r) {
          let a;
          for (let l of r) {
            for (; l.kind === 196 || l.kind === 202; )
              l = l.type;
            if (l.kind === 146 || !K && (l.kind === 201 && l.literal.kind === 106 || l.kind === 157))
              continue;
            const f = gme(l);
            if (!f)
              return;
            if (a) {
              if (!Fe(a) || !Fe(f) || a.escapedText !== f.escapedText)
                return;
            } else
              a = f;
          }
          return a;
        }
        function mX(r) {
          const a = Yc(r);
          return Hm(r) ? dB(a) : a;
        }
        function rR(r) {
          if (!Zb(r) || !Pf(r) || !r.modifiers || !b3(V, r, r.parent, r.parent.parent))
            return;
          const a = Dn(r.modifiers, yl);
          if (a) {
            V ? (xl(
              a,
              8
              /* Decorate */
            ), r.kind === 169 && xl(
              a,
              32
              /* Param */
            )) : j < kl.ClassAndClassElementDecorators && (xl(
              a,
              8
              /* ESDecorateAndRunInitializers */
            ), el(r) ? r.name ? b7e(r) && xl(
              a,
              4194304
              /* SetFunctionName */
            ) : xl(
              a,
              4194304
              /* SetFunctionName */
            ) : Kc(r) || (Di(r.name) && (uc(r) || By(r) || u_(r)) && xl(
              a,
              4194304
              /* SetFunctionName */
            ), ia(r.name) && xl(
              a,
              8388608
              /* PropKey */
            ))), lC(
              r,
              8
              /* Decorator */
            );
            for (const l of r.modifiers)
              yl(l) && Hct(l);
          }
        }
        function Gct(r) {
          n(a);
          function a() {
            e7e(r), Wme(r), yP(r, r.name);
          }
        }
        function $ct(r) {
          r.typeExpression || Be(r.name, p.JSDoc_typedef_tag_should_either_have_a_type_annotation_or_be_followed_by_property_or_member_tags), r.name && vP(r.name, p.Type_alias_name_cannot_be_0), _a(r.typeExpression), cR(Ly(r));
        }
        function Xct(r) {
          _a(r.constraint);
          for (const a of r.typeParameters)
            _a(a);
        }
        function Qct(r) {
          _a(r.typeExpression);
        }
        function Yct(r) {
          _a(r.typeExpression);
          const a = Q1(r);
          if (a) {
            const l = d7(a, AF);
            if (Ar(l) > 1)
              for (let f = 1; f < Ar(l); f++) {
                const d = l[f].tagName;
                Be(d, p._0_tag_already_specified, Pn(d));
              }
          }
        }
        function Zct(r) {
          r.name && uR(
            r.name,
            /*ignoreErrors*/
            !0
          );
        }
        function Kct(r) {
          _a(r.typeExpression);
        }
        function elt(r) {
          _a(r.typeExpression);
        }
        function tlt(r) {
          n(a), xI(r);
          function a() {
            !r.type && !mx(r) && sb(r, Ie);
          }
        }
        function rlt(r) {
          const a = Q1(r);
          a && Co(a) && Be(r.tagName, p.An_arrow_function_cannot_have_a_this_parameter);
        }
        function nlt(r) {
          Nme(r);
        }
        function ilt(r) {
          const a = Q1(r);
          (!a || !el(a) && !Kc(a)) && Be(a, p.JSDoc_0_is_not_attached_to_a_class, Pn(r.tagName));
        }
        function slt(r) {
          const a = Q1(r);
          if (!a || !el(a) && !Kc(a)) {
            Be(a, p.JSDoc_0_is_not_attached_to_a_class, Pn(r.tagName));
            return;
          }
          const l = U1(a).filter(Gx);
          E.assert(l.length > 0), l.length > 1 && Be(l[1], p.Class_declarations_cannot_have_more_than_one_augments_or_extends_tag);
          const f = KIe(r.class.expression), d = Ib(a);
          if (d) {
            const y = KIe(d.expression);
            y && f.escapedText !== y.escapedText && Be(f, p.JSDoc_0_1_does_not_match_the_extends_2_clause, Pn(r.tagName), Pn(f), Pn(y));
          }
        }
        function alt(r) {
          const a = Nb(r);
          a && Iu(a) && Be(r, p.An_accessibility_modifier_cannot_be_used_with_a_private_identifier);
        }
        function KIe(r) {
          switch (r.kind) {
            case 80:
              return r;
            case 211:
              return r.name;
            default:
              return;
          }
        }
        function e7e(r) {
          var a;
          rR(r), xI(r);
          const l = Fc(r);
          if (r.name && r.name.kind === 167 && od(r.name), AE(r)) {
            const y = vn(r), x = r.localSymbol || y, I = (a = x.declarations) == null ? void 0 : a.find(
              // Get first non javascript function declaration
              (R) => R.kind === r.kind && !(R.flags & 524288)
            );
            r === I && pX(x), y.parent && pX(y);
          }
          const f = r.kind === 173 ? void 0 : r.body;
          if (_a(f), nme(r, FE(r)), n(d), tn(r)) {
            const y = V1(r);
            y && y.typeExpression && !Tde(Ci(y.typeExpression), r) && Be(y.typeExpression.type, p.The_type_of_a_function_declaration_must_match_the_function_s_signature);
          }
          function d() {
            mf(r) || (cc(f) && !eR(r) && sb(r, Ie), l & 1 && Cp(f) && Va(qf(r)));
          }
        }
        function R1(r) {
          n(a);
          function a() {
            const l = Er(r);
            let f = z0.get(l.path);
            f || (f = [], z0.set(l.path, f)), f.push(r);
          }
        }
        function t7e(r, a) {
          for (const l of r)
            switch (l.kind) {
              case 263:
              case 231:
                olt(l, a), hme(l, a);
                break;
              case 307:
              case 267:
              case 241:
              case 269:
              case 248:
              case 249:
              case 250:
                i7e(l, a);
                break;
              case 176:
              case 218:
              case 262:
              case 219:
              case 174:
              case 177:
              case 178:
                l.body && i7e(l, a), hme(l, a);
                break;
              case 173:
              case 179:
              case 180:
              case 184:
              case 185:
              case 265:
              case 264:
                hme(l, a);
                break;
              case 195:
                clt(l, a);
                break;
              default:
                E.assertNever(l, "Node should not have been registered for unused identifiers check");
            }
        }
        function r7e(r, a, l) {
          const f = ls(r) || r, d = Px(r) ? p._0_is_declared_but_never_used : p._0_is_declared_but_its_value_is_never_read;
          l(r, 0, Kr(f, d, a));
        }
        function wI(r) {
          return Fe(r) && Pn(r).charCodeAt(0) === 95;
        }
        function olt(r, a) {
          for (const l of r.members)
            switch (l.kind) {
              case 174:
              case 172:
              case 177:
              case 178:
                if (l.kind === 178 && l.symbol.flags & 32768)
                  break;
                const f = vn(l);
                !f.isReferenced && ($_(
                  l,
                  2
                  /* Private */
                ) || El(l) && Di(l.name)) && !(l.flags & 33554432) && a(l, 0, Kr(l.name, p._0_is_declared_but_its_value_is_never_read, Bi(f)));
                break;
              case 176:
                for (const d of l.parameters)
                  !d.symbol.isReferenced && qn(
                    d,
                    2
                    /* Private */
                  ) && a(d, 0, Kr(d.name, p.Property_0_is_declared_but_its_value_is_never_read, bc(d.symbol)));
                break;
              case 181:
              case 240:
              case 175:
                break;
              default:
                E.fail("Unexpected class member");
            }
        }
        function clt(r, a) {
          const { typeParameter: l } = r;
          yme(l) && a(r, 1, Kr(r, p._0_is_declared_but_its_value_is_never_read, Pn(l.name)));
        }
        function hme(r, a) {
          const l = vn(r).declarations;
          if (!l || pa(l) !== r) return;
          const f = Ly(r), d = /* @__PURE__ */ new Set();
          for (const y of f) {
            if (!yme(y)) continue;
            const x = Pn(y.name), { parent: I } = y;
            if (I.kind !== 195 && I.typeParameters.every(yme)) {
              if (m0(d, I)) {
                const R = Er(I), J = Ip(I) ? NJ(I) : AJ(R, I.typeParameters), Te = I.typeParameters.length === 1 ? [p._0_is_declared_but_its_value_is_never_read, x] : [p.All_type_parameters_are_unused];
                a(y, 1, al(R, J.pos, J.end - J.pos, ...Te));
              }
            } else
              a(y, 1, Kr(y, p._0_is_declared_but_its_value_is_never_read, x));
          }
        }
        function yme(r) {
          return !(La(r.symbol).isReferenced & 262144) && !wI(r.name);
        }
        function nR(r, a, l, f) {
          const d = String(f(a)), y = r.get(d);
          y ? y[1].push(l) : r.set(d, [a, [l]]);
        }
        function n7e(r) {
          return Mn(em(r), Ni);
        }
        function llt(r) {
          return ya(r) ? Nf(r.parent) ? !!(r.propertyName && wI(r.name)) : wI(r.name) : Fu(r) || (Zn(r) && uS(r.parent.parent) || s7e(r)) && wI(r.name);
        }
        function i7e(r, a) {
          const l = /* @__PURE__ */ new Map(), f = /* @__PURE__ */ new Map(), d = /* @__PURE__ */ new Map();
          r.locals.forEach((y) => {
            if (!(y.flags & 262144 ? !(y.flags & 3 && !(y.isReferenced & 3)) : y.isReferenced || y.exportSymbol) && y.declarations) {
              for (const x of y.declarations)
                if (!llt(x))
                  if (s7e(x))
                    nR(l, _lt(x), x, Oa);
                  else if (ya(x) && Nf(x.parent)) {
                    const I = pa(x.parent.elements);
                    (x === I || !pa(x.parent.elements).dotDotDotToken) && nR(f, x.parent, x, Oa);
                  } else if (Zn(x)) {
                    const I = Y2(x) & 7, R = ls(x);
                    (I !== 4 && I !== 6 || !R || !wI(R)) && nR(d, x.parent, x, Oa);
                  } else {
                    const I = y.valueDeclaration && n7e(y.valueDeclaration), R = y.valueDeclaration && ls(y.valueDeclaration);
                    I && R ? !U_(I, I.parent) && !$y(I) && !wI(R) && (ya(x) && N0(x.parent) ? nR(f, x.parent, x, Oa) : a(I, 1, Kr(R, p._0_is_declared_but_its_value_is_never_read, bc(y)))) : r7e(x, bc(y), a);
                  }
            }
          }), l.forEach(([y, x]) => {
            const I = y.parent;
            if ((y.name ? 1 : 0) + (y.namedBindings ? y.namedBindings.kind === 274 ? 1 : y.namedBindings.elements.length : 0) === x.length)
              a(
                I,
                0,
                x.length === 1 ? Kr(I, p._0_is_declared_but_its_value_is_never_read, Pn(xa(x).name)) : Kr(I, p.All_imports_in_import_declaration_are_unused)
              );
            else
              for (const J of x) r7e(J, Pn(J.name), a);
          }), f.forEach(([y, x]) => {
            const I = n7e(y.parent) ? 1 : 0;
            if (y.elements.length === x.length)
              x.length === 1 && y.parent.kind === 260 && y.parent.parent.kind === 261 ? nR(d, y.parent.parent, y.parent, Oa) : a(
                y,
                I,
                x.length === 1 ? Kr(y, p._0_is_declared_but_its_value_is_never_read, iR(xa(x).name)) : Kr(y, p.All_destructured_elements_are_unused)
              );
            else
              for (const R of x)
                a(R, I, Kr(R, p._0_is_declared_but_its_value_is_never_read, iR(R.name)));
          }), d.forEach(([y, x]) => {
            if (y.declarations.length === x.length)
              a(
                y,
                0,
                x.length === 1 ? Kr(xa(x).name, p._0_is_declared_but_its_value_is_never_read, iR(xa(x).name)) : Kr(y.parent.kind === 243 ? y.parent : y, p.All_variables_are_unused)
              );
            else
              for (const I of x)
                a(I, 0, Kr(I, p._0_is_declared_but_its_value_is_never_read, iR(I.name)));
          });
        }
        function ult() {
          var r;
          for (const a of Nv)
            if (!((r = vn(a)) != null && r.isReferenced)) {
              const l = KT(a);
              E.assert(Z1(l), "Only parameter declaration should be checked here");
              const f = Kr(a.name, p._0_is_an_unused_renaming_of_1_Did_you_intend_to_use_it_as_a_type_annotation, _o(a.name), _o(a.propertyName));
              l.type || Ws(
                f,
                al(Er(l), l.end, 0, p.We_can_only_write_a_type_for_0_by_adding_a_type_for_the_entire_parameter_here, _o(a.propertyName))
              ), Ia.add(f);
            }
        }
        function iR(r) {
          switch (r.kind) {
            case 80:
              return Pn(r);
            case 207:
            case 206:
              return iR(Us(xa(r.elements), ya).name);
            default:
              return E.assertNever(r);
          }
        }
        function s7e(r) {
          return r.kind === 273 || r.kind === 276 || r.kind === 274;
        }
        function _lt(r) {
          return r.kind === 273 ? r : r.kind === 274 ? r.parent : r.parent.parent;
        }
        function gX(r) {
          if (r.kind === 241 && _0(r), Rj(r)) {
            const a = rr;
            ar(r.statements, _a), rr = a;
          } else
            ar(r.statements, _a);
          r.locals && R1(r);
        }
        function flt(r) {
          j >= 2 || !qj(r) || r.flags & 33554432 || cc(r.body) || ar(r.parameters, (a) => {
            a.name && !Ps(a.name) && a.name.escapedText === se.escapedName && og("noEmit", a, p.Duplicate_identifier_arguments_Compiler_uses_arguments_to_initialize_rest_parameters);
          });
        }
        function PI(r, a, l) {
          if (a?.escapedText !== l || r.kind === 172 || r.kind === 171 || r.kind === 174 || r.kind === 173 || r.kind === 177 || r.kind === 178 || r.kind === 303 || r.flags & 33554432 || (Qp(r) || bl(r) || Bu(r)) && h0(r))
            return !1;
          const f = em(r);
          return !(Ni(f) && cc(f.parent.body));
        }
        function plt(r) {
          _r(r, (a) => mC(a) & 4 ? (r.kind !== 80 ? Be(ls(r), p.Duplicate_identifier_this_Compiler_uses_variable_declaration_this_to_capture_this_reference) : Be(r, p.Expression_resolves_to_variable_declaration_this_that_compiler_uses_to_capture_this_reference), !0) : !1);
        }
        function dlt(r) {
          _r(r, (a) => mC(a) & 8 ? (r.kind !== 80 ? Be(ls(r), p.Duplicate_identifier_newTarget_Compiler_uses_variable_declaration_newTarget_to_capture_new_target_meta_property_reference) : Be(r, p.Expression_resolves_to_variable_declaration_newTarget_that_compiler_uses_to_capture_new_target_meta_property_reference), !0) : !1);
        }
        function mlt(r, a) {
          if (e.getEmitModuleFormatOfFile(Er(r)) >= 5 || !a || !PI(r, a, "require") && !PI(r, a, "exports") || zc(r) && jh(r) !== 1)
            return;
          const l = Xv(r);
          l.kind === 307 && H_(l) && og("noEmit", a, p.Duplicate_identifier_0_Compiler_reserves_name_1_in_top_level_scope_of_a_module, _o(a), _o(a));
        }
        function glt(r, a) {
          if (!a || j >= 4 || !PI(r, a, "Promise") || zc(r) && jh(r) !== 1)
            return;
          const l = Xv(r);
          l.kind === 307 && H_(l) && l.flags & 4096 && og("noEmit", a, p.Duplicate_identifier_0_Compiler_reserves_name_1_in_top_level_scope_of_a_module_containing_async_functions, _o(a), _o(a));
        }
        function hlt(r, a) {
          j <= 8 && (PI(r, a, "WeakMap") || PI(r, a, "WeakSet")) && Hh.push(r);
        }
        function ylt(r) {
          const a = pd(r);
          mC(a) & 1048576 && (E.assert(El(r) && Fe(r.name) && typeof r.name.escapedText == "string", "The target of a WeakMap/WeakSet collision check should be an identifier"), og("noEmit", r, p.Compiler_reserves_name_0_when_emitting_private_identifier_downlevel, r.name.escapedText));
        }
        function vlt(r, a) {
          a && j >= 2 && j <= 8 && PI(r, a, "Reflect") && ag.push(r);
        }
        function blt(r) {
          let a = !1;
          if (Kc(r)) {
            for (const l of r.members)
              if (mC(l) & 2097152) {
                a = !0;
                break;
              }
          } else if (ho(r))
            mC(r) & 2097152 && (a = !0);
          else {
            const l = pd(r);
            l && mC(l) & 2097152 && (a = !0);
          }
          a && (E.assert(El(r) && Fe(r.name), "The target of a Reflect collision check should be an identifier"), og("noEmit", r, p.Duplicate_identifier_0_Compiler_reserves_name_1_when_emitting_super_references_in_static_initializers, _o(r.name), "Reflect"));
        }
        function yP(r, a) {
          a && (mlt(r, a), glt(r, a), hlt(r, a), vlt(r, a), Xn(r) ? (vP(a, p.Class_name_cannot_be_0), r.flags & 33554432 || Qlt(a)) : Gb(r) && vP(a, p.Enum_name_cannot_be_0));
        }
        function Slt(r) {
          if ((Y2(r) & 7) !== 0 || Z1(r))
            return;
          const a = vn(r);
          if (a.flags & 1) {
            if (!Fe(r.name)) return E.fail();
            const l = it(
              r,
              r.name.escapedText,
              3,
              /*nameNotFoundMessage*/
              void 0,
              /*isUse*/
              !1
            );
            if (l && l !== a && l.flags & 2 && Ede(l) & 7) {
              const f = Y1(
                l.valueDeclaration,
                261
                /* VariableDeclarationList */
              ), d = f.parent.kind === 243 && f.parent.parent ? f.parent.parent : void 0;
              if (!(d && (d.kind === 241 && Ts(d.parent) || d.kind === 268 || d.kind === 267 || d.kind === 307))) {
                const x = Bi(l);
                Be(r, p.Cannot_initialize_outer_scoped_variable_0_in_the_same_scope_as_block_scoped_declaration_1, x, x);
              }
            }
          }
        }
        function NI(r) {
          return r === ft ? Ie : r === ul ? ll : r;
        }
        function sR(r) {
          var a;
          if (rR(r), ya(r) || _a(r.type), !r.name)
            return;
          if (r.name.kind === 167 && (od(r.name), _S(r) && r.initializer && gc(r.initializer)), ya(r)) {
            if (r.propertyName && Fe(r.name) && Z1(r) && cc(Df(r).body)) {
              Nv.push(r);
              return;
            }
            Nf(r.parent) && r.dotDotDotToken && j < kl.ObjectSpreadRest && xl(
              r,
              4
              /* Rest */
            ), r.propertyName && r.propertyName.kind === 167 && od(r.propertyName);
            const d = r.parent.parent, y = r.dotDotDotToken ? 32 : 0, x = yt(d, y), I = r.propertyName || r.name;
            if (x && !Ps(I)) {
              const R = t0(I);
              if (ip(R)) {
                const J = sp(R), Y = Zs(x, J);
                Y && (zM(
                  Y,
                  /*nodeForCheckWriteOnly*/
                  void 0,
                  /*isSelfTypeAccess*/
                  !1
                ), wde(
                  r,
                  !!d.initializer && d.initializer.kind === 108,
                  /*writing*/
                  !1,
                  x,
                  Y
                ));
              }
            }
          }
          if (Ps(r.name) && (r.name.kind === 207 && j < kl.BindingPatterns && F.downlevelIteration && xl(
            r,
            512
            /* Read */
          ), ar(r.name.elements, _a)), r.initializer && Z1(r) && cc(Df(r).body)) {
            Be(r, p.A_parameter_initializer_is_only_allowed_in_a_function_or_constructor_implementation);
            return;
          }
          if (Ps(r.name)) {
            if (Ype(r))
              return;
            const d = _S(r) && r.initializer && r.parent.parent.kind !== 249, y = !at(r.name.elements, HI(vl));
            if (d || y) {
              const x = Ha(r);
              if (d) {
                const I = gc(r.initializer);
                K && y ? E8e(I, r) : q2(I, Ha(r), r, r.initializer);
              }
              y && (N0(r.name) ? my(65, x, _e, r) : K && E8e(x, r));
            }
            return;
          }
          const l = vn(r);
          if (l.flags & 2097152 && (wb(r) || mK(r))) {
            kX(r);
            return;
          }
          r.name.kind === 10 && Be(r.name, p.A_bigint_literal_cannot_be_used_as_a_property_name);
          const f = NI(Qr(l));
          if (r === l.valueDeclaration) {
            const d = _S(r) && E3(r);
            if (d && !(tn(r) && ua(d) && (d.properties.length === 0 || Qy(r.name)) && !!((a = l.exports) != null && a.size)) && r.parent.parent.kind !== 249) {
              const x = gc(d);
              q2(
                x,
                f,
                r,
                d,
                /*headMessage*/
                void 0
              );
              const I = Y2(r) & 7;
              if (I === 6) {
                const R = mtt(
                  /*reportErrors*/
                  !0
                ), J = j3e(
                  /*reportErrors*/
                  !0
                );
                if (R !== Pa && J !== Pa) {
                  const Y = Gn([R, J, jt, _e]);
                  mu(mg(x, r), Y, d, p.The_initializer_of_an_await_using_declaration_must_be_either_an_object_with_a_Symbol_asyncDispose_or_Symbol_dispose_method_or_be_null_or_undefined);
                }
              } else if (I === 4) {
                const R = j3e(
                  /*reportErrors*/
                  !0
                );
                if (R !== Pa) {
                  const J = Gn([R, jt, _e]);
                  mu(mg(x, r), J, d, p.The_initializer_of_a_using_declaration_must_be_either_an_object_with_a_Symbol_dispose_method_or_be_null_or_undefined);
                }
              }
            }
            l.declarations && l.declarations.length > 1 && at(l.declarations, (y) => y !== r && M4(y) && !o7e(y, r)) && Be(r.name, p.All_declarations_of_0_must_have_identical_modifiers, _o(r.name));
          } else {
            const d = NI(Ha(r));
            !Oe(f) && !Oe(d) && !gh(f, d) && !(l.flags & 67108864) && a7e(l.valueDeclaration, f, r, d), _S(r) && r.initializer && q2(
              gc(r.initializer),
              d,
              r,
              r.initializer,
              /*headMessage*/
              void 0
            ), l.valueDeclaration && !o7e(r, l.valueDeclaration) && Be(r.name, p.All_declarations_of_0_must_have_identical_modifiers, _o(r.name));
          }
          r.kind !== 172 && r.kind !== 171 && (CI(r), (r.kind === 260 || r.kind === 208) && Slt(r), yP(r, r.name));
        }
        function a7e(r, a, l, f) {
          const d = ls(l), y = l.kind === 172 || l.kind === 171 ? p.Subsequent_property_declarations_must_have_the_same_type_Property_0_must_be_of_type_1_but_here_has_type_2 : p.Subsequent_variable_declarations_must_have_the_same_type_Variable_0_must_be_of_type_1_but_here_has_type_2, x = _o(d), I = Be(
            d,
            y,
            x,
            Hr(a),
            Hr(f)
          );
          r && Ws(I, Kr(r, p._0_was_also_declared_here, x));
        }
        function o7e(r, a) {
          if (r.kind === 169 && a.kind === 260 || r.kind === 260 && a.kind === 169)
            return !0;
          if (dx(r) !== dx(a))
            return !1;
          const l = 1358;
          return vx(r, l) === vx(a, l);
        }
        function Tlt(r) {
          var a, l;
          (a = rn) == null || a.push(rn.Phase.Check, "checkVariableDeclaration", { kind: r.kind, pos: r.pos, end: r.end, path: r.tracingPath }), nft(r), sR(r), (l = rn) == null || l.pop();
        }
        function xlt(r) {
          return eft(r), sR(r);
        }
        function hX(r) {
          const a = Ch(r) & 7;
          (a === 4 || a === 6) && j < kl.UsingAndAwaitUsing && xl(
            r,
            16777216
            /* AddDisposableResourceAndDisposeResources */
          ), ar(r.declarations, _a);
        }
        function klt(r) {
          !yh(r) && !qme(r.declarationList) && ift(r), hX(r.declarationList);
        }
        function Clt(r) {
          _0(r), Hi(r.expression);
        }
        function Elt(r) {
          _0(r);
          const a = AI(r.expression);
          vme(r.expression, a, r.thenStatement), _a(r.thenStatement), r.thenStatement.kind === 242 && Be(r.thenStatement, p.The_body_of_an_if_statement_cannot_be_the_empty_statement), _a(r.elseStatement);
        }
        function vme(r, a, l) {
          if (!K) return;
          f(r, l);
          function f(y, x) {
            for (y = za(y), d(y, x); _n(y) && (y.operatorToken.kind === 57 || y.operatorToken.kind === 61); )
              y = za(y.left), d(y, x);
          }
          function d(y, x) {
            const I = X3(y) ? za(y.right) : y;
            if (Rg(I))
              return;
            if (X3(I)) {
              f(I, x);
              return;
            }
            const R = I === y ? a : Hi(I);
            if (R.flags & 1024 && kn(I) && (yn(I.expression).resolvedSymbol ?? Q).flags & 384) {
              Be(I, p.This_condition_will_always_return_0, R.value ? "true" : "false");
              return;
            }
            const J = kn(I) && NIe(I.expression);
            if (!Jd(
              R,
              4194304
              /* Truthy */
            ) || J) return;
            const Y = As(
              R,
              0
              /* Call */
            ), Te = !!gP(R);
            if (Y.length === 0 && !Te)
              return;
            const de = Fe(I) ? I : kn(I) ? I.name : void 0, Ge = de && vp(de);
            if (!Ge && !Te)
              return;
            Ge && _n(y.parent) && wlt(y.parent, Ge) || Ge && x && Dlt(y, x, de, Ge) || (Te ? $0(
              I,
              /*maybeMissingAwait*/
              !0,
              p.This_condition_will_always_return_true_since_this_0_is_always_defined,
              Gk(R)
            ) : Be(I, p.This_condition_will_always_return_true_since_this_function_is_always_defined_Did_you_mean_to_call_it_instead));
          }
        }
        function Dlt(r, a, l, f) {
          return !!Ss(a, function d(y) {
            if (Fe(y)) {
              const x = vp(y);
              if (x && x === f) {
                if (Fe(r) || Fe(l) && _n(l.parent))
                  return !0;
                let I = l.parent, R = y.parent;
                for (; I && R; ) {
                  if (Fe(I) && Fe(R) || I.kind === 110 && R.kind === 110)
                    return vp(I) === vp(R);
                  if (kn(I) && kn(R)) {
                    if (vp(I.name) !== vp(R.name))
                      return !1;
                    R = R.expression, I = I.expression;
                  } else if (Ms(I) && Ms(R))
                    R = R.expression, I = I.expression;
                  else
                    return !1;
                }
              }
            }
            return Ss(y, d);
          });
        }
        function wlt(r, a) {
          for (; _n(r) && r.operatorToken.kind === 56; ) {
            if (Ss(r.right, function f(d) {
              if (Fe(d)) {
                const y = vp(d);
                if (y && y === a)
                  return !0;
              }
              return Ss(d, f);
            }))
              return !0;
            r = r.parent;
          }
          return !1;
        }
        function Plt(r) {
          _0(r), _a(r.statement), AI(r.expression);
        }
        function Nlt(r) {
          _0(r), AI(r.expression), _a(r.statement);
        }
        function bme(r, a) {
          if (r.flags & 16384)
            Be(a, p.An_expression_of_type_void_cannot_be_tested_for_truthiness);
          else {
            const l = Sme(a);
            l !== 3 && Be(
              a,
              l === 1 ? p.This_kind_of_expression_is_always_truthy : p.This_kind_of_expression_is_always_falsy
            );
          }
          return r;
        }
        function Sme(r) {
          switch (r = xc(r), r.kind) {
            case 9:
              return r.text === "0" || r.text === "1" ? 3 : 1;
            case 209:
            case 219:
            case 10:
            case 231:
            case 218:
            case 284:
            case 285:
            case 210:
            case 14:
              return 1;
            case 222:
            case 106:
              return 2;
            case 15:
            case 11:
              return r.text ? 1 : 2;
            case 227:
              return Sme(r.whenTrue) | Sme(r.whenFalse);
            case 80:
              return Du(r) === oe ? 2 : 3;
          }
          return 3;
        }
        function AI(r, a) {
          return bme(Hi(r, a), r);
        }
        function Alt(r) {
          _0(r) || r.initializer && r.initializer.kind === 261 && qme(r.initializer), r.initializer && (r.initializer.kind === 261 ? hX(r.initializer) : Hi(r.initializer)), r.condition && AI(r.condition), r.incrementor && Hi(r.incrementor), _a(r.statement), r.locals && R1(r);
        }
        function Ilt(r) {
          n5e(r);
          const a = $7(r);
          if (r.awaitModifier ? a && hc(a) ? mr(r.awaitModifier, p.for_await_loops_cannot_be_used_inside_a_class_static_block) : (Fc(a) & 6) === 2 && j < kl.ForAwaitOf && xl(
            r,
            16384
            /* ForAwaitOfIncludes */
          ) : F.downlevelIteration && j < kl.ForOf && xl(
            r,
            256
            /* ForOfIncludes */
          ), r.initializer.kind === 261)
            hX(r.initializer);
          else {
            const l = r.initializer, f = aR(r);
            if (l.kind === 209 || l.kind === 210)
              BT(l, f || Ve);
            else {
              const d = Hi(l);
              SI(
                l,
                p.The_left_hand_side_of_a_for_of_statement_must_be_a_variable_or_a_property_access,
                p.The_left_hand_side_of_a_for_of_statement_may_not_be_an_optional_property_access
              ), f && q2(f, d, l, r.expression);
            }
          }
          _a(r.statement), r.locals && R1(r);
        }
        function Flt(r) {
          n5e(r);
          const a = Pde(Hi(r.expression));
          if (r.initializer.kind === 261) {
            const l = r.initializer.declarations[0];
            l && Ps(l.name) && Be(l.name, p.The_left_hand_side_of_a_for_in_statement_cannot_be_a_destructuring_pattern), hX(r.initializer);
          } else {
            const l = r.initializer, f = Hi(l);
            l.kind === 209 || l.kind === 210 ? Be(l, p.The_left_hand_side_of_a_for_in_statement_cannot_be_a_destructuring_pattern) : js(rrt(a), f) ? SI(
              l,
              p.The_left_hand_side_of_a_for_in_statement_must_be_a_variable_or_a_property_access,
              p.The_left_hand_side_of_a_for_in_statement_may_not_be_an_optional_property_access
            ) : Be(l, p.The_left_hand_side_of_a_for_in_statement_must_be_of_type_string_or_any);
          }
          (a === Kt || !nu(
            a,
            126091264
            /* InstantiableNonPrimitive */
          )) && Be(r.expression, p.The_right_hand_side_of_a_for_in_statement_must_be_of_type_any_an_object_type_or_a_type_parameter_but_here_has_type_0, Hr(a)), _a(r.statement), r.locals && R1(r);
        }
        function aR(r) {
          const a = r.awaitModifier ? 15 : 13;
          return my(a, UE(r.expression), _e, r.expression);
        }
        function my(r, a, l, f) {
          return be(a) ? a : Tme(
            r,
            a,
            l,
            f,
            /*checkAssignability*/
            !0
          ) || Ie;
        }
        function Tme(r, a, l, f, d) {
          const y = (r & 2) !== 0;
          if (a === Kt) {
            f && Cme(f, a, y);
            return;
          }
          const x = j >= 2, I = !x && F.downlevelIteration, R = F.noUncheckedIndexedAccess && !!(r & 128);
          if (x || I || y) {
            const Ge = vX(a, r, x ? f : void 0);
            if (d && Ge) {
              const ct = r & 8 ? p.Cannot_iterate_value_because_the_next_method_of_its_iterator_expects_type_1_but_for_of_will_always_send_0 : r & 32 ? p.Cannot_iterate_value_because_the_next_method_of_its_iterator_expects_type_1_but_array_spread_will_always_send_0 : r & 64 ? p.Cannot_iterate_value_because_the_next_method_of_its_iterator_expects_type_1_but_array_destructuring_will_always_send_0 : r & 16 ? p.Cannot_delegate_iteration_to_value_because_the_next_method_of_its_iterator_expects_type_1_but_the_containing_generator_will_always_send_0 : void 0;
              ct && mu(l, Ge.nextType, f, ct);
            }
            if (Ge || x)
              return R ? uI(Ge && Ge.yieldType) : Ge && Ge.yieldType;
          }
          let J = a, Y = !1;
          if (r & 4) {
            if (J.flags & 1048576) {
              const Ge = a.types, ct = Tn(Ge, (ht) => !(ht.flags & 402653316));
              ct !== Ge && (J = Gn(
                ct,
                2
                /* Subtype */
              ));
            } else J.flags & 402653316 && (J = Kt);
            if (Y = J !== a, Y && J.flags & 131072)
              return R ? uI(st) : st;
          }
          if (!py(J)) {
            if (f) {
              const Ge = !!(r & 4) && !Y, [ct, ht] = de(Ge, I);
              $0(
                f,
                ht && !!gP(J),
                ct,
                Hr(J)
              );
            }
            return Y ? R ? uI(st) : st : void 0;
          }
          const Te = Zv(J, At);
          if (Y && Te)
            return Te.flags & 402653316 && !F.noUncheckedIndexedAccess ? st : Gn(
              R ? [Te, st, _e] : [Te, st],
              2
              /* Subtype */
            );
          return r & 128 ? uI(Te) : Te;
          function de(Ge, ct) {
            var ht;
            return ct ? Ge ? [p.Type_0_is_not_an_array_type_or_a_string_type_or_does_not_have_a_Symbol_iterator_method_that_returns_an_iterator, !0] : [p.Type_0_is_not_an_array_type_or_does_not_have_a_Symbol_iterator_method_that_returns_an_iterator, !0] : xme(
              r,
              0,
              a,
              /*errorNode*/
              void 0
            ) ? [p.Type_0_can_only_be_iterated_through_when_using_the_downlevelIteration_flag_or_with_a_target_of_es2015_or_higher, !1] : Olt((ht = a.symbol) == null ? void 0 : ht.escapedName) ? [p.Type_0_can_only_be_iterated_through_when_using_the_downlevelIteration_flag_or_with_a_target_of_es2015_or_higher, !0] : Ge ? [p.Type_0_is_not_an_array_type_or_a_string_type, !0] : [p.Type_0_is_not_an_array_type, !0];
          }
        }
        function Olt(r) {
          switch (r) {
            case "Float32Array":
            case "Float64Array":
            case "Int16Array":
            case "Int32Array":
            case "Int8Array":
            case "NodeList":
            case "Uint16Array":
            case "Uint32Array":
            case "Uint8Array":
            case "Uint8ClampedArray":
              return !0;
          }
          return !1;
        }
        function xme(r, a, l, f) {
          if (be(l))
            return;
          const d = vX(l, r, f);
          return d && d[F1e(a)];
        }
        function cb(r = Kt, a = Kt, l = mt) {
          if (r.flags & 67359327 && a.flags & 180227 && l.flags & 180227) {
            const f = Wp([r, a, l]);
            let d = no.get(f);
            return d || (d = { yieldType: r, returnType: a, nextType: l }, no.set(f, d)), d;
          }
          return { yieldType: r, returnType: a, nextType: l };
        }
        function c7e(r) {
          let a, l, f;
          for (const d of r)
            if (!(d === void 0 || d === da)) {
              if (d === vo)
                return vo;
              a = Dr(a, d.yieldType), l = Dr(l, d.returnType), f = Dr(f, d.nextType);
            }
          return a || l || f ? cb(
            a && Gn(a),
            l && Gn(l),
            f && aa(f)
          ) : da;
        }
        function yX(r, a) {
          return r[a];
        }
        function hh(r, a, l) {
          return r[a] = l;
        }
        function vX(r, a, l) {
          var f, d;
          if (be(r))
            return vo;
          if (!(r.flags & 1048576)) {
            const J = l ? { errors: void 0, skipLogging: !0 } : void 0, Y = l7e(r, a, l, J);
            if (Y === da) {
              if (l) {
                const Te = Cme(l, r, !!(a & 2));
                J?.errors && Ws(Te, ...J.errors);
              }
              return;
            } else if ((f = J?.errors) != null && f.length)
              for (const Te of J.errors)
                Ia.add(Te);
            return Y;
          }
          const y = a & 2 ? "iterationTypesOfAsyncIterable" : "iterationTypesOfIterable", x = yX(r, y);
          if (x) return x === da ? void 0 : x;
          let I;
          for (const J of r.types) {
            const Y = l ? { errors: void 0 } : void 0, Te = l7e(J, a, l, Y);
            if (Te === da) {
              if (l) {
                const de = Cme(l, r, !!(a & 2));
                Y?.errors && Ws(de, ...Y.errors);
              }
              hh(r, y, da);
              return;
            } else if ((d = Y?.errors) != null && d.length)
              for (const de of Y.errors)
                Ia.add(de);
            I = Dr(I, Te);
          }
          const R = I ? c7e(I) : da;
          return hh(r, y, R), R === da ? void 0 : R;
        }
        function kme(r, a) {
          if (r === da) return da;
          if (r === vo) return vo;
          const { yieldType: l, returnType: f, nextType: d } = r;
          return a && Xfe(
            /*reportErrors*/
            !0
          ), cb(
            fC(l, a) || Ie,
            fC(f, a) || Ie,
            d
          );
        }
        function l7e(r, a, l, f) {
          if (be(r))
            return vo;
          let d = !1;
          if (a & 2) {
            const y = u7e(r, fc) || _7e(r, fc);
            if (y)
              if (y === da && l)
                d = !0;
              else
                return a & 8 ? kme(y, l) : y;
          }
          if (a & 1) {
            let y = u7e(r, Lc) || _7e(r, Lc);
            if (y)
              if (y === da && l)
                d = !0;
              else if (a & 2) {
                if (y !== da)
                  return y = kme(y, l), d ? y : hh(r, "iterationTypesOfAsyncIterable", y);
              } else
                return y;
          }
          if (a & 2) {
            const y = p7e(r, fc, l, f, d);
            if (y !== da)
              return y;
          }
          if (a & 1) {
            let y = p7e(r, Lc, l, f, d);
            if (y !== da)
              return a & 2 ? (y = kme(y, l), d ? y : hh(r, "iterationTypesOfAsyncIterable", y)) : y;
          }
          return da;
        }
        function u7e(r, a) {
          return yX(r, a.iterableCacheKey);
        }
        function _7e(r, a) {
          if (Am(r, a.getGlobalIterableType(
            /*reportErrors*/
            !1
          )) || Am(r, a.getGlobalIteratorObjectType(
            /*reportErrors*/
            !1
          )) || Am(r, a.getGlobalIterableIteratorType(
            /*reportErrors*/
            !1
          )) || Am(r, a.getGlobalGeneratorType(
            /*reportErrors*/
            !1
          ))) {
            const [l, f, d] = Io(r);
            return hh(r, a.iterableCacheKey, cb(a.resolveIterationType(
              l,
              /*errorNode*/
              void 0
            ) || l, a.resolveIterationType(
              f,
              /*errorNode*/
              void 0
            ) || f, d));
          }
          if (R8(r, a.getGlobalBuiltinIteratorTypes())) {
            const [l] = Io(r), f = $fe(), d = mt;
            return hh(r, a.iterableCacheKey, cb(a.resolveIterationType(
              l,
              /*errorNode*/
              void 0
            ) || l, a.resolveIterationType(
              f,
              /*errorNode*/
              void 0
            ) || f, d));
          }
        }
        function f7e(r) {
          const a = F3e(
            /*reportErrors*/
            !1
          ), l = a && qc(Qr(a), ec(r));
          return l && ip(l) ? sp(l) : `__@${r}`;
        }
        function p7e(r, a, l, f, d) {
          const y = Zs(r, f7e(a.iteratorSymbolName)), x = y && !(y.flags & 16777216) ? Qr(y) : void 0;
          if (be(x))
            return d ? vo : hh(r, a.iterableCacheKey, vo);
          const I = x ? As(
            x,
            0
            /* Call */
          ) : void 0, R = Tn(I, (Te) => Wd(Te) === 0);
          if (!at(R))
            return l && at(I) && mu(
              r,
              a.getGlobalIterableType(
                /*reportErrors*/
                !0
              ),
              l,
              /*headMessage*/
              void 0,
              /*containingMessageChain*/
              void 0,
              f
            ), d ? da : hh(r, a.iterableCacheKey, da);
          const J = aa(fr(R, Va)), Y = d7e(J, a, l, f, d) ?? da;
          return d ? Y : hh(r, a.iterableCacheKey, Y);
        }
        function Cme(r, a, l) {
          const f = l ? p.Type_0_must_have_a_Symbol_asyncIterator_method_that_returns_an_async_iterator : p.Type_0_must_have_a_Symbol_iterator_method_that_returns_an_iterator, d = (
            // for (const x of Promise<...>) or [...Promise<...>]
            !!gP(a) || !l && wN(r.parent) && r.parent.expression === r && nM(
              /*reportErrors*/
              !1
            ) !== zt && js(a, nP(nM(
              /*reportErrors*/
              !1
            ), [Ie, Ie, Ie]))
          );
          return $0(r, d, f, Hr(a));
        }
        function Llt(r, a, l, f) {
          return d7e(
            r,
            a,
            l,
            f,
            /*noCache*/
            !1
          );
        }
        function d7e(r, a, l, f, d) {
          if (be(r))
            return vo;
          let y = Mlt(r, a) || Rlt(r, a);
          return y === da && l && (y = void 0, d = !0), y ?? (y = zlt(r, a, l, f, d)), y === da ? void 0 : y;
        }
        function Mlt(r, a) {
          return yX(r, a.iteratorCacheKey);
        }
        function Rlt(r, a) {
          if (Am(r, a.getGlobalIterableIteratorType(
            /*reportErrors*/
            !1
          )) || Am(r, a.getGlobalIteratorType(
            /*reportErrors*/
            !1
          )) || Am(r, a.getGlobalIteratorObjectType(
            /*reportErrors*/
            !1
          )) || Am(r, a.getGlobalGeneratorType(
            /*reportErrors*/
            !1
          ))) {
            const [l, f, d] = Io(r);
            return hh(r, a.iteratorCacheKey, cb(l, f, d));
          }
          if (R8(r, a.getGlobalBuiltinIteratorTypes())) {
            const [l] = Io(r), f = $fe(), d = mt;
            return hh(r, a.iteratorCacheKey, cb(l, f, d));
          }
        }
        function m7e(r, a) {
          const l = qc(r, "done") || Mr;
          return js(a === 0 ? Mr : Ye, l);
        }
        function jlt(r) {
          return m7e(
            r,
            0
            /* Yield */
          );
        }
        function Blt(r) {
          return m7e(
            r,
            1
            /* Return */
          );
        }
        function Jlt(r) {
          if (be(r))
            return vo;
          const a = yX(r, "iterationTypesOfIteratorResult");
          if (a)
            return a;
          if (Am(r, ptt(
            /*reportErrors*/
            !1
          ))) {
            const x = Io(r)[0];
            return hh(r, "iterationTypesOfIteratorResult", cb(
              x,
              /*returnType*/
              void 0,
              /*nextType*/
              void 0
            ));
          }
          if (Am(r, dtt(
            /*reportErrors*/
            !1
          ))) {
            const x = Io(r)[0];
            return hh(r, "iterationTypesOfIteratorResult", cb(
              /*yieldType*/
              void 0,
              x,
              /*nextType*/
              void 0
            ));
          }
          const l = Hc(r, jlt), f = l !== Kt ? qc(l, "value") : void 0, d = Hc(r, Blt), y = d !== Kt ? qc(d, "value") : void 0;
          return !f && !y ? hh(r, "iterationTypesOfIteratorResult", da) : hh(r, "iterationTypesOfIteratorResult", cb(
            f,
            y || dr,
            /*nextType*/
            void 0
          ));
        }
        function Eme(r, a, l, f, d) {
          var y, x, I, R;
          const J = Zs(r, l);
          if (!J && l !== "next")
            return;
          const Y = J && !(l === "next" && J.flags & 16777216) ? l === "next" ? Qr(J) : hp(
            Qr(J),
            2097152
            /* NEUndefinedOrNull */
          ) : void 0;
          if (be(Y))
            return vo;
          const Te = Y ? As(
            Y,
            0
            /* Call */
          ) : Ue;
          if (Te.length === 0) {
            if (f) {
              const sr = l === "next" ? a.mustHaveANextMethodDiagnostic : a.mustBeAMethodDiagnostic;
              d ? (d.errors ?? (d.errors = []), d.errors.push(Kr(f, sr, l))) : Be(f, sr, l);
            }
            return l === "next" ? da : void 0;
          }
          if (Y?.symbol && Te.length === 1) {
            const sr = a.getGlobalGeneratorType(
              /*reportErrors*/
              !1
            ), Yt = a.getGlobalIteratorType(
              /*reportErrors*/
              !1
            ), un = ((x = (y = sr.symbol) == null ? void 0 : y.members) == null ? void 0 : x.get(l)) === Y.symbol, Bn = !un && ((R = (I = Yt.symbol) == null ? void 0 : I.members) == null ? void 0 : R.get(l)) === Y.symbol;
            if (un || Bn) {
              const wi = un ? sr : Yt, { mapper: bn } = Y;
              return cb(
                fy(wi.typeParameters[0], bn),
                fy(wi.typeParameters[1], bn),
                l === "next" ? fy(wi.typeParameters[2], bn) : void 0
              );
            }
          }
          let de, Ge;
          for (const sr of Te)
            l !== "throw" && at(sr.parameters) && (de = Dr(de, zd(sr, 0))), Ge = Dr(Ge, Va(sr));
          let ct, ht;
          if (l !== "throw") {
            const sr = de ? Gn(de) : mt;
            if (l === "next")
              ht = sr;
            else if (l === "return") {
              const Yt = a.resolveIterationType(sr, f) || Ie;
              ct = Dr(ct, Yt);
            }
          }
          let nr;
          const Xt = Ge ? aa(Ge) : Kt, Gr = a.resolveIterationType(Xt, f) || Ie, Jr = Jlt(Gr);
          return Jr === da ? (f && (d ? (d.errors ?? (d.errors = []), d.errors.push(Kr(f, a.mustHaveAValueDiagnostic, l))) : Be(f, a.mustHaveAValueDiagnostic, l)), nr = Ie, ct = Dr(ct, Ie)) : (nr = Jr.yieldType, ct = Dr(ct, Jr.returnType)), cb(nr, Gn(ct), ht);
        }
        function zlt(r, a, l, f, d) {
          const y = c7e([
            Eme(r, a, "next", l, f),
            Eme(r, a, "return", l, f),
            Eme(r, a, "throw", l, f)
          ]);
          return d ? y : hh(r, a.iteratorCacheKey, y);
        }
        function gy(r, a, l) {
          if (be(a))
            return;
          const f = Dme(a, l);
          return f && f[F1e(r)];
        }
        function Dme(r, a) {
          if (be(r))
            return vo;
          const l = a ? 2 : 1, f = a ? fc : Lc;
          return vX(
            r,
            l,
            /*errorNode*/
            void 0
          ) || Llt(
            r,
            f,
            /*errorNode*/
            void 0,
            /*errorOutputContainer*/
            void 0
          );
        }
        function Wlt(r) {
          _0(r) || K_t(r);
        }
        function oR(r, a) {
          const l = !!(a & 1), f = !!(a & 2);
          if (l) {
            const d = gy(1, r, f);
            return d ? f ? u0(hP(d)) : d : Ve;
          }
          return f ? u0(r) || Ve : r;
        }
        function g7e(r, a) {
          const l = oR(a, Fc(r));
          return !!(l && (Cc(
            l,
            16384
            /* Void */
          ) || l.flags & 32769));
        }
        function Vlt(r) {
          if (_0(r))
            return;
          const a = $7(r);
          if (a && hc(a)) {
            Ml(r, p.A_return_statement_cannot_be_used_inside_a_class_static_block);
            return;
          }
          if (!a) {
            Ml(r, p.A_return_statement_can_only_be_used_within_a_function_body);
            return;
          }
          const l = qf(a), f = Va(l);
          if (K || r.expression || f.flags & 131072) {
            const d = r.expression ? gc(r.expression) : _e;
            if (a.kind === 178)
              r.expression && Be(r, p.Setters_cannot_return_a_value);
            else if (a.kind === 176) {
              const y = r.expression ? gc(r.expression) : _e;
              r.expression && !q2(y, f, r, r.expression) && Be(r, p.Return_type_of_constructor_signature_must_be_assignable_to_the_instance_type_of_the_class);
            } else if (FE(a)) {
              const y = oR(f, Fc(a)) ?? f;
              bX(a, y, r, r.expression, d);
            }
          } else a.kind !== 176 && F.noImplicitReturns && !g7e(a, f) && Be(r, p.Not_all_code_paths_return_a_value);
        }
        function bX(r, a, l, f, d, y = !1) {
          const x = tn(l), I = Fc(r);
          if (f) {
            const de = za(f, x);
            if (FS(de)) {
              bX(
                r,
                a,
                l,
                de.whenTrue,
                Hi(de.whenTrue),
                /*inConditionalExpression*/
                !0
              ), bX(
                r,
                a,
                l,
                de.whenFalse,
                Hi(de.whenFalse),
                /*inConditionalExpression*/
                !0
              );
              return;
            }
          }
          const R = l.kind === 253, J = I & 2 ? tR(
            d,
            /*withAlias*/
            !1,
            l,
            p.The_return_type_of_an_async_function_must_either_be_a_valid_promise_or_must_not_contain_a_callable_then_member
          ) : d, Y = f && eX(f);
          q2(J, a, R && !y ? l : Y, Y);
        }
        function Ult(r) {
          _0(r) || r.flags & 65536 && Ml(r, p.with_statements_are_not_allowed_in_an_async_function_block), Hi(r.expression);
          const a = Er(r);
          if (!j1(a)) {
            const l = Xd(a, r.pos).start, f = r.statement.pos;
            Q2(a, l, f - l, p.The_with_statement_is_not_supported_All_symbols_in_a_with_block_will_have_type_any);
          }
        }
        function qlt(r) {
          _0(r);
          let a, l = !1;
          const f = Hi(r.expression);
          ar(r.caseBlock.clauses, (d) => {
            d.kind === 297 && !l && (a === void 0 ? a = d : (mr(d, p.A_default_clause_cannot_appear_more_than_once_in_a_switch_statement), l = !0)), d.kind === 296 && n(y(d)), ar(d.statements, _a), F.noFallthroughCasesInSwitch && d.fallthroughFlowNode && PM(d.fallthroughFlowNode) && Be(d, p.Fallthrough_case_in_switch);
            function y(x) {
              return () => {
                const I = Hi(x.expression);
                ome(f, I) || FNe(
                  I,
                  f,
                  x.expression,
                  /*headMessage*/
                  void 0
                );
              };
            }
          }), r.caseBlock.locals && R1(r.caseBlock);
        }
        function Hlt(r) {
          _0(r) || _r(r.parent, (a) => Ts(a) ? "quit" : a.kind === 256 && a.label.escapedText === r.label.escapedText ? (mr(r.label, p.Duplicate_label_0, Go(r.label)), !0) : !1), _a(r.statement);
        }
        function Glt(r) {
          _0(r) || Fe(r.expression) && !r.expression.escapedText && pft(r, p.Line_break_not_permitted_here), r.expression && Hi(r.expression);
        }
        function $lt(r) {
          _0(r), gX(r.tryBlock);
          const a = r.catchClause;
          if (a) {
            if (a.variableDeclaration) {
              const l = a.variableDeclaration;
              sR(l);
              const f = Yc(l);
              if (f) {
                const d = Ci(f);
                d && !(d.flags & 3) && Ml(f, p.Catch_clause_variable_type_annotation_must_be_any_or_unknown_if_specified);
              } else if (l.initializer)
                Ml(l.initializer, p.Catch_clause_variable_cannot_have_an_initializer);
              else {
                const d = a.block.locals;
                d && Fg(a.locals, (y) => {
                  const x = d.get(y);
                  x?.valueDeclaration && (x.flags & 2) !== 0 && mr(x.valueDeclaration, p.Cannot_redeclare_identifier_0_in_catch_clause, Ei(y));
                });
              }
            }
            gX(a.block);
          }
          r.finallyBlock && gX(r.finallyBlock);
        }
        function SX(r, a, l) {
          const f = pu(r);
          if (f.length === 0)
            return;
          for (const y of ly(r))
            l && y.flags & 4194304 || h7e(r, y, rC(
              y,
              8576,
              /*includeNonPublic*/
              !0
            ), P1(y));
          const d = a.valueDeclaration;
          if (d && Xn(d)) {
            for (const y of d.members)
              if ((!l && !zs(y) || l && zs(y)) && !AE(y)) {
                const x = vn(y);
                h7e(r, x, iu(y.name.expression), P1(x));
              }
          }
          if (f.length > 1)
            for (const y of f)
              Xlt(r, y);
        }
        function h7e(r, a, l, f) {
          const d = a.valueDeclaration, y = ls(d);
          if (y && Di(y))
            return;
          const x = Lfe(r, l), I = Cn(r) & 2 ? jo(
            r.symbol,
            264
            /* InterfaceDeclaration */
          ) : void 0, R = d && d.kind === 226 || y && y.kind === 167 ? d : void 0, J = O_(a) === r.symbol ? d : void 0;
          for (const Y of x) {
            const Te = Y.declaration && O_(vn(Y.declaration)) === r.symbol ? Y.declaration : void 0, de = J || Te || (I && !at(fl(r), (Ge) => !!L2(Ge, a.escapedName) && !!Zv(Ge, Y.keyType)) ? I : void 0);
            if (de && !js(f, Y.type)) {
              const Ge = b2(de, p.Property_0_of_type_1_is_not_assignable_to_2_index_type_3, Bi(a), Hr(f), Hr(Y.keyType), Hr(Y.type));
              R && de !== R && Ws(Ge, Kr(R, p._0_is_declared_here, Bi(a))), Ia.add(Ge);
            }
          }
        }
        function Xlt(r, a) {
          const l = a.declaration, f = Lfe(r, a.keyType), d = Cn(r) & 2 ? jo(
            r.symbol,
            264
            /* InterfaceDeclaration */
          ) : void 0, y = l && O_(vn(l)) === r.symbol ? l : void 0;
          for (const x of f) {
            if (x === a) continue;
            const I = x.declaration && O_(vn(x.declaration)) === r.symbol ? x.declaration : void 0, R = y || I || (d && !at(fl(r), (J) => !!ph(J, a.keyType) && !!Zv(J, x.keyType)) ? d : void 0);
            R && !js(a.type, x.type) && Be(R, p._0_index_type_1_is_not_assignable_to_2_index_type_3, Hr(a.keyType), Hr(a.type), Hr(x.keyType), Hr(x.type));
          }
        }
        function vP(r, a) {
          switch (r.escapedText) {
            case "any":
            case "unknown":
            case "never":
            case "number":
            case "bigint":
            case "boolean":
            case "string":
            case "symbol":
            case "void":
            case "object":
            case "undefined":
              Be(r, a, r.escapedText);
          }
        }
        function Qlt(r) {
          j >= 1 && r.escapedText === "Object" && e.getEmitModuleFormatOfFile(Er(r)) < 5 && Be(r, p.Class_name_cannot_be_Object_when_targeting_ES5_with_module_0, TC[z]);
        }
        function Ylt(r) {
          const a = Tn(U1(r), Af);
          if (!Ar(a)) return;
          const l = tn(r), f = /* @__PURE__ */ new Set(), d = /* @__PURE__ */ new Set();
          if (ar(r.parameters, ({ name: x }, I) => {
            Fe(x) && f.add(x.escapedText), Ps(x) && d.add(I);
          }), Rfe(r)) {
            const x = a.length - 1, I = a[x];
            l && I && Fe(I.name) && I.typeExpression && I.typeExpression.type && !f.has(I.name.escapedText) && !d.has(x) && !gp(Ci(I.typeExpression.type)) && Be(I.name, p.JSDoc_param_tag_has_name_0_but_there_is_no_parameter_with_that_name_It_would_match_arguments_if_it_had_an_array_type, Pn(I.name));
          } else
            ar(a, ({ name: x, isNameFirst: I }, R) => {
              d.has(R) || Fe(x) && f.has(x.escapedText) || (Qu(x) ? l && Be(x, p.Qualified_name_0_is_not_allowed_without_a_leading_param_object_1, q_(x), q_(x.left)) : I || Pd(l, x, p.JSDoc_param_tag_has_name_0_but_there_is_no_parameter_with_that_name, Pn(x)));
            });
        }
        function cR(r) {
          let a = !1;
          if (r)
            for (let f = 0; f < r.length; f++) {
              const d = r[f];
              jIe(d), n(l(d, f));
            }
          function l(f, d) {
            return () => {
              f.default ? (a = !0, Zlt(f.default, r, d)) : a && Be(f, p.Required_type_parameters_may_not_follow_optional_type_parameters);
              for (let y = 0; y < d; y++)
                r[y].symbol === f.symbol && Be(f.name, p.Duplicate_identifier_0, _o(f.name));
            };
          }
        }
        function Zlt(r, a, l) {
          f(r);
          function f(d) {
            if (d.kind === 183) {
              const y = YG(d);
              if (y.flags & 262144)
                for (let x = l; x < a.length; x++)
                  y.symbol === vn(a[x]) && Be(d, p.Type_parameter_defaults_can_only_reference_previously_declared_type_parameters);
            }
            Ss(d, f);
          }
        }
        function y7e(r) {
          if (r.declarations && r.declarations.length === 1)
            return;
          const a = Ri(r);
          if (!a.typeParametersChecked) {
            a.typeParametersChecked = !0;
            const l = aut(r);
            if (!l || l.length <= 1)
              return;
            const f = wo(r);
            if (!v7e(l, f.localTypeParameters, Ly)) {
              const d = Bi(r);
              for (const y of l)
                Be(y.name, p.All_declarations_of_0_must_have_identical_type_parameters, d);
            }
          }
        }
        function v7e(r, a, l) {
          const f = Ar(a), d = yg(a);
          for (const y of r) {
            const x = l(y), I = x.length;
            if (I < d || I > f)
              return !1;
            for (let R = 0; R < I; R++) {
              const J = x[R], Y = a[R];
              if (J.name.escapedText !== Y.symbol.escapedName)
                return !1;
              const Te = PC(J), de = Te && Ci(Te), Ge = a_(Y);
              if (de && Ge && !gh(de, Ge))
                return !1;
              const ct = J.default && Ci(J.default), ht = M2(Y);
              if (ct && ht && !gh(ct, ht))
                return !1;
            }
          }
          return !0;
        }
        function b7e(r) {
          const a = !V && j < kl.ClassAndClassElementDecorators && b0(
            /*useLegacyDecorators*/
            !1,
            r
          ), l = j < kl.PrivateNamesAndClassStaticBlocks || j < kl.ClassAndClassElementDecorators, f = !W;
          if (a || l)
            for (const d of r.members) {
              if (a && gB(
                /*useLegacyDecorators*/
                !1,
                d,
                r
              ))
                return Xc(Fy(r)) ?? r;
              if (l) {
                if (hc(d))
                  return d;
                if (zs(d) && (Iu(d) || f && rA(d)))
                  return d;
              }
            }
        }
        function Klt(r) {
          if (r.name) return;
          const a = Xte(r);
          if (!FB(a)) return;
          const l = !V && j < kl.ClassAndClassElementDecorators;
          let f;
          l && b0(
            /*useLegacyDecorators*/
            !1,
            r
          ) ? f = Xc(Fy(r)) ?? r : f = b7e(r), f && (xl(
            f,
            4194304
            /* SetFunctionName */
          ), (tl(a) || is(a) || ya(a)) && ia(a.name) && xl(
            f,
            8388608
            /* PropKey */
          ));
        }
        function eut(r) {
          return S7e(r), pC(r), Klt(r), Qr(vn(r));
        }
        function tut(r) {
          ar(r.members, _a), R1(r);
        }
        function rut(r) {
          const a = Dn(r.modifiers, yl);
          V && a && at(r.members, (l) => sl(l) && Iu(l)) && mr(a, p.Class_decorators_can_t_be_used_with_static_private_identifier_Consider_removing_the_experimental_decorator), !r.name && !qn(
            r,
            2048
            /* Default */
          ) && Ml(r, p.A_class_declaration_without_the_default_modifier_must_have_a_name), S7e(r), ar(r.members, _a), R1(r);
        }
        function S7e(r) {
          j_t(r), rR(r), yP(r, r.name), cR(Ly(r)), CI(r);
          const a = vn(r), l = wo(a), f = uf(l), d = Qr(a);
          y7e(a), pX(a), dct(r), !!(r.flags & 33554432) || mct(r);
          const x = Zd(r);
          if (x) {
            ar(x.typeArguments, _a), j < kl.Classes && xl(
              x.parent,
              1
              /* Extends */
            );
            const J = Ib(r);
            J && J !== x && Hi(J.expression);
            const Y = fl(l);
            Y.length && n(() => {
              const Te = Y[0], de = Ja(l), Ge = Uu(de);
              if (iut(Ge, x), _a(x.expression), at(x.typeArguments)) {
                ar(x.typeArguments, _a);
                for (const ht of pi(Ge, x.typeArguments, x))
                  if (!qIe(x, ht.typeParameters))
                    break;
              }
              const ct = uf(Te, l.thisType);
              if (mu(
                f,
                ct,
                /*errorNode*/
                void 0
              ) ? mu(d, DNe(Ge), r.name || r, p.Class_static_side_0_incorrectly_extends_base_class_static_side_1) : k7e(r, f, ct, p.Class_0_incorrectly_extends_base_class_1), de.flags & 8650752 && (En(d) ? As(
                de,
                1
                /* Construct */
              ).some(
                (nr) => nr.flags & 4
                /* Abstract */
              ) && !qn(
                r,
                64
                /* Abstract */
              ) && Be(r.name || r, p.A_mixin_class_that_extends_from_a_type_variable_containing_an_abstract_construct_signature_must_also_be_declared_abstract) : Be(r.name || r, p.A_mixin_class_must_have_a_constructor_with_a_single_rest_parameter_of_type_any)), !(Ge.symbol && Ge.symbol.flags & 32) && !(de.flags & 8650752)) {
                const ht = Ra(Ge, x.typeArguments, x);
                ar(ht, (nr) => !jm(nr.declaration) && !gh(Va(nr), Te)) && Be(x.expression, p.Base_constructors_must_all_have_the_same_return_type);
              }
              out(l, Te);
            });
          }
          nut(r, l, f, d);
          const I = $C(r);
          if (I)
            for (const J of I)
              (!to(J.expression) || hu(J.expression)) && Be(J.expression, p.A_class_can_only_implement_an_identifier_Slashqualified_name_with_optional_type_arguments), dme(J), n(R(J));
          n(() => {
            SX(l, a), SX(
              d,
              a,
              /*isStaticIndex*/
              !0
            ), fme(r), uut(r);
          });
          function R(J) {
            return () => {
              const Y = sd(Ci(J));
              if (!Oe(Y))
                if (Yv(Y)) {
                  const Te = Y.symbol && Y.symbol.flags & 32 ? p.Class_0_incorrectly_implements_class_1_Did_you_mean_to_extend_1_and_inherit_its_members_as_a_subclass : p.Class_0_incorrectly_implements_interface_1, de = uf(Y, l.thisType);
                  mu(
                    f,
                    de,
                    /*errorNode*/
                    void 0
                  ) || k7e(r, f, de, Te);
                } else
                  Be(J, p.A_class_can_only_implement_an_object_type_or_intersection_of_object_types_with_statically_known_members);
            };
          }
        }
        function nut(r, a, l, f) {
          const y = Zd(r) && fl(a), x = y?.length ? uf(xa(y), a.thisType) : void 0, I = Ja(a);
          for (const R of r.members)
            QB(R) || (Xo(R) && ar(R.parameters, (J) => {
              U_(J, R) && T7e(
                r,
                f,
                I,
                x,
                a,
                l,
                J,
                /*memberIsParameterProperty*/
                !0
              );
            }), T7e(
              r,
              f,
              I,
              x,
              a,
              l,
              R,
              /*memberIsParameterProperty*/
              !1
            ));
        }
        function T7e(r, a, l, f, d, y, x, I, R = !0) {
          const J = x.name && vp(x.name) || vp(x);
          return J ? x7e(
            r,
            a,
            l,
            f,
            d,
            y,
            x5(x),
            Rb(x),
            zs(x),
            I,
            J,
            R ? x : void 0
          ) : 0;
        }
        function x7e(r, a, l, f, d, y, x, I, R, J, Y, Te) {
          const de = tn(r), Ge = !!(r.flags & 33554432);
          if (x && Y?.valueDeclaration && Jc(Y.valueDeclaration) && Y.valueDeclaration.name && zPe(Y.valueDeclaration.name))
            return Be(
              Te,
              de ? p.This_member_cannot_have_a_JSDoc_comment_with_an_override_tag_because_its_name_is_dynamic : p.This_member_cannot_have_an_override_modifier_because_its_name_is_dynamic
            ), 2;
          if (f && (x || F.noImplicitOverride)) {
            const ct = R ? a : y, ht = R ? l : f, nr = Zs(ct, Y.escapedName), Xt = Zs(ht, Y.escapedName), Gr = Hr(f);
            if (nr && !Xt && x) {
              if (Te) {
                const Jr = I8e(bc(Y), ht);
                Jr ? Be(
                  Te,
                  de ? p.This_member_cannot_have_a_JSDoc_comment_with_an_override_tag_because_it_is_not_declared_in_the_base_class_0_Did_you_mean_1 : p.This_member_cannot_have_an_override_modifier_because_it_is_not_declared_in_the_base_class_0_Did_you_mean_1,
                  Gr,
                  Bi(Jr)
                ) : Be(
                  Te,
                  de ? p.This_member_cannot_have_a_JSDoc_comment_with_an_override_tag_because_it_is_not_declared_in_the_base_class_0 : p.This_member_cannot_have_an_override_modifier_because_it_is_not_declared_in_the_base_class_0,
                  Gr
                );
              }
              return 2;
            } else if (nr && Xt?.declarations && F.noImplicitOverride && !Ge) {
              const Jr = at(Xt.declarations, Rb);
              if (x)
                return 0;
              if (Jr) {
                if (I && Jr)
                  return Te && Be(Te, p.This_member_must_have_an_override_modifier_because_it_overrides_an_abstract_method_that_is_declared_in_the_base_class_0, Gr), 1;
              } else {
                if (Te) {
                  const sr = J ? de ? p.This_parameter_property_must_have_a_JSDoc_comment_with_an_override_tag_because_it_overrides_a_member_in_the_base_class_0 : p.This_parameter_property_must_have_an_override_modifier_because_it_overrides_a_member_in_base_class_0 : de ? p.This_member_must_have_a_JSDoc_comment_with_an_override_tag_because_it_overrides_a_member_in_the_base_class_0 : p.This_member_must_have_an_override_modifier_because_it_overrides_a_member_in_the_base_class_0;
                  Be(Te, sr, Gr);
                }
                return 1;
              }
            }
          } else if (x) {
            if (Te) {
              const ct = Hr(d);
              Be(
                Te,
                de ? p.This_member_cannot_have_a_JSDoc_comment_with_an_override_tag_because_its_containing_class_0_does_not_extend_another_class : p.This_member_cannot_have_an_override_modifier_because_its_containing_class_0_does_not_extend_another_class,
                ct
              );
            }
            return 2;
          }
          return 0;
        }
        function k7e(r, a, l, f) {
          let d = !1;
          for (const y of r.members) {
            if (zs(y))
              continue;
            const x = y.name && vp(y.name) || vp(y);
            if (x) {
              const I = Zs(a, x.escapedName), R = Zs(l, x.escapedName);
              if (I && R) {
                const J = () => vs(
                  /*details*/
                  void 0,
                  p.Property_0_in_type_1_is_not_assignable_to_the_same_property_in_base_type_2,
                  Bi(x),
                  Hr(a),
                  Hr(l)
                );
                mu(
                  Qr(I),
                  Qr(R),
                  y.name || y,
                  /*headMessage*/
                  void 0,
                  J
                ) || (d = !0);
              }
            }
          }
          d || mu(a, l, r.name || r, f);
        }
        function iut(r, a) {
          const l = As(
            r,
            1
            /* Construct */
          );
          if (l.length) {
            const f = l[0].declaration;
            if (f && $_(
              f,
              2
              /* Private */
            )) {
              const d = Fh(r.symbol);
              Fme(a, d) || Be(a, p.Cannot_extend_a_class_0_Class_constructor_is_marked_as_private, Qh(r.symbol));
            }
          }
        }
        function sut(r, a, l) {
          if (!a.name)
            return 0;
          const f = vn(r), d = wo(f), y = uf(d), x = Qr(f), R = Zd(r) && fl(d), J = R?.length ? uf(xa(R), d.thisType) : void 0, Y = Ja(d), Te = a.parent ? x5(a) : qn(
            a,
            16
            /* Override */
          );
          return x7e(
            r,
            x,
            Y,
            J,
            d,
            y,
            Te,
            Rb(a),
            zs(a),
            /*memberIsParameterProperty*/
            !1,
            l
          );
        }
        function XE(r) {
          return lc(r) & 1 ? r.links.target : r;
        }
        function aut(r) {
          return Tn(
            r.declarations,
            (a) => a.kind === 263 || a.kind === 264
            /* InterfaceDeclaration */
          );
        }
        function out(r, a) {
          var l, f, d, y, x;
          const I = Ga(a), R = /* @__PURE__ */ new Map();
          e: for (const J of I) {
            const Y = XE(J);
            if (Y.flags & 4194304)
              continue;
            const Te = L2(r, Y.escapedName);
            if (!Te)
              continue;
            const de = XE(Te), Ge = np(Y);
            if (E.assert(!!de, "derived should point to something, even if it is the base class' declaration."), de === Y) {
              const ct = Fh(r.symbol);
              if (Ge & 64 && (!ct || !qn(
                ct,
                64
                /* Abstract */
              ))) {
                for (const Jr of fl(r)) {
                  if (Jr === a) continue;
                  const sr = L2(Jr, Y.escapedName), Yt = sr && XE(sr);
                  if (Yt && Yt !== Y)
                    continue e;
                }
                const ht = Hr(a), nr = Hr(r), Xt = Bi(J), Gr = Dr((l = R.get(ct)) == null ? void 0 : l.missedProperties, Xt);
                R.set(ct, { baseTypeName: ht, typeName: nr, missedProperties: Gr });
              }
            } else {
              const ct = np(de);
              if (Ge & 2 || ct & 2)
                continue;
              let ht;
              const nr = Y.flags & 98308, Xt = de.flags & 98308;
              if (nr && Xt) {
                if ((lc(Y) & 6 ? (f = Y.declarations) != null && f.some((sr) => C7e(sr, Ge)) : (d = Y.declarations) != null && d.every((sr) => C7e(sr, Ge))) || lc(Y) & 262144 || de.valueDeclaration && _n(de.valueDeclaration))
                  continue;
                const Gr = nr !== 4 && Xt === 4;
                if (Gr || nr === 4 && Xt !== 4) {
                  const sr = Gr ? p._0_is_defined_as_an_accessor_in_class_1_but_is_overridden_here_in_2_as_an_instance_property : p._0_is_defined_as_a_property_in_class_1_but_is_overridden_here_in_2_as_an_accessor;
                  Be(ls(de.valueDeclaration) || de.valueDeclaration, sr, Bi(Y), Hr(a), Hr(r));
                } else if (G) {
                  const sr = (y = de.declarations) == null ? void 0 : y.find((Yt) => Yt.kind === 172 && !Yt.initializer);
                  if (sr && !(de.flags & 33554432) && !(Ge & 64) && !(ct & 64) && !((x = de.declarations) != null && x.some((Yt) => !!(Yt.flags & 33554432)))) {
                    const Yt = gN(Fh(r.symbol)), un = sr.name;
                    if (sr.exclamationToken || !Yt || !Fe(un) || !K || !D7e(un, r, Yt)) {
                      const Bn = p.Property_0_will_overwrite_the_base_property_in_1_If_this_is_intentional_add_an_initializer_Otherwise_add_a_declare_modifier_or_remove_the_redundant_declaration;
                      Be(ls(de.valueDeclaration) || de.valueDeclaration, Bn, Bi(Y), Hr(a));
                    }
                  }
                }
                continue;
              } else if (Dde(Y)) {
                if (Dde(de) || de.flags & 4)
                  continue;
                E.assert(!!(de.flags & 98304)), ht = p.Class_0_defines_instance_member_function_1_but_extended_class_2_defines_it_as_instance_member_accessor;
              } else Y.flags & 98304 ? ht = p.Class_0_defines_instance_member_accessor_1_but_extended_class_2_defines_it_as_instance_member_function : ht = p.Class_0_defines_instance_member_property_1_but_extended_class_2_defines_it_as_instance_member_function;
              Be(ls(de.valueDeclaration) || de.valueDeclaration, ht, Hr(a), Bi(Y), Hr(r));
            }
          }
          for (const [J, Y] of R)
            if (Ar(Y.missedProperties) === 1)
              Kc(J) ? Be(J, p.Non_abstract_class_expression_does_not_implement_inherited_abstract_member_0_from_class_1, xa(Y.missedProperties), Y.baseTypeName) : Be(J, p.Non_abstract_class_0_does_not_implement_inherited_abstract_member_1_from_class_2, Y.typeName, xa(Y.missedProperties), Y.baseTypeName);
            else if (Ar(Y.missedProperties) > 5) {
              const Te = fr(Y.missedProperties.slice(0, 4), (Ge) => `'${Ge}'`).join(", "), de = Ar(Y.missedProperties) - 4;
              Kc(J) ? Be(J, p.Non_abstract_class_expression_is_missing_implementations_for_the_following_members_of_0_Colon_1_and_2_more, Y.baseTypeName, Te, de) : Be(J, p.Non_abstract_class_0_is_missing_implementations_for_the_following_members_of_1_Colon_2_and_3_more, Y.typeName, Y.baseTypeName, Te, de);
            } else {
              const Te = fr(Y.missedProperties, (de) => `'${de}'`).join(", ");
              Kc(J) ? Be(J, p.Non_abstract_class_expression_is_missing_implementations_for_the_following_members_of_0_Colon_1, Y.baseTypeName, Te) : Be(J, p.Non_abstract_class_0_is_missing_implementations_for_the_following_members_of_1_Colon_2, Y.typeName, Y.baseTypeName, Te);
            }
        }
        function C7e(r, a) {
          return a & 64 && (!is(r) || !r.initializer) || Yl(r.parent);
        }
        function cut(r, a, l) {
          if (!Ar(a))
            return l;
          const f = /* @__PURE__ */ new Map();
          ar(l, (d) => {
            f.set(d.escapedName, d);
          });
          for (const d of a) {
            const y = Ga(uf(d, r.thisType));
            for (const x of y) {
              const I = f.get(x.escapedName);
              I && x.parent === I.parent && f.delete(x.escapedName);
            }
          }
          return rs(f.values());
        }
        function lut(r, a) {
          const l = fl(r);
          if (l.length < 2)
            return !0;
          const f = /* @__PURE__ */ new Map();
          ar(bfe(r).declaredProperties, (y) => {
            f.set(y.escapedName, { prop: y, containingType: r });
          });
          let d = !0;
          for (const y of l) {
            const x = Ga(uf(y, r.thisType));
            for (const I of x) {
              const R = f.get(I.escapedName);
              if (!R)
                f.set(I.escapedName, { prop: I, containingType: y });
              else if (R.containingType !== r && !lnt(R.prop, I)) {
                d = !1;
                const Y = Hr(R.containingType), Te = Hr(y);
                let de = vs(
                  /*details*/
                  void 0,
                  p.Named_property_0_of_types_1_and_2_are_not_identical,
                  Bi(I),
                  Y,
                  Te
                );
                de = vs(de, p.Interface_0_cannot_simultaneously_extend_types_1_and_2, Hr(r), Y, Te), Ia.add(Lg(Er(a), a, de));
              }
            }
          }
          return d;
        }
        function uut(r) {
          if (!K || !te || r.flags & 33554432)
            return;
          const a = gN(r);
          for (const l of r.members)
            if (!(Lu(l) & 128) && !zs(l) && E7e(l)) {
              const f = l.name;
              if (Fe(f) || Di(f) || ia(f)) {
                const d = Qr(vn(l));
                d.flags & 3 || BE(d) || (!a || !D7e(f, d, a)) && Be(l.name, p.Property_0_has_no_initializer_and_is_not_definitely_assigned_in_the_constructor, _o(f));
              }
            }
        }
        function E7e(r) {
          return r.kind === 172 && !Rb(r) && !r.exclamationToken && !r.initializer;
        }
        function _ut(r, a, l, f, d) {
          for (const y of l)
            if (y.pos >= f && y.pos <= d) {
              const x = N.createPropertyAccessExpression(N.createThis(), r);
              Wa(x.expression, x), Wa(x, y), x.flowNode = y.returnFlowNode;
              const I = l0(x, a, L1(a));
              if (!BE(I))
                return !0;
            }
          return !1;
        }
        function D7e(r, a, l) {
          const f = ia(r) ? N.createElementAccessExpression(N.createThis(), r.expression) : N.createPropertyAccessExpression(N.createThis(), r);
          Wa(f.expression, f), Wa(f, l), f.flowNode = l.returnFlowNode;
          const d = l0(f, a, L1(a));
          return !BE(d);
        }
        function fut(r) {
          yh(r) || q_t(r), OX(r.parent) || mr(r, p._0_declarations_can_only_be_declared_inside_a_block, "interface"), cR(r.typeParameters), n(() => {
            vP(r.name, p.Interface_name_cannot_be_0), CI(r);
            const a = vn(r);
            y7e(a);
            const l = jo(
              a,
              264
              /* InterfaceDeclaration */
            );
            if (r === l) {
              const f = wo(a), d = uf(f);
              if (lut(f, r.name)) {
                for (const y of fl(f))
                  mu(d, uf(y, f.thisType), r.name, p.Interface_0_incorrectly_extends_interface_1);
                SX(f, a);
              }
            }
            zIe(r);
          }), ar(G4(r), (a) => {
            (!to(a.expression) || hu(a.expression)) && Be(a.expression, p.An_interface_can_only_extend_an_identifier_Slashqualified_name_with_optional_type_arguments), dme(a);
          }), ar(r.members, _a), n(() => {
            fme(r), R1(r);
          });
        }
        function put(r) {
          if (yh(r), vP(r.name, p.Type_alias_name_cannot_be_0), OX(r.parent) || mr(r, p._0_declarations_can_only_be_declared_inside_a_block, "type"), CI(r), cR(r.typeParameters), r.type.kind === 141) {
            const a = Ar(r.typeParameters);
            (a === 0 ? r.name.escapedText === "BuiltinIteratorReturn" : a === 1 && TW.has(r.name.escapedText)) || Be(r.type, p.The_intrinsic_keyword_can_only_be_used_to_declare_compiler_provided_intrinsic_types);
          } else
            _a(r.type), R1(r);
        }
        function w7e(r) {
          const a = yn(r);
          if (!(a.flags & 1024)) {
            a.flags |= 1024;
            let l = 0, f;
            for (const d of r.members) {
              const y = dut(d, l, f);
              yn(d).enumMemberValue = y, l = typeof y.value == "number" ? y.value + 1 : void 0, f = d;
            }
          }
        }
        function dut(r, a, l) {
          if (u3(r.name))
            Be(r.name, p.Computed_property_names_are_not_allowed_in_enums);
          else {
            const f = ux(r.name);
            Ug(f) && !yD(f) && Be(r.name, p.An_enum_member_cannot_have_a_numeric_name);
          }
          if (r.initializer)
            return mut(r);
          if (r.parent.flags & 33554432 && !H1(r.parent))
            return hl(
              /*value*/
              void 0
            );
          if (a === void 0)
            return Be(r.name, p.Enum_member_must_have_initializer), hl(
              /*value*/
              void 0
            );
          if (Np(F) && l?.initializer) {
            const f = JT(l);
            typeof f.value == "number" && !f.resolvedOtherFiles || Be(
              r.name,
              p.Enum_member_following_a_non_literal_numeric_member_must_have_an_initializer_when_isolatedModules_is_enabled
            );
          }
          return hl(a);
        }
        function mut(r) {
          const a = H1(r.parent), l = r.initializer, f = Xe(l, r);
          return f.value !== void 0 ? a && typeof f.value == "number" && !isFinite(f.value) ? Be(
            l,
            isNaN(f.value) ? p.const_enum_member_initializer_was_evaluated_to_disallowed_value_NaN : p.const_enum_member_initializer_was_evaluated_to_a_non_finite_value
          ) : Np(F) && typeof f.value == "string" && !f.isSyntacticallyString && Be(
            l,
            p._0_has_a_string_type_but_must_have_syntactically_recognizable_string_syntax_when_isolatedModules_is_enabled,
            `${Pn(r.parent.name)}.${ux(r.name)}`
          ) : a ? Be(l, p.const_enum_member_initializers_must_be_constant_expressions) : r.parent.flags & 33554432 ? Be(l, p.In_ambient_enum_declarations_member_initializer_must_be_constant_expression) : mu(Hi(l), At, l, p.Type_0_is_not_assignable_to_type_1_as_required_for_computed_enum_member_values), f;
        }
        function P7e(r, a) {
          const l = mc(
            r,
            111551,
            /*ignoreErrors*/
            !0
          );
          if (!l) return hl(
            /*value*/
            void 0
          );
          if (r.kind === 80) {
            const f = r;
            if (yD(f.escapedText) && l === RE(
              f.escapedText,
              111551,
              /*diagnostic*/
              void 0
            ))
              return hl(
                +f.escapedText,
                /*isSyntacticallyString*/
                !1
              );
          }
          if (l.flags & 8)
            return a ? N7e(r, l, a) : JT(l.valueDeclaration);
          if (cC(l)) {
            const f = l.valueDeclaration;
            if (f && Zn(f) && !f.type && f.initializer && (!a || f !== a && km(f, a))) {
              const d = Xe(f.initializer, f);
              return a && Er(a) !== Er(f) ? hl(
                d.value,
                /*isSyntacticallyString*/
                !1,
                /*resolvedOtherFiles*/
                !0,
                /*hasExternalReferences*/
                !0
              ) : hl(
                d.value,
                d.isSyntacticallyString,
                d.resolvedOtherFiles,
                /*hasExternalReferences*/
                !0
              );
            }
          }
          return hl(
            /*value*/
            void 0
          );
        }
        function gut(r, a) {
          const l = r.expression;
          if (to(l) && Ba(r.argumentExpression)) {
            const f = mc(
              l,
              111551,
              /*ignoreErrors*/
              !0
            );
            if (f && f.flags & 384) {
              const d = ec(r.argumentExpression.text), y = f.exports.get(d);
              if (y)
                return E.assert(Er(y.valueDeclaration) === Er(f.valueDeclaration)), a ? N7e(r, y, a) : JT(y.valueDeclaration);
            }
          }
          return hl(
            /*value*/
            void 0
          );
        }
        function N7e(r, a, l) {
          const f = a.valueDeclaration;
          if (!f || f === l)
            return Be(r, p.Property_0_is_used_before_being_assigned, Bi(a)), hl(
              /*value*/
              void 0
            );
          if (!km(f, l))
            return Be(r, p.A_member_initializer_in_a_enum_declaration_cannot_reference_members_declared_after_it_including_members_defined_in_other_enums), hl(
              /*value*/
              0
            );
          const d = JT(f);
          return l.parent !== f.parent ? hl(
            d.value,
            d.isSyntacticallyString,
            d.resolvedOtherFiles,
            /*hasExternalReferences*/
            !0
          ) : d;
        }
        function hut(r) {
          n(() => yut(r));
        }
        function yut(r) {
          yh(r), yP(r, r.name), CI(r), r.members.forEach(vut), F.erasableSyntaxOnly && !(r.flags & 33554432) && Be(r, p.This_syntax_is_not_allowed_when_erasableSyntaxOnly_is_enabled), w7e(r);
          const a = vn(r), l = jo(a, r.kind);
          if (r === l) {
            if (a.declarations && a.declarations.length > 1) {
              const d = H1(r);
              ar(a.declarations, (y) => {
                Gb(y) && H1(y) !== d && Be(ls(y), p.Enum_declarations_must_all_be_const_or_non_const);
              });
            }
            let f = !1;
            ar(a.declarations, (d) => {
              if (d.kind !== 266)
                return !1;
              const y = d;
              if (!y.members.length)
                return !1;
              const x = y.members[0];
              x.initializer || (f ? Be(x.name, p.In_an_enum_with_multiple_declarations_only_one_declaration_can_omit_an_initializer_for_its_first_enum_element) : f = !0);
            });
          }
        }
        function vut(r) {
          Di(r.name) && Be(r, p.An_enum_member_cannot_be_named_with_a_private_identifier), r.initializer && Hi(r.initializer);
        }
        function but(r) {
          const a = r.declarations;
          if (a) {
            for (const l of a)
              if ((l.kind === 263 || l.kind === 262 && Cp(l.body)) && !(l.flags & 33554432))
                return l;
          }
        }
        function Sut(r, a) {
          const l = pd(r), f = pd(a);
          return v0(l) ? v0(f) : v0(f) ? !1 : l === f;
        }
        function Tut(r) {
          r.body && (_a(r.body), $m(r) || R1(r)), n(a);
          function a() {
            var l, f;
            const d = $m(r), y = r.flags & 33554432;
            d && !y && Be(r.name, p.Augmentations_for_the_global_scope_should_have_declare_modifier_unless_they_appear_in_already_ambient_context);
            const x = Fu(r), I = x ? p.An_ambient_module_declaration_is_only_allowed_at_the_top_level_in_a_file : p.A_namespace_declaration_is_only_allowed_at_the_top_level_of_a_namespace_or_module;
            if (lR(r, I))
              return;
            if (yh(r) || !y && r.name.kind === 11 && mr(r.name, p.Only_ambient_modules_can_use_quoted_names), Fe(r.name) && (yP(r, r.name), !(r.flags & 2080))) {
              const J = Er(r), Y = BZ(r), Te = Xd(J, Y);
              Av.add(
                al(J, Te.start, Te.length, p.A_namespace_declaration_should_not_be_declared_using_the_module_keyword_Please_use_the_namespace_keyword_instead)
              );
            }
            CI(r);
            const R = vn(r);
            if (R.flags & 512 && !y && xW(r, Yy(F))) {
              if (F.erasableSyntaxOnly && Be(r.name, p.This_syntax_is_not_allowed_when_erasableSyntaxOnly_is_enabled), Np(F) && !Er(r).externalModuleIndicator && Be(r.name, p.Namespaces_are_not_allowed_in_global_script_files_when_0_is_enabled_If_this_file_is_not_intended_to_be_a_global_script_set_moduleDetection_to_force_or_add_an_empty_export_statement, Ee), ((l = R.declarations) == null ? void 0 : l.length) > 1) {
                const J = but(R);
                J && (Er(r) !== Er(J) ? Be(r.name, p.A_namespace_declaration_cannot_be_in_a_different_file_from_a_class_or_function_with_which_it_is_merged) : r.pos < J.pos && Be(r.name, p.A_namespace_declaration_cannot_be_located_prior_to_a_class_or_function_with_which_it_is_merged));
                const Y = jo(
                  R,
                  263
                  /* ClassDeclaration */
                );
                Y && Sut(r, Y) && (yn(r).flags |= 2048);
              }
              if (F.verbatimModuleSyntax && r.parent.kind === 307 && e.getEmitModuleFormatOfFile(r.parent) === 1) {
                const J = (f = r.modifiers) == null ? void 0 : f.find(
                  (Y) => Y.kind === 95
                  /* ExportKeyword */
                );
                J && Be(J, p.A_top_level_export_modifier_cannot_be_used_on_value_declarations_in_a_CommonJS_module_when_verbatimModuleSyntax_is_enabled);
              }
            }
            if (x)
              if (Cb(r)) {
                if ((d || vn(r).flags & 33554432) && r.body)
                  for (const Y of r.body.statements)
                    wme(Y, d);
              } else v0(r.parent) ? d ? Be(r.name, p.Augmentations_for_the_global_scope_can_only_be_directly_nested_in_external_modules_or_ambient_module_declarations) : Cl(ep(r.name)) && Be(r.name, p.Ambient_module_declaration_cannot_specify_relative_module_name) : d ? Be(r.name, p.Augmentations_for_the_global_scope_can_only_be_directly_nested_in_external_modules_or_ambient_module_declarations) : Be(r.name, p.Ambient_modules_cannot_be_nested_in_other_modules_or_namespaces);
          }
        }
        function wme(r, a) {
          switch (r.kind) {
            case 243:
              for (const f of r.declarationList.declarations)
                wme(f, a);
              break;
            case 277:
            case 278:
              Ml(r, p.Exports_and_export_assignments_are_not_permitted_in_module_augmentations);
              break;
            case 271:
              if (mS(r)) break;
            // falls through
            case 272:
              Ml(r, p.Imports_are_not_permitted_in_module_augmentations_Consider_moving_them_to_the_enclosing_external_module);
              break;
            case 208:
            case 260:
              const l = r.name;
              if (Ps(l)) {
                for (const f of l.elements)
                  wme(f, a);
                break;
              }
            // falls through
            case 263:
            case 266:
            case 262:
            case 264:
            case 267:
            case 265:
              if (a)
                return;
              break;
          }
        }
        function xut(r) {
          switch (r.kind) {
            case 80:
              return r;
            case 166:
              do
                r = r.left;
              while (r.kind !== 80);
              return r;
            case 211:
              do {
                if (Rg(r.expression) && !Di(r.name))
                  return r.name;
                r = r.expression;
              } while (r.kind !== 80);
              return r;
          }
        }
        function TX(r) {
          const a = px(r);
          if (!a || cc(a))
            return !1;
          if (!la(a))
            return Be(a, p.String_literal_expected), !1;
          const l = r.parent.kind === 268 && Fu(r.parent.parent);
          if (r.parent.kind !== 307 && !l)
            return Be(
              a,
              r.kind === 278 ? p.Export_declarations_are_not_permitted_in_a_namespace : p.Import_declarations_in_a_namespace_cannot_reference_a_module
            ), !1;
          if (l && Cl(a.text) && !L8(r))
            return Be(r, p.Import_or_export_declaration_in_an_ambient_module_declaration_cannot_reference_module_through_relative_module_name), !1;
          if (!bl(r) && r.attributes) {
            const f = r.attributes.token === 118 ? p.Import_attribute_values_must_be_string_literal_expressions : p.Import_assertion_values_must_be_string_literal_expressions;
            let d = !1;
            for (const y of r.attributes.elements)
              la(y.value) || (d = !0, Be(y.value, f));
            return !d;
          }
          return !0;
        }
        function xX(r, a = !0) {
          r === void 0 || r.kind !== 11 || (a ? (z === 5 || z === 6) && mr(r, p.String_literal_import_and_export_names_are_not_supported_when_the_module_flag_is_set_to_es2015_or_es2020) : mr(r, p.Identifier_expected));
        }
        function kX(r) {
          var a, l, f, d;
          let y = vn(r);
          const x = Uc(y);
          if (x !== Q) {
            if (y = La(y.exportSymbol || y), tn(r) && !(x.flags & 111551) && !h0(r)) {
              const J = Ry(r) ? r.propertyName || r.name : El(r) ? r.name : r;
              if (E.assert(
                r.kind !== 280
                /* NamespaceExport */
              ), r.kind === 281) {
                const Y = Be(J, p.Types_cannot_appear_in_export_declarations_in_JavaScript_files), Te = (l = (a = Er(r).symbol) == null ? void 0 : a.exports) == null ? void 0 : l.get(kb(r.propertyName || r.name));
                if (Te === x) {
                  const de = (f = Te.declarations) == null ? void 0 : f.find(FC);
                  de && Ws(
                    Y,
                    Kr(
                      de,
                      p._0_is_automatically_exported_here,
                      Ei(Te.escapedName)
                    )
                  );
                }
              } else {
                E.assert(
                  r.kind !== 260
                  /* VariableDeclaration */
                );
                const Y = _r(r, z_(Uo, bl)), Te = (Y && ((d = fx(Y)) == null ? void 0 : d.text)) ?? "...", de = Ei(Fe(J) ? J.escapedText : y.escapedName);
                Be(
                  J,
                  p._0_is_a_type_and_cannot_be_imported_in_JavaScript_files_Use_1_in_a_JSDoc_type_annotation,
                  de,
                  `import("${Te}").${de}`
                );
              }
              return;
            }
            const I = cf(x), R = (y.flags & 1160127 ? 111551 : 0) | (y.flags & 788968 ? 788968 : 0) | (y.flags & 1920 ? 1920 : 0);
            if (I & R) {
              const J = r.kind === 281 ? p.Export_declaration_conflicts_with_exported_declaration_of_0 : p.Import_declaration_conflicts_with_local_declaration_of_0;
              Be(r, J, Bi(y));
            } else r.kind !== 281 && F.isolatedModules && !_r(r, h0) && y.flags & 1160127 && Be(
              r,
              p.Import_0_conflicts_with_local_value_so_must_be_declared_with_a_type_only_import_when_isolatedModules_is_enabled,
              Bi(y),
              Ee
            );
            if (Np(F) && !h0(r) && !(r.flags & 33554432)) {
              const J = Id(y), Y = !(I & 111551);
              if (Y || J)
                switch (r.kind) {
                  case 273:
                  case 276:
                  case 271: {
                    if (F.verbatimModuleSyntax) {
                      E.assertIsDefined(r.name, "An ImportClause with a symbol should have a name");
                      const Te = F.verbatimModuleSyntax && mS(r) ? p.An_import_alias_cannot_resolve_to_a_type_or_type_only_declaration_when_verbatimModuleSyntax_is_enabled : Y ? p._0_is_a_type_and_must_be_imported_using_a_type_only_import_when_verbatimModuleSyntax_is_enabled : p._0_resolves_to_a_type_only_declaration_and_must_be_imported_using_a_type_only_import_when_verbatimModuleSyntax_is_enabled, de = Uy(r.kind === 276 && r.propertyName || r.name);
                      T1(
                        Be(r, Te, de),
                        Y ? void 0 : J,
                        de
                      );
                    }
                    Y && r.kind === 271 && $_(
                      r,
                      32
                      /* Export */
                    ) && Be(r, p.Cannot_use_export_import_on_a_type_or_type_only_namespace_when_0_is_enabled, Ee);
                    break;
                  }
                  case 281:
                    if (F.verbatimModuleSyntax || Er(J) !== Er(r)) {
                      const Te = Uy(r.propertyName || r.name), de = Y ? Be(r, p.Re_exporting_a_type_when_0_is_enabled_requires_using_export_type, Ee) : Be(r, p._0_resolves_to_a_type_only_declaration_and_must_be_re_exported_using_a_type_only_re_export_when_1_is_enabled, Te, Ee);
                      T1(de, Y ? void 0 : J, Te);
                      break;
                    }
                }
              if (F.verbatimModuleSyntax && r.kind !== 271 && !tn(r) && e.getEmitModuleFormatOfFile(Er(r)) === 1 ? Be(r, p.ESM_syntax_is_not_allowed_in_a_CommonJS_module_when_verbatimModuleSyntax_is_enabled) : z === 200 && r.kind !== 271 && r.kind !== 260 && e.getEmitModuleFormatOfFile(Er(r)) === 1 && Be(r, p.ESM_syntax_is_not_allowed_in_a_CommonJS_module_when_module_is_set_to_preserve), F.verbatimModuleSyntax && !h0(r) && !(r.flags & 33554432) && I & 128) {
                const Te = x.valueDeclaration, de = e.getRedirectReferenceForResolutionFromSourceOfProject(Er(Te).resolvedPath);
                Te.flags & 33554432 && (!de || !Yy(de.commandLine.options)) && Be(r, p.Cannot_access_ambient_const_enums_when_0_is_enabled, Ee);
              }
            }
            if (Bu(r)) {
              const J = Pme(y, r);
              X0(J) && J.declarations && cg(r, J.declarations, J.escapedName);
            }
          }
        }
        function Pme(r, a) {
          if (!(r.flags & 2097152) || X0(r) || !zf(r))
            return r;
          const l = Uc(r);
          if (l === Q) return l;
          for (; r.flags & 2097152; ) {
            const f = U$(r);
            if (f) {
              if (f === l) break;
              if (f.declarations && Ar(f.declarations))
                if (X0(f)) {
                  cg(a, f.declarations, f.escapedName);
                  break;
                } else {
                  if (r === l) break;
                  r = f;
                }
            } else
              break;
          }
          return l;
        }
        function CX(r) {
          yP(r, r.name), kX(r), r.kind === 276 && (xX(r.propertyName), Gm(r.propertyName || r.name) && zg(F) && e.getEmitModuleFormatOfFile(Er(r)) < 4 && xl(
            r,
            131072
            /* ImportDefault */
          ));
        }
        function Nme(r) {
          var a;
          const l = r.attributes;
          if (l) {
            const f = Hfe(
              /*reportErrors*/
              !0
            );
            f !== Pa && mu(Ld(l), SM(
              f,
              32768
              /* Undefined */
            ), l);
            const d = aV(r), y = R6(l, d ? mr : void 0), x = r.attributes.token === 118;
            if (d && y)
              return;
            if (!yee(z))
              return mr(
                l,
                x ? p.Import_attributes_are_only_supported_when_the_module_option_is_set_to_esnext_node18_nodenext_or_preserve : p.Import_assertions_are_only_supported_when_the_module_option_is_set_to_esnext_node18_nodenext_or_preserve
              );
            if (z === 199 && !x)
              return Ml(l, p.Import_assertions_have_been_replaced_by_import_attributes_Use_with_instead_of_assert);
            if (r.moduleSpecifier && K0(r.moduleSpecifier) === 1)
              return mr(
                l,
                x ? p.Import_attributes_are_not_allowed_on_statements_that_compile_to_CommonJS_require_calls : p.Import_assertions_are_not_allowed_on_statements_that_compile_to_CommonJS_require_calls
              );
            if (_m(r) || (Uo(r) ? (a = r.importClause) == null ? void 0 : a.isTypeOnly : r.isTypeOnly))
              return mr(l, x ? p.Import_attributes_cannot_be_used_with_type_only_imports_or_exports : p.Import_assertions_cannot_be_used_with_type_only_imports_or_exports);
            if (y)
              return mr(l, p.resolution_mode_can_only_be_set_for_type_only_imports);
          }
        }
        function kut(r) {
          return qu(gc(r.value));
        }
        function Cut(r) {
          if (!lR(r, tn(r) ? p.An_import_declaration_can_only_be_used_at_the_top_level_of_a_module : p.An_import_declaration_can_only_be_used_at_the_top_level_of_a_namespace_or_module)) {
            if (!yh(r) && r.modifiers && Ml(r, p.An_import_declaration_cannot_have_modifiers), TX(r)) {
              let a;
              const l = r.importClause;
              l && !mft(l) ? (l.name && CX(l), l.namedBindings && (l.namedBindings.kind === 274 ? (CX(l.namedBindings), e.getEmitModuleFormatOfFile(Er(r)) < 4 && zg(F) && xl(
                r,
                65536
                /* ImportStar */
              )) : (a = Vu(r, r.moduleSpecifier), a && ar(l.namedBindings.elements, CX))), !l.isTypeOnly && 101 <= z && z <= 199 && oh(r.moduleSpecifier, a) && !Eut(r) && Be(r.moduleSpecifier, p.Importing_a_JSON_file_into_an_ECMAScript_module_requires_a_type_Colon_json_import_attribute_when_module_is_set_to_0, TC[z])) : Me && !l && Vu(r, r.moduleSpecifier);
            }
            Nme(r);
          }
        }
        function Eut(r) {
          return !!r.attributes && r.attributes.elements.some((a) => {
            var l;
            return ep(a.name) === "type" && ((l = Mn(a.value, Ba)) == null ? void 0 : l.text) === "json";
          });
        }
        function Dut(r) {
          if (!lR(r, tn(r) ? p.An_import_declaration_can_only_be_used_at_the_top_level_of_a_module : p.An_import_declaration_can_only_be_used_at_the_top_level_of_a_namespace_or_module) && (yh(r), F.erasableSyntaxOnly && !(r.flags & 33554432) && Be(r, p.This_syntax_is_not_allowed_when_erasableSyntaxOnly_is_enabled), mS(r) || TX(r)))
            if (CX(r), lC(
              r,
              6
              /* ExportImportEquals */
            ), r.moduleReference.kind !== 283) {
              const a = Uc(vn(r));
              if (a !== Q) {
                const l = cf(a);
                if (l & 111551) {
                  const f = Xu(r.moduleReference);
                  mc(
                    f,
                    112575
                    /* Namespace */
                  ).flags & 1920 || Be(f, p.Module_0_is_hidden_by_a_local_declaration_with_the_same_name, _o(f));
                }
                l & 788968 && vP(r.name, p.Import_name_cannot_be_0);
              }
              r.isTypeOnly && mr(r, p.An_import_alias_cannot_use_import_type);
            } else
              5 <= z && z <= 99 && !r.isTypeOnly && !(r.flags & 33554432) && mr(r, p.Import_assignment_cannot_be_used_when_targeting_ECMAScript_modules_Consider_using_import_Asterisk_as_ns_from_mod_import_a_from_mod_import_d_from_mod_or_another_module_format_instead);
        }
        function wut(r) {
          if (!lR(r, tn(r) ? p.An_export_declaration_can_only_be_used_at_the_top_level_of_a_module : p.An_export_declaration_can_only_be_used_at_the_top_level_of_a_namespace_or_module)) {
            if (!yh(r) && WK(r) && Ml(r, p.An_export_declaration_cannot_have_modifiers), Put(r), !r.moduleSpecifier || TX(r))
              if (r.exportClause && !Zm(r.exportClause)) {
                ar(r.exportClause.elements, Nut);
                const a = r.parent.kind === 268 && Fu(r.parent.parent), l = !a && r.parent.kind === 268 && !r.moduleSpecifier && r.flags & 33554432;
                r.parent.kind !== 307 && !a && !l && Be(r, p.Export_declarations_are_not_permitted_in_a_namespace);
              } else {
                const a = Vu(r, r.moduleSpecifier);
                a && Bv(a) ? Be(r.moduleSpecifier, p.Module_0_uses_export_and_cannot_be_used_with_export_Asterisk, Bi(a)) : r.exportClause && (kX(r.exportClause), xX(r.exportClause.name)), e.getEmitModuleFormatOfFile(Er(r)) < 4 && (r.exportClause ? zg(F) && xl(
                  r,
                  65536
                  /* ImportStar */
                ) : xl(
                  r,
                  32768
                  /* ExportStar */
                ));
              }
            Nme(r);
          }
        }
        function Put(r) {
          var a;
          return r.isTypeOnly && ((a = r.exportClause) == null ? void 0 : a.kind) === 279 ? _5e(r.exportClause) : !1;
        }
        function lR(r, a) {
          const l = r.parent.kind === 307 || r.parent.kind === 268 || r.parent.kind === 267;
          return l || Ml(r, a), !l;
        }
        function Nut(r) {
          kX(r);
          const a = r.parent.parent.moduleSpecifier !== void 0;
          if (xX(r.propertyName, a), xX(r.name), w_(F) && $v(
            r.propertyName || r.name,
            /*setVisibility*/
            !0
          ), a)
            zg(F) && e.getEmitModuleFormatOfFile(Er(r)) < 4 && Gm(r.propertyName || r.name) && xl(
              r,
              131072
              /* ImportDefault */
            );
          else {
            const l = r.propertyName || r.name;
            if (l.kind === 11)
              return;
            const f = it(
              l,
              l.escapedText,
              2998271,
              /*nameNotFoundMessage*/
              void 0,
              /*isUse*/
              !0
            );
            f && (f === oe || f === ve || f.declarations && v0(Xv(f.declarations[0]))) ? Be(l, p.Cannot_export_0_Only_local_declarations_can_be_exported_from_a_module, Pn(l)) : lC(
              r,
              7
              /* ExportSpecifier */
            );
          }
        }
        function Aut(r) {
          const a = r.isExportEquals ? p.An_export_assignment_must_be_at_the_top_level_of_a_file_or_module_declaration : p.A_default_export_must_be_at_the_top_level_of_a_file_or_module_declaration;
          if (lR(r, a))
            return;
          F.erasableSyntaxOnly && r.isExportEquals && !(r.flags & 33554432) && Be(r, p.This_syntax_is_not_allowed_when_erasableSyntaxOnly_is_enabled);
          const l = r.parent.kind === 307 ? r.parent : r.parent.parent;
          if (l.kind === 267 && !Fu(l)) {
            r.isExportEquals ? Be(r, p.An_export_assignment_cannot_be_used_in_a_namespace) : Be(r, p.A_default_export_can_only_be_used_in_an_ECMAScript_style_module);
            return;
          }
          !yh(r) && XB(r) && Ml(r, p.An_export_assignment_cannot_have_modifiers);
          const f = Yc(r);
          f && mu(gc(r.expression), Ci(f), r.expression);
          const d = !r.isExportEquals && !(r.flags & 33554432) && F.verbatimModuleSyntax && e.getEmitModuleFormatOfFile(Er(r)) === 1;
          if (r.expression.kind === 80) {
            const y = r.expression, x = L_(mc(
              y,
              -1,
              /*ignoreErrors*/
              !0,
              /*dontResolveAlias*/
              !0,
              r
            ));
            if (x) {
              lC(
                r,
                3
                /* ExportAssignment */
              );
              const I = Id(
                x,
                111551
                /* Value */
              );
              if (cf(x) & 111551 ? (gc(y), !d && !(r.flags & 33554432) && F.verbatimModuleSyntax && I && Be(
                y,
                r.isExportEquals ? p.An_export_declaration_must_reference_a_real_value_when_verbatimModuleSyntax_is_enabled_but_0_resolves_to_a_type_only_declaration : p.An_export_default_must_reference_a_real_value_when_verbatimModuleSyntax_is_enabled_but_0_resolves_to_a_type_only_declaration,
                Pn(y)
              )) : !d && !(r.flags & 33554432) && F.verbatimModuleSyntax && Be(
                y,
                r.isExportEquals ? p.An_export_declaration_must_reference_a_value_when_verbatimModuleSyntax_is_enabled_but_0_only_refers_to_a_type : p.An_export_default_must_reference_a_value_when_verbatimModuleSyntax_is_enabled_but_0_only_refers_to_a_type,
                Pn(y)
              ), !d && !(r.flags & 33554432) && Np(F) && !(x.flags & 111551)) {
                const R = cf(
                  x,
                  /*excludeTypeOnlyMeanings*/
                  !1,
                  /*excludeLocalMeanings*/
                  !0
                );
                x.flags & 2097152 && R & 788968 && !(R & 111551) && (!I || Er(I) !== Er(r)) ? Be(
                  y,
                  r.isExportEquals ? p._0_resolves_to_a_type_and_must_be_marked_type_only_in_this_file_before_re_exporting_when_1_is_enabled_Consider_using_import_type_where_0_is_imported : p._0_resolves_to_a_type_and_must_be_marked_type_only_in_this_file_before_re_exporting_when_1_is_enabled_Consider_using_export_type_0_as_default,
                  Pn(y),
                  Ee
                ) : I && Er(I) !== Er(r) && T1(
                  Be(
                    y,
                    r.isExportEquals ? p._0_resolves_to_a_type_only_declaration_and_must_be_marked_type_only_in_this_file_before_re_exporting_when_1_is_enabled_Consider_using_import_type_where_0_is_imported : p._0_resolves_to_a_type_only_declaration_and_must_be_marked_type_only_in_this_file_before_re_exporting_when_1_is_enabled_Consider_using_export_type_0_as_default,
                    Pn(y),
                    Ee
                  ),
                  I,
                  Pn(y)
                );
              }
            } else
              gc(y);
            w_(F) && $v(
              y,
              /*setVisibility*/
              !0
            );
          } else
            gc(r.expression);
          d && Be(r, p.ESM_syntax_is_not_allowed_in_a_CommonJS_module_when_verbatimModuleSyntax_is_enabled), A7e(l), r.flags & 33554432 && !to(r.expression) && mr(r.expression, p.The_expression_of_an_export_assignment_must_be_an_identifier_or_qualified_name_in_an_ambient_context), r.isExportEquals && (z >= 5 && z !== 200 && (r.flags & 33554432 && e.getImpliedNodeFormatForEmit(Er(r)) === 99 || !(r.flags & 33554432) && e.getImpliedNodeFormatForEmit(Er(r)) !== 1) ? mr(r, p.Export_assignment_cannot_be_used_when_targeting_ECMAScript_modules_Consider_using_export_default_or_another_module_format_instead) : z === 4 && !(r.flags & 33554432) && mr(r, p.Export_assignment_is_not_supported_when_module_flag_is_system));
        }
        function Iut(r) {
          return gl(r.exports, (a, l) => l !== "export=");
        }
        function A7e(r) {
          const a = vn(r), l = Ri(a);
          if (!l.exportsChecked) {
            const f = a.exports.get("export=");
            if (f && Iut(a)) {
              const y = zf(f) || f.valueDeclaration;
              y && !L8(y) && !tn(y) && Be(y, p.An_export_assignment_cannot_be_used_in_a_module_with_other_exported_elements);
            }
            const d = lh(a);
            d && d.forEach(({ declarations: y, flags: x }, I) => {
              if (I === "__export" || x & 1920)
                return;
              const R = d0(y, qI(fRe, HI(Yl)));
              if (!(x & 524288 && R <= 2) && R > 1 && !EX(y))
                for (const J of y)
                  A1e(J) && Ia.add(Kr(J, p.Cannot_redeclare_exported_variable_0, Ei(I)));
            }), l.exportsChecked = !0;
          }
        }
        function EX(r) {
          return r && r.length > 1 && r.every((a) => tn(a) && ko(a) && (gS(a.expression) || Rg(a.expression)));
        }
        function _a(r) {
          if (r) {
            const a = k;
            k = r, h = 0, Fut(r), k = a;
          }
        }
        function Fut(r) {
          if (mC(r) & 8388608)
            return;
          L3(r) && ar(r.jsDoc, ({ comment: l, tags: f }) => {
            I7e(l), ar(f, (d) => {
              I7e(d.comment), tn(r) && _a(d);
            });
          });
          const a = r.kind;
          if (i)
            switch (a) {
              case 267:
              case 263:
              case 264:
              case 262:
                i.throwIfCancellationRequested();
            }
          switch (a >= 243 && a <= 259 && HC(r) && r.flowNode && !PM(r.flowNode) && Pd(F.allowUnreachableCode === !1, r, p.Unreachable_code_detected), a) {
            case 168:
              return jIe(r);
            case 169:
              return BIe(r);
            case 172:
              return WIe(r);
            case 171:
              return gct(r);
            case 185:
            case 184:
            case 179:
            case 180:
            case 181:
              return xI(r);
            case 174:
            case 173:
              return hct(r);
            case 175:
              return yct(r);
            case 176:
              return vct(r);
            case 177:
            case 178:
              return UIe(r);
            case 183:
              return dme(r);
            case 182:
              return fct(r);
            case 186:
              return Cct(r);
            case 187:
              return Ect(r);
            case 188:
              return Dct(r);
            case 189:
              return wct(r);
            case 192:
            case 193:
              return Pct(r);
            case 196:
            case 190:
            case 191:
              return _a(r.type);
            case 197:
              return Fct(r);
            case 198:
              return Oct(r);
            case 194:
              return Lct(r);
            case 195:
              return Mct(r);
            case 203:
              return Rct(r);
            case 205:
              return jct(r);
            case 202:
              return Bct(r);
            case 328:
              return slt(r);
            case 329:
              return ilt(r);
            case 346:
            case 338:
            case 340:
              return $ct(r);
            case 345:
              return Xct(r);
            case 344:
              return Qct(r);
            case 324:
            case 325:
            case 326:
              return Zct(r);
            case 341:
              return Kct(r);
            case 348:
              return elt(r);
            case 317:
              tlt(r);
            // falls through
            case 315:
            case 314:
            case 312:
            case 313:
            case 322:
              F7e(r), Ss(r, _a);
              return;
            case 318:
              Out(r);
              return;
            case 309:
              return _a(r.type);
            case 333:
            case 335:
            case 334:
              return alt(r);
            case 350:
              return Yct(r);
            case 343:
              return rlt(r);
            case 351:
              return nlt(r);
            case 199:
              return Nct(r);
            case 200:
              return Act(r);
            case 262:
              return Gct(r);
            case 241:
            case 268:
              return gX(r);
            case 243:
              return klt(r);
            case 244:
              return Clt(r);
            case 245:
              return Elt(r);
            case 246:
              return Plt(r);
            case 247:
              return Nlt(r);
            case 248:
              return Alt(r);
            case 249:
              return Flt(r);
            case 250:
              return Ilt(r);
            case 251:
            case 252:
              return Wlt(r);
            case 253:
              return Vlt(r);
            case 254:
              return Ult(r);
            case 255:
              return qlt(r);
            case 256:
              return Hlt(r);
            case 257:
              return Glt(r);
            case 258:
              return $lt(r);
            case 260:
              return Tlt(r);
            case 208:
              return xlt(r);
            case 263:
              return rut(r);
            case 264:
              return fut(r);
            case 265:
              return put(r);
            case 266:
              return hut(r);
            case 267:
              return Tut(r);
            case 272:
              return Cut(r);
            case 271:
              return Dut(r);
            case 278:
              return wut(r);
            case 277:
              return Aut(r);
            case 242:
            case 259:
              _0(r);
              return;
            case 282:
              return Sct(r);
          }
        }
        function I7e(r) {
          fs(r) && ar(r, (a) => {
            ix(a) && _a(a);
          });
        }
        function F7e(r) {
          if (!tn(r))
            if (EF(r) || y6(r)) {
              const a = Qs(
                EF(r) ? 54 : 58
                /* QuestionToken */
              ), l = r.postfix ? p._0_at_the_end_of_a_type_is_not_valid_TypeScript_syntax_Did_you_mean_to_write_1 : p._0_at_the_start_of_a_type_is_not_valid_TypeScript_syntax_Did_you_mean_to_write_1, f = r.type, d = Ci(f);
              mr(
                r,
                l,
                a,
                Hr(
                  y6(r) && !(d === Kt || d === dr) ? Gn(Dr([d, _e], r.postfix ? void 0 : jt)) : d
                )
              );
            } else
              mr(r, p.JSDoc_types_can_only_be_used_inside_documentation_comments);
        }
        function Out(r) {
          F7e(r), _a(r.type);
          const { parent: a } = r;
          if (Ni(a) && v6(a.parent)) {
            pa(a.parent.parameters) !== a && Be(r, p.A_rest_parameter_must_be_last_in_a_parameter_list);
            return;
          }
          lv(a) || Be(r, p.JSDoc_may_only_appear_in_the_last_parameter_of_a_signature);
          const l = r.parent.parent;
          if (!Af(l)) {
            Be(r, p.JSDoc_may_only_appear_in_the_last_parameter_of_a_signature);
            return;
          }
          const f = M3(l);
          if (!f)
            return;
          const d = X1(l);
          (!d || pa(d.parameters).symbol !== f) && Be(r, p.A_rest_parameter_must_be_last_in_a_parameter_list);
        }
        function Lut(r) {
          const a = Ci(r.type), { parent: l } = r, f = r.parent.parent;
          if (lv(r.parent) && Af(f)) {
            const d = X1(f), y = _z(f.parent.parent);
            if (d || y) {
              const x = Po(y ? f.parent.parent.typeExpression.parameters : d.parameters), I = M3(f);
              if (!x || I && x.symbol === I && Hm(x))
                return du(a);
            }
          }
          return Ni(l) && v6(l.parent) ? du(a) : Ol(a);
        }
        function pC(r) {
          const a = Er(r), l = yn(a);
          l.flags & 1 ? E.assert(!l.deferredNodes, "A type-checked file should have no deferred nodes.") : (l.deferredNodes || (l.deferredNodes = /* @__PURE__ */ new Set()), l.deferredNodes.add(r));
        }
        function O7e(r) {
          const a = yn(r);
          a.deferredNodes && a.deferredNodes.forEach(Mut), a.deferredNodes = void 0;
        }
        function Mut(r) {
          var a, l;
          (a = rn) == null || a.push(rn.Phase.Check, "checkDeferredNode", { kind: r.kind, pos: r.pos, end: r.end, path: r.tracingPath });
          const f = k;
          switch (k = r, h = 0, r.kind) {
            case 213:
            case 214:
            case 215:
            case 170:
            case 286:
              RT(r);
              break;
            case 218:
            case 219:
            case 174:
            case 173:
              Not(r);
              break;
            case 177:
            case 178:
              UIe(r);
              break;
            case 231:
              tut(r);
              break;
            case 168:
              _ct(r);
              break;
            case 285:
              Rst(r);
              break;
            case 284:
              Bst(r);
              break;
            case 216:
            case 234:
            case 217:
              eot(r);
              break;
            case 222:
              Hi(r.expression);
              break;
            case 226:
              E5(r) && RT(r);
              break;
          }
          k = f, (l = rn) == null || l.pop();
        }
        function Rut(r, a) {
          var l, f;
          (l = rn) == null || l.push(
            rn.Phase.Check,
            a ? "checkSourceFileNodes" : "checkSourceFile",
            { path: r.path },
            /*separateBeginAndEnd*/
            !0
          );
          const d = a ? "beforeCheckNodes" : "beforeCheck", y = a ? "afterCheckNodes" : "afterCheck";
          Zo(d), a ? But(r, a) : jut(r), Zo(y), Xf("Check", d, y), (f = rn) == null || f.pop();
        }
        function L7e(r, a) {
          if (a)
            return !1;
          switch (r) {
            case 0:
              return !!F.noUnusedLocals;
            case 1:
              return !!F.noUnusedParameters;
            default:
              return E.assertNever(r);
          }
        }
        function M7e(r) {
          return z0.get(r.path) || Ue;
        }
        function jut(r) {
          const a = yn(r);
          if (!(a.flags & 1)) {
            if (a6(r, F, e))
              return;
            l5e(r), bp(Sm), bp(U0), bp(Hh), bp(ag), bp(Nv), a.flags & 8388608 && (Sm = a.potentialThisCollisions, U0 = a.potentialNewTargetCollisions, Hh = a.potentialWeakMapSetCollisions, ag = a.potentialReflectCollisions, Nv = a.potentialUnusedRenamedBindingElementsInTypes), ar(r.statements, _a), _a(r.endOfFileToken), O7e(r), H_(r) && R1(r), n(() => {
              !r.isDeclarationFile && (F.noUnusedLocals || F.noUnusedParameters) && t7e(M7e(r), (l, f, d) => {
                !cx(l) && L7e(f, !!(l.flags & 33554432)) && Ia.add(d);
              }), r.isDeclarationFile || ult();
            }), H_(r) && A7e(r), Sm.length && (ar(Sm, plt), bp(Sm)), U0.length && (ar(U0, dlt), bp(U0)), Hh.length && (ar(Hh, ylt), bp(Hh)), ag.length && (ar(ag, blt), bp(ag)), a.flags |= 1;
          }
        }
        function But(r, a) {
          const l = yn(r);
          if (!(l.flags & 1)) {
            if (a6(r, F, e))
              return;
            l5e(r), bp(Sm), bp(U0), bp(Hh), bp(ag), bp(Nv), ar(a, _a), O7e(r), (l.potentialThisCollisions || (l.potentialThisCollisions = [])).push(...Sm), (l.potentialNewTargetCollisions || (l.potentialNewTargetCollisions = [])).push(...U0), (l.potentialWeakMapSetCollisions || (l.potentialWeakMapSetCollisions = [])).push(...Hh), (l.potentialReflectCollisions || (l.potentialReflectCollisions = [])).push(...ag), (l.potentialUnusedRenamedBindingElementsInTypes || (l.potentialUnusedRenamedBindingElementsInTypes = [])).push(
              ...Nv
            ), l.flags |= 8388608;
            for (const f of a) {
              const d = yn(f);
              d.flags |= 8388608;
            }
          }
        }
        function R7e(r, a, l) {
          try {
            return i = a, Jut(r, l);
          } finally {
            i = void 0;
          }
        }
        function Ame() {
          for (const r of t)
            r();
          t = [];
        }
        function Ime(r, a) {
          Ame();
          const l = n;
          n = (f) => f(), Rut(r, a), n = l;
        }
        function Jut(r, a) {
          if (r) {
            Ame();
            const l = Ia.getGlobalDiagnostics(), f = l.length;
            Ime(r, a);
            const d = Ia.getDiagnostics(r.fileName);
            if (a)
              return d;
            const y = Ia.getGlobalDiagnostics();
            if (y !== l) {
              const x = GX(l, y, oD);
              return Ji(x, d);
            } else if (f === 0 && y.length > 0)
              return Ji(y, d);
            return d;
          }
          return ar(e.getSourceFiles(), (l) => Ime(l)), Ia.getDiagnostics();
        }
        function zut() {
          return Ame(), Ia.getGlobalDiagnostics();
        }
        function Wut(r, a) {
          if (r.flags & 67108864)
            return [];
          const l = qs();
          let f = !1;
          return d(), l.delete(
            "this"
            /* This */
          ), Mfe(l);
          function d() {
            for (; r; ) {
              switch (qm(r) && r.locals && !v0(r) && x(r.locals, a), r.kind) {
                case 307:
                  if (!ol(r)) break;
                // falls through
                case 267:
                  I(
                    vn(r).exports,
                    a & 2623475
                    /* ModuleMember */
                  );
                  break;
                case 266:
                  x(
                    vn(r).exports,
                    a & 8
                    /* EnumMember */
                  );
                  break;
                case 231:
                  r.name && y(r.symbol, a);
                // this fall-through is necessary because we would like to handle
                // type parameter inside class expression similar to how we handle it in classDeclaration and interface Declaration.
                // falls through
                case 263:
                case 264:
                  f || x(
                    gg(vn(r)),
                    a & 788968
                    /* Type */
                  );
                  break;
                case 218:
                  r.name && y(r.symbol, a);
                  break;
              }
              aK(r) && y(se, a), f = zs(r), r = r.parent;
            }
            x(nt, a);
          }
          function y(R, J) {
            if (t6(R) & J) {
              const Y = R.escapedName;
              l.has(Y) || l.set(Y, R);
            }
          }
          function x(R, J) {
            J && R.forEach((Y) => {
              y(Y, J);
            });
          }
          function I(R, J) {
            J && R.forEach((Y) => {
              !jo(
                Y,
                281
                /* ExportSpecifier */
              ) && !jo(
                Y,
                280
                /* NamespaceExport */
              ) && Y.escapedName !== "default" && y(Y, J);
            });
          }
        }
        function Vut(r) {
          return r.kind === 80 && Px(r.parent) && ls(r.parent) === r;
        }
        function j7e(r) {
          for (; r.parent.kind === 166; )
            r = r.parent;
          return r.parent.kind === 183;
        }
        function Uut(r) {
          for (; r.parent.kind === 211; )
            r = r.parent;
          return r.parent.kind === 233;
        }
        function B7e(r, a) {
          let l, f = Jl(r);
          for (; f && !(l = a(f)); )
            f = Jl(f);
          return l;
        }
        function qut(r) {
          return !!_r(r, (a) => Xo(a) && Cp(a.body) || is(a) ? !0 : Xn(a) || uo(a) ? "quit" : !1);
        }
        function Fme(r, a) {
          return !!B7e(r, (l) => l === a);
        }
        function Hut(r) {
          for (; r.parent.kind === 166; )
            r = r.parent;
          if (r.parent.kind === 271)
            return r.parent.moduleReference === r ? r.parent : void 0;
          if (r.parent.kind === 277)
            return r.parent.expression === r ? r.parent : void 0;
        }
        function DX(r) {
          return Hut(r) !== void 0;
        }
        function Gut(r) {
          switch (Pc(r.parent.parent)) {
            case 1:
            case 3:
              return Sf(r.parent);
            case 5:
              if (kn(r.parent) && r6(r.parent) === r)
                return;
            // falls through
            case 4:
            case 2:
              return vn(r.parent.parent);
          }
        }
        function $ut(r) {
          let a = r.parent;
          for (; Qu(a); )
            r = a, a = a.parent;
          if (a && a.kind === 205 && a.qualifier === r)
            return a;
        }
        function Xut(r) {
          if (r.expression.kind === 110) {
            const a = Ou(
              r,
              /*includeArrowFunctions*/
              !1,
              /*includeClassComputedPropertyName*/
              !1
            );
            if (Ts(a)) {
              const l = XAe(a);
              if (l) {
                const f = ob(
                  l,
                  /*contextFlags*/
                  void 0
                ), d = YAe(l, f);
                return d && !be(d);
              }
            }
          }
        }
        function J7e(r) {
          if (Xm(r))
            return Sf(r.parent);
          if (tn(r) && r.parent.kind === 211 && r.parent === r.parent.parent.left && !Di(r) && !uv(r) && !Xut(r.parent)) {
            const a = Gut(r);
            if (a)
              return a;
          }
          if (r.parent.kind === 277 && to(r)) {
            const a = mc(
              r,
              /*all meanings*/
              2998271,
              /*ignoreErrors*/
              !0
            );
            if (a && a !== Q)
              return a;
          } else if (Gu(r) && DX(r)) {
            const a = Y1(
              r,
              271
              /* ImportEqualsDeclaration */
            );
            return E.assert(a !== void 0), mT(
              r,
              /*dontResolveAlias*/
              !0
            );
          }
          if (Gu(r)) {
            const a = $ut(r);
            if (a) {
              Ci(a);
              const l = yn(r).resolvedSymbol;
              return l === Q ? void 0 : l;
            }
          }
          for (; $K(r); )
            r = r.parent;
          if (Uut(r)) {
            let a = 0;
            r.parent.kind === 233 ? (a = Yd(r) ? 788968 : 111551, C5(r.parent) && (a |= 111551)) : a = 1920, a |= 2097152;
            const l = to(r) ? mc(
              r,
              a,
              /*ignoreErrors*/
              !0
            ) : void 0;
            if (l)
              return l;
          }
          if (r.parent.kind === 341)
            return M3(r.parent);
          if (r.parent.kind === 168 && r.parent.parent.kind === 345) {
            E.assert(!tn(r));
            const a = TK(r.parent);
            return a && a.symbol;
          }
          if (dd(r)) {
            if (cc(r))
              return;
            const a = _r(r, z_(ix, MD, uv)), l = a ? 901119 : 111551;
            if (r.kind === 80) {
              if (VC(r) && _C(r)) {
                const d = H$(r.parent);
                return d === Q ? void 0 : d;
              }
              const f = mc(
                r,
                l,
                /*ignoreErrors*/
                !0,
                /*dontResolveAlias*/
                !0,
                X1(r)
              );
              if (!f && a) {
                const d = _r(r, z_(Xn, Yl));
                if (d)
                  return uR(
                    r,
                    /*ignoreErrors*/
                    !0,
                    vn(d)
                  );
              }
              if (f && a) {
                const d = Nb(r);
                if (d && A0(d) && d === f.valueDeclaration)
                  return mc(
                    r,
                    l,
                    /*ignoreErrors*/
                    !0,
                    /*dontResolveAlias*/
                    !0,
                    Er(d)
                  ) || f;
              }
              return f;
            } else {
              if (Di(r))
                return Q$(r);
              if (r.kind === 211 || r.kind === 166) {
                const f = yn(r);
                return f.resolvedSymbol ? f.resolvedSymbol : (r.kind === 211 ? (X$(
                  r,
                  0
                  /* Normal */
                ), f.resolvedSymbol || (f.resolvedSymbol = z7e(gc(r.expression), t0(r.name)))) : D8e(
                  r,
                  0
                  /* Normal */
                ), !f.resolvedSymbol && a && Qu(r) ? uR(r) : f.resolvedSymbol);
              } else if (uv(r))
                return uR(r);
            }
          } else if (Gu(r) && j7e(r)) {
            const a = r.parent.kind === 183 ? 788968 : 1920, l = mc(
              r,
              a,
              /*ignoreErrors*/
              !0,
              /*dontResolveAlias*/
              !0
            );
            return l && l !== Q ? l : $G(r);
          }
          if (r.parent.kind === 182)
            return mc(
              r,
              /*meaning*/
              1,
              /*ignoreErrors*/
              !0
            );
        }
        function z7e(r, a) {
          const l = Lfe(r, a);
          if (l.length && r.members) {
            const f = UG(jd(r).members);
            if (l === pu(r))
              return f;
            if (f) {
              const d = Ri(f), y = Oi(l, (I) => I.declaration), x = fr(y, Oa).join(",");
              if (d.filteredIndexSymbolCache || (d.filteredIndexSymbolCache = /* @__PURE__ */ new Map()), d.filteredIndexSymbolCache.has(x))
                return d.filteredIndexSymbolCache.get(x);
              {
                const I = sa(
                  131072,
                  "__index"
                  /* Index */
                );
                return I.declarations = Oi(l, (R) => R.declaration), I.parent = r.aliasSymbol ? r.aliasSymbol : r.symbol ? r.symbol : vp(I.declarations[0].parent), d.filteredIndexSymbolCache.set(x, I), I;
              }
            }
          }
        }
        function uR(r, a, l) {
          if (Gu(r)) {
            let x = mc(
              r,
              901119,
              a,
              /*dontResolveAlias*/
              !0,
              X1(r)
            );
            if (!x && Fe(r) && l && (x = La(zu(lf(l), r.escapedText, 901119))), x)
              return x;
          }
          const f = Fe(r) ? l : uR(r.left, a, l), d = Fe(r) ? r.escapedText : r.right.escapedText;
          if (f) {
            const y = f.flags & 111551 && Zs(Qr(f), "prototype"), x = y ? Qr(y) : wo(f);
            return Zs(x, d);
          }
        }
        function vp(r, a) {
          if (xi(r))
            return ol(r) ? La(r.symbol) : void 0;
          const { parent: l } = r, f = l.parent;
          if (!(r.flags & 67108864)) {
            if (I1e(r)) {
              const d = vn(l);
              return Ry(r.parent) && r.parent.propertyName === r ? U$(d) : d;
            } else if (j3(r))
              return vn(l.parent);
            if (r.kind === 80) {
              if (DX(r))
                return J7e(r);
              if (l.kind === 208 && f.kind === 206 && r === l.propertyName) {
                const d = dC(f), y = Zs(d, r.escapedText);
                if (y)
                  return y;
              } else if (AD(l) && l.name === r)
                return l.keywordToken === 105 && Pn(r) === "target" ? Xde(l).symbol : l.keywordToken === 102 && Pn(r) === "meta" ? A3e().members.get("meta") : void 0;
            }
            switch (r.kind) {
              case 80:
              case 81:
              case 211:
              case 166:
                if (!Lb(r))
                  return J7e(r);
              // falls through
              case 110:
                const d = Ou(
                  r,
                  /*includeArrowFunctions*/
                  !1,
                  /*includeClassComputedPropertyName*/
                  !1
                );
                if (Ts(d)) {
                  const I = qf(d);
                  if (I.thisParameter)
                    return I.thisParameter;
                }
                if (K7(r))
                  return Hi(r).symbol;
              // falls through
              case 197:
                return mpe(r).symbol;
              case 108:
                return Hi(r).symbol;
              case 137:
                const y = r.parent;
                return y && y.kind === 176 ? y.parent.symbol : void 0;
              case 11:
              case 15:
                if (G1(r.parent.parent) && J4(r.parent.parent) === r || (r.parent.kind === 272 || r.parent.kind === 278) && r.parent.moduleSpecifier === r || tn(r) && _m(r.parent) && r.parent.moduleSpecifier === r || tn(r) && f_(
                  r.parent,
                  /*requireStringLiteralLikeArgument*/
                  !1
                ) || df(r.parent) || P0(r.parent) && Dh(r.parent.parent) && r.parent.parent.argument === r.parent)
                  return Vu(r, r, a);
                if (Ms(l) && hS(l) && l.arguments[1] === r)
                  return vn(l);
              // falls through
              case 9:
                const x = fo(l) ? l.argumentExpression === r ? iu(l.expression) : void 0 : P0(l) && qb(f) ? Ci(f.objectType) : void 0;
                return x && Zs(x, ec(r.text));
              case 90:
              case 100:
              case 39:
              case 86:
                return Sf(r.parent);
              case 205:
                return Dh(r) ? vp(r.argument.literal, a) : void 0;
              case 95:
                return Oo(r.parent) ? E.checkDefined(r.parent.symbol) : void 0;
              case 102:
              case 105:
                return AD(r.parent) ? _Ie(r.parent).symbol : void 0;
              case 104:
                if (_n(r.parent)) {
                  const I = iu(r.parent.right), R = ame(I);
                  return R?.symbol ?? I.symbol;
                }
                return;
              case 236:
                return Hi(r).symbol;
              case 295:
                if (VC(r) && _C(r)) {
                  const I = H$(r.parent);
                  return I === Q ? void 0 : I;
                }
              // falls through
              default:
                return;
            }
          }
        }
        function Qut(r) {
          if (Fe(r) && kn(r.parent) && r.parent.name === r) {
            const a = t0(r), l = iu(r.parent.expression), f = l.flags & 1048576 ? l.types : [l];
            return oa(f, (d) => Tn(pu(d), (y) => Kk(a, y.keyType)));
          }
        }
        function Yut(r) {
          if (r && r.kind === 304)
            return mc(
              r.name,
              2208703,
              /*ignoreErrors*/
              !0
            );
        }
        function Zut(r) {
          if (bu(r)) {
            const a = r.propertyName || r.name;
            return r.parent.parent.moduleSpecifier ? Em(r.parent.parent, r) : a.kind === 11 ? void 0 : (
              // Skip for invalid syntax like this: export { "x" }
              mc(
                a,
                2998271,
                /*ignoreErrors*/
                !0
              )
            );
          } else
            return mc(
              r,
              2998271,
              /*ignoreErrors*/
              !0
            );
        }
        function dC(r) {
          if (xi(r) && !ol(r) || r.flags & 67108864)
            return Ve;
          const a = eJ(r), l = a && pp(vn(a.class));
          if (Yd(r)) {
            const f = Ci(r);
            return l ? uf(f, l.thisType) : f;
          }
          if (dd(r))
            return W7e(r);
          if (l && !a.isImplements) {
            const f = Xc(fl(l));
            return f ? uf(f, l.thisType) : Ve;
          }
          if (Px(r)) {
            const f = vn(r);
            return wo(f);
          }
          if (Vut(r)) {
            const f = vp(r);
            return f ? wo(f) : Ve;
          }
          if (ya(r))
            return Od(
              r,
              /*includeOptionality*/
              !0,
              0
              /* Normal */
            ) || Ve;
          if (Dl(r)) {
            const f = vn(r);
            return f ? Qr(f) : Ve;
          }
          if (I1e(r)) {
            const f = vp(r);
            return f ? Qr(f) : Ve;
          }
          if (Ps(r))
            return Od(
              r.parent,
              /*includeOptionality*/
              !0,
              0
              /* Normal */
            ) || Ve;
          if (DX(r)) {
            const f = vp(r);
            if (f) {
              const d = wo(f);
              return Oe(d) ? Qr(f) : d;
            }
          }
          return AD(r.parent) && r.parent.keywordToken === r.kind ? _Ie(r.parent) : LS(r) ? Hfe(
            /*reportErrors*/
            !1
          ) : Ve;
        }
        function wX(r) {
          if (E.assert(
            r.kind === 210 || r.kind === 209
            /* ArrayLiteralExpression */
          ), r.parent.kind === 250) {
            const d = aR(r.parent);
            return BT(r, d || Ve);
          }
          if (r.parent.kind === 226) {
            const d = iu(r.parent.right);
            return BT(r, d || Ve);
          }
          if (r.parent.kind === 303) {
            const d = Us(r.parent.parent, ua), y = wX(d) || Ve, x = MC(d.properties, r.parent);
            return EIe(d, y, x);
          }
          const a = Us(r.parent, Ql), l = wX(a) || Ve, f = my(65, l, _e, r.parent) || Ve;
          return DIe(a, l, a.elements.indexOf(r), f);
        }
        function Kut(r) {
          const a = wX(Us(r.parent.parent, N4));
          return a && Zs(a, r.escapedText);
        }
        function W7e(r) {
          return tD(r) && (r = r.parent), qu(iu(r));
        }
        function V7e(r) {
          const a = Sf(r.parent);
          return zs(r) ? Qr(a) : wo(a);
        }
        function U7e(r) {
          const a = r.name;
          switch (a.kind) {
            case 80:
              return x_(Pn(a));
            case 9:
            case 11:
              return x_(a.text);
            case 167:
              const l = od(a);
              return nu(
                l,
                12288
                /* ESSymbolLike */
              ) ? l : st;
            default:
              return E.fail("Unsupported property name.");
          }
        }
        function Ome(r) {
          r = Uu(r);
          const a = qs(Ga(r)), l = As(
            r,
            0
            /* Call */
          ).length ? Xr : As(
            r,
            1
            /* Construct */
          ).length ? qi : void 0;
          return l && ar(Ga(l), (f) => {
            a.has(f.escapedName) || a.set(f.escapedName, f);
          }), us(a);
        }
        function PX(r) {
          return As(
            r,
            0
            /* Call */
          ).length !== 0 || As(
            r,
            1
            /* Construct */
          ).length !== 0;
        }
        function q7e(r) {
          const a = e_t(r);
          return a ? oa(a, q7e) : [r];
        }
        function e_t(r) {
          if (lc(r) & 6)
            return Oi(Ri(r).containingType.types, (a) => Zs(a, r.escapedName));
          if (r.flags & 33554432) {
            const { links: { leftSpread: a, rightSpread: l, syntheticOrigin: f } } = r;
            return a ? [a, l] : f ? [f] : GT(t_t(r));
          }
        }
        function t_t(r) {
          let a, l = r;
          for (; l = Ri(l).target; )
            a = l;
          return a;
        }
        function r_t(r) {
          if (Mo(r)) return !1;
          const a = ds(r, Fe);
          if (!a) return !1;
          const l = a.parent;
          return l ? !((kn(l) || tl(l)) && l.name === a) && FI(a) === se : !1;
        }
        function n_t(r) {
          return t3(r.parent) && r === r.parent.name;
        }
        function i_t(r, a) {
          var l;
          const f = ds(r, Fe);
          if (f) {
            let d = FI(
              f,
              /*startInDeclarationContainer*/
              n_t(f)
            );
            if (d) {
              if (d.flags & 1048576) {
                const x = La(d.exportSymbol);
                if (!a && x.flags & 944 && !(x.flags & 3))
                  return;
                d = x;
              }
              const y = O_(d);
              if (y) {
                if (y.flags & 512 && ((l = y.valueDeclaration) == null ? void 0 : l.kind) === 307) {
                  const x = y.valueDeclaration, I = Er(f);
                  return x !== I ? void 0 : x;
                }
                return _r(f.parent, (x) => t3(x) && vn(x) === y);
              }
            }
          }
        }
        function s_t(r) {
          const a = _te(r);
          if (a)
            return a;
          const l = ds(r, Fe);
          if (l) {
            const f = b_t(l);
            if (dT(
              f,
              /*excludes*/
              111551
              /* Value */
            ) && !Id(
              f,
              111551
              /* Value */
            ))
              return zf(f);
          }
        }
        function a_t(r) {
          return r.valueDeclaration && ya(r.valueDeclaration) && KT(r.valueDeclaration).parent.kind === 299;
        }
        function H7e(r) {
          if (r.flags & 418 && r.valueDeclaration && !xi(r.valueDeclaration)) {
            const a = Ri(r);
            if (a.isDeclarationWithCollidingName === void 0) {
              const l = pd(r.valueDeclaration);
              if (MZ(l) || a_t(r))
                if (it(
                  l.parent,
                  r.escapedName,
                  111551,
                  /*nameNotFoundMessage*/
                  void 0,
                  /*isUse*/
                  !1
                ))
                  a.isDeclarationWithCollidingName = !0;
                else if (Lme(
                  r.valueDeclaration,
                  16384
                  /* CapturedBlockScopedBinding */
                )) {
                  const f = Lme(
                    r.valueDeclaration,
                    32768
                    /* BlockScopedBindingInLoop */
                  ), d = Jy(
                    l,
                    /*lookInLabeledStatements*/
                    !1
                  ), y = l.kind === 241 && Jy(
                    l.parent,
                    /*lookInLabeledStatements*/
                    !1
                  );
                  a.isDeclarationWithCollidingName = !UZ(l) && (!f || !d && !y);
                } else
                  a.isDeclarationWithCollidingName = !1;
            }
            return a.isDeclarationWithCollidingName;
          }
          return !1;
        }
        function o_t(r) {
          if (!Mo(r)) {
            const a = ds(r, Fe);
            if (a) {
              const l = FI(a);
              if (l && H7e(l))
                return l.valueDeclaration;
            }
          }
        }
        function c_t(r) {
          const a = ds(r, Dl);
          if (a) {
            const l = vn(a);
            if (l)
              return H7e(l);
          }
          return !1;
        }
        function G7e(r) {
          switch (E.assert(Ce), r.kind) {
            case 271:
              return NX(vn(r));
            case 273:
            case 274:
            case 276:
            case 281:
              const a = vn(r);
              return !!a && NX(
                a,
                /*excludeTypeOnlyValues*/
                !0
              );
            case 278:
              const l = r.exportClause;
              return !!l && (Zm(l) || at(l.elements, G7e));
            case 277:
              return r.expression && r.expression.kind === 80 ? NX(
                vn(r),
                /*excludeTypeOnlyValues*/
                !0
              ) : !0;
          }
          return !1;
        }
        function l_t(r) {
          const a = ds(r, bl);
          return a === void 0 || a.parent.kind !== 307 || !mS(a) ? !1 : NX(vn(a)) && a.moduleReference && !cc(a.moduleReference);
        }
        function NX(r, a) {
          if (!r)
            return !1;
          const l = Er(r.valueDeclaration), f = l && vn(l);
          b_(f);
          const d = L_(Uc(r));
          return d === Q ? !a || !Id(r) : !!(cf(
            r,
            a,
            /*excludeLocalMeanings*/
            !0
          ) & 111551) && (Yy(F) || !II(d));
        }
        function II(r) {
          return sme(r) || !!r.constEnumOnlyModule;
        }
        function $7e(r, a) {
          if (E.assert(Ce), ah(r)) {
            const l = vn(r), f = l && Ri(l);
            if (f?.referenced)
              return !0;
            const d = Ri(l).aliasTarget;
            if (d && Lu(r) & 32 && cf(d) & 111551 && (Yy(F) || !II(d)))
              return !0;
          }
          return a ? !!Ss(r, (l) => $7e(l, a)) : !1;
        }
        function X7e(r) {
          if (Cp(r.body)) {
            if (Ag(r) || $d(r)) return !1;
            const a = vn(r), l = R2(a);
            return l.length > 1 || // If there is single signature for the symbol, it is overload if that signature isn't coming from the node
            // e.g.: function foo(a: string): string;
            //       function foo(a: any) { // This is implementation of the overloads
            //           return a;
            //       }
            l.length === 1 && l[0].declaration !== r;
          }
          return !1;
        }
        function u_t(r) {
          const a = Z7e(r);
          if (!a) return !1;
          const l = Ci(a);
          return Oe(l) || BE(l);
        }
        function _R(r, a) {
          return (__t(r, a) || f_t(r)) && !u_t(r);
        }
        function __t(r, a) {
          return !K || q8(r) || Af(r) || !r.initializer ? !1 : qn(
            r,
            31
            /* ParameterPropertyModifier */
          ) ? !!a && uo(a) : !0;
        }
        function f_t(r) {
          return K && q8(r) && (Af(r) || !r.initializer) && qn(
            r,
            31
            /* ParameterPropertyModifier */
          );
        }
        function Q7e(r) {
          const a = ds(r, (f) => Tc(f) || Zn(f));
          if (!a)
            return !1;
          let l;
          if (Zn(a)) {
            if (a.type || !tn(a) && !OI(a))
              return !1;
            const f = W4(a);
            if (!f || !fd(f))
              return !1;
            l = vn(f);
          } else
            l = vn(a);
          return !l || !(l.flags & 16 | 3) ? !1 : !!gl(lf(l), (f) => f.flags & 111551 && Ix(f.valueDeclaration));
        }
        function p_t(r) {
          const a = ds(r, Tc);
          if (!a)
            return Ue;
          const l = vn(a);
          return l && Ga(Qr(l)) || Ue;
        }
        function mC(r) {
          var a;
          const l = r.id || 0;
          return l < 0 || l >= g2.length ? 0 : ((a = g2[l]) == null ? void 0 : a.flags) || 0;
        }
        function Lme(r, a) {
          return d_t(r, a), !!(mC(r) & a);
        }
        function d_t(r, a) {
          if (!F.noCheck && dD(Er(r), F) || yn(r).calculatedFlags & a)
            return;
          switch (a) {
            case 16:
            case 32:
              return x(r);
            case 128:
            case 256:
            case 2097152:
              return y(r);
            case 512:
            case 8192:
            case 65536:
            case 262144:
              return R(r);
            case 536870912:
              return Y(r);
            case 4096:
            case 32768:
            case 16384:
              return de(r);
            default:
              return E.assertNever(a, `Unhandled node check flag calculation: ${E.formatNodeCheckFlags(a)}`);
          }
          function f(ct, ht) {
            const nr = ht(ct, ct.parent);
            if (nr !== "skip")
              return nr || Xx(ct, ht);
          }
          function d(ct) {
            const ht = yn(ct);
            if (ht.calculatedFlags & a) return "skip";
            ht.calculatedFlags |= 2097536, x(ct);
          }
          function y(ct) {
            f(ct, d);
          }
          function x(ct) {
            const ht = yn(ct);
            ht.calculatedFlags |= 48, ct.kind === 108 && j$(ct);
          }
          function I(ct) {
            const ht = yn(ct);
            if (ht.calculatedFlags & a) return "skip";
            ht.calculatedFlags |= 336384, Y(ct);
          }
          function R(ct) {
            f(ct, I);
          }
          function J(ct) {
            return dd(ct) || _u(ct.parent) && (ct.parent.objectAssignmentInitializer ?? ct.parent.name) === ct;
          }
          function Y(ct) {
            const ht = yn(ct);
            if (ht.calculatedFlags |= 536870912, Fe(ct) && (ht.calculatedFlags |= 49152, J(ct) && !(kn(ct.parent) && ct.parent.name === ct))) {
              const nr = Du(ct);
              nr && nr !== Q && qAe(ct, nr);
            }
          }
          function Te(ct) {
            const ht = yn(ct);
            if (ht.calculatedFlags & a) return "skip";
            ht.calculatedFlags |= 53248, Ge(ct);
          }
          function de(ct) {
            const ht = pd(Xm(ct) ? ct.parent : ct);
            f(ht, Te);
          }
          function Ge(ct) {
            Y(ct), ia(ct) && od(ct), Di(ct) && Jc(ct.parent) && _X(ct.parent);
          }
        }
        function JT(r) {
          return w7e(r.parent), yn(r).enumMemberValue ?? hl(
            /*value*/
            void 0
          );
        }
        function Y7e(r) {
          switch (r.kind) {
            case 306:
            case 211:
            case 212:
              return !0;
          }
          return !1;
        }
        function Mme(r) {
          if (r.kind === 306)
            return JT(r).value;
          yn(r).resolvedSymbol || gc(r);
          const a = yn(r).resolvedSymbol || (to(r) ? mc(
            r,
            111551,
            /*ignoreErrors*/
            !0
          ) : void 0);
          if (a && a.flags & 8) {
            const l = a.valueDeclaration;
            if (H1(l.parent))
              return JT(l).value;
          }
        }
        function Rme(r) {
          return !!(r.flags & 524288) && As(
            r,
            0
            /* Call */
          ).length > 0;
        }
        function m_t(r, a) {
          var l;
          const f = ds(r, Gu);
          if (!f || a && (a = ds(a), !a))
            return 0;
          let d = !1;
          if (Qu(f)) {
            const Y = mc(
              Xu(f),
              111551,
              /*ignoreErrors*/
              !0,
              /*dontResolveAlias*/
              !0,
              a
            );
            d = !!((l = Y?.declarations) != null && l.every(h0));
          }
          const y = mc(
            f,
            111551,
            /*ignoreErrors*/
            !0,
            /*dontResolveAlias*/
            !0,
            a
          ), x = y && y.flags & 2097152 ? Uc(y) : y;
          d || (d = !!(y && Id(
            y,
            111551
            /* Value */
          )));
          const I = mc(
            f,
            788968,
            /*ignoreErrors*/
            !0,
            /*dontResolveAlias*/
            !0,
            a
          ), R = I && I.flags & 2097152 ? Uc(I) : I;
          if (y || d || (d = !!(I && Id(
            I,
            788968
            /* Type */
          ))), x && x === R) {
            const Y = Gfe(
              /*reportErrors*/
              !1
            );
            if (Y && x === Y)
              return 9;
            const Te = Qr(x);
            if (Te && In(Te))
              return d ? 10 : 1;
          }
          if (!R)
            return d ? 11 : 0;
          const J = wo(R);
          return Oe(J) ? d ? 11 : 0 : J.flags & 3 ? 11 : nu(
            J,
            245760
            /* Never */
          ) ? 2 : nu(
            J,
            528
            /* BooleanLike */
          ) ? 6 : nu(
            J,
            296
            /* NumberLike */
          ) ? 3 : nu(
            J,
            2112
            /* BigIntLike */
          ) ? 4 : nu(
            J,
            402653316
            /* StringLike */
          ) ? 5 : va(J) ? 7 : nu(
            J,
            12288
            /* ESSymbolLike */
          ) ? 8 : Rme(J) ? 10 : gp(J) ? 7 : 11;
        }
        function g_t(r, a, l, f, d) {
          const y = ds(r, oF);
          if (!y)
            return N.createToken(
              133
              /* AnyKeyword */
            );
          const x = vn(y);
          return xe.serializeTypeForDeclaration(y, x, a, l | 1024, f, d);
        }
        function jme(r) {
          r = ds(r, GP);
          const a = r.kind === 178 ? 177 : 178, l = jo(vn(r), a), f = l && l.pos < r.pos ? l : r, d = l && l.pos < r.pos ? r : l, y = r.kind === 178 ? r : l, x = r.kind === 177 ? r : l;
          return {
            firstAccessor: f,
            secondAccessor: d,
            setAccessor: y,
            getAccessor: x
          };
        }
        function h_t(r, a, l, f, d) {
          const y = ds(r, Ts);
          return y ? xe.serializeReturnTypeForSignature(y, a, l | 1024, f, d) : N.createToken(
            133
            /* AnyKeyword */
          );
        }
        function y_t(r, a, l, f, d) {
          const y = ds(r, lt);
          return y ? xe.serializeTypeForExpression(y, a, l | 1024, f, d) : N.createToken(
            133
            /* AnyKeyword */
          );
        }
        function v_t(r) {
          return nt.has(ec(r));
        }
        function FI(r, a) {
          const l = yn(r).resolvedSymbol;
          if (l)
            return l;
          let f = r;
          if (a) {
            const d = r.parent;
            Dl(d) && r === d.name && (f = Xv(d));
          }
          return it(
            f,
            r.escapedText,
            3257279,
            /*nameNotFoundMessage*/
            void 0,
            /*isUse*/
            !0
          );
        }
        function b_t(r) {
          const a = yn(r).resolvedSymbol;
          return a && a !== Q ? a : it(
            r,
            r.escapedText,
            3257279,
            /*nameNotFoundMessage*/
            void 0,
            /*isUse*/
            !0,
            /*excludeGlobals*/
            void 0
          );
        }
        function S_t(r) {
          if (!Mo(r)) {
            const a = ds(r, Fe);
            if (a) {
              const l = FI(a);
              if (l)
                return L_(l).valueDeclaration;
            }
          }
        }
        function T_t(r) {
          if (!Mo(r)) {
            const a = ds(r, Fe);
            if (a) {
              const l = FI(a);
              if (l)
                return Tn(L_(l).declarations, (f) => {
                  switch (f.kind) {
                    case 260:
                    case 169:
                    case 208:
                    case 172:
                    case 303:
                    case 304:
                    case 306:
                    case 210:
                    case 262:
                    case 218:
                    case 219:
                    case 263:
                    case 231:
                    case 266:
                    case 174:
                    case 177:
                    case 178:
                    case 267:
                      return !0;
                  }
                  return !1;
                });
            }
          }
        }
        function x_t(r) {
          return f3(r) || Zn(r) && OI(r) ? J2(Qr(vn(r))) : !1;
        }
        function k_t(r, a, l) {
          const f = r.flags & 1056 ? xe.symbolToExpression(
            r.symbol,
            111551,
            a,
            /*flags*/
            void 0,
            /*internalFlags*/
            void 0,
            l
          ) : r === Ye ? N.createTrue() : r === Mr && N.createFalse();
          if (f) return f;
          const d = r.value;
          return typeof d == "object" ? N.createBigIntLiteral(d) : typeof d == "string" ? N.createStringLiteral(d) : d < 0 ? N.createPrefixUnaryExpression(41, N.createNumericLiteral(-d)) : N.createNumericLiteral(d);
        }
        function C_t(r, a) {
          const l = Qr(vn(r));
          return k_t(l, r, a);
        }
        function Bme(r) {
          return r ? (Vl(r), Er(r).localJsxFactory || Kg) : Kg;
        }
        function Jme(r) {
          if (r) {
            const a = Er(r);
            if (a) {
              if (a.localJsxFragmentFactory)
                return a.localJsxFragmentFactory;
              const l = a.pragmas.get("jsxfrag"), f = fs(l) ? l[0] : l;
              if (f)
                return a.localJsxFragmentFactory = Yx(f.arguments.factory, j), a.localJsxFragmentFactory;
            }
          }
          if (F.jsxFragmentFactory)
            return Yx(F.jsxFragmentFactory, j);
        }
        function Z7e(r) {
          const a = Yc(r);
          if (a)
            return a;
          if (r.kind === 169 && r.parent.kind === 178) {
            const l = jme(r.parent).getAccessor;
            if (l)
              return mf(l);
          }
        }
        function E_t() {
          return {
            getReferencedExportContainer: i_t,
            getReferencedImportDeclaration: s_t,
            getReferencedDeclarationWithCollidingName: o_t,
            isDeclarationWithCollidingName: c_t,
            isValueAliasDeclaration: (a) => {
              const l = ds(a);
              return l && Ce ? G7e(l) : !0;
            },
            hasGlobalName: v_t,
            isReferencedAliasDeclaration: (a, l) => {
              const f = ds(a);
              return f && Ce ? $7e(f, l) : !0;
            },
            hasNodeCheckFlag: (a, l) => {
              const f = ds(a);
              return f ? Lme(f, l) : !1;
            },
            isTopLevelValueImportEqualsWithEntityName: l_t,
            isDeclarationVisible: Zh,
            isImplementationOfOverload: X7e,
            requiresAddingImplicitUndefined: _R,
            isExpandoFunctionDeclaration: Q7e,
            getPropertiesOfContainerFunction: p_t,
            createTypeOfDeclaration: g_t,
            createReturnTypeOfSignatureDeclaration: h_t,
            createTypeOfExpression: y_t,
            createLiteralConstValue: C_t,
            isSymbolAccessible: wm,
            isEntityNameVisible: Hk,
            getConstantValue: (a) => {
              const l = ds(a, Y7e);
              return l ? Mme(l) : void 0;
            },
            getEnumMemberValue: (a) => {
              const l = ds(a, A0);
              return l ? JT(l) : void 0;
            },
            collectLinkedAliases: $v,
            markLinkedReferences: (a) => {
              const l = ds(a);
              return l && lC(
                l,
                0
                /* Unspecified */
              );
            },
            getReferencedValueDeclaration: S_t,
            getReferencedValueDeclarations: T_t,
            getTypeReferenceSerializationKind: m_t,
            isOptionalParameter: q8,
            isArgumentsLocalBinding: r_t,
            getExternalModuleFileFromDeclaration: (a) => {
              const l = ds(a, GZ);
              return l && zme(l);
            },
            isLiteralConstDeclaration: x_t,
            isLateBound: (a) => {
              const l = ds(a, Dl), f = l && vn(l);
              return !!(f && lc(f) & 4096);
            },
            getJsxFactoryEntity: Bme,
            getJsxFragmentFactoryEntity: Jme,
            isBindingCapturedByNode: (a, l) => {
              const f = ds(a), d = ds(l);
              return !!f && !!d && (Zn(d) || ya(d)) && Wit(f, d);
            },
            getDeclarationStatementsForSourceFile: (a, l, f, d) => {
              const y = ds(a);
              E.assert(y && y.kind === 307, "Non-sourcefile node passed into getDeclarationsForSourceFile");
              const x = vn(a);
              return x ? (b_(x), x.exports ? xe.symbolTableToDeclarationStatements(x.exports, a, l, f, d) : []) : a.locals ? xe.symbolTableToDeclarationStatements(a.locals, a, l, f, d) : [];
            },
            isImportRequiredByAugmentation: r,
            isDefinitelyReferenceToGlobalSymbolObject: aT,
            createLateBoundIndexSignatures: (a, l, f, d, y) => {
              const x = a.symbol, I = pu(Qr(x)), R = VG(x), J = R && qG(R, rs(gg(x).values()));
              let Y;
              for (const de of [I, J])
                if (Ar(de)) {
                  Y || (Y = []);
                  for (const Ge of de) {
                    if (Ge.declaration || Ge === Qi) continue;
                    if (Ge.components && Pi(Ge.components, (nr) => {
                      var Xt;
                      return !!(nr.name && ia(nr.name) && to(nr.name.expression) && l && ((Xt = Hk(
                        nr.name.expression,
                        l,
                        /*shouldComputeAliasToMakeVisible*/
                        !1
                      )) == null ? void 0 : Xt.accessibility) === 0);
                    })) {
                      const nr = Tn(Ge.components, (Xt) => !NE(Xt));
                      Y.push(...fr(nr, (Xt) => {
                        Te(Xt.name.expression);
                        const Gr = de === I ? [N.createModifier(
                          126
                          /* StaticKeyword */
                        )] : void 0;
                        return N.createPropertyDeclaration(
                          Dr(Gr, Ge.isReadonly ? N.createModifier(
                            148
                            /* ReadonlyKeyword */
                          ) : void 0),
                          Xt.name,
                          (ju(Xt) || is(Xt) || Xp(Xt) || uc(Xt) || Ag(Xt) || $d(Xt)) && Xt.questionToken ? N.createToken(
                            58
                            /* QuestionToken */
                          ) : void 0,
                          xe.typeToTypeNode(Qr(Xt.symbol), l, f, d, y),
                          /*initializer*/
                          void 0
                        );
                      }));
                      continue;
                    }
                    const ct = xe.indexInfoToIndexSignatureDeclaration(Ge, l, f, d, y);
                    ct && de === I && (ct.modifiers || (ct.modifiers = N.createNodeArray())).unshift(N.createModifier(
                      126
                      /* StaticKeyword */
                    )), ct && Y.push(ct);
                  }
                }
              return Y;
              function Te(de) {
                if (!y.trackSymbol) return;
                const Ge = Xu(de), ct = it(
                  Ge,
                  Ge.escapedText,
                  1160127,
                  /*nameNotFoundMessage*/
                  void 0,
                  /*isUse*/
                  !0
                );
                ct && y.trackSymbol(
                  ct,
                  l,
                  111551
                  /* Value */
                );
              }
            }
          };
          function r(a) {
            const l = Er(a);
            if (!l.symbol) return !1;
            const f = zme(a);
            if (!f || f === l) return !1;
            const d = lh(l.symbol);
            for (const y of rs(d.values()))
              if (y.mergeId) {
                const x = La(y);
                if (x.declarations) {
                  for (const I of x.declarations)
                    if (Er(I) === f)
                      return !0;
                }
              }
            return !1;
          }
        }
        function zme(r) {
          const a = r.kind === 267 ? Mn(r.name, la) : px(r), l = jv(
            a,
            a,
            /*moduleNotFoundError*/
            void 0
          );
          if (l)
            return jo(
              l,
              307
              /* SourceFile */
            );
        }
        function D_t() {
          for (const a of e.getSourceFiles())
            lne(a, F);
          bo = /* @__PURE__ */ new Map();
          let r;
          for (const a of e.getSourceFiles())
            if (!a.redirectInfo) {
              if (!H_(a)) {
                const l = a.locals.get("globalThis");
                if (l?.declarations)
                  for (const f of l.declarations)
                    Ia.add(Kr(f, p.Declaration_name_conflicts_with_built_in_global_identifier_0, "globalThis"));
                xm(nt, a.locals);
              }
              a.jsGlobalAugmentations && xm(nt, a.jsGlobalAugmentations), a.patternAmbientModules && a.patternAmbientModules.length && (Rf = Ji(Rf, a.patternAmbientModules)), a.moduleAugmentations.length && (r || (r = [])).push(a.moduleAugmentations), a.symbol && a.symbol.globalExports && a.symbol.globalExports.forEach((f, d) => {
                nt.has(d) || nt.set(d, f);
              });
            }
          if (r)
            for (const a of r)
              for (const l of a)
                $m(l.parent) && lg(l);
          if (S1(), Ri(oe).type = M, Ri(se).type = vc(
            "IArguments",
            /*arity*/
            0,
            /*reportErrors*/
            !0
          ), Ri(Q).type = Ve, Ri(ve).type = ir(16, ve), Is = vc(
            "Array",
            /*arity*/
            1,
            /*reportErrors*/
            !0
          ), Ae = vc(
            "Object",
            /*arity*/
            0,
            /*reportErrors*/
            !0
          ), It = vc(
            "Function",
            /*arity*/
            0,
            /*reportErrors*/
            !0
          ), Xr = ee && vc(
            "CallableFunction",
            /*arity*/
            0,
            /*reportErrors*/
            !0
          ) || It, qi = ee && vc(
            "NewableFunction",
            /*arity*/
            0,
            /*reportErrors*/
            !0
          ) || It, Do = vc(
            "String",
            /*arity*/
            0,
            /*reportErrors*/
            !0
          ), Ac = vc(
            "Number",
            /*arity*/
            0,
            /*reportErrors*/
            !0
          ), rc = vc(
            "Boolean",
            /*arity*/
            0,
            /*reportErrors*/
            !0
          ), nc = vc(
            "RegExp",
            /*arity*/
            0,
            /*reportErrors*/
            !0
          ), ll = du(Ie), ul = du(ft), ul === Pa && (ul = Jo(
            /*symbol*/
            void 0,
            A,
            Ue,
            Ue,
            Ue
          )), Ea = B3e(
            "ReadonlyArray",
            /*arity*/
            1
          ) || Is, nf = Ea ? nP(Ea, [Ie]) : ll, Mc = B3e(
            "ThisType",
            /*arity*/
            1
          ), r)
            for (const a of r)
              for (const l of a)
                $m(l.parent) || lg(l);
          bo.forEach(({ firstFile: a, secondFile: l, conflictingSymbols: f }) => {
            if (f.size < 8)
              f.forEach(({ isBlockScoped: d, firstFileLocations: y, secondFileLocations: x }, I) => {
                const R = d ? p.Cannot_redeclare_block_scoped_variable_0 : p.Duplicate_identifier_0;
                for (const J of y)
                  oT(J, R, I, x);
                for (const J of x)
                  oT(J, R, I, y);
              });
            else {
              const d = rs(f.keys()).join(", ");
              Ia.add(Ws(
                Kr(a, p.Definitions_of_the_following_identifiers_conflict_with_those_in_another_file_Colon_0, d),
                Kr(l, p.Conflicts_are_in_this_file)
              )), Ia.add(Ws(
                Kr(l, p.Definitions_of_the_following_identifiers_conflict_with_those_in_another_file_Colon_0, d),
                Kr(a, p.Conflicts_are_in_this_file)
              ));
            }
          }), bo = void 0;
        }
        function xl(r, a) {
          if (F.importHelpers) {
            const l = Er(r);
            if (RC(l, F) && !(r.flags & 33554432)) {
              const f = P_t(l, r);
              if (f !== Q) {
                const d = Ri(f);
                if (d.requestedExternalEmitHelpers ?? (d.requestedExternalEmitHelpers = 0), (d.requestedExternalEmitHelpers & a) !== a) {
                  const y = a & ~d.requestedExternalEmitHelpers;
                  for (let x = 1; x <= 16777216; x <<= 1)
                    if (y & x)
                      for (const I of w_t(x)) {
                        const R = dc(zu(
                          lh(f),
                          ec(I),
                          111551
                          /* Value */
                        ));
                        R ? x & 524288 ? at(R2(R), (J) => B_(J) > 3) || Be(r, p.This_syntax_requires_an_imported_helper_named_1_with_2_parameters_which_is_not_compatible_with_the_one_in_0_Consider_upgrading_your_version_of_0, zy, I, 4) : x & 1048576 ? at(R2(R), (J) => B_(J) > 4) || Be(r, p.This_syntax_requires_an_imported_helper_named_1_with_2_parameters_which_is_not_compatible_with_the_one_in_0_Consider_upgrading_your_version_of_0, zy, I, 5) : x & 1024 && (at(R2(R), (J) => B_(J) > 2) || Be(r, p.This_syntax_requires_an_imported_helper_named_1_with_2_parameters_which_is_not_compatible_with_the_one_in_0_Consider_upgrading_your_version_of_0, zy, I, 3)) : Be(r, p.This_syntax_requires_an_imported_helper_named_1_which_does_not_exist_in_0_Consider_upgrading_your_version_of_0, zy, I);
                      }
                }
                d.requestedExternalEmitHelpers |= a;
              }
            }
          }
        }
        function w_t(r) {
          switch (r) {
            case 1:
              return ["__extends"];
            case 2:
              return ["__assign"];
            case 4:
              return ["__rest"];
            case 8:
              return V ? ["__decorate"] : ["__esDecorate", "__runInitializers"];
            case 16:
              return ["__metadata"];
            case 32:
              return ["__param"];
            case 64:
              return ["__awaiter"];
            case 128:
              return ["__generator"];
            case 256:
              return ["__values"];
            case 512:
              return ["__read"];
            case 1024:
              return ["__spreadArray"];
            case 2048:
              return ["__await"];
            case 4096:
              return ["__asyncGenerator"];
            case 8192:
              return ["__asyncDelegator"];
            case 16384:
              return ["__asyncValues"];
            case 32768:
              return ["__exportStar"];
            case 65536:
              return ["__importStar"];
            case 131072:
              return ["__importDefault"];
            case 262144:
              return ["__makeTemplateObject"];
            case 524288:
              return ["__classPrivateFieldGet"];
            case 1048576:
              return ["__classPrivateFieldSet"];
            case 2097152:
              return ["__classPrivateFieldIn"];
            case 4194304:
              return ["__setFunctionName"];
            case 8388608:
              return ["__propKey"];
            case 16777216:
              return ["__addDisposableResource", "__disposeResources"];
            case 33554432:
              return ["__rewriteRelativeImportExtension"];
            default:
              return E.fail("Unrecognized helper");
          }
        }
        function P_t(r, a) {
          const l = yn(r);
          return l.externalHelpersModule || (l.externalHelpersModule = E2(xft(r), zy, p.This_syntax_requires_an_imported_helper_but_module_0_cannot_be_found, a) || Q), l.externalHelpersModule;
        }
        function yh(r) {
          var a;
          const l = I_t(r) || N_t(r);
          if (l !== void 0)
            return l;
          if (Ni(r) && $y(r))
            return Ml(r, p.Neither_decorators_nor_modifiers_may_be_applied_to_this_parameters);
          const f = Sc(r) ? r.declarationList.flags & 7 : 0;
          let d, y, x, I, R, J = 0, Y = !1, Te = !1;
          for (const de of r.modifiers)
            if (yl(de)) {
              if (b3(V, r, r.parent, r.parent.parent)) {
                if (V && (r.kind === 177 || r.kind === 178)) {
                  const Ge = jme(r);
                  if (Pf(Ge.firstAccessor) && r === Ge.secondAccessor)
                    return Ml(r, p.Decorators_cannot_be_applied_to_multiple_get_Slashset_accessors_of_the_same_name);
                }
              } else return r.kind === 174 && !Cp(r.body) ? Ml(r, p.A_decorator_can_only_decorate_a_method_implementation_not_an_overload) : Ml(r, p.Decorators_are_not_valid_here);
              if (J & -34849)
                return mr(de, p.Decorators_are_not_valid_here);
              if (Te && J & 98303) {
                E.assertIsDefined(R);
                const Ge = Er(de);
                return j1(Ge) ? !1 : (Ws(
                  Be(de, p.Decorators_may_not_appear_after_export_or_export_default_if_they_also_appear_before_export),
                  Kr(R, p.Decorator_used_before_export_here)
                ), !0);
              }
              J |= 32768, J & 98303 ? J & 32 && (Y = !0) : Te = !0, R ?? (R = de);
            } else {
              if (de.kind !== 148) {
                if (r.kind === 171 || r.kind === 173)
                  return mr(de, p._0_modifier_cannot_appear_on_a_type_member, Qs(de.kind));
                if (r.kind === 181 && (de.kind !== 126 || !Xn(r.parent)))
                  return mr(de, p._0_modifier_cannot_appear_on_an_index_signature, Qs(de.kind));
              }
              if (de.kind !== 103 && de.kind !== 147 && de.kind !== 87 && r.kind === 168)
                return mr(de, p._0_modifier_cannot_appear_on_a_type_parameter, Qs(de.kind));
              switch (de.kind) {
                case 87: {
                  if (r.kind !== 266 && r.kind !== 168)
                    return mr(r, p.A_class_member_cannot_have_the_0_keyword, Qs(
                      87
                      /* ConstKeyword */
                    ));
                  const ht = Ip(r.parent) && Q1(r.parent) || r.parent;
                  if (r.kind === 168 && !(uo(ht) || Xn(ht) || Ym(ht) || u6(ht) || Bx(ht) || CN(ht) || Xp(ht)))
                    return mr(de, p._0_modifier_can_only_appear_on_a_type_parameter_of_a_function_method_or_class, Qs(de.kind));
                  break;
                }
                case 164:
                  if (J & 16)
                    return mr(de, p._0_modifier_already_seen, "override");
                  if (J & 128)
                    return mr(de, p._0_modifier_cannot_be_used_with_1_modifier, "override", "declare");
                  if (J & 8)
                    return mr(de, p._0_modifier_must_precede_1_modifier, "override", "readonly");
                  if (J & 512)
                    return mr(de, p._0_modifier_must_precede_1_modifier, "override", "accessor");
                  if (J & 1024)
                    return mr(de, p._0_modifier_must_precede_1_modifier, "override", "async");
                  J |= 16, I = de;
                  break;
                case 125:
                case 124:
                case 123:
                  const Ge = A2(bx(de.kind));
                  if (J & 7)
                    return mr(de, p.Accessibility_modifier_already_seen);
                  if (J & 16)
                    return mr(de, p._0_modifier_must_precede_1_modifier, Ge, "override");
                  if (J & 256)
                    return mr(de, p._0_modifier_must_precede_1_modifier, Ge, "static");
                  if (J & 512)
                    return mr(de, p._0_modifier_must_precede_1_modifier, Ge, "accessor");
                  if (J & 8)
                    return mr(de, p._0_modifier_must_precede_1_modifier, Ge, "readonly");
                  if (J & 1024)
                    return mr(de, p._0_modifier_must_precede_1_modifier, Ge, "async");
                  if (r.parent.kind === 268 || r.parent.kind === 307)
                    return mr(de, p._0_modifier_cannot_appear_on_a_module_or_namespace_element, Ge);
                  if (J & 64)
                    return de.kind === 123 ? mr(de, p._0_modifier_cannot_be_used_with_1_modifier, Ge, "abstract") : mr(de, p._0_modifier_must_precede_1_modifier, Ge, "abstract");
                  if (Iu(r))
                    return mr(de, p.An_accessibility_modifier_cannot_be_used_with_a_private_identifier);
                  J |= bx(de.kind);
                  break;
                case 126:
                  if (J & 256)
                    return mr(de, p._0_modifier_already_seen, "static");
                  if (J & 8)
                    return mr(de, p._0_modifier_must_precede_1_modifier, "static", "readonly");
                  if (J & 1024)
                    return mr(de, p._0_modifier_must_precede_1_modifier, "static", "async");
                  if (J & 512)
                    return mr(de, p._0_modifier_must_precede_1_modifier, "static", "accessor");
                  if (r.parent.kind === 268 || r.parent.kind === 307)
                    return mr(de, p._0_modifier_cannot_appear_on_a_module_or_namespace_element, "static");
                  if (r.kind === 169)
                    return mr(de, p._0_modifier_cannot_appear_on_a_parameter, "static");
                  if (J & 64)
                    return mr(de, p._0_modifier_cannot_be_used_with_1_modifier, "static", "abstract");
                  if (J & 16)
                    return mr(de, p._0_modifier_must_precede_1_modifier, "static", "override");
                  J |= 256, d = de;
                  break;
                case 129:
                  if (J & 512)
                    return mr(de, p._0_modifier_already_seen, "accessor");
                  if (J & 8)
                    return mr(de, p._0_modifier_cannot_be_used_with_1_modifier, "accessor", "readonly");
                  if (J & 128)
                    return mr(de, p._0_modifier_cannot_be_used_with_1_modifier, "accessor", "declare");
                  if (r.kind !== 172)
                    return mr(de, p.accessor_modifier_can_only_appear_on_a_property_declaration);
                  J |= 512;
                  break;
                case 148:
                  if (J & 8)
                    return mr(de, p._0_modifier_already_seen, "readonly");
                  if (r.kind !== 172 && r.kind !== 171 && r.kind !== 181 && r.kind !== 169)
                    return mr(de, p.readonly_modifier_can_only_appear_on_a_property_declaration_or_index_signature);
                  if (J & 512)
                    return mr(de, p._0_modifier_cannot_be_used_with_1_modifier, "readonly", "accessor");
                  J |= 8;
                  break;
                case 95:
                  if (F.verbatimModuleSyntax && !(r.flags & 33554432) && r.kind !== 265 && r.kind !== 264 && // ModuleDeclaration needs to be checked that it is uninstantiated later
                  r.kind !== 267 && r.parent.kind === 307 && e.getEmitModuleFormatOfFile(Er(r)) === 1)
                    return mr(de, p.A_top_level_export_modifier_cannot_be_used_on_value_declarations_in_a_CommonJS_module_when_verbatimModuleSyntax_is_enabled);
                  if (J & 32)
                    return mr(de, p._0_modifier_already_seen, "export");
                  if (J & 128)
                    return mr(de, p._0_modifier_must_precede_1_modifier, "export", "declare");
                  if (J & 64)
                    return mr(de, p._0_modifier_must_precede_1_modifier, "export", "abstract");
                  if (J & 1024)
                    return mr(de, p._0_modifier_must_precede_1_modifier, "export", "async");
                  if (Xn(r.parent))
                    return mr(de, p._0_modifier_cannot_appear_on_class_elements_of_this_kind, "export");
                  if (r.kind === 169)
                    return mr(de, p._0_modifier_cannot_appear_on_a_parameter, "export");
                  if (f === 4)
                    return mr(de, p._0_modifier_cannot_appear_on_a_using_declaration, "export");
                  if (f === 6)
                    return mr(de, p._0_modifier_cannot_appear_on_an_await_using_declaration, "export");
                  J |= 32;
                  break;
                case 90:
                  const ct = r.parent.kind === 307 ? r.parent : r.parent.parent;
                  if (ct.kind === 267 && !Fu(ct))
                    return mr(de, p.A_default_export_can_only_be_used_in_an_ECMAScript_style_module);
                  if (f === 4)
                    return mr(de, p._0_modifier_cannot_appear_on_a_using_declaration, "default");
                  if (f === 6)
                    return mr(de, p._0_modifier_cannot_appear_on_an_await_using_declaration, "default");
                  if (J & 32) {
                    if (Y)
                      return mr(R, p.Decorators_are_not_valid_here);
                  } else return mr(de, p._0_modifier_must_precede_1_modifier, "export", "default");
                  J |= 2048;
                  break;
                case 138:
                  if (J & 128)
                    return mr(de, p._0_modifier_already_seen, "declare");
                  if (J & 1024)
                    return mr(de, p._0_modifier_cannot_be_used_in_an_ambient_context, "async");
                  if (J & 16)
                    return mr(de, p._0_modifier_cannot_be_used_in_an_ambient_context, "override");
                  if (Xn(r.parent) && !is(r))
                    return mr(de, p._0_modifier_cannot_appear_on_class_elements_of_this_kind, "declare");
                  if (r.kind === 169)
                    return mr(de, p._0_modifier_cannot_appear_on_a_parameter, "declare");
                  if (f === 4)
                    return mr(de, p._0_modifier_cannot_appear_on_a_using_declaration, "declare");
                  if (f === 6)
                    return mr(de, p._0_modifier_cannot_appear_on_an_await_using_declaration, "declare");
                  if (r.parent.flags & 33554432 && r.parent.kind === 268)
                    return mr(de, p.A_declare_modifier_cannot_be_used_in_an_already_ambient_context);
                  if (Iu(r))
                    return mr(de, p._0_modifier_cannot_be_used_with_a_private_identifier, "declare");
                  if (J & 512)
                    return mr(de, p._0_modifier_cannot_be_used_with_1_modifier, "declare", "accessor");
                  J |= 128, y = de;
                  break;
                case 128:
                  if (J & 64)
                    return mr(de, p._0_modifier_already_seen, "abstract");
                  if (r.kind !== 263 && r.kind !== 185) {
                    if (r.kind !== 174 && r.kind !== 172 && r.kind !== 177 && r.kind !== 178)
                      return mr(de, p.abstract_modifier_can_only_appear_on_a_class_method_or_property_declaration);
                    if (!(r.parent.kind === 263 && qn(
                      r.parent,
                      64
                      /* Abstract */
                    ))) {
                      const ht = r.kind === 172 ? p.Abstract_properties_can_only_appear_within_an_abstract_class : p.Abstract_methods_can_only_appear_within_an_abstract_class;
                      return mr(de, ht);
                    }
                    if (J & 256)
                      return mr(de, p._0_modifier_cannot_be_used_with_1_modifier, "static", "abstract");
                    if (J & 2)
                      return mr(de, p._0_modifier_cannot_be_used_with_1_modifier, "private", "abstract");
                    if (J & 1024 && x)
                      return mr(x, p._0_modifier_cannot_be_used_with_1_modifier, "async", "abstract");
                    if (J & 16)
                      return mr(de, p._0_modifier_must_precede_1_modifier, "abstract", "override");
                    if (J & 512)
                      return mr(de, p._0_modifier_must_precede_1_modifier, "abstract", "accessor");
                  }
                  if (El(r) && r.name.kind === 81)
                    return mr(de, p._0_modifier_cannot_be_used_with_a_private_identifier, "abstract");
                  J |= 64;
                  break;
                case 134:
                  if (J & 1024)
                    return mr(de, p._0_modifier_already_seen, "async");
                  if (J & 128 || r.parent.flags & 33554432)
                    return mr(de, p._0_modifier_cannot_be_used_in_an_ambient_context, "async");
                  if (r.kind === 169)
                    return mr(de, p._0_modifier_cannot_appear_on_a_parameter, "async");
                  if (J & 64)
                    return mr(de, p._0_modifier_cannot_be_used_with_1_modifier, "async", "abstract");
                  J |= 1024, x = de;
                  break;
                case 103:
                case 147: {
                  const ht = de.kind === 103 ? 8192 : 16384, nr = de.kind === 103 ? "in" : "out", Xt = Ip(r.parent) && (Q1(r.parent) || Dn((a = GC(r.parent)) == null ? void 0 : a.tags, jS)) || r.parent;
                  if (r.kind !== 168 || Xt && !(Yl(Xt) || Xn(Xt) || Ap(Xt) || jS(Xt)))
                    return mr(de, p._0_modifier_can_only_appear_on_a_type_parameter_of_a_class_interface_or_type_alias, nr);
                  if (J & ht)
                    return mr(de, p._0_modifier_already_seen, nr);
                  if (ht & 8192 && J & 16384)
                    return mr(de, p._0_modifier_must_precede_1_modifier, "in", "out");
                  J |= ht;
                  break;
                }
              }
            }
          return r.kind === 176 ? J & 256 ? mr(d, p._0_modifier_cannot_appear_on_a_constructor_declaration, "static") : J & 16 ? mr(I, p._0_modifier_cannot_appear_on_a_constructor_declaration, "override") : J & 1024 ? mr(x, p._0_modifier_cannot_appear_on_a_constructor_declaration, "async") : !1 : (r.kind === 272 || r.kind === 271) && J & 128 ? mr(y, p.A_0_modifier_cannot_be_used_with_an_import_declaration, "declare") : r.kind === 169 && J & 31 && Ps(r.name) ? mr(r, p.A_parameter_property_may_not_be_declared_using_a_binding_pattern) : r.kind === 169 && J & 31 && r.dotDotDotToken ? mr(r, p.A_parameter_property_cannot_be_declared_using_a_rest_parameter) : J & 1024 ? O_t(r, x) : !1;
        }
        function N_t(r) {
          if (!r.modifiers) return !1;
          const a = A_t(r);
          return a && Ml(a, p.Modifiers_cannot_appear_here);
        }
        function AX(r, a) {
          const l = Dn(r.modifiers, Ks);
          return l && l.kind !== a ? l : void 0;
        }
        function A_t(r) {
          switch (r.kind) {
            case 177:
            case 178:
            case 176:
            case 172:
            case 171:
            case 174:
            case 173:
            case 181:
            case 267:
            case 272:
            case 271:
            case 278:
            case 277:
            case 218:
            case 219:
            case 169:
            case 168:
              return;
            case 175:
            case 303:
            case 304:
            case 270:
            case 282:
              return Dn(r.modifiers, Ks);
            default:
              if (r.parent.kind === 268 || r.parent.kind === 307)
                return;
              switch (r.kind) {
                case 262:
                  return AX(
                    r,
                    134
                    /* AsyncKeyword */
                  );
                case 263:
                case 185:
                  return AX(
                    r,
                    128
                    /* AbstractKeyword */
                  );
                case 231:
                case 264:
                case 265:
                  return Dn(r.modifiers, Ks);
                case 243:
                  return r.declarationList.flags & 4 ? AX(
                    r,
                    135
                    /* AwaitKeyword */
                  ) : Dn(r.modifiers, Ks);
                case 266:
                  return AX(
                    r,
                    87
                    /* ConstKeyword */
                  );
                default:
                  E.assertNever(r);
              }
          }
        }
        function I_t(r) {
          const a = F_t(r);
          return a && Ml(a, p.Decorators_are_not_valid_here);
        }
        function F_t(r) {
          return wz(r) ? Dn(r.modifiers, yl) : void 0;
        }
        function O_t(r, a) {
          switch (r.kind) {
            case 174:
            case 262:
            case 218:
            case 219:
              return !1;
          }
          return mr(a, p._0_modifier_cannot_be_used_here, "async");
        }
        function gC(r, a = p.Trailing_comma_not_allowed) {
          return r && r.hasTrailingComma ? Q2(r[0], r.end - 1, 1, a) : !1;
        }
        function K7e(r, a) {
          if (r && r.length === 0) {
            const l = r.pos - 1, f = ca(a.text, r.end) + 1;
            return Q2(a, l, f - l, p.Type_parameter_list_cannot_be_empty);
          }
          return !1;
        }
        function L_t(r) {
          let a = !1;
          const l = r.length;
          for (let f = 0; f < l; f++) {
            const d = r[f];
            if (d.dotDotDotToken) {
              if (f !== l - 1)
                return mr(d.dotDotDotToken, p.A_rest_parameter_must_be_last_in_a_parameter_list);
              if (d.flags & 33554432 || gC(r, p.A_rest_parameter_or_binding_pattern_may_not_have_a_trailing_comma), d.questionToken)
                return mr(d.questionToken, p.A_rest_parameter_cannot_be_optional);
              if (d.initializer)
                return mr(d.name, p.A_rest_parameter_cannot_have_an_initializer);
            } else if (JG(d)) {
              if (a = !0, d.questionToken && d.initializer)
                return mr(d.name, p.Parameter_cannot_have_question_mark_and_initializer);
            } else if (a && !d.initializer)
              return mr(d.name, p.A_required_parameter_cannot_follow_an_optional_parameter);
          }
        }
        function M_t(r) {
          return Tn(r, (a) => !!a.initializer || Ps(a.name) || Hm(a));
        }
        function R_t(r) {
          if (j >= 3) {
            const a = r.body && Cs(r.body) && kz(r.body.statements);
            if (a) {
              const l = M_t(r.parameters);
              if (Ar(l)) {
                ar(l, (d) => {
                  Ws(
                    Be(d, p.This_parameter_is_not_allowed_with_use_strict_directive),
                    Kr(a, p.use_strict_directive_used_here)
                  );
                });
                const f = l.map((d, y) => y === 0 ? Kr(d, p.Non_simple_parameter_declared_here) : Kr(d, p.and_here));
                return Ws(Be(a, p.use_strict_directive_cannot_be_used_with_non_simple_parameter_list), ...f), !0;
              }
            }
          }
          return !1;
        }
        function IX(r) {
          const a = Er(r);
          return yh(r) || K7e(r.typeParameters, a) || L_t(r.parameters) || B_t(r, a) || uo(r) && R_t(r);
        }
        function j_t(r) {
          const a = Er(r);
          return U_t(r) || K7e(r.typeParameters, a);
        }
        function B_t(r, a) {
          if (!Co(r))
            return !1;
          r.typeParameters && !(Ar(r.typeParameters) > 1 || r.typeParameters.hasTrailingComma || r.typeParameters[0].constraint) && a && Dc(a.fileName, [
            ".mts",
            ".cts"
            /* Cts */
          ]) && mr(r.typeParameters[0], p.This_syntax_is_reserved_in_files_with_the_mts_or_cts_extension_Add_a_trailing_comma_or_explicit_constraint);
          const { equalsGreaterThanToken: l } = r, f = Js(a, l.pos).line, d = Js(a, l.end).line;
          return f !== d && mr(l, p.Line_terminator_not_permitted_before_arrow);
        }
        function J_t(r) {
          const a = r.parameters[0];
          if (r.parameters.length !== 1)
            return mr(a ? a.name : r, p.An_index_signature_must_have_exactly_one_parameter);
          if (gC(r.parameters, p.An_index_signature_cannot_have_a_trailing_comma), a.dotDotDotToken)
            return mr(a.dotDotDotToken, p.An_index_signature_cannot_have_a_rest_parameter);
          if (XB(a))
            return mr(a.name, p.An_index_signature_parameter_cannot_have_an_accessibility_modifier);
          if (a.questionToken)
            return mr(a.questionToken, p.An_index_signature_parameter_cannot_have_a_question_mark);
          if (a.initializer)
            return mr(a.name, p.An_index_signature_parameter_cannot_have_an_initializer);
          if (!a.type)
            return mr(a.name, p.An_index_signature_parameter_must_have_a_type_annotation);
          const l = Ci(a.type);
          return yp(l, (f) => !!(f.flags & 8576)) || tb(l) ? mr(a.name, p.An_index_signature_parameter_type_cannot_be_a_literal_type_or_generic_type_Consider_using_a_mapped_object_type_instead) : j_(l, HG) ? r.type ? !1 : mr(r, p.An_index_signature_must_have_a_type_annotation) : mr(a.name, p.An_index_signature_parameter_type_must_be_string_number_symbol_or_a_template_literal_type);
        }
        function z_t(r) {
          return yh(r) || J_t(r);
        }
        function W_t(r, a) {
          if (a && a.length === 0) {
            const l = Er(r), f = a.pos - 1, d = ca(l.text, a.end) + 1;
            return Q2(l, f, d - f, p.Type_argument_list_cannot_be_empty);
          }
          return !1;
        }
        function fR(r, a) {
          return gC(a) || W_t(r, a);
        }
        function V_t(r) {
          return r.questionDotToken || r.flags & 64 ? mr(r.template, p.Tagged_template_expressions_are_not_permitted_in_an_optional_chain) : !1;
        }
        function e5e(r) {
          const a = r.types;
          if (gC(a))
            return !0;
          if (a && a.length === 0) {
            const l = Qs(r.token);
            return Q2(r, a.pos, 0, p._0_list_cannot_be_empty, l);
          }
          return at(a, t5e);
        }
        function t5e(r) {
          return Lh(r) && PD(r.expression) && r.typeArguments ? mr(r, p.This_use_of_import_is_invalid_import_calls_can_be_written_but_they_must_have_parentheses_and_cannot_have_type_arguments) : fR(r, r.typeArguments);
        }
        function U_t(r) {
          let a = !1, l = !1;
          if (!yh(r) && r.heritageClauses)
            for (const f of r.heritageClauses) {
              if (f.token === 96) {
                if (a)
                  return Ml(f, p.extends_clause_already_seen);
                if (l)
                  return Ml(f, p.extends_clause_must_precede_implements_clause);
                if (f.types.length > 1)
                  return Ml(f.types[1], p.Classes_can_only_extend_a_single_class);
                a = !0;
              } else {
                if (E.assert(
                  f.token === 119
                  /* ImplementsKeyword */
                ), l)
                  return Ml(f, p.implements_clause_already_seen);
                l = !0;
              }
              e5e(f);
            }
        }
        function q_t(r) {
          let a = !1;
          if (r.heritageClauses)
            for (const l of r.heritageClauses) {
              if (l.token === 96) {
                if (a)
                  return Ml(l, p.extends_clause_already_seen);
                a = !0;
              } else
                return E.assert(
                  l.token === 119
                  /* ImplementsKeyword */
                ), Ml(l, p.Interface_declaration_cannot_have_implements_clause);
              e5e(l);
            }
          return !1;
        }
        function FX(r) {
          if (r.kind !== 167)
            return !1;
          const a = r;
          return a.expression.kind === 226 && a.expression.operatorToken.kind === 28 ? mr(a.expression, p.A_comma_expression_is_not_allowed_in_a_computed_property_name) : !1;
        }
        function Wme(r) {
          if (r.asteriskToken) {
            if (E.assert(
              r.kind === 262 || r.kind === 218 || r.kind === 174
              /* MethodDeclaration */
            ), r.flags & 33554432)
              return mr(r.asteriskToken, p.Generators_are_not_allowed_in_an_ambient_context);
            if (!r.body)
              return mr(r.asteriskToken, p.An_overload_signature_cannot_be_declared_as_a_generator);
          }
        }
        function Vme(r, a) {
          return !!r && mr(r, a);
        }
        function r5e(r, a) {
          return !!r && mr(r, a);
        }
        function H_t(r, a) {
          const l = /* @__PURE__ */ new Map();
          for (const f of r.properties) {
            if (f.kind === 305) {
              if (a) {
                const x = za(f.expression);
                if (Ql(x) || ua(x))
                  return mr(f.expression, p.A_rest_element_cannot_contain_a_binding_pattern);
              }
              continue;
            }
            const d = f.name;
            if (d.kind === 167 && FX(d), f.kind === 304 && !a && f.objectAssignmentInitializer && mr(f.equalsToken, p.Did_you_mean_to_use_a_Colon_An_can_only_follow_a_property_name_when_the_containing_object_literal_is_part_of_a_destructuring_pattern), d.kind === 81 && mr(d, p.Private_identifiers_are_not_allowed_outside_class_bodies), Fp(f) && f.modifiers)
              for (const x of f.modifiers)
                Ks(x) && (x.kind !== 134 || f.kind !== 174) && mr(x, p._0_modifier_cannot_be_used_here, Go(x));
            else if (Zte(f) && f.modifiers)
              for (const x of f.modifiers)
                Ks(x) && mr(x, p._0_modifier_cannot_be_used_here, Go(x));
            let y;
            switch (f.kind) {
              case 304:
              case 303:
                r5e(f.exclamationToken, p.A_definite_assignment_assertion_is_not_permitted_in_this_context), Vme(f.questionToken, p.An_object_member_cannot_be_declared_optional), d.kind === 9 && u5e(d), d.kind === 10 && G0(
                  /*isError*/
                  !0,
                  Kr(d, p.A_bigint_literal_cannot_be_used_as_a_property_name)
                ), y = 4;
                break;
              case 174:
                y = 8;
                break;
              case 177:
                y = 1;
                break;
              case 178:
                y = 2;
                break;
              default:
                E.assertNever(f, "Unexpected syntax kind:" + f.kind);
            }
            if (!a) {
              const x = Hme(d);
              if (x === void 0)
                continue;
              const I = l.get(x);
              if (!I)
                l.set(x, y);
              else if (y & 8 && I & 8)
                mr(d, p.Duplicate_identifier_0, Go(d));
              else if (y & 4 && I & 4)
                mr(d, p.An_object_literal_cannot_have_multiple_properties_with_the_same_name, Go(d));
              else if (y & 3 && I & 3)
                if (I !== 3 && y !== I)
                  l.set(x, y | I);
                else
                  return mr(d, p.An_object_literal_cannot_have_multiple_get_Slashset_accessors_with_the_same_name);
              else
                return mr(d, p.An_object_literal_cannot_have_property_and_accessor_with_the_same_name);
            }
          }
        }
        function G_t(r) {
          $_t(r.tagName), fR(r, r.typeArguments);
          const a = /* @__PURE__ */ new Map();
          for (const l of r.attributes.properties) {
            if (l.kind === 293)
              continue;
            const { name: f, initializer: d } = l, y = bD(f);
            if (!a.get(y))
              a.set(y, !0);
            else
              return mr(f, p.JSX_elements_cannot_have_multiple_attributes_with_the_same_name);
            if (d && d.kind === 294 && !d.expression)
              return mr(d, p.JSX_attributes_must_only_be_assigned_a_non_empty_expression);
          }
        }
        function $_t(r) {
          if (kn(r) && vd(r.expression))
            return mr(r.expression, p.JSX_property_access_expressions_cannot_include_JSX_namespace_names);
          if (vd(r) && z5(F) && !YC(r.namespace.escapedText))
            return mr(r, p.React_components_cannot_include_JSX_namespace_names);
        }
        function X_t(r) {
          if (r.expression && BD(r.expression))
            return mr(r.expression, p.JSX_expressions_may_not_use_the_comma_operator_Did_you_mean_to_write_an_array);
        }
        function n5e(r) {
          if (_0(r))
            return !0;
          if (r.kind === 250 && r.awaitModifier && !(r.flags & 65536)) {
            const a = Er(r);
            if (Q7(r)) {
              if (!j1(a))
                switch (RC(a, F) || Ia.add(Kr(r.awaitModifier, p.for_await_loops_are_only_allowed_at_the_top_level_of_a_file_when_that_file_is_a_module_but_this_file_has_no_imports_or_exports_Consider_adding_an_empty_export_to_make_this_file_a_module)), z) {
                  case 100:
                  case 101:
                  case 199:
                    if (a.impliedNodeFormat === 1) {
                      Ia.add(
                        Kr(r.awaitModifier, p.The_current_file_is_a_CommonJS_module_and_cannot_use_await_at_the_top_level)
                      );
                      break;
                    }
                  // fallthrough
                  case 7:
                  case 99:
                  case 200:
                  case 4:
                    if (j >= 4)
                      break;
                  // fallthrough
                  default:
                    Ia.add(
                      Kr(r.awaitModifier, p.Top_level_for_await_loops_are_only_allowed_when_the_module_option_is_set_to_es2022_esnext_system_node16_node18_nodenext_or_preserve_and_the_target_option_is_set_to_es2017_or_higher)
                    );
                    break;
                }
            } else if (!j1(a)) {
              const l = Kr(r.awaitModifier, p.for_await_loops_are_only_allowed_within_async_functions_and_at_the_top_levels_of_modules), f = Df(r);
              if (f && f.kind !== 176) {
                E.assert((Fc(f) & 2) === 0, "Enclosing function should never be an async function.");
                const d = Kr(f, p.Did_you_mean_to_mark_this_function_as_async);
                Ws(l, d);
              }
              return Ia.add(l), !0;
            }
          }
          if (wN(r) && !(r.flags & 65536) && Fe(r.initializer) && r.initializer.escapedText === "async")
            return mr(r.initializer, p.The_left_hand_side_of_a_for_of_statement_may_not_be_async), !1;
          if (r.initializer.kind === 261) {
            const a = r.initializer;
            if (!qme(a)) {
              const l = a.declarations;
              if (!l.length)
                return !1;
              if (l.length > 1) {
                const d = r.kind === 249 ? p.Only_a_single_variable_declaration_is_allowed_in_a_for_in_statement : p.Only_a_single_variable_declaration_is_allowed_in_a_for_of_statement;
                return Ml(a.declarations[1], d);
              }
              const f = l[0];
              if (f.initializer) {
                const d = r.kind === 249 ? p.The_variable_declaration_of_a_for_in_statement_cannot_have_an_initializer : p.The_variable_declaration_of_a_for_of_statement_cannot_have_an_initializer;
                return mr(f.name, d);
              }
              if (f.type) {
                const d = r.kind === 249 ? p.The_left_hand_side_of_a_for_in_statement_cannot_use_a_type_annotation : p.The_left_hand_side_of_a_for_of_statement_cannot_use_a_type_annotation;
                return mr(f, d);
              }
            }
          }
          return !1;
        }
        function Q_t(r) {
          if (!(r.flags & 33554432) && r.parent.kind !== 187 && r.parent.kind !== 264) {
            if (j < 2 && Di(r.name))
              return mr(r.name, p.Private_identifiers_are_only_available_when_targeting_ECMAScript_2015_and_higher);
            if (r.body === void 0 && !qn(
              r,
              64
              /* Abstract */
            ))
              return Q2(r, r.end - 1, 1, p._0_expected, "{");
          }
          if (r.body) {
            if (qn(
              r,
              64
              /* Abstract */
            ))
              return mr(r, p.An_abstract_accessor_cannot_have_an_implementation);
            if (r.parent.kind === 187 || r.parent.kind === 264)
              return mr(r.body, p.An_implementation_cannot_be_declared_in_ambient_contexts);
          }
          if (r.typeParameters)
            return mr(r.name, p.An_accessor_cannot_have_type_parameters);
          if (!Y_t(r))
            return mr(
              r.name,
              r.kind === 177 ? p.A_get_accessor_cannot_have_parameters : p.A_set_accessor_must_have_exactly_one_parameter
            );
          if (r.kind === 178) {
            if (r.type)
              return mr(r.name, p.A_set_accessor_cannot_have_a_return_type_annotation);
            const a = E.checkDefined(K4(r), "Return value does not match parameter count assertion.");
            if (a.dotDotDotToken)
              return mr(a.dotDotDotToken, p.A_set_accessor_cannot_have_rest_parameter);
            if (a.questionToken)
              return mr(a.questionToken, p.A_set_accessor_cannot_have_an_optional_parameter);
            if (a.initializer)
              return mr(r.name, p.A_set_accessor_parameter_cannot_have_an_initializer);
          }
          return !1;
        }
        function Y_t(r) {
          return Ume(r) || r.parameters.length === (r.kind === 177 ? 0 : 1);
        }
        function Ume(r) {
          if (r.parameters.length === (r.kind === 177 ? 1 : 2))
            return Ob(r);
        }
        function Z_t(r) {
          if (r.operator === 158) {
            if (r.type.kind !== 155)
              return mr(r.type, p._0_expected, Qs(
                155
                /* SymbolKeyword */
              ));
            let a = R3(r.parent);
            if (tn(a) && lv(a)) {
              const l = Nb(a);
              l && (a = gx(l) || l);
            }
            switch (a.kind) {
              case 260:
                const l = a;
                if (l.name.kind !== 80)
                  return mr(r, p.unique_symbol_types_may_not_be_used_on_a_variable_declaration_with_a_binding_name);
                if (!R4(l))
                  return mr(r, p.unique_symbol_types_are_only_allowed_on_variables_in_a_variable_statement);
                if (!(l.parent.flags & 2))
                  return mr(a.name, p.A_variable_whose_type_is_a_unique_symbol_type_must_be_const);
                break;
              case 172:
                if (!zs(a) || !xS(a))
                  return mr(a.name, p.A_property_of_a_class_whose_type_is_a_unique_symbol_type_must_be_both_static_and_readonly);
                break;
              case 171:
                if (!qn(
                  a,
                  8
                  /* Readonly */
                ))
                  return mr(a.name, p.A_property_of_an_interface_or_type_literal_whose_type_is_a_unique_symbol_type_must_be_readonly);
                break;
              default:
                return mr(r, p.unique_symbol_types_are_not_allowed_here);
            }
          } else if (r.operator === 148 && r.type.kind !== 188 && r.type.kind !== 189)
            return Ml(r, p.readonly_type_modifier_is_only_permitted_on_array_and_tuple_literal_types, Qs(
              155
              /* SymbolKeyword */
            ));
        }
        function bP(r, a) {
          if (zPe(r) && !to(fo(r) ? za(r.argumentExpression) : r.expression))
            return mr(r, a);
        }
        function i5e(r) {
          if (IX(r))
            return !0;
          if (r.kind === 174) {
            if (r.parent.kind === 210) {
              if (r.modifiers && !(r.modifiers.length === 1 && xa(r.modifiers).kind === 134))
                return Ml(r, p.Modifiers_cannot_appear_here);
              if (Vme(r.questionToken, p.An_object_member_cannot_be_declared_optional))
                return !0;
              if (r5e(r.exclamationToken, p.A_definite_assignment_assertion_is_not_permitted_in_this_context))
                return !0;
              if (r.body === void 0)
                return Q2(r, r.end - 1, 1, p._0_expected, "{");
            }
            if (Wme(r))
              return !0;
          }
          if (Xn(r.parent)) {
            if (j < 2 && Di(r.name))
              return mr(r.name, p.Private_identifiers_are_only_available_when_targeting_ECMAScript_2015_and_higher);
            if (r.flags & 33554432)
              return bP(r.name, p.A_computed_property_name_in_an_ambient_context_must_refer_to_an_expression_whose_type_is_a_literal_type_or_a_unique_symbol_type);
            if (r.kind === 174 && !r.body)
              return bP(r.name, p.A_computed_property_name_in_a_method_overload_must_refer_to_an_expression_whose_type_is_a_literal_type_or_a_unique_symbol_type);
          } else {
            if (r.parent.kind === 264)
              return bP(r.name, p.A_computed_property_name_in_an_interface_must_refer_to_an_expression_whose_type_is_a_literal_type_or_a_unique_symbol_type);
            if (r.parent.kind === 187)
              return bP(r.name, p.A_computed_property_name_in_a_type_literal_must_refer_to_an_expression_whose_type_is_a_literal_type_or_a_unique_symbol_type);
          }
        }
        function K_t(r) {
          let a = r;
          for (; a; ) {
            if (IC(a))
              return mr(r, p.Jump_target_cannot_cross_function_boundary);
            switch (a.kind) {
              case 256:
                if (r.label && a.label.escapedText === r.label.escapedText)
                  return r.kind === 251 && !Jy(
                    a.statement,
                    /*lookInLabeledStatements*/
                    !0
                  ) ? mr(r, p.A_continue_statement_can_only_jump_to_a_label_of_an_enclosing_iteration_statement) : !1;
                break;
              case 255:
                if (r.kind === 252 && !r.label)
                  return !1;
                break;
              default:
                if (Jy(
                  a,
                  /*lookInLabeledStatements*/
                  !1
                ) && !r.label)
                  return !1;
                break;
            }
            a = a.parent;
          }
          if (r.label) {
            const l = r.kind === 252 ? p.A_break_statement_can_only_jump_to_a_label_of_an_enclosing_statement : p.A_continue_statement_can_only_jump_to_a_label_of_an_enclosing_iteration_statement;
            return mr(r, l);
          } else {
            const l = r.kind === 252 ? p.A_break_statement_can_only_be_used_within_an_enclosing_iteration_or_switch_statement : p.A_continue_statement_can_only_be_used_within_an_enclosing_iteration_statement;
            return mr(r, l);
          }
        }
        function eft(r) {
          if (r.dotDotDotToken) {
            const a = r.parent.elements;
            if (r !== pa(a))
              return mr(r, p.A_rest_element_must_be_last_in_a_destructuring_pattern);
            if (gC(a, p.A_rest_parameter_or_binding_pattern_may_not_have_a_trailing_comma), r.propertyName)
              return mr(r.name, p.A_rest_element_cannot_have_a_property_name);
          }
          if (r.dotDotDotToken && r.initializer)
            return Q2(r, r.initializer.pos - 1, 1, p.A_rest_element_cannot_have_an_initializer);
        }
        function s5e(r) {
          return wf(r) || r.kind === 224 && r.operator === 41 && r.operand.kind === 9;
        }
        function tft(r) {
          return r.kind === 10 || r.kind === 224 && r.operator === 41 && r.operand.kind === 10;
        }
        function rft(r) {
          if ((kn(r) || fo(r) && s5e(r.argumentExpression)) && to(r.expression))
            return !!(gc(r).flags & 1056);
        }
        function a5e(r) {
          const a = r.initializer;
          if (a) {
            const l = !(s5e(a) || rft(a) || a.kind === 112 || a.kind === 97 || tft(a));
            if ((f3(r) || Zn(r) && OI(r)) && !r.type) {
              if (l)
                return mr(a, p.A_const_initializer_in_an_ambient_context_must_be_a_string_or_numeric_literal_or_literal_enum_reference);
            } else
              return mr(a, p.Initializers_are_not_allowed_in_ambient_contexts);
          }
        }
        function nft(r) {
          const a = Y2(r), l = a & 7;
          if (Ps(r.name))
            switch (l) {
              case 6:
                return mr(r, p._0_declarations_may_not_have_binding_patterns, "await using");
              case 4:
                return mr(r, p._0_declarations_may_not_have_binding_patterns, "using");
            }
          if (r.parent.parent.kind !== 249 && r.parent.parent.kind !== 250) {
            if (a & 33554432)
              a5e(r);
            else if (!r.initializer) {
              if (Ps(r.name) && !Ps(r.parent))
                return mr(r, p.A_destructuring_declaration_must_have_an_initializer);
              switch (l) {
                case 6:
                  return mr(r, p._0_declarations_must_be_initialized, "await using");
                case 4:
                  return mr(r, p._0_declarations_must_be_initialized, "using");
                case 2:
                  return mr(r, p._0_declarations_must_be_initialized, "const");
              }
            }
          }
          if (r.exclamationToken && (r.parent.parent.kind !== 243 || !r.type || r.initializer || a & 33554432)) {
            const f = r.initializer ? p.Declarations_with_initializers_cannot_also_have_definite_assignment_assertions : r.type ? p.A_definite_assignment_assertion_is_not_permitted_in_this_context : p.Declarations_with_definite_assignment_assertions_must_also_have_type_annotations;
            return mr(r.exclamationToken, f);
          }
          return e.getEmitModuleFormatOfFile(Er(r)) < 4 && !(r.parent.parent.flags & 33554432) && qn(
            r.parent.parent,
            32
            /* Export */
          ) && o5e(r.name), !!l && c5e(r.name);
        }
        function o5e(r) {
          if (r.kind === 80) {
            if (Pn(r) === "__esModule")
              return aft("noEmit", r, p.Identifier_expected_esModule_is_reserved_as_an_exported_marker_when_transforming_ECMAScript_modules);
          } else {
            const a = r.elements;
            for (const l of a)
              if (!vl(l))
                return o5e(l.name);
          }
          return !1;
        }
        function c5e(r) {
          if (r.kind === 80) {
            if (r.escapedText === "let")
              return mr(r, p.let_is_not_allowed_to_be_used_as_a_name_in_let_or_const_declarations);
          } else {
            const a = r.elements;
            for (const l of a)
              vl(l) || c5e(l.name);
          }
          return !1;
        }
        function qme(r) {
          const a = r.declarations;
          if (gC(r.declarations))
            return !0;
          if (!r.declarations.length)
            return Q2(r, a.pos, a.end - a.pos, p.Variable_declaration_list_cannot_be_empty);
          const l = r.flags & 7;
          return (l === 4 || l === 6) && kF(r.parent) ? mr(
            r,
            l === 4 ? p.The_left_hand_side_of_a_for_in_statement_cannot_be_a_using_declaration : p.The_left_hand_side_of_a_for_in_statement_cannot_be_an_await_using_declaration
          ) : l === 6 ? CIe(r) : !1;
        }
        function OX(r) {
          switch (r.kind) {
            case 245:
            case 246:
            case 247:
            case 254:
            case 248:
            case 249:
            case 250:
              return !1;
            case 256:
              return OX(r.parent);
          }
          return !0;
        }
        function ift(r) {
          if (!OX(r.parent)) {
            const a = Y2(r.declarationList) & 7;
            if (a) {
              const l = a === 1 ? "let" : a === 2 ? "const" : a === 4 ? "using" : a === 6 ? "await using" : E.fail("Unknown BlockScope flag");
              return mr(r, p._0_declarations_can_only_be_declared_inside_a_block, l);
            }
          }
        }
        function sft(r) {
          const a = r.name.escapedText;
          switch (r.keywordToken) {
            case 105:
              if (a !== "target")
                return mr(r.name, p._0_is_not_a_valid_meta_property_for_keyword_1_Did_you_mean_2, Ei(r.name.escapedText), Qs(r.keywordToken), "target");
              break;
            case 102:
              if (a !== "meta")
                return mr(r.name, p._0_is_not_a_valid_meta_property_for_keyword_1_Did_you_mean_2, Ei(r.name.escapedText), Qs(r.keywordToken), "meta");
              break;
          }
        }
        function j1(r) {
          return r.parseDiagnostics.length > 0;
        }
        function Ml(r, a, ...l) {
          const f = Er(r);
          if (!j1(f)) {
            const d = Xd(f, r.pos);
            return Ia.add(al(f, d.start, d.length, a, ...l)), !0;
          }
          return !1;
        }
        function Q2(r, a, l, f, ...d) {
          const y = Er(r);
          return j1(y) ? !1 : (Ia.add(al(y, a, l, f, ...d)), !0);
        }
        function aft(r, a, l, ...f) {
          const d = Er(a);
          return j1(d) ? !1 : (og(r, a, l, ...f), !0);
        }
        function mr(r, a, ...l) {
          const f = Er(r);
          return j1(f) ? !1 : (Ia.add(Kr(r, a, ...l)), !0);
        }
        function oft(r) {
          const a = tn(r) ? T5(r) : void 0, l = r.typeParameters || a && Xc(a);
          if (l) {
            const f = l.pos === l.end ? l.pos : ca(Er(r).text, l.pos);
            return Q2(r, f, l.end - f, p.Type_parameters_cannot_appear_on_a_constructor_declaration);
          }
        }
        function cft(r) {
          const a = r.type || mf(r);
          if (a)
            return mr(a, p.Type_annotation_cannot_appear_on_a_constructor_declaration);
        }
        function lft(r) {
          if (ia(r.name) && _n(r.name.expression) && r.name.expression.operatorToken.kind === 103)
            return mr(r.parent.members[0], p.A_mapped_type_may_not_declare_properties_or_methods);
          if (Xn(r.parent)) {
            if (la(r.name) && r.name.text === "constructor")
              return mr(r.name, p.Classes_may_not_have_a_field_named_constructor);
            if (bP(r.name, p.A_computed_property_name_in_a_class_property_declaration_must_have_a_simple_literal_type_or_a_unique_symbol_type))
              return !0;
            if (j < 2 && Di(r.name))
              return mr(r.name, p.Private_identifiers_are_only_available_when_targeting_ECMAScript_2015_and_higher);
            if (j < 2 && u_(r))
              return mr(r.name, p.Properties_with_the_accessor_modifier_are_only_available_when_targeting_ECMAScript_2015_and_higher);
            if (u_(r) && Vme(r.questionToken, p.An_accessor_property_cannot_be_declared_optional))
              return !0;
          } else if (r.parent.kind === 264) {
            if (bP(r.name, p.A_computed_property_name_in_an_interface_must_refer_to_an_expression_whose_type_is_a_literal_type_or_a_unique_symbol_type))
              return !0;
            if (E.assertNode(r, ju), r.initializer)
              return mr(r.initializer, p.An_interface_property_cannot_have_an_initializer);
          } else if (Yu(r.parent)) {
            if (bP(r.name, p.A_computed_property_name_in_a_type_literal_must_refer_to_an_expression_whose_type_is_a_literal_type_or_a_unique_symbol_type))
              return !0;
            if (E.assertNode(r, ju), r.initializer)
              return mr(r.initializer, p.A_type_literal_property_cannot_have_an_initializer);
          }
          if (r.flags & 33554432 && a5e(r), is(r) && r.exclamationToken && (!Xn(r.parent) || !r.type || r.initializer || r.flags & 33554432 || zs(r) || Rb(r))) {
            const a = r.initializer ? p.Declarations_with_initializers_cannot_also_have_definite_assignment_assertions : r.type ? p.A_definite_assignment_assertion_is_not_permitted_in_this_context : p.Declarations_with_definite_assignment_assertions_must_also_have_type_annotations;
            return mr(r.exclamationToken, a);
          }
        }
        function uft(r) {
          return r.kind === 264 || r.kind === 265 || r.kind === 272 || r.kind === 271 || r.kind === 278 || r.kind === 277 || r.kind === 270 || qn(
            r,
            2208
            /* Default */
          ) ? !1 : Ml(r, p.Top_level_declarations_in_d_ts_files_must_start_with_either_a_declare_or_export_modifier);
        }
        function _ft(r) {
          for (const a of r.statements)
            if ((Dl(a) || a.kind === 243) && uft(a))
              return !0;
          return !1;
        }
        function l5e(r) {
          return !!(r.flags & 33554432) && _ft(r);
        }
        function _0(r) {
          if (r.flags & 33554432) {
            if (!yn(r).hasReportedStatementInAmbientContext && (Ts(r.parent) || By(r.parent)))
              return yn(r).hasReportedStatementInAmbientContext = Ml(r, p.An_implementation_cannot_be_declared_in_ambient_contexts);
            if (r.parent.kind === 241 || r.parent.kind === 268 || r.parent.kind === 307) {
              const l = yn(r.parent);
              if (!l.hasReportedStatementInAmbientContext)
                return l.hasReportedStatementInAmbientContext = Ml(r, p.Statements_are_not_allowed_in_ambient_contexts);
            }
          }
          return !1;
        }
        function u5e(r) {
          const a = Go(r).includes("."), l = r.numericLiteralFlags & 16;
          a || l || +r.text <= 2 ** 53 - 1 || G0(
            /*isError*/
            !1,
            Kr(r, p.Numeric_literals_with_absolute_values_equal_to_2_53_or_greater_are_too_large_to_be_represented_accurately_as_integers)
          );
        }
        function fft(r) {
          return !!(!(P0(r.parent) || sv(r.parent) && P0(r.parent.parent)) && j < 7 && mr(r, p.BigInt_literals_are_not_available_when_targeting_lower_than_ES2020));
        }
        function pft(r, a, ...l) {
          const f = Er(r);
          if (!j1(f)) {
            const d = Xd(f, r.pos);
            return Ia.add(al(
              f,
              Ko(d),
              /*length*/
              0,
              a,
              ...l
            )), !0;
          }
          return !1;
        }
        function dft() {
          return tu || (tu = [], nt.forEach((r, a) => {
            mne.test(a) && tu.push(r);
          })), tu;
        }
        function mft(r) {
          var a;
          return r.isTypeOnly && r.name && r.namedBindings ? mr(r, p.A_type_only_import_can_specify_a_default_import_or_named_bindings_but_not_both) : r.isTypeOnly && ((a = r.namedBindings) == null ? void 0 : a.kind) === 275 ? _5e(r.namedBindings) : !1;
        }
        function _5e(r) {
          return !!ar(r.elements, (a) => {
            if (a.isTypeOnly)
              return Ml(
                a,
                a.kind === 276 ? p.The_type_modifier_cannot_be_used_on_a_named_import_when_import_type_is_used_on_its_import_statement : p.The_type_modifier_cannot_be_used_on_a_named_export_when_export_type_is_used_on_its_export_statement
              );
          });
        }
        function gft(r) {
          if (F.verbatimModuleSyntax && z === 1)
            return mr(r, p.ESM_syntax_is_not_allowed_in_a_CommonJS_module_when_verbatimModuleSyntax_is_enabled);
          if (z === 5)
            return mr(r, p.Dynamic_imports_are_only_supported_when_the_module_flag_is_set_to_es2020_es2022_esnext_commonjs_amd_system_umd_node16_node18_or_nodenext);
          if (r.typeArguments)
            return mr(r, p.This_use_of_import_is_invalid_import_calls_can_be_written_but_they_must_have_parentheses_and_cannot_have_type_arguments);
          const a = r.arguments;
          if (!(100 <= z && z <= 199) && z !== 99 && z !== 200 && (gC(a), a.length > 1)) {
            const f = a[1];
            return mr(f, p.Dynamic_imports_only_support_a_second_argument_when_the_module_option_is_set_to_esnext_node16_node18_nodenext_or_preserve);
          }
          if (a.length === 0 || a.length > 2)
            return mr(r, p.Dynamic_imports_can_only_accept_a_module_specifier_and_an_optional_set_of_attributes_as_arguments);
          const l = Dn(a, op);
          return l ? mr(l, p.Argument_of_dynamic_import_cannot_be_spread_element) : !1;
        }
        function hft(r, a) {
          const l = Cn(r);
          if (l & 20 && a.flags & 1048576)
            return Dn(a.types, (f) => {
              if (f.flags & 524288) {
                const d = l & Cn(f);
                if (d & 4)
                  return r.target === f.target;
                if (d & 16)
                  return !!r.aliasSymbol && r.aliasSymbol === f.aliasSymbol;
              }
              return !1;
            });
        }
        function yft(r, a) {
          if (Cn(r) & 128 && yp(a, py))
            return Dn(a.types, (l) => !py(l));
        }
        function vft(r, a) {
          let l = 0;
          if (As(r, l).length > 0 || (l = 1, As(r, l).length > 0))
            return Dn(a.types, (d) => As(d, l).length > 0);
        }
        function bft(r, a) {
          let l;
          if (!(r.flags & 406978556)) {
            let f = 0;
            for (const d of a.types)
              if (!(d.flags & 406978556)) {
                const y = aa([Om(r), Om(d)]);
                if (y.flags & 4194304)
                  return d;
                if (Bd(y) || y.flags & 1048576) {
                  const x = y.flags & 1048576 ? d0(y.types, Bd) : 1;
                  x >= f && (l = d, f = x);
                }
              }
          }
          return l;
        }
        function Sft(r) {
          if (Cc(
            r,
            67108864
            /* NonPrimitive */
          )) {
            const a = Hc(r, (l) => !(l.flags & 402784252));
            if (!(a.flags & 131072))
              return a;
          }
          return r;
        }
        function f5e(r, a, l) {
          if (a.flags & 1048576 && r.flags & 2621440) {
            const f = pAe(a, r);
            if (f)
              return f;
            const d = Ga(r);
            if (d) {
              const y = fAe(d, a);
              if (y) {
                const x = Epe(a, fr(y, (I) => [() => Qr(I), I.escapedName]), l);
                if (x !== a)
                  return x;
              }
            }
          }
        }
        function Hme(r) {
          const a = SS(r);
          return a || (ia(r) ? Zpe(iu(r.expression)) : void 0);
        }
        function LX(r) {
          return tr === r || (tr = r, Fr = W1(r)), Fr;
        }
        function Y2(r) {
          return St === r || (St = r, Bt = Ch(r)), Bt;
        }
        function OI(r) {
          const a = Y2(r) & 7;
          return a === 2 || a === 4 || a === 6;
        }
        function Tft(r, a) {
          const l = F.importHelpers ? 1 : 0, f = r?.imports[l];
          return f && E.assert(oo(f) && f.text === a, `Expected sourceFile.imports[${l}] to be the synthesized JSX runtime import`), f;
        }
        function xft(r) {
          E.assert(F.importHelpers, "Expected importHelpers to be enabled");
          const a = r.imports[0];
          return E.assert(a && oo(a) && a.text === "tslib", "Expected sourceFile.imports[0] to be the synthesized tslib import"), a;
        }
      }
      function dRe(e) {
        return !By(e);
      }
      function A1e(e) {
        return e.kind !== 262 && e.kind !== 174 || !!e.body;
      }
      function I1e(e) {
        switch (e.parent.kind) {
          case 276:
          case 281:
            return Fe(e) || e.kind === 11;
          default:
            return Xm(e);
        }
      }
      var Ff;
      ((e) => {
        e.JSX = "JSX", e.IntrinsicElements = "IntrinsicElements", e.ElementClass = "ElementClass", e.ElementAttributesPropertyNameContainer = "ElementAttributesProperty", e.ElementChildrenAttributeNameContainer = "ElementChildrenAttribute", e.Element = "Element", e.ElementType = "ElementType", e.IntrinsicAttributes = "IntrinsicAttributes", e.IntrinsicClassAttributes = "IntrinsicClassAttributes", e.LibraryManagedAttributes = "LibraryManagedAttributes";
      })(Ff || (Ff = {}));
      var kW;
      ((e) => {
        e.Fragment = "Fragment";
      })(kW || (kW = {}));
      function F1e(e) {
        switch (e) {
          case 0:
            return "yieldType";
          case 1:
            return "returnType";
          case 2:
            return "nextType";
        }
      }
      function Tu(e) {
        return !!(e.flags & 1);
      }
      function O1e(e) {
        return !!(e.flags & 2);
      }
      function mRe(e) {
        return {
          getCommonSourceDirectory: e.getCommonSourceDirectory ? () => e.getCommonSourceDirectory() : () => "",
          getCurrentDirectory: () => e.getCurrentDirectory(),
          getSymlinkCache: Ls(e, e.getSymlinkCache),
          getPackageJsonInfoCache: () => {
            var t;
            return (t = e.getPackageJsonInfoCache) == null ? void 0 : t.call(e);
          },
          useCaseSensitiveFileNames: () => e.useCaseSensitiveFileNames(),
          redirectTargetsMap: e.redirectTargetsMap,
          getProjectReferenceRedirect: (t) => e.getProjectReferenceRedirect(t),
          isSourceOfProjectReferenceRedirect: (t) => e.isSourceOfProjectReferenceRedirect(t),
          fileExists: (t) => e.fileExists(t),
          getFileIncludeReasons: () => e.getFileIncludeReasons(),
          readFile: e.readFile ? (t) => e.readFile(t) : void 0,
          getDefaultResolutionModeForFile: (t) => e.getDefaultResolutionModeForFile(t),
          getModeForResolutionAtIndex: (t, n) => e.getModeForResolutionAtIndex(t, n),
          getGlobalTypingsCacheLocation: Ls(e, e.getGlobalTypingsCacheLocation)
        };
      }
      var yne = class k5e {
        constructor(t, n, i) {
          this.moduleResolverHost = void 0, this.inner = void 0, this.disableTrackSymbol = !1;
          for (var s; n instanceof k5e; )
            n = n.inner;
          this.inner = n, this.moduleResolverHost = i, this.context = t, this.canTrackSymbol = !!((s = this.inner) != null && s.trackSymbol);
        }
        trackSymbol(t, n, i) {
          var s, o;
          if ((s = this.inner) != null && s.trackSymbol && !this.disableTrackSymbol) {
            if (this.inner.trackSymbol(t, n, i))
              return this.onDiagnosticReported(), !0;
            t.flags & 262144 || ((o = this.context).trackedSymbols ?? (o.trackedSymbols = [])).push([t, n, i]);
          }
          return !1;
        }
        reportInaccessibleThisError() {
          var t;
          (t = this.inner) != null && t.reportInaccessibleThisError && (this.onDiagnosticReported(), this.inner.reportInaccessibleThisError());
        }
        reportPrivateInBaseOfClassExpression(t) {
          var n;
          (n = this.inner) != null && n.reportPrivateInBaseOfClassExpression && (this.onDiagnosticReported(), this.inner.reportPrivateInBaseOfClassExpression(t));
        }
        reportInaccessibleUniqueSymbolError() {
          var t;
          (t = this.inner) != null && t.reportInaccessibleUniqueSymbolError && (this.onDiagnosticReported(), this.inner.reportInaccessibleUniqueSymbolError());
        }
        reportCyclicStructureError() {
          var t;
          (t = this.inner) != null && t.reportCyclicStructureError && (this.onDiagnosticReported(), this.inner.reportCyclicStructureError());
        }
        reportLikelyUnsafeImportRequiredError(t) {
          var n;
          (n = this.inner) != null && n.reportLikelyUnsafeImportRequiredError && (this.onDiagnosticReported(), this.inner.reportLikelyUnsafeImportRequiredError(t));
        }
        reportTruncationError() {
          var t;
          (t = this.inner) != null && t.reportTruncationError && (this.onDiagnosticReported(), this.inner.reportTruncationError());
        }
        reportNonlocalAugmentation(t, n, i) {
          var s;
          (s = this.inner) != null && s.reportNonlocalAugmentation && (this.onDiagnosticReported(), this.inner.reportNonlocalAugmentation(t, n, i));
        }
        reportNonSerializableProperty(t) {
          var n;
          (n = this.inner) != null && n.reportNonSerializableProperty && (this.onDiagnosticReported(), this.inner.reportNonSerializableProperty(t));
        }
        onDiagnosticReported() {
          this.context.reportedDiagnostic = !0;
        }
        reportInferenceFallback(t) {
          var n;
          (n = this.inner) != null && n.reportInferenceFallback && !this.context.suppressReportInferenceFallback && (this.onDiagnosticReported(), this.inner.reportInferenceFallback(t));
        }
        pushErrorFallbackNode(t) {
          var n, i;
          return (i = (n = this.inner) == null ? void 0 : n.pushErrorFallbackNode) == null ? void 0 : i.call(n, t);
        }
        popErrorFallbackNode() {
          var t, n;
          return (n = (t = this.inner) == null ? void 0 : t.popErrorFallbackNode) == null ? void 0 : n.call(t);
        }
      };
      function $e(e, t, n, i) {
        if (e === void 0)
          return e;
        const s = t(e);
        let o;
        if (s !== void 0)
          return fs(s) ? o = (i || SRe)(s) : o = s, E.assertNode(o, n), o;
      }
      function Lr(e, t, n, i, s) {
        if (e === void 0)
          return e;
        const o = e.length;
        (i === void 0 || i < 0) && (i = 0), (s === void 0 || s > o - i) && (s = o - i);
        let c, _ = -1, u = -1;
        i > 0 || s < o ? c = e.hasTrailingComma && i + s === o : (_ = e.pos, u = e.end, c = e.hasTrailingComma);
        const g = L1e(e, t, n, i, s);
        if (g !== e) {
          const m = N.createNodeArray(g, c);
          return hd(m, _, u), m;
        }
        return e;
      }
      function QD(e, t, n, i, s) {
        if (e === void 0)
          return e;
        const o = e.length;
        return (i === void 0 || i < 0) && (i = 0), (s === void 0 || s > o - i) && (s = o - i), L1e(e, t, n, i, s);
      }
      function L1e(e, t, n, i, s) {
        let o;
        const c = e.length;
        (i > 0 || s < c) && (o = []);
        for (let _ = 0; _ < s; _++) {
          const u = e[_ + i], g = u !== void 0 ? t ? t(u) : u : void 0;
          if ((o !== void 0 || g === void 0 || g !== u) && (o === void 0 && (o = e.slice(0, _), E.assertEachNode(o, n)), g))
            if (fs(g))
              for (const m of g)
                E.assertNode(m, n), o.push(m);
            else
              E.assertNode(g, n), o.push(g);
        }
        return o || (E.assertEachNode(e, n), e);
      }
      function CW(e, t, n, i, s, o = Lr) {
        return n.startLexicalEnvironment(), e = o(e, t, yi, i), s && (e = n.factory.ensureUseStrict(e)), N.mergeLexicalEnvironment(e, n.endLexicalEnvironment());
      }
      function _c(e, t, n, i = Lr) {
        let s;
        return n.startLexicalEnvironment(), e && (n.setLexicalEnvironmentFlags(1, !0), s = i(e, t, Ni), n.getLexicalEnvironmentFlags() & 2 && ga(n.getCompilerOptions()) >= 2 && (s = gRe(s, n)), n.setLexicalEnvironmentFlags(1, !1)), n.suspendLexicalEnvironment(), s;
      }
      function gRe(e, t) {
        let n;
        for (let i = 0; i < e.length; i++) {
          const s = e[i], o = hRe(s, t);
          (n || o !== s) && (n || (n = e.slice(0, i)), n[i] = o);
        }
        return n ? ot(t.factory.createNodeArray(n, e.hasTrailingComma), e) : e;
      }
      function hRe(e, t) {
        return e.dotDotDotToken ? e : Ps(e.name) ? yRe(e, t) : e.initializer ? vRe(e, e.name, e.initializer, t) : e;
      }
      function yRe(e, t) {
        const { factory: n } = t;
        return t.addInitializationStatement(
          n.createVariableStatement(
            /*modifiers*/
            void 0,
            n.createVariableDeclarationList([
              n.createVariableDeclaration(
                e.name,
                /*exclamationToken*/
                void 0,
                e.type,
                e.initializer ? n.createConditionalExpression(
                  n.createStrictEquality(
                    n.getGeneratedNameForNode(e),
                    n.createVoidZero()
                  ),
                  /*questionToken*/
                  void 0,
                  e.initializer,
                  /*colonToken*/
                  void 0,
                  n.getGeneratedNameForNode(e)
                ) : n.getGeneratedNameForNode(e)
              )
            ])
          )
        ), n.updateParameterDeclaration(
          e,
          e.modifiers,
          e.dotDotDotToken,
          n.getGeneratedNameForNode(e),
          e.questionToken,
          e.type,
          /*initializer*/
          void 0
        );
      }
      function vRe(e, t, n, i) {
        const s = i.factory;
        return i.addInitializationStatement(
          s.createIfStatement(
            s.createTypeCheck(s.cloneNode(t), "undefined"),
            an(
              ot(
                s.createBlock([
                  s.createExpressionStatement(
                    an(
                      ot(
                        s.createAssignment(
                          an(
                            s.cloneNode(t),
                            96
                            /* NoSourceMap */
                          ),
                          an(
                            n,
                            96 | ka(n) | 3072
                            /* NoComments */
                          )
                        ),
                        e
                      ),
                      3072
                      /* NoComments */
                    )
                  )
                ]),
                e
              ),
              3905
              /* NoComments */
            )
          )
        ), s.updateParameterDeclaration(
          e,
          e.modifiers,
          e.dotDotDotToken,
          e.name,
          e.questionToken,
          e.type,
          /*initializer*/
          void 0
        );
      }
      function Of(e, t, n, i = $e) {
        n.resumeLexicalEnvironment();
        const s = i(e, t, x7), o = n.endLexicalEnvironment();
        if (at(o)) {
          if (!s)
            return n.factory.createBlock(o);
          const c = n.factory.converters.convertToFunctionBlock(s), _ = N.mergeLexicalEnvironment(c.statements, o);
          return n.factory.updateBlock(c, _);
        }
        return s;
      }
      function Ku(e, t, n, i = $e) {
        n.startBlockScope();
        const s = i(e, t, yi, n.factory.liftToBlock);
        E.assert(s);
        const o = n.endBlockScope();
        return at(o) ? Cs(s) ? (o.push(...s.statements), n.factory.updateBlock(s, o)) : (o.push(s), n.factory.createBlock(o)) : s;
      }
      function gO(e, t, n = t) {
        if (n === t || e.length <= 1)
          return Lr(e, t, lt);
        let i = 0;
        const s = e.length;
        return Lr(e, (o) => {
          const c = i < s - 1;
          return i++, c ? n(o) : t(o);
        }, lt);
      }
      function yr(e, t, n = lA, i = Lr, s, o = $e) {
        if (e === void 0)
          return;
        const c = bRe[e.kind];
        return c === void 0 ? e : c(e, t, n, i, o, s);
      }
      var bRe = {
        166: function(t, n, i, s, o, c) {
          return i.factory.updateQualifiedName(
            t,
            E.checkDefined(o(t.left, n, Gu)),
            E.checkDefined(o(t.right, n, Fe))
          );
        },
        167: function(t, n, i, s, o, c) {
          return i.factory.updateComputedPropertyName(
            t,
            E.checkDefined(o(t.expression, n, lt))
          );
        },
        // Signature elements
        168: function(t, n, i, s, o, c) {
          return i.factory.updateTypeParameterDeclaration(
            t,
            s(t.modifiers, n, Ks),
            E.checkDefined(o(t.name, n, Fe)),
            o(t.constraint, n, si),
            o(t.default, n, si)
          );
        },
        169: function(t, n, i, s, o, c) {
          return i.factory.updateParameterDeclaration(
            t,
            s(t.modifiers, n, Ro),
            c ? o(t.dotDotDotToken, c, hF) : t.dotDotDotToken,
            E.checkDefined(o(t.name, n, lS)),
            c ? o(t.questionToken, c, t1) : t.questionToken,
            o(t.type, n, si),
            o(t.initializer, n, lt)
          );
        },
        170: function(t, n, i, s, o, c) {
          return i.factory.updateDecorator(
            t,
            E.checkDefined(o(t.expression, n, lt))
          );
        },
        // Type elements
        171: function(t, n, i, s, o, c) {
          return i.factory.updatePropertySignature(
            t,
            s(t.modifiers, n, Ks),
            E.checkDefined(o(t.name, n, Bc)),
            c ? o(t.questionToken, c, t1) : t.questionToken,
            o(t.type, n, si)
          );
        },
        172: function(t, n, i, s, o, c) {
          return i.factory.updatePropertyDeclaration(
            t,
            s(t.modifiers, n, Ro),
            E.checkDefined(o(t.name, n, Bc)),
            // QuestionToken and ExclamationToken are mutually exclusive in PropertyDeclaration
            c ? o(t.questionToken ?? t.exclamationToken, c, Kte) : t.questionToken ?? t.exclamationToken,
            o(t.type, n, si),
            o(t.initializer, n, lt)
          );
        },
        173: function(t, n, i, s, o, c) {
          return i.factory.updateMethodSignature(
            t,
            s(t.modifiers, n, Ks),
            E.checkDefined(o(t.name, n, Bc)),
            c ? o(t.questionToken, c, t1) : t.questionToken,
            s(t.typeParameters, n, Fo),
            s(t.parameters, n, Ni),
            o(t.type, n, si)
          );
        },
        174: function(t, n, i, s, o, c) {
          return i.factory.updateMethodDeclaration(
            t,
            s(t.modifiers, n, Ro),
            c ? o(t.asteriskToken, c, xN) : t.asteriskToken,
            E.checkDefined(o(t.name, n, Bc)),
            c ? o(t.questionToken, c, t1) : t.questionToken,
            s(t.typeParameters, n, Fo),
            _c(t.parameters, n, i, s),
            o(t.type, n, si),
            Of(t.body, n, i, o)
          );
        },
        176: function(t, n, i, s, o, c) {
          return i.factory.updateConstructorDeclaration(
            t,
            s(t.modifiers, n, Ro),
            _c(t.parameters, n, i, s),
            Of(t.body, n, i, o)
          );
        },
        177: function(t, n, i, s, o, c) {
          return i.factory.updateGetAccessorDeclaration(
            t,
            s(t.modifiers, n, Ro),
            E.checkDefined(o(t.name, n, Bc)),
            _c(t.parameters, n, i, s),
            o(t.type, n, si),
            Of(t.body, n, i, o)
          );
        },
        178: function(t, n, i, s, o, c) {
          return i.factory.updateSetAccessorDeclaration(
            t,
            s(t.modifiers, n, Ro),
            E.checkDefined(o(t.name, n, Bc)),
            _c(t.parameters, n, i, s),
            Of(t.body, n, i, o)
          );
        },
        175: function(t, n, i, s, o, c) {
          return i.startLexicalEnvironment(), i.suspendLexicalEnvironment(), i.factory.updateClassStaticBlockDeclaration(
            t,
            Of(t.body, n, i, o)
          );
        },
        179: function(t, n, i, s, o, c) {
          return i.factory.updateCallSignature(
            t,
            s(t.typeParameters, n, Fo),
            s(t.parameters, n, Ni),
            o(t.type, n, si)
          );
        },
        180: function(t, n, i, s, o, c) {
          return i.factory.updateConstructSignature(
            t,
            s(t.typeParameters, n, Fo),
            s(t.parameters, n, Ni),
            o(t.type, n, si)
          );
        },
        181: function(t, n, i, s, o, c) {
          return i.factory.updateIndexSignature(
            t,
            s(t.modifiers, n, Ro),
            s(t.parameters, n, Ni),
            E.checkDefined(o(t.type, n, si))
          );
        },
        // Types
        182: function(t, n, i, s, o, c) {
          return i.factory.updateTypePredicateNode(
            t,
            o(t.assertsModifier, n, vte),
            E.checkDefined(o(t.parameterName, n, ere)),
            o(t.type, n, si)
          );
        },
        183: function(t, n, i, s, o, c) {
          return i.factory.updateTypeReferenceNode(
            t,
            E.checkDefined(o(t.typeName, n, Gu)),
            s(t.typeArguments, n, si)
          );
        },
        184: function(t, n, i, s, o, c) {
          return i.factory.updateFunctionTypeNode(
            t,
            s(t.typeParameters, n, Fo),
            s(t.parameters, n, Ni),
            E.checkDefined(o(t.type, n, si))
          );
        },
        185: function(t, n, i, s, o, c) {
          return i.factory.updateConstructorTypeNode(
            t,
            s(t.modifiers, n, Ks),
            s(t.typeParameters, n, Fo),
            s(t.parameters, n, Ni),
            E.checkDefined(o(t.type, n, si))
          );
        },
        186: function(t, n, i, s, o, c) {
          return i.factory.updateTypeQueryNode(
            t,
            E.checkDefined(o(t.exprName, n, Gu)),
            s(t.typeArguments, n, si)
          );
        },
        187: function(t, n, i, s, o, c) {
          return i.factory.updateTypeLiteralNode(
            t,
            s(t.members, n, bb)
          );
        },
        188: function(t, n, i, s, o, c) {
          return i.factory.updateArrayTypeNode(
            t,
            E.checkDefined(o(t.elementType, n, si))
          );
        },
        189: function(t, n, i, s, o, c) {
          return i.factory.updateTupleTypeNode(
            t,
            s(t.elements, n, si)
          );
        },
        190: function(t, n, i, s, o, c) {
          return i.factory.updateOptionalTypeNode(
            t,
            E.checkDefined(o(t.type, n, si))
          );
        },
        191: function(t, n, i, s, o, c) {
          return i.factory.updateRestTypeNode(
            t,
            E.checkDefined(o(t.type, n, si))
          );
        },
        192: function(t, n, i, s, o, c) {
          return i.factory.updateUnionTypeNode(
            t,
            s(t.types, n, si)
          );
        },
        193: function(t, n, i, s, o, c) {
          return i.factory.updateIntersectionTypeNode(
            t,
            s(t.types, n, si)
          );
        },
        194: function(t, n, i, s, o, c) {
          return i.factory.updateConditionalTypeNode(
            t,
            E.checkDefined(o(t.checkType, n, si)),
            E.checkDefined(o(t.extendsType, n, si)),
            E.checkDefined(o(t.trueType, n, si)),
            E.checkDefined(o(t.falseType, n, si))
          );
        },
        195: function(t, n, i, s, o, c) {
          return i.factory.updateInferTypeNode(
            t,
            E.checkDefined(o(t.typeParameter, n, Fo))
          );
        },
        205: function(t, n, i, s, o, c) {
          return i.factory.updateImportTypeNode(
            t,
            E.checkDefined(o(t.argument, n, si)),
            o(t.attributes, n, LS),
            o(t.qualifier, n, Gu),
            s(t.typeArguments, n, si),
            t.isTypeOf
          );
        },
        302: function(t, n, i, s, o, c) {
          return i.factory.updateImportTypeAssertionContainer(
            t,
            E.checkDefined(o(t.assertClause, n, Nte)),
            t.multiLine
          );
        },
        202: function(t, n, i, s, o, c) {
          return i.factory.updateNamedTupleMember(
            t,
            c ? o(t.dotDotDotToken, c, hF) : t.dotDotDotToken,
            E.checkDefined(o(t.name, n, Fe)),
            c ? o(t.questionToken, c, t1) : t.questionToken,
            E.checkDefined(o(t.type, n, si))
          );
        },
        196: function(t, n, i, s, o, c) {
          return i.factory.updateParenthesizedType(
            t,
            E.checkDefined(o(t.type, n, si))
          );
        },
        198: function(t, n, i, s, o, c) {
          return i.factory.updateTypeOperatorNode(
            t,
            E.checkDefined(o(t.type, n, si))
          );
        },
        199: function(t, n, i, s, o, c) {
          return i.factory.updateIndexedAccessTypeNode(
            t,
            E.checkDefined(o(t.objectType, n, si)),
            E.checkDefined(o(t.indexType, n, si))
          );
        },
        200: function(t, n, i, s, o, c) {
          return i.factory.updateMappedTypeNode(
            t,
            c ? o(t.readonlyToken, c, tre) : t.readonlyToken,
            E.checkDefined(o(t.typeParameter, n, Fo)),
            o(t.nameType, n, si),
            c ? o(t.questionToken, c, rre) : t.questionToken,
            o(t.type, n, si),
            s(t.members, n, bb)
          );
        },
        201: function(t, n, i, s, o, c) {
          return i.factory.updateLiteralTypeNode(
            t,
            E.checkDefined(o(t.literal, n, vZ))
          );
        },
        203: function(t, n, i, s, o, c) {
          return i.factory.updateTemplateLiteralType(
            t,
            E.checkDefined(o(t.head, n, Mx)),
            s(t.templateSpans, n, sz)
          );
        },
        204: function(t, n, i, s, o, c) {
          return i.factory.updateTemplateLiteralTypeSpan(
            t,
            E.checkDefined(o(t.type, n, si)),
            E.checkDefined(o(t.literal, n, v7))
          );
        },
        // Binding patterns
        206: function(t, n, i, s, o, c) {
          return i.factory.updateObjectBindingPattern(
            t,
            s(t.elements, n, ya)
          );
        },
        207: function(t, n, i, s, o, c) {
          return i.factory.updateArrayBindingPattern(
            t,
            s(t.elements, n, S7)
          );
        },
        208: function(t, n, i, s, o, c) {
          return i.factory.updateBindingElement(
            t,
            c ? o(t.dotDotDotToken, c, hF) : t.dotDotDotToken,
            o(t.propertyName, n, Bc),
            E.checkDefined(o(t.name, n, lS)),
            o(t.initializer, n, lt)
          );
        },
        // Expression
        209: function(t, n, i, s, o, c) {
          return i.factory.updateArrayLiteralExpression(
            t,
            s(t.elements, n, lt)
          );
        },
        210: function(t, n, i, s, o, c) {
          return i.factory.updateObjectLiteralExpression(
            t,
            s(t.properties, n, Eh)
          );
        },
        211: function(t, n, i, s, o, c) {
          return m7(t) ? i.factory.updatePropertyAccessChain(
            t,
            E.checkDefined(o(t.expression, n, lt)),
            c ? o(t.questionDotToken, c, yF) : t.questionDotToken,
            E.checkDefined(o(t.name, n, Ng))
          ) : i.factory.updatePropertyAccessExpression(
            t,
            E.checkDefined(o(t.expression, n, lt)),
            E.checkDefined(o(t.name, n, Ng))
          );
        },
        212: function(t, n, i, s, o, c) {
          return Nj(t) ? i.factory.updateElementAccessChain(
            t,
            E.checkDefined(o(t.expression, n, lt)),
            c ? o(t.questionDotToken, c, yF) : t.questionDotToken,
            E.checkDefined(o(t.argumentExpression, n, lt))
          ) : i.factory.updateElementAccessExpression(
            t,
            E.checkDefined(o(t.expression, n, lt)),
            E.checkDefined(o(t.argumentExpression, n, lt))
          );
        },
        213: function(t, n, i, s, o, c) {
          return aS(t) ? i.factory.updateCallChain(
            t,
            E.checkDefined(o(t.expression, n, lt)),
            c ? o(t.questionDotToken, c, yF) : t.questionDotToken,
            s(t.typeArguments, n, si),
            s(t.arguments, n, lt)
          ) : i.factory.updateCallExpression(
            t,
            E.checkDefined(o(t.expression, n, lt)),
            s(t.typeArguments, n, si),
            s(t.arguments, n, lt)
          );
        },
        214: function(t, n, i, s, o, c) {
          return i.factory.updateNewExpression(
            t,
            E.checkDefined(o(t.expression, n, lt)),
            s(t.typeArguments, n, si),
            s(t.arguments, n, lt)
          );
        },
        215: function(t, n, i, s, o, c) {
          return i.factory.updateTaggedTemplateExpression(
            t,
            E.checkDefined(o(t.tag, n, lt)),
            s(t.typeArguments, n, si),
            E.checkDefined(o(t.template, n, nx))
          );
        },
        216: function(t, n, i, s, o, c) {
          return i.factory.updateTypeAssertion(
            t,
            E.checkDefined(o(t.type, n, si)),
            E.checkDefined(o(t.expression, n, lt))
          );
        },
        217: function(t, n, i, s, o, c) {
          return i.factory.updateParenthesizedExpression(
            t,
            E.checkDefined(o(t.expression, n, lt))
          );
        },
        218: function(t, n, i, s, o, c) {
          return i.factory.updateFunctionExpression(
            t,
            s(t.modifiers, n, Ks),
            c ? o(t.asteriskToken, c, xN) : t.asteriskToken,
            o(t.name, n, Fe),
            s(t.typeParameters, n, Fo),
            _c(t.parameters, n, i, s),
            o(t.type, n, si),
            Of(t.body, n, i, o)
          );
        },
        219: function(t, n, i, s, o, c) {
          return i.factory.updateArrowFunction(
            t,
            s(t.modifiers, n, Ks),
            s(t.typeParameters, n, Fo),
            _c(t.parameters, n, i, s),
            o(t.type, n, si),
            c ? E.checkDefined(o(t.equalsGreaterThanToken, c, yte)) : t.equalsGreaterThanToken,
            Of(t.body, n, i, o)
          );
        },
        220: function(t, n, i, s, o, c) {
          return i.factory.updateDeleteExpression(
            t,
            E.checkDefined(o(t.expression, n, lt))
          );
        },
        221: function(t, n, i, s, o, c) {
          return i.factory.updateTypeOfExpression(
            t,
            E.checkDefined(o(t.expression, n, lt))
          );
        },
        222: function(t, n, i, s, o, c) {
          return i.factory.updateVoidExpression(
            t,
            E.checkDefined(o(t.expression, n, lt))
          );
        },
        223: function(t, n, i, s, o, c) {
          return i.factory.updateAwaitExpression(
            t,
            E.checkDefined(o(t.expression, n, lt))
          );
        },
        224: function(t, n, i, s, o, c) {
          return i.factory.updatePrefixUnaryExpression(
            t,
            E.checkDefined(o(t.operand, n, lt))
          );
        },
        225: function(t, n, i, s, o, c) {
          return i.factory.updatePostfixUnaryExpression(
            t,
            E.checkDefined(o(t.operand, n, lt))
          );
        },
        226: function(t, n, i, s, o, c) {
          return i.factory.updateBinaryExpression(
            t,
            E.checkDefined(o(t.left, n, lt)),
            c ? E.checkDefined(o(t.operatorToken, c, ire)) : t.operatorToken,
            E.checkDefined(o(t.right, n, lt))
          );
        },
        227: function(t, n, i, s, o, c) {
          return i.factory.updateConditionalExpression(
            t,
            E.checkDefined(o(t.condition, n, lt)),
            c ? E.checkDefined(o(t.questionToken, c, t1)) : t.questionToken,
            E.checkDefined(o(t.whenTrue, n, lt)),
            c ? E.checkDefined(o(t.colonToken, c, hte)) : t.colonToken,
            E.checkDefined(o(t.whenFalse, n, lt))
          );
        },
        228: function(t, n, i, s, o, c) {
          return i.factory.updateTemplateExpression(
            t,
            E.checkDefined(o(t.head, n, Mx)),
            s(t.templateSpans, n, m6)
          );
        },
        229: function(t, n, i, s, o, c) {
          return i.factory.updateYieldExpression(
            t,
            c ? o(t.asteriskToken, c, xN) : t.asteriskToken,
            o(t.expression, n, lt)
          );
        },
        230: function(t, n, i, s, o, c) {
          return i.factory.updateSpreadElement(
            t,
            E.checkDefined(o(t.expression, n, lt))
          );
        },
        231: function(t, n, i, s, o, c) {
          return i.factory.updateClassExpression(
            t,
            s(t.modifiers, n, Ro),
            o(t.name, n, Fe),
            s(t.typeParameters, n, Fo),
            s(t.heritageClauses, n, Q_),
            s(t.members, n, Jc)
          );
        },
        233: function(t, n, i, s, o, c) {
          return i.factory.updateExpressionWithTypeArguments(
            t,
            E.checkDefined(o(t.expression, n, lt)),
            s(t.typeArguments, n, si)
          );
        },
        234: function(t, n, i, s, o, c) {
          return i.factory.updateAsExpression(
            t,
            E.checkDefined(o(t.expression, n, lt)),
            E.checkDefined(o(t.type, n, si))
          );
        },
        238: function(t, n, i, s, o, c) {
          return i.factory.updateSatisfiesExpression(
            t,
            E.checkDefined(o(t.expression, n, lt)),
            E.checkDefined(o(t.type, n, si))
          );
        },
        235: function(t, n, i, s, o, c) {
          return hu(t) ? i.factory.updateNonNullChain(
            t,
            E.checkDefined(o(t.expression, n, lt))
          ) : i.factory.updateNonNullExpression(
            t,
            E.checkDefined(o(t.expression, n, lt))
          );
        },
        236: function(t, n, i, s, o, c) {
          return i.factory.updateMetaProperty(
            t,
            E.checkDefined(o(t.name, n, Fe))
          );
        },
        // Misc
        239: function(t, n, i, s, o, c) {
          return i.factory.updateTemplateSpan(
            t,
            E.checkDefined(o(t.expression, n, lt)),
            E.checkDefined(o(t.literal, n, v7))
          );
        },
        // Element
        241: function(t, n, i, s, o, c) {
          return i.factory.updateBlock(
            t,
            s(t.statements, n, yi)
          );
        },
        243: function(t, n, i, s, o, c) {
          return i.factory.updateVariableStatement(
            t,
            s(t.modifiers, n, Ro),
            E.checkDefined(o(t.declarationList, n, zl))
          );
        },
        244: function(t, n, i, s, o, c) {
          return i.factory.updateExpressionStatement(
            t,
            E.checkDefined(o(t.expression, n, lt))
          );
        },
        245: function(t, n, i, s, o, c) {
          return i.factory.updateIfStatement(
            t,
            E.checkDefined(o(t.expression, n, lt)),
            E.checkDefined(o(t.thenStatement, n, yi, i.factory.liftToBlock)),
            o(t.elseStatement, n, yi, i.factory.liftToBlock)
          );
        },
        246: function(t, n, i, s, o, c) {
          return i.factory.updateDoStatement(
            t,
            Ku(t.statement, n, i, o),
            E.checkDefined(o(t.expression, n, lt))
          );
        },
        247: function(t, n, i, s, o, c) {
          return i.factory.updateWhileStatement(
            t,
            E.checkDefined(o(t.expression, n, lt)),
            Ku(t.statement, n, i, o)
          );
        },
        248: function(t, n, i, s, o, c) {
          return i.factory.updateForStatement(
            t,
            o(t.initializer, n, Yf),
            o(t.condition, n, lt),
            o(t.incrementor, n, lt),
            Ku(t.statement, n, i, o)
          );
        },
        249: function(t, n, i, s, o, c) {
          return i.factory.updateForInStatement(
            t,
            E.checkDefined(o(t.initializer, n, Yf)),
            E.checkDefined(o(t.expression, n, lt)),
            Ku(t.statement, n, i, o)
          );
        },
        250: function(t, n, i, s, o, c) {
          return i.factory.updateForOfStatement(
            t,
            c ? o(t.awaitModifier, c, iz) : t.awaitModifier,
            E.checkDefined(o(t.initializer, n, Yf)),
            E.checkDefined(o(t.expression, n, lt)),
            Ku(t.statement, n, i, o)
          );
        },
        251: function(t, n, i, s, o, c) {
          return i.factory.updateContinueStatement(
            t,
            o(t.label, n, Fe)
          );
        },
        252: function(t, n, i, s, o, c) {
          return i.factory.updateBreakStatement(
            t,
            o(t.label, n, Fe)
          );
        },
        253: function(t, n, i, s, o, c) {
          return i.factory.updateReturnStatement(
            t,
            o(t.expression, n, lt)
          );
        },
        254: function(t, n, i, s, o, c) {
          return i.factory.updateWithStatement(
            t,
            E.checkDefined(o(t.expression, n, lt)),
            E.checkDefined(o(t.statement, n, yi, i.factory.liftToBlock))
          );
        },
        255: function(t, n, i, s, o, c) {
          return i.factory.updateSwitchStatement(
            t,
            E.checkDefined(o(t.expression, n, lt)),
            E.checkDefined(o(t.caseBlock, n, OD))
          );
        },
        256: function(t, n, i, s, o, c) {
          return i.factory.updateLabeledStatement(
            t,
            E.checkDefined(o(t.label, n, Fe)),
            E.checkDefined(o(t.statement, n, yi, i.factory.liftToBlock))
          );
        },
        257: function(t, n, i, s, o, c) {
          return i.factory.updateThrowStatement(
            t,
            E.checkDefined(o(t.expression, n, lt))
          );
        },
        258: function(t, n, i, s, o, c) {
          return i.factory.updateTryStatement(
            t,
            E.checkDefined(o(t.tryBlock, n, Cs)),
            o(t.catchClause, n, Qb),
            o(t.finallyBlock, n, Cs)
          );
        },
        260: function(t, n, i, s, o, c) {
          return i.factory.updateVariableDeclaration(
            t,
            E.checkDefined(o(t.name, n, lS)),
            c ? o(t.exclamationToken, c, kN) : t.exclamationToken,
            o(t.type, n, si),
            o(t.initializer, n, lt)
          );
        },
        261: function(t, n, i, s, o, c) {
          return i.factory.updateVariableDeclarationList(
            t,
            s(t.declarations, n, Zn)
          );
        },
        262: function(t, n, i, s, o, c) {
          return i.factory.updateFunctionDeclaration(
            t,
            s(t.modifiers, n, Ks),
            c ? o(t.asteriskToken, c, xN) : t.asteriskToken,
            o(t.name, n, Fe),
            s(t.typeParameters, n, Fo),
            _c(t.parameters, n, i, s),
            o(t.type, n, si),
            Of(t.body, n, i, o)
          );
        },
        263: function(t, n, i, s, o, c) {
          return i.factory.updateClassDeclaration(
            t,
            s(t.modifiers, n, Ro),
            o(t.name, n, Fe),
            s(t.typeParameters, n, Fo),
            s(t.heritageClauses, n, Q_),
            s(t.members, n, Jc)
          );
        },
        264: function(t, n, i, s, o, c) {
          return i.factory.updateInterfaceDeclaration(
            t,
            s(t.modifiers, n, Ro),
            E.checkDefined(o(t.name, n, Fe)),
            s(t.typeParameters, n, Fo),
            s(t.heritageClauses, n, Q_),
            s(t.members, n, bb)
          );
        },
        265: function(t, n, i, s, o, c) {
          return i.factory.updateTypeAliasDeclaration(
            t,
            s(t.modifiers, n, Ro),
            E.checkDefined(o(t.name, n, Fe)),
            s(t.typeParameters, n, Fo),
            E.checkDefined(o(t.type, n, si))
          );
        },
        266: function(t, n, i, s, o, c) {
          return i.factory.updateEnumDeclaration(
            t,
            s(t.modifiers, n, Ro),
            E.checkDefined(o(t.name, n, Fe)),
            s(t.members, n, A0)
          );
        },
        267: function(t, n, i, s, o, c) {
          return i.factory.updateModuleDeclaration(
            t,
            s(t.modifiers, n, Ro),
            E.checkDefined(o(t.name, n, nre)),
            o(t.body, n, SZ)
          );
        },
        268: function(t, n, i, s, o, c) {
          return i.factory.updateModuleBlock(
            t,
            s(t.statements, n, yi)
          );
        },
        269: function(t, n, i, s, o, c) {
          return i.factory.updateCaseBlock(
            t,
            s(t.clauses, n, C7)
          );
        },
        270: function(t, n, i, s, o, c) {
          return i.factory.updateNamespaceExportDeclaration(
            t,
            E.checkDefined(o(t.name, n, Fe))
          );
        },
        271: function(t, n, i, s, o, c) {
          return i.factory.updateImportEqualsDeclaration(
            t,
            s(t.modifiers, n, Ro),
            t.isTypeOnly,
            E.checkDefined(o(t.name, n, Fe)),
            E.checkDefined(o(t.moduleReference, n, EZ))
          );
        },
        272: function(t, n, i, s, o, c) {
          return i.factory.updateImportDeclaration(
            t,
            s(t.modifiers, n, Ro),
            o(t.importClause, n, Qp),
            E.checkDefined(o(t.moduleSpecifier, n, lt)),
            o(t.attributes, n, LS)
          );
        },
        300: function(t, n, i, s, o, c) {
          return i.factory.updateImportAttributes(
            t,
            s(t.elements, n, Ate),
            t.multiLine
          );
        },
        301: function(t, n, i, s, o, c) {
          return i.factory.updateImportAttribute(
            t,
            E.checkDefined(o(t.name, n, pZ)),
            E.checkDefined(o(t.value, n, lt))
          );
        },
        273: function(t, n, i, s, o, c) {
          return i.factory.updateImportClause(
            t,
            t.isTypeOnly,
            o(t.name, n, Fe),
            o(t.namedBindings, n, Vj)
          );
        },
        274: function(t, n, i, s, o, c) {
          return i.factory.updateNamespaceImport(
            t,
            E.checkDefined(o(t.name, n, Fe))
          );
        },
        280: function(t, n, i, s, o, c) {
          return i.factory.updateNamespaceExport(
            t,
            E.checkDefined(o(t.name, n, Fe))
          );
        },
        275: function(t, n, i, s, o, c) {
          return i.factory.updateNamedImports(
            t,
            s(t.elements, n, Bu)
          );
        },
        276: function(t, n, i, s, o, c) {
          return i.factory.updateImportSpecifier(
            t,
            t.isTypeOnly,
            o(t.propertyName, n, CF),
            E.checkDefined(o(t.name, n, Fe))
          );
        },
        277: function(t, n, i, s, o, c) {
          return i.factory.updateExportAssignment(
            t,
            s(t.modifiers, n, Ro),
            E.checkDefined(o(t.expression, n, lt))
          );
        },
        278: function(t, n, i, s, o, c) {
          return i.factory.updateExportDeclaration(
            t,
            s(t.modifiers, n, Ro),
            t.isTypeOnly,
            o(t.exportClause, n, Ij),
            o(t.moduleSpecifier, n, lt),
            o(t.attributes, n, LS)
          );
        },
        279: function(t, n, i, s, o, c) {
          return i.factory.updateNamedExports(
            t,
            s(t.elements, n, bu)
          );
        },
        281: function(t, n, i, s, o, c) {
          return i.factory.updateExportSpecifier(
            t,
            t.isTypeOnly,
            o(t.propertyName, n, CF),
            E.checkDefined(o(t.name, n, CF))
          );
        },
        // Module references
        283: function(t, n, i, s, o, c) {
          return i.factory.updateExternalModuleReference(
            t,
            E.checkDefined(o(t.expression, n, lt))
          );
        },
        // JSX
        284: function(t, n, i, s, o, c) {
          return i.factory.updateJsxElement(
            t,
            E.checkDefined(o(t.openingElement, n, yd)),
            s(t.children, n, n3),
            E.checkDefined(o(t.closingElement, n, $b))
          );
        },
        285: function(t, n, i, s, o, c) {
          return i.factory.updateJsxSelfClosingElement(
            t,
            E.checkDefined(o(t.tagName, n, A4)),
            s(t.typeArguments, n, si),
            E.checkDefined(o(t.attributes, n, Xb))
          );
        },
        286: function(t, n, i, s, o, c) {
          return i.factory.updateJsxOpeningElement(
            t,
            E.checkDefined(o(t.tagName, n, A4)),
            s(t.typeArguments, n, si),
            E.checkDefined(o(t.attributes, n, Xb))
          );
        },
        287: function(t, n, i, s, o, c) {
          return i.factory.updateJsxClosingElement(
            t,
            E.checkDefined(o(t.tagName, n, A4))
          );
        },
        295: function(t, n, i, s, o, c) {
          return i.factory.updateJsxNamespacedName(
            t,
            E.checkDefined(o(t.namespace, n, Fe)),
            E.checkDefined(o(t.name, n, Fe))
          );
        },
        288: function(t, n, i, s, o, c) {
          return i.factory.updateJsxFragment(
            t,
            E.checkDefined(o(t.openingFragment, n, Yp)),
            s(t.children, n, n3),
            E.checkDefined(o(t.closingFragment, n, Fte))
          );
        },
        291: function(t, n, i, s, o, c) {
          return i.factory.updateJsxAttribute(
            t,
            E.checkDefined(o(t.name, n, Wee)),
            o(t.initializer, n, DZ)
          );
        },
        292: function(t, n, i, s, o, c) {
          return i.factory.updateJsxAttributes(
            t,
            s(t.properties, n, k7)
          );
        },
        293: function(t, n, i, s, o, c) {
          return i.factory.updateJsxSpreadAttribute(
            t,
            E.checkDefined(o(t.expression, n, lt))
          );
        },
        294: function(t, n, i, s, o, c) {
          return i.factory.updateJsxExpression(
            t,
            o(t.expression, n, lt)
          );
        },
        // Clauses
        296: function(t, n, i, s, o, c) {
          return i.factory.updateCaseClause(
            t,
            E.checkDefined(o(t.expression, n, lt)),
            s(t.statements, n, yi)
          );
        },
        297: function(t, n, i, s, o, c) {
          return i.factory.updateDefaultClause(
            t,
            s(t.statements, n, yi)
          );
        },
        298: function(t, n, i, s, o, c) {
          return i.factory.updateHeritageClause(
            t,
            s(t.types, n, Lh)
          );
        },
        299: function(t, n, i, s, o, c) {
          return i.factory.updateCatchClause(
            t,
            o(t.variableDeclaration, n, Zn),
            E.checkDefined(o(t.block, n, Cs))
          );
        },
        // Property assignments
        303: function(t, n, i, s, o, c) {
          return i.factory.updatePropertyAssignment(
            t,
            E.checkDefined(o(t.name, n, Bc)),
            E.checkDefined(o(t.initializer, n, lt))
          );
        },
        304: function(t, n, i, s, o, c) {
          return i.factory.updateShorthandPropertyAssignment(
            t,
            E.checkDefined(o(t.name, n, Fe)),
            o(t.objectAssignmentInitializer, n, lt)
          );
        },
        305: function(t, n, i, s, o, c) {
          return i.factory.updateSpreadAssignment(
            t,
            E.checkDefined(o(t.expression, n, lt))
          );
        },
        // Enum
        306: function(t, n, i, s, o, c) {
          return i.factory.updateEnumMember(
            t,
            E.checkDefined(o(t.name, n, Bc)),
            o(t.initializer, n, lt)
          );
        },
        // Top-level nodes
        307: function(t, n, i, s, o, c) {
          return i.factory.updateSourceFile(
            t,
            CW(t.statements, n, i)
          );
        },
        // Transformation nodes
        355: function(t, n, i, s, o, c) {
          return i.factory.updatePartiallyEmittedExpression(
            t,
            E.checkDefined(o(t.expression, n, lt))
          );
        },
        356: function(t, n, i, s, o, c) {
          return i.factory.updateCommaListExpression(
            t,
            s(t.elements, n, lt)
          );
        }
      };
      function SRe(e) {
        return E.assert(e.length <= 1, "Too many nodes written to output."), zm(e);
      }
      function vne(e, t, n, i, s) {
        var { enter: o, exit: c } = s.extendedDiagnostics ? zR("Source Map", "beforeSourcemap", "afterSourcemap") : mQ, _ = [], u = [], g = /* @__PURE__ */ new Map(), m, h = [], S, T = [], k = "", D = 0, w = 0, A = 0, O = 0, F = 0, j = 0, z = !1, V = 0, G = 0, W = 0, pe = 0, K = 0, U = 0, ee = !1, te = !1, ie = !1;
        return {
          getSources: () => _,
          addSource: fe,
          setSourceContent: me,
          addName: q,
          addMapping: De,
          appendSourceMap: re,
          toJSON: oe,
          toString: () => JSON.stringify(oe())
        };
        function fe(se) {
          o();
          const Pe = YT(
            i,
            se,
            e.getCurrentDirectory(),
            e.getCanonicalFileName,
            /*isAbsolutePathAnUrl*/
            !0
          );
          let Ee = g.get(Pe);
          return Ee === void 0 && (Ee = u.length, u.push(Pe), _.push(se), g.set(Pe, Ee)), c(), Ee;
        }
        function me(se, Pe) {
          if (o(), Pe !== null) {
            for (m || (m = []); m.length < se; )
              m.push(null);
            m[se] = Pe;
          }
          c();
        }
        function q(se) {
          o(), S || (S = /* @__PURE__ */ new Map());
          let Pe = S.get(se);
          return Pe === void 0 && (Pe = h.length, h.push(se), S.set(se, Pe)), c(), Pe;
        }
        function he(se, Pe) {
          return !ee || V !== se || G !== Pe;
        }
        function Me(se, Pe, Ee) {
          return se !== void 0 && Pe !== void 0 && Ee !== void 0 && W === se && (pe > Pe || pe === Pe && K > Ee);
        }
        function De(se, Pe, Ee, Ce, ze, St) {
          E.assert(se >= V, "generatedLine cannot backtrack"), E.assert(Pe >= 0, "generatedCharacter cannot be negative"), E.assert(Ee === void 0 || Ee >= 0, "sourceIndex cannot be negative"), E.assert(Ce === void 0 || Ce >= 0, "sourceLine cannot be negative"), E.assert(ze === void 0 || ze >= 0, "sourceCharacter cannot be negative"), o(), (he(se, Pe) || Me(Ee, Ce, ze)) && (Xe(), V = se, G = Pe, te = !1, ie = !1, ee = !0), Ee !== void 0 && Ce !== void 0 && ze !== void 0 && (W = Ee, pe = Ce, K = ze, te = !0, St !== void 0 && (U = St, ie = !0)), c();
        }
        function re(se, Pe, Ee, Ce, ze, St) {
          E.assert(se >= V, "generatedLine cannot backtrack"), E.assert(Pe >= 0, "generatedCharacter cannot be negative"), o();
          const Bt = [];
          let tr;
          const Fr = PW(Ee.mappings);
          for (const it of Fr) {
            if (St && (it.generatedLine > St.line || it.generatedLine === St.line && it.generatedCharacter > St.character))
              break;
            if (ze && (it.generatedLine < ze.line || ze.line === it.generatedLine && it.generatedCharacter < ze.character))
              continue;
            let Wt, Wr, ai, zi;
            if (it.sourceIndex !== void 0) {
              if (Wt = Bt[it.sourceIndex], Wt === void 0) {
                const cn = Ee.sources[it.sourceIndex], ci = Ee.sourceRoot ? An(Ee.sourceRoot, cn) : cn, je = An(Un(Ce), ci);
                Bt[it.sourceIndex] = Wt = fe(je), Ee.sourcesContent && typeof Ee.sourcesContent[it.sourceIndex] == "string" && me(Wt, Ee.sourcesContent[it.sourceIndex]);
              }
              Wr = it.sourceLine, ai = it.sourceCharacter, Ee.names && it.nameIndex !== void 0 && (tr || (tr = []), zi = tr[it.nameIndex], zi === void 0 && (tr[it.nameIndex] = zi = q(Ee.names[it.nameIndex])));
            }
            const Pt = it.generatedLine - (ze ? ze.line : 0), Fn = Pt + se, ii = ze && ze.line === it.generatedLine ? it.generatedCharacter - ze.character : it.generatedCharacter, li = Pt === 0 ? ii + Pe : ii;
            De(Fn, li, Wt, Wr, ai, zi);
          }
          c();
        }
        function xe() {
          return !z || D !== V || w !== G || A !== W || O !== pe || F !== K || j !== U;
        }
        function ue(se) {
          T.push(se), T.length >= 1024 && nt();
        }
        function Xe() {
          if (!(!ee || !xe())) {
            if (o(), D < V) {
              do
                ue(
                  59
                  /* semicolon */
                ), D++;
              while (D < V);
              w = 0;
            } else
              E.assertEqual(D, V, "generatedLine cannot backtrack"), z && ue(
                44
                /* comma */
              );
            ve(G - w), w = G, te && (ve(W - A), A = W, ve(pe - O), O = pe, ve(K - F), F = K, ie && (ve(U - j), j = U)), z = !0, c();
          }
        }
        function nt() {
          T.length > 0 && (k += String.fromCharCode.apply(void 0, T), T.length = 0);
        }
        function oe() {
          return Xe(), nt(), {
            version: 3,
            file: t,
            sourceRoot: n,
            sources: u,
            names: h,
            mappings: k,
            sourcesContent: m
          };
        }
        function ve(se) {
          se < 0 ? se = (-se << 1) + 1 : se = se << 1;
          do {
            let Pe = se & 31;
            se = se >> 5, se > 0 && (Pe = Pe | 32), ue(kRe(Pe));
          } while (se > 0);
        }
      }
      var bne = /\/\/[@#] source[M]appingURL=(.+)\r?\n?$/, EW = /^\/\/[@#] source[M]appingURL=(.+)\r?\n?$/, DW = /^\s*(\/\/[@#] .*)?$/;
      function wW(e, t) {
        return {
          getLineCount: () => t.length,
          getLineText: (n) => e.substring(t[n], t[n + 1])
        };
      }
      function Sne(e) {
        for (let t = e.getLineCount() - 1; t >= 0; t--) {
          const n = e.getLineText(t), i = EW.exec(n);
          if (i)
            return i[1].trimEnd();
          if (!n.match(DW))
            break;
        }
      }
      function TRe(e) {
        return typeof e == "string" || e === null;
      }
      function xRe(e) {
        return e !== null && typeof e == "object" && e.version === 3 && typeof e.file == "string" && typeof e.mappings == "string" && fs(e.sources) && Pi(e.sources, cs) && (e.sourceRoot === void 0 || e.sourceRoot === null || typeof e.sourceRoot == "string") && (e.sourcesContent === void 0 || e.sourcesContent === null || fs(e.sourcesContent) && Pi(e.sourcesContent, TRe)) && (e.names === void 0 || e.names === null || fs(e.names) && Pi(e.names, cs));
      }
      function Tne(e) {
        try {
          const t = JSON.parse(e);
          if (xRe(t))
            return t;
        } catch {
        }
      }
      function PW(e) {
        let t = !1, n = 0, i = 0, s = 0, o = 0, c = 0, _ = 0, u = 0, g;
        return {
          get pos() {
            return n;
          },
          get error() {
            return g;
          },
          get state() {
            return m(
              /*hasSource*/
              !0,
              /*hasName*/
              !0
            );
          },
          next() {
            for (; !t && n < e.length; ) {
              const A = e.charCodeAt(n);
              if (A === 59) {
                i++, s = 0, n++;
                continue;
              }
              if (A === 44) {
                n++;
                continue;
              }
              let O = !1, F = !1;
              if (s += w(), k()) return h();
              if (s < 0) return T("Invalid generatedCharacter found");
              if (!D()) {
                if (O = !0, o += w(), k()) return h();
                if (o < 0) return T("Invalid sourceIndex found");
                if (D()) return T("Unsupported Format: No entries after sourceIndex");
                if (c += w(), k()) return h();
                if (c < 0) return T("Invalid sourceLine found");
                if (D()) return T("Unsupported Format: No entries after sourceLine");
                if (_ += w(), k()) return h();
                if (_ < 0) return T("Invalid sourceCharacter found");
                if (!D()) {
                  if (F = !0, u += w(), k()) return h();
                  if (u < 0) return T("Invalid nameIndex found");
                  if (!D()) return T("Unsupported Error Format: Entries after nameIndex");
                }
              }
              return { value: m(O, F), done: t };
            }
            return h();
          },
          [Symbol.iterator]() {
            return this;
          }
        };
        function m(A, O) {
          return {
            generatedLine: i,
            generatedCharacter: s,
            sourceIndex: A ? o : void 0,
            sourceLine: A ? c : void 0,
            sourceCharacter: A ? _ : void 0,
            nameIndex: O ? u : void 0
          };
        }
        function h() {
          return t = !0, { value: void 0, done: !0 };
        }
        function S(A) {
          g === void 0 && (g = A);
        }
        function T(A) {
          return S(A), h();
        }
        function k() {
          return g !== void 0;
        }
        function D() {
          return n === e.length || e.charCodeAt(n) === 44 || e.charCodeAt(n) === 59;
        }
        function w() {
          let A = !0, O = 0, F = 0;
          for (; A; n++) {
            if (n >= e.length) return S("Error in decoding base64VLQFormatDecode, past the mapping string"), -1;
            const j = CRe(e.charCodeAt(n));
            if (j === -1) return S("Invalid character in VLQ"), -1;
            A = (j & 32) !== 0, F = F | (j & 31) << O, O += 5;
          }
          return (F & 1) === 0 ? F = F >> 1 : (F = F >> 1, F = -F), F;
        }
      }
      function M1e(e, t) {
        return e === t || e.generatedLine === t.generatedLine && e.generatedCharacter === t.generatedCharacter && e.sourceIndex === t.sourceIndex && e.sourceLine === t.sourceLine && e.sourceCharacter === t.sourceCharacter && e.nameIndex === t.nameIndex;
      }
      function xne(e) {
        return e.sourceIndex !== void 0 && e.sourceLine !== void 0 && e.sourceCharacter !== void 0;
      }
      function kRe(e) {
        return e >= 0 && e < 26 ? 65 + e : e >= 26 && e < 52 ? 97 + e - 26 : e >= 52 && e < 62 ? 48 + e - 52 : e === 62 ? 43 : e === 63 ? 47 : E.fail(`${e}: not a base64 value`);
      }
      function CRe(e) {
        return e >= 65 && e <= 90 ? e - 65 : e >= 97 && e <= 122 ? e - 97 + 26 : e >= 48 && e <= 57 ? e - 48 + 52 : e === 43 ? 62 : e === 47 ? 63 : -1;
      }
      function R1e(e) {
        return e.sourceIndex !== void 0 && e.sourcePosition !== void 0;
      }
      function j1e(e, t) {
        return e.generatedPosition === t.generatedPosition && e.sourceIndex === t.sourceIndex && e.sourcePosition === t.sourcePosition;
      }
      function ERe(e, t) {
        return E.assert(e.sourceIndex === t.sourceIndex), go(e.sourcePosition, t.sourcePosition);
      }
      function DRe(e, t) {
        return go(e.generatedPosition, t.generatedPosition);
      }
      function wRe(e) {
        return e.sourcePosition;
      }
      function PRe(e) {
        return e.generatedPosition;
      }
      function kne(e, t, n) {
        const i = Un(n), s = t.sourceRoot ? Xi(t.sourceRoot, i) : i, o = Xi(t.file, i), c = e.getSourceFileLike(o), _ = t.sources.map((O) => Xi(O, s)), u = new Map(_.map((O, F) => [e.getCanonicalFileName(O), F]));
        let g, m, h;
        return {
          getSourcePosition: A,
          getGeneratedPosition: w
        };
        function S(O) {
          const F = c !== void 0 ? OP(
            c,
            O.generatedLine,
            O.generatedCharacter,
            /*allowEdits*/
            !0
          ) : -1;
          let j, z;
          if (xne(O)) {
            const V = e.getSourceFileLike(_[O.sourceIndex]);
            j = t.sources[O.sourceIndex], z = V !== void 0 ? OP(
              V,
              O.sourceLine,
              O.sourceCharacter,
              /*allowEdits*/
              !0
            ) : -1;
          }
          return {
            generatedPosition: F,
            source: j,
            sourceIndex: O.sourceIndex,
            sourcePosition: z,
            nameIndex: O.nameIndex
          };
        }
        function T() {
          if (g === void 0) {
            const O = PW(t.mappings), F = rs(O, S);
            O.error !== void 0 ? (e.log && e.log(`Encountered error while decoding sourcemap: ${O.error}`), g = Ue) : g = F;
          }
          return g;
        }
        function k(O) {
          if (h === void 0) {
            const F = [];
            for (const j of T()) {
              if (!R1e(j)) continue;
              let z = F[j.sourceIndex];
              z || (F[j.sourceIndex] = z = []), z.push(j);
            }
            h = F.map((j) => n4(j, ERe, j1e));
          }
          return h[O];
        }
        function D() {
          if (m === void 0) {
            const O = [];
            for (const F of T())
              O.push(F);
            m = n4(O, DRe, j1e);
          }
          return m;
        }
        function w(O) {
          const F = u.get(e.getCanonicalFileName(O.fileName));
          if (F === void 0) return O;
          const j = k(F);
          if (!at(j)) return O;
          let z = VT(j, O.pos, wRe, go);
          z < 0 && (z = ~z);
          const V = j[z];
          return V === void 0 || V.sourceIndex !== F ? O : { fileName: o, pos: V.generatedPosition };
        }
        function A(O) {
          const F = D();
          if (!at(F)) return O;
          let j = VT(F, O.pos, PRe, go);
          j < 0 && (j = ~j);
          const z = F[j];
          return z === void 0 || !R1e(z) ? O : { fileName: _[z.sourceIndex], pos: z.sourcePosition };
        }
      }
      var NW = {
        getSourcePosition: mo,
        getGeneratedPosition: mo
      };
      function e_(e) {
        return e = Vo(e), e ? Oa(e) : 0;
      }
      function B1e(e) {
        return !e || !cm(e) && !cp(e) ? !1 : at(e.elements, J1e);
      }
      function J1e(e) {
        return Gm(e.propertyName || e.name);
      }
      function Sd(e, t) {
        return n;
        function n(s) {
          return s.kind === 307 ? t(s) : i(s);
        }
        function i(s) {
          return e.factory.createBundle(fr(s.sourceFiles, t));
        }
      }
      function Cne(e) {
        return !!qC(e);
      }
      function hO(e) {
        if (qC(e))
          return !0;
        const t = e.importClause && e.importClause.namedBindings;
        if (!t || !cm(t)) return !1;
        let n = 0;
        for (const i of t.elements)
          J1e(i) && n++;
        return n > 0 && n !== t.elements.length || !!(t.elements.length - n) && vS(e);
      }
      function AW(e) {
        return !hO(e) && (vS(e) || !!e.importClause && cm(e.importClause.namedBindings) && B1e(e.importClause.namedBindings));
      }
      function IW(e, t) {
        const n = e.getEmitResolver(), i = e.getCompilerOptions(), s = [], o = new NRe(), c = [], _ = /* @__PURE__ */ new Map(), u = /* @__PURE__ */ new Set();
        let g, m = !1, h, S = !1, T = !1, k = !1;
        for (const O of t.statements)
          switch (O.kind) {
            case 272:
              s.push(O), !T && hO(O) && (T = !0), !k && AW(O) && (k = !0);
              break;
            case 271:
              O.moduleReference.kind === 283 && s.push(O);
              break;
            case 278:
              if (O.moduleSpecifier)
                if (!O.exportClause)
                  s.push(O), S = !0;
                else if (s.push(O), cp(O.exportClause))
                  w(O), k || (k = B1e(O.exportClause));
                else {
                  const F = O.exportClause.name, j = Uy(F);
                  _.get(j) || (YD(c, e_(O), F), _.set(j, !0), g = Dr(g, F)), T = !0;
                }
              else
                w(O);
              break;
            case 277:
              O.isExportEquals && !h && (h = O);
              break;
            case 243:
              if (qn(
                O,
                32
                /* Export */
              ))
                for (const F of O.declarationList.declarations)
                  g = z1e(F, _, g, c);
              break;
            case 262:
              qn(
                O,
                32
                /* Export */
              ) && A(
                O,
                /*name*/
                void 0,
                qn(
                  O,
                  2048
                  /* Default */
                )
              );
              break;
            case 263:
              if (qn(
                O,
                32
                /* Export */
              ))
                if (qn(
                  O,
                  2048
                  /* Default */
                ))
                  m || (YD(c, e_(O), e.factory.getDeclarationName(O)), m = !0);
                else {
                  const F = O.name;
                  F && !_.get(Pn(F)) && (YD(c, e_(O), F), _.set(Pn(F), !0), g = Dr(g, F));
                }
              break;
          }
        const D = Cz(e.factory, e.getEmitHelperFactory(), t, i, S, T, k);
        return D && s.unshift(D), { externalImports: s, exportSpecifiers: o, exportEquals: h, hasExportStarsToExportValues: S, exportedBindings: c, exportedNames: g, exportedFunctions: u, externalHelpersImportDeclaration: D };
        function w(O) {
          for (const F of Us(O.exportClause, cp).elements) {
            const j = Uy(F.name);
            if (!_.get(j)) {
              const z = F.propertyName || F.name;
              if (z.kind !== 11) {
                O.moduleSpecifier || o.add(z, F);
                const V = n.getReferencedImportDeclaration(z) || n.getReferencedValueDeclaration(z);
                if (V) {
                  if (V.kind === 262) {
                    A(V, F.name, Gm(F.name));
                    continue;
                  }
                  YD(c, e_(V), F.name);
                }
              }
              _.set(j, !0), g = Dr(g, F.name);
            }
          }
        }
        function A(O, F, j) {
          if (u.add(Vo(O, Tc)), j)
            m || (YD(c, e_(O), F ?? e.factory.getDeclarationName(O)), m = !0);
          else {
            F ?? (F = O.name);
            const z = Uy(F);
            _.get(z) || (YD(c, e_(O), F), _.set(z, !0));
          }
        }
      }
      function z1e(e, t, n, i) {
        if (Ps(e.name))
          for (const s of e.name.elements)
            vl(s) || (n = z1e(s, t, n, i));
        else if (!Mo(e.name)) {
          const s = Pn(e.name);
          t.get(s) || (t.set(s, !0), n = Dr(n, e.name), Rh(e.name) && YD(i, e_(e), e.name));
        }
        return n;
      }
      function YD(e, t, n) {
        let i = e[t];
        return i ? i.push(n) : e[t] = i = [n], i;
      }
      var O6 = class KE {
        constructor() {
          this._map = /* @__PURE__ */ new Map();
        }
        get size() {
          return this._map.size;
        }
        has(t) {
          return this._map.has(KE.toKey(t));
        }
        get(t) {
          return this._map.get(KE.toKey(t));
        }
        set(t, n) {
          return this._map.set(KE.toKey(t), n), this;
        }
        delete(t) {
          var n;
          return ((n = this._map) == null ? void 0 : n.delete(KE.toKey(t))) ?? !1;
        }
        clear() {
          this._map.clear();
        }
        values() {
          return this._map.values();
        }
        static toKey(t) {
          if (cS(t) || Mo(t)) {
            const n = t.emitNode.autoGenerate;
            if ((n.flags & 7) === 4) {
              const i = jN(t), s = Ng(i) && i !== t ? KE.toKey(i) : `(generated@${Oa(i)})`;
              return _v(
                /*privateName*/
                !1,
                n.prefix,
                s,
                n.suffix,
                KE.toKey
              );
            } else {
              const i = `(auto@${n.id})`;
              return _v(
                /*privateName*/
                !1,
                n.prefix,
                i,
                n.suffix,
                KE.toKey
              );
            }
          }
          return Di(t) ? Pn(t).slice(1) : Pn(t);
        }
      }, NRe = class extends O6 {
        add(e, t) {
          let n = this.get(e);
          return n ? n.push(t) : this.set(e, n = [t]), n;
        }
        remove(e, t) {
          const n = this.get(e);
          n && (HT(n, t), n.length || this.delete(e));
        }
      };
      function e2(e) {
        return Ba(e) || e.kind === 9 || p_(e.kind) || Fe(e);
      }
      function tg(e) {
        return !Fe(e) && e2(e);
      }
      function ZD(e) {
        return e >= 65 && e <= 79;
      }
      function KD(e) {
        switch (e) {
          case 65:
            return 40;
          case 66:
            return 41;
          case 67:
            return 42;
          case 68:
            return 43;
          case 69:
            return 44;
          case 70:
            return 45;
          case 71:
            return 48;
          case 72:
            return 49;
          case 73:
            return 50;
          case 74:
            return 51;
          case 75:
            return 52;
          case 79:
            return 53;
          case 76:
            return 57;
          case 77:
            return 56;
          case 78:
            return 61;
        }
      }
      function yO(e) {
        if (!Pl(e))
          return;
        const t = za(e.expression);
        return dS(t) ? t : void 0;
      }
      function W1e(e, t, n) {
        for (let i = t; i < e.length; i += 1) {
          const s = e[i];
          if (yO(s))
            return n.unshift(i), !0;
          if (OS(s) && W1e(s.tryBlock.statements, 0, n))
            return n.unshift(i), !0;
        }
        return !1;
      }
      function vO(e, t) {
        const n = [];
        return W1e(e, t, n), n;
      }
      function FW(e, t, n) {
        return Tn(e.members, (i) => IRe(i, t, n));
      }
      function ARe(e) {
        return FRe(e) || hc(e);
      }
      function bO(e) {
        return Tn(e.members, ARe);
      }
      function IRe(e, t, n) {
        return is(e) && (!!e.initializer || !t) && sl(e) === n;
      }
      function FRe(e) {
        return is(e) && sl(e);
      }
      function rA(e) {
        return e.kind === 172 && e.initializer !== void 0;
      }
      function Ene(e) {
        return !zs(e) && (rx(e) || u_(e)) && Di(e.name);
      }
      function Dne(e) {
        let t;
        if (e) {
          const n = e.parameters, i = n.length > 0 && $y(n[0]), s = i ? 1 : 0, o = i ? n.length - 1 : n.length;
          for (let c = 0; c < o; c++) {
            const _ = n[c + s];
            (t || Pf(_)) && (t || (t = new Array(o)), t[c] = Fy(_));
          }
        }
        return t;
      }
      function OW(e, t) {
        const n = Fy(e), i = t ? Dne(jg(e)) : void 0;
        if (!(!at(n) && !at(i)))
          return {
            decorators: n,
            parameters: i
          };
      }
      function SO(e, t, n) {
        switch (e.kind) {
          case 177:
          case 178:
            return n ? ORe(
              e,
              t
            ) : V1e(
              e,
              /*useLegacyDecorators*/
              !1
            );
          case 174:
            return V1e(e, n);
          case 172:
            return LRe(e);
          default:
            return;
        }
      }
      function ORe(e, t, n) {
        if (!e.body)
          return;
        const { firstAccessor: i, secondAccessor: s, getAccessor: o, setAccessor: c } = Mb(t.members, e), _ = Pf(i) ? i : s && Pf(s) ? s : void 0;
        if (!_ || e !== _)
          return;
        const u = Fy(_), g = Dne(c);
        if (!(!at(u) && !at(g)))
          return {
            decorators: u,
            parameters: g,
            getDecorators: o && Fy(o),
            setDecorators: c && Fy(c)
          };
      }
      function V1e(e, t) {
        if (!e.body)
          return;
        const n = Fy(e), i = t ? Dne(e) : void 0;
        if (!(!at(n) && !at(i)))
          return { decorators: n, parameters: i };
      }
      function LRe(e) {
        const t = Fy(e);
        if (at(t))
          return { decorators: t };
      }
      function MRe(e, t) {
        for (; e; ) {
          const n = t(e);
          if (n !== void 0) return n;
          e = e.previous;
        }
      }
      function wne(e) {
        return { data: e };
      }
      function LW(e, t) {
        var n, i;
        return cS(t) ? (n = e?.generatedIdentifiers) == null ? void 0 : n.get(jN(t)) : (i = e?.identifiers) == null ? void 0 : i.get(t.escapedText);
      }
      function US(e, t, n) {
        cS(t) ? (e.generatedIdentifiers ?? (e.generatedIdentifiers = /* @__PURE__ */ new Map()), e.generatedIdentifiers.set(jN(t), n)) : (e.identifiers ?? (e.identifiers = /* @__PURE__ */ new Map()), e.identifiers.set(t.escapedText, n));
      }
      function Pne(e, t) {
        return MRe(e, (n) => LW(n.privateEnv, t));
      }
      function RRe(e) {
        return !e.initializer && Fe(e.name);
      }
      function nA(e) {
        return Pi(e, RRe);
      }
      function tk(e, t) {
        if (!e || !la(e) || !F3(e.text, t))
          return e;
        const n = Oh(e.text, uA(e.text, t));
        return n !== e.text ? xn(ot(N.createStringLiteral(n, e.singleQuote), e), e) : e;
      }
      var Nne = /* @__PURE__ */ ((e) => (e[e.All = 0] = "All", e[e.ObjectRest = 1] = "ObjectRest", e))(Nne || {});
      function qS(e, t, n, i, s, o) {
        let c = e, _;
        if (T0(e))
          for (_ = e.right; QK(e.left) || rJ(e.left); )
            if (T0(_))
              c = e = _, _ = e.right;
            else
              return E.checkDefined($e(_, t, lt));
        let u;
        const g = {
          context: n,
          level: i,
          downlevelIteration: !!n.getCompilerOptions().downlevelIteration,
          hoistTempVariables: !0,
          emitExpression: m,
          emitBindingOrAssignment: h,
          createArrayBindingOrAssignmentPattern: (S) => qRe(n.factory, S),
          createObjectBindingOrAssignmentPattern: (S) => GRe(n.factory, S),
          createArrayBindingOrAssignmentElement: XRe,
          visitor: t
        };
        if (_ && (_ = $e(_, t, lt), E.assert(_), Fe(_) && Ane(e, _.escapedText) || Ine(e) ? _ = rk(
          g,
          _,
          /*reuseIdentifierExpressions*/
          !1,
          c
        ) : s ? _ = rk(
          g,
          _,
          /*reuseIdentifierExpressions*/
          !0,
          c
        ) : oo(e) && (c = _)), ew(
          g,
          e,
          _,
          c,
          /*skipInitializer*/
          T0(e)
        ), _ && s) {
          if (!at(u))
            return _;
          u.push(_);
        }
        return n.factory.inlineExpressions(u) || n.factory.createOmittedExpression();
        function m(S) {
          u = Dr(u, S);
        }
        function h(S, T, k, D) {
          E.assertNode(S, o ? Fe : lt);
          const w = o ? o(S, T, k) : ot(
            n.factory.createAssignment(E.checkDefined($e(S, t, lt)), T),
            k
          );
          w.original = D, m(w);
        }
      }
      function Ane(e, t) {
        const n = s1(e);
        return QP(n) ? jRe(n, t) : Fe(n) ? n.escapedText === t : !1;
      }
      function jRe(e, t) {
        const n = k6(e);
        for (const i of n)
          if (Ane(i, t))
            return !0;
        return !1;
      }
      function Ine(e) {
        const t = MF(e);
        if (t && ia(t) && !oS(t.expression))
          return !0;
        const n = s1(e);
        return !!n && QP(n) && BRe(n);
      }
      function BRe(e) {
        return !!ar(k6(e), Ine);
      }
      function t2(e, t, n, i, s, o = !1, c) {
        let _;
        const u = [], g = [], m = {
          context: n,
          level: i,
          downlevelIteration: !!n.getCompilerOptions().downlevelIteration,
          hoistTempVariables: o,
          emitExpression: h,
          emitBindingOrAssignment: S,
          createArrayBindingOrAssignmentPattern: (T) => URe(n.factory, T),
          createObjectBindingOrAssignmentPattern: (T) => HRe(n.factory, T),
          createArrayBindingOrAssignmentElement: (T) => $Re(n.factory, T),
          visitor: t
        };
        if (Zn(e)) {
          let T = MN(e);
          T && (Fe(T) && Ane(e, T.escapedText) || Ine(e)) && (T = rk(
            m,
            E.checkDefined($e(T, m.visitor, lt)),
            /*reuseIdentifierExpressions*/
            !1,
            T
          ), e = n.factory.updateVariableDeclaration(
            e,
            e.name,
            /*exclamationToken*/
            void 0,
            /*type*/
            void 0,
            T
          ));
        }
        if (ew(m, e, s, e, c), _) {
          const T = n.factory.createTempVariable(
            /*recordTempVariable*/
            void 0
          );
          if (o) {
            const k = n.factory.inlineExpressions(_);
            _ = void 0, S(
              T,
              k,
              /*location*/
              void 0,
              /*original*/
              void 0
            );
          } else {
            n.hoistVariableDeclaration(T);
            const k = pa(u);
            k.pendingExpressions = Dr(
              k.pendingExpressions,
              n.factory.createAssignment(T, k.value)
            ), wn(k.pendingExpressions, _), k.value = T;
          }
        }
        for (const { pendingExpressions: T, name: k, value: D, location: w, original: A } of u) {
          const O = n.factory.createVariableDeclaration(
            k,
            /*exclamationToken*/
            void 0,
            /*type*/
            void 0,
            T ? n.factory.inlineExpressions(Dr(T, D)) : D
          );
          O.original = A, ot(O, w), g.push(O);
        }
        return g;
        function h(T) {
          _ = Dr(_, T);
        }
        function S(T, k, D, w) {
          E.assertNode(T, lS), _ && (k = n.factory.inlineExpressions(Dr(_, k)), _ = void 0), u.push({ pendingExpressions: _, name: T, value: k, location: D, original: w });
        }
      }
      function ew(e, t, n, i, s) {
        const o = s1(t);
        if (!s) {
          const c = $e(MN(t), e.visitor, lt);
          c ? n ? (n = WRe(e, n, c, i), !tg(c) && QP(o) && (n = rk(
            e,
            n,
            /*reuseIdentifierExpressions*/
            !0,
            i
          ))) : n = c : n || (n = e.context.factory.createVoidZero());
        }
        jj(o) ? JRe(e, t, o, n, i) : Bj(o) ? zRe(e, t, o, n, i) : e.emitBindingOrAssignment(
          o,
          n,
          i,
          /*original*/
          t
        );
      }
      function JRe(e, t, n, i, s) {
        const o = k6(n), c = o.length;
        if (c !== 1) {
          const g = !XP(t) || c !== 0;
          i = rk(e, i, g, s);
        }
        let _, u;
        for (let g = 0; g < c; g++) {
          const m = o[g];
          if (LF(m)) {
            if (g === c - 1) {
              _ && (e.emitBindingOrAssignment(e.createObjectBindingOrAssignmentPattern(_), i, s, n), _ = void 0);
              const h = e.context.getEmitHelperFactory().createRestHelper(i, o, u, n);
              ew(e, m, h, m);
            }
          } else {
            const h = Ez(m);
            if (e.level >= 1 && !(m.transformFlags & 98304) && !(s1(m).transformFlags & 98304) && !ia(h))
              _ = Dr(_, $e(m, e.visitor, gZ));
            else {
              _ && (e.emitBindingOrAssignment(e.createObjectBindingOrAssignmentPattern(_), i, s, n), _ = void 0);
              const S = VRe(e, i, h);
              ia(h) && (u = Dr(u, S.argumentExpression)), ew(
                e,
                m,
                S,
                /*location*/
                m
              );
            }
          }
        }
        _ && e.emitBindingOrAssignment(e.createObjectBindingOrAssignmentPattern(_), i, s, n);
      }
      function zRe(e, t, n, i, s) {
        const o = k6(n), c = o.length;
        if (e.level < 1 && e.downlevelIteration)
          i = rk(
            e,
            ot(
              e.context.getEmitHelperFactory().createReadHelper(
                i,
                c > 0 && LF(o[c - 1]) ? void 0 : c
              ),
              s
            ),
            /*reuseIdentifierExpressions*/
            !1,
            s
          );
        else if (c !== 1 && (e.level < 1 || c === 0) || Pi(o, vl)) {
          const g = !XP(t) || c !== 0;
          i = rk(e, i, g, s);
        }
        let _, u;
        for (let g = 0; g < c; g++) {
          const m = o[g];
          if (e.level >= 1)
            if (m.transformFlags & 65536 || e.hasTransformedPriorElement && !U1e(m)) {
              e.hasTransformedPriorElement = !0;
              const h = e.context.factory.createTempVariable(
                /*recordTempVariable*/
                void 0
              );
              e.hoistTempVariables && e.context.hoistVariableDeclaration(h), u = Dr(u, [h, m]), _ = Dr(_, e.createArrayBindingOrAssignmentElement(h));
            } else
              _ = Dr(_, m);
          else {
            if (vl(m))
              continue;
            if (LF(m)) {
              if (g === c - 1) {
                const h = e.context.factory.createArraySliceCall(i, g);
                ew(
                  e,
                  m,
                  h,
                  /*location*/
                  m
                );
              }
            } else {
              const h = e.context.factory.createElementAccessExpression(i, g);
              ew(
                e,
                m,
                h,
                /*location*/
                m
              );
            }
          }
        }
        if (_ && e.emitBindingOrAssignment(e.createArrayBindingOrAssignmentPattern(_), i, s, n), u)
          for (const [g, m] of u)
            ew(e, m, g, m);
      }
      function U1e(e) {
        const t = s1(e);
        if (!t || vl(t)) return !0;
        const n = MF(e);
        if (n && !Kd(n)) return !1;
        const i = MN(e);
        return i && !tg(i) ? !1 : QP(t) ? Pi(k6(t), U1e) : Fe(t);
      }
      function WRe(e, t, n, i) {
        return t = rk(
          e,
          t,
          /*reuseIdentifierExpressions*/
          !0,
          i
        ), e.context.factory.createConditionalExpression(
          e.context.factory.createTypeCheck(t, "undefined"),
          /*questionToken*/
          void 0,
          n,
          /*colonToken*/
          void 0,
          t
        );
      }
      function VRe(e, t, n) {
        const { factory: i } = e.context;
        if (ia(n)) {
          const s = rk(
            e,
            E.checkDefined($e(n.expression, e.visitor, lt)),
            /*reuseIdentifierExpressions*/
            !1,
            /*location*/
            n
          );
          return e.context.factory.createElementAccessExpression(t, s);
        } else if (wf(n) || ED(n)) {
          const s = i.cloneNode(n);
          return e.context.factory.createElementAccessExpression(t, s);
        } else {
          const s = e.context.factory.createIdentifier(Pn(n));
          return e.context.factory.createPropertyAccessExpression(t, s);
        }
      }
      function rk(e, t, n, i) {
        if (Fe(t) && n)
          return t;
        {
          const s = e.context.factory.createTempVariable(
            /*recordTempVariable*/
            void 0
          );
          return e.hoistTempVariables ? (e.context.hoistVariableDeclaration(s), e.emitExpression(ot(e.context.factory.createAssignment(s, t), i))) : e.emitBindingOrAssignment(
            s,
            t,
            i,
            /*original*/
            void 0
          ), s;
        }
      }
      function URe(e, t) {
        return E.assertEachNode(t, S7), e.createArrayBindingPattern(t);
      }
      function qRe(e, t) {
        return E.assertEachNode(t, ZP), e.createArrayLiteralExpression(fr(t, e.converters.convertToArrayAssignmentElement));
      }
      function HRe(e, t) {
        return E.assertEachNode(t, ya), e.createObjectBindingPattern(t);
      }
      function GRe(e, t) {
        return E.assertEachNode(t, YP), e.createObjectLiteralExpression(fr(t, e.converters.convertToObjectAssignmentElement));
      }
      function $Re(e, t) {
        return e.createBindingElement(
          /*dotDotDotToken*/
          void 0,
          /*propertyName*/
          void 0,
          t
        );
      }
      function XRe(e) {
        return e;
      }
      function QRe(e, t, n = e.createThis()) {
        const i = e.createAssignment(t, n), s = e.createExpressionStatement(i), o = e.createBlock(
          [s],
          /*multiLine*/
          !1
        ), c = e.createClassStaticBlockDeclaration(o);
        return uu(c).classThis = t, c;
      }
      function tw(e) {
        var t;
        if (!hc(e) || e.body.statements.length !== 1)
          return !1;
        const n = e.body.statements[0];
        return Pl(n) && wl(
          n.expression,
          /*excludeCompoundAssignment*/
          !0
        ) && Fe(n.expression.left) && ((t = e.emitNode) == null ? void 0 : t.classThis) === n.expression.left && n.expression.right.kind === 110;
      }
      function MW(e) {
        var t;
        return !!((t = e.emitNode) != null && t.classThis) && at(e.members, tw);
      }
      function Fne(e, t, n, i) {
        if (MW(t))
          return t;
        const s = QRe(e, n, i);
        t.name && ha(s.body.statements[0], t.name);
        const o = e.createNodeArray([s, ...t.members]);
        ot(o, t.members);
        const c = el(t) ? e.updateClassDeclaration(
          t,
          t.modifiers,
          t.name,
          t.typeParameters,
          t.heritageClauses,
          o
        ) : e.updateClassExpression(
          t,
          t.modifiers,
          t.name,
          t.typeParameters,
          t.heritageClauses,
          o
        );
        return uu(c).classThis = n, c;
      }
      function TO(e, t, n) {
        const i = Vo(xc(n));
        return (el(i) || Tc(i)) && !i.name && qn(
          i,
          2048
          /* Default */
        ) ? e.createStringLiteral("default") : e.createStringLiteralFromNode(t);
      }
      function q1e(e, t, n) {
        const { factory: i } = e;
        if (n !== void 0)
          return { assignedName: i.createStringLiteral(n), name: t };
        if (Kd(t) || Di(t))
          return { assignedName: i.createStringLiteralFromNode(t), name: t };
        if (Kd(t.expression) && !Fe(t.expression))
          return { assignedName: i.createStringLiteralFromNode(t.expression), name: t };
        const s = i.getGeneratedNameForNode(t);
        e.hoistVariableDeclaration(s);
        const o = e.getEmitHelperFactory().createPropKeyHelper(t.expression), c = i.createAssignment(s, o), _ = i.updateComputedPropertyName(t, c);
        return { assignedName: s, name: _ };
      }
      function YRe(e, t, n = e.factory.createThis()) {
        const { factory: i } = e, s = e.getEmitHelperFactory().createSetFunctionNameHelper(n, t), o = i.createExpressionStatement(s), c = i.createBlock(
          [o],
          /*multiLine*/
          !1
        ), _ = i.createClassStaticBlockDeclaration(c);
        return uu(_).assignedName = t, _;
      }
      function nk(e) {
        var t;
        if (!hc(e) || e.body.statements.length !== 1)
          return !1;
        const n = e.body.statements[0];
        return Pl(n) && CD(n.expression, "___setFunctionName") && n.expression.arguments.length >= 2 && n.expression.arguments[1] === ((t = e.emitNode) == null ? void 0 : t.assignedName);
      }
      function xO(e) {
        var t;
        return !!((t = e.emitNode) != null && t.assignedName) && at(e.members, nk);
      }
      function RW(e) {
        return !!e.name || xO(e);
      }
      function kO(e, t, n, i) {
        if (xO(t))
          return t;
        const { factory: s } = e, o = YRe(e, n, i);
        t.name && ha(o.body.statements[0], t.name);
        const c = oc(t.members, tw) + 1, _ = t.members.slice(0, c), u = t.members.slice(c), g = s.createNodeArray([..._, o, ...u]);
        return ot(g, t.members), t = el(t) ? s.updateClassDeclaration(
          t,
          t.modifiers,
          t.name,
          t.typeParameters,
          t.heritageClauses,
          g
        ) : s.updateClassExpression(
          t,
          t.modifiers,
          t.name,
          t.typeParameters,
          t.heritageClauses,
          g
        ), uu(t).assignedName = n, t;
      }
      function L6(e, t, n, i) {
        if (i && la(n) && hB(n))
          return t;
        const { factory: s } = e, o = xc(t), c = Kc(o) ? Us(kO(e, o, n), Kc) : e.getEmitHelperFactory().createSetFunctionNameHelper(o, n);
        return s.restoreOuterExpressions(t, c);
      }
      function ZRe(e, t, n, i) {
        const { factory: s } = e, { assignedName: o, name: c } = q1e(e, t.name, i), _ = L6(e, t.initializer, o, n);
        return s.updatePropertyAssignment(
          t,
          c,
          _
        );
      }
      function KRe(e, t, n, i) {
        const { factory: s } = e, o = i !== void 0 ? s.createStringLiteral(i) : TO(s, t.name, t.objectAssignmentInitializer), c = L6(e, t.objectAssignmentInitializer, o, n);
        return s.updateShorthandPropertyAssignment(
          t,
          t.name,
          c
        );
      }
      function eje(e, t, n, i) {
        const { factory: s } = e, o = i !== void 0 ? s.createStringLiteral(i) : TO(s, t.name, t.initializer), c = L6(e, t.initializer, o, n);
        return s.updateVariableDeclaration(
          t,
          t.name,
          t.exclamationToken,
          t.type,
          c
        );
      }
      function tje(e, t, n, i) {
        const { factory: s } = e, o = i !== void 0 ? s.createStringLiteral(i) : TO(s, t.name, t.initializer), c = L6(e, t.initializer, o, n);
        return s.updateParameterDeclaration(
          t,
          t.modifiers,
          t.dotDotDotToken,
          t.name,
          t.questionToken,
          t.type,
          c
        );
      }
      function rje(e, t, n, i) {
        const { factory: s } = e, o = i !== void 0 ? s.createStringLiteral(i) : TO(s, t.name, t.initializer), c = L6(e, t.initializer, o, n);
        return s.updateBindingElement(
          t,
          t.dotDotDotToken,
          t.propertyName,
          t.name,
          c
        );
      }
      function nje(e, t, n, i) {
        const { factory: s } = e, { assignedName: o, name: c } = q1e(e, t.name, i), _ = L6(e, t.initializer, o, n);
        return s.updatePropertyDeclaration(
          t,
          t.modifiers,
          c,
          t.questionToken ?? t.exclamationToken,
          t.type,
          _
        );
      }
      function ije(e, t, n, i) {
        const { factory: s } = e, o = i !== void 0 ? s.createStringLiteral(i) : TO(s, t.left, t.right), c = L6(e, t.right, o, n);
        return s.updateBinaryExpression(
          t,
          t.left,
          t.operatorToken,
          c
        );
      }
      function sje(e, t, n, i) {
        const { factory: s } = e, o = i !== void 0 ? s.createStringLiteral(i) : s.createStringLiteral(t.isExportEquals ? "" : "default"), c = L6(e, t.expression, o, n);
        return s.updateExportAssignment(
          t,
          t.modifiers,
          c
        );
      }
      function Y_(e, t, n, i) {
        switch (t.kind) {
          case 303:
            return ZRe(e, t, n, i);
          case 304:
            return KRe(e, t, n, i);
          case 260:
            return eje(e, t, n, i);
          case 169:
            return tje(e, t, n, i);
          case 208:
            return rje(e, t, n, i);
          case 172:
            return nje(e, t, n, i);
          case 226:
            return ije(e, t, n, i);
          case 277:
            return sje(e, t, n, i);
        }
      }
      var One = /* @__PURE__ */ ((e) => (e[e.LiftRestriction = 0] = "LiftRestriction", e[e.All = 1] = "All", e))(One || {});
      function jW(e, t, n, i, s, o) {
        const c = $e(t.tag, n, lt);
        E.assert(c);
        const _ = [void 0], u = [], g = [], m = t.template;
        if (o === 0 && !BB(m))
          return yr(t, n, e);
        const { factory: h } = e;
        if (PS(m))
          u.push(Lne(h, m)), g.push(Mne(h, m, i));
        else {
          u.push(Lne(h, m.head)), g.push(Mne(h, m.head, i));
          for (const T of m.templateSpans)
            u.push(Lne(h, T.literal)), g.push(Mne(h, T.literal, i)), _.push(E.checkDefined($e(T.expression, n, lt)));
        }
        const S = e.getEmitHelperFactory().createTemplateObjectHelper(
          h.createArrayLiteralExpression(u),
          h.createArrayLiteralExpression(g)
        );
        if (ol(i)) {
          const T = h.createUniqueName("templateObject");
          s(T), _[0] = h.createLogicalOr(
            T,
            h.createAssignment(
              T,
              S
            )
          );
        } else
          _[0] = S;
        return h.createCallExpression(
          c,
          /*typeArguments*/
          void 0,
          _
        );
      }
      function Lne(e, t) {
        return t.templateFlags & 26656 ? e.createVoidZero() : e.createStringLiteral(t.text);
      }
      function Mne(e, t, n) {
        let i = t.rawText;
        if (i === void 0) {
          E.assertIsDefined(n, "Template literal node is missing 'rawText' and does not have a source file. Possibly bad transform."), i = xb(n, t);
          const s = t.kind === 15 || t.kind === 18;
          i = i.substring(1, i.length - (s ? 1 : 2));
        }
        return i = i.replace(/\r\n?/g, `
`), ot(e.createStringLiteral(i), t);
      }
      function Rne(e) {
        const {
          factory: t,
          getEmitHelperFactory: n,
          startLexicalEnvironment: i,
          resumeLexicalEnvironment: s,
          endLexicalEnvironment: o,
          hoistVariableDeclaration: c
        } = e, _ = e.getEmitResolver(), u = e.getCompilerOptions(), g = ga(u), m = Mu(u), h = !!u.experimentalDecorators, S = u.emitDecoratorMetadata ? Bne(e) : void 0, T = e.onEmitNode, k = e.onSubstituteNode;
        e.onEmitNode = Bo, e.onSubstituteNode = rf, e.enableSubstitution(
          211
          /* PropertyAccessExpression */
        ), e.enableSubstitution(
          212
          /* ElementAccessExpression */
        );
        let D, w, A, O, F, j = 0, z;
        return V;
        function V(ge) {
          return ge.kind === 308 ? G(ge) : W(ge);
        }
        function G(ge) {
          return t.createBundle(
            ge.sourceFiles.map(W)
          );
        }
        function W(ge) {
          if (ge.isDeclarationFile)
            return ge;
          D = ge;
          const H = pe(ge, ve);
          return qg(H, e.readEmitHelpers()), D = void 0, H;
        }
        function pe(ge, H) {
          const et = O, Ot = F;
          K(ge);
          const Zt = H(ge);
          return O !== et && (F = Ot), O = et, Zt;
        }
        function K(ge) {
          switch (ge.kind) {
            case 307:
            case 269:
            case 268:
            case 241:
              O = ge, F = void 0;
              break;
            case 263:
            case 262:
              if (qn(
                ge,
                128
                /* Ambient */
              ))
                break;
              ge.name ? M(ge) : E.assert(ge.kind === 263 || qn(
                ge,
                2048
                /* Default */
              ));
              break;
          }
        }
        function U(ge) {
          return pe(ge, ee);
        }
        function ee(ge) {
          return ge.transformFlags & 1 ? oe(ge) : ge;
        }
        function te(ge) {
          return pe(ge, ie);
        }
        function ie(ge) {
          switch (ge.kind) {
            case 272:
            case 271:
            case 277:
            case 278:
              return me(ge);
            default:
              return ee(ge);
          }
        }
        function fe(ge) {
          const H = ds(ge);
          if (H === ge || Oo(ge))
            return !1;
          if (!H || H.kind !== ge.kind)
            return !0;
          switch (ge.kind) {
            case 272:
              if (E.assertNode(H, Uo), ge.importClause !== H.importClause || ge.attributes !== H.attributes)
                return !0;
              break;
            case 271:
              if (E.assertNode(H, bl), ge.name !== H.name || ge.isTypeOnly !== H.isTypeOnly || ge.moduleReference !== H.moduleReference && (Gu(ge.moduleReference) || Gu(H.moduleReference)))
                return !0;
              break;
            case 278:
              if (E.assertNode(H, Oc), ge.exportClause !== H.exportClause || ge.attributes !== H.attributes)
                return !0;
              break;
          }
          return !1;
        }
        function me(ge) {
          if (fe(ge))
            return ge.transformFlags & 1 ? yr(ge, U, e) : ge;
          switch (ge.kind) {
            case 272:
              return At(ge);
            case 271:
              return cr(ge);
            case 277:
              return Ye(ge);
            case 278:
              return gt(ge);
            default:
              E.fail("Unhandled ellided statement");
          }
        }
        function q(ge) {
          return pe(ge, he);
        }
        function he(ge) {
          if (!(ge.kind === 278 || ge.kind === 272 || ge.kind === 273 || ge.kind === 271 && ge.moduleReference.kind === 283))
            return ge.transformFlags & 1 || qn(
              ge,
              32
              /* Export */
            ) ? oe(ge) : ge;
        }
        function Me(ge) {
          return (H) => pe(H, (et) => De(et, ge));
        }
        function De(ge, H) {
          switch (ge.kind) {
            case 176:
              return je(ge);
            case 172:
              return ci(ge, H);
            case 177:
              return bi(ge, H);
            case 178:
              return ks(ge, H);
            case 174:
              return zn(ge, H);
            case 175:
              return yr(ge, U, e);
            case 240:
              return ge;
            case 181:
              return;
            default:
              return E.failBadSyntaxKind(ge);
          }
        }
        function re(ge) {
          return (H) => pe(H, (et) => xe(et, ge));
        }
        function xe(ge, H) {
          switch (ge.kind) {
            case 303:
            case 304:
            case 305:
              return U(ge);
            case 177:
              return bi(ge, H);
            case 178:
              return ks(ge, H);
            case 174:
              return zn(ge, H);
            default:
              return E.failBadSyntaxKind(ge);
          }
        }
        function ue(ge) {
          return yl(ge) ? void 0 : U(ge);
        }
        function Xe(ge) {
          return Ks(ge) ? void 0 : U(ge);
        }
        function nt(ge) {
          if (!yl(ge) && !(bx(ge.kind) & 28895) && !(w && ge.kind === 95))
            return ge;
        }
        function oe(ge) {
          if (yi(ge) && qn(
            ge,
            128
            /* Ambient */
          ))
            return t.createNotEmittedStatement(ge);
          switch (ge.kind) {
            case 95:
            case 90:
              return w ? void 0 : ge;
            case 125:
            case 123:
            case 124:
            case 128:
            case 164:
            case 87:
            case 138:
            case 148:
            case 103:
            case 147:
            // TypeScript accessibility and readonly modifiers are elided
            // falls through
            case 188:
            case 189:
            case 190:
            case 191:
            case 187:
            case 182:
            case 168:
            case 133:
            case 159:
            case 136:
            case 154:
            case 150:
            case 146:
            case 116:
            case 155:
            case 185:
            case 184:
            case 186:
            case 183:
            case 192:
            case 193:
            case 194:
            case 196:
            case 197:
            case 198:
            case 199:
            case 200:
            case 201:
            // TypeScript type nodes are elided.
            // falls through
            case 181:
              return;
            case 265:
              return t.createNotEmittedStatement(ge);
            case 270:
              return;
            case 264:
              return t.createNotEmittedStatement(ge);
            case 263:
              return ze(ge);
            case 231:
              return St(ge);
            case 298:
              return ii(ge);
            case 233:
              return li(ge);
            case 210:
              return se(ge);
            case 176:
            case 172:
            case 174:
            case 177:
            case 178:
            case 175:
              return E.fail("Class and object literal elements must be visited with their respective visitors");
            case 262:
              return ta(ge);
            case 218:
              return gr(ge);
            case 219:
              return ms(ge);
            case 169:
              return He(ge);
            case 217:
              return Q(ge);
            case 216:
            case 234:
              return Ne(ge);
            case 238:
              return Ze(ge);
            case 213:
              return bt(ge);
            case 214:
              return Ie(ge);
            case 215:
              return ft(ge);
            case 235:
              return qe(ge);
            case 266:
              return Rt(ge);
            case 243:
              return Et(ge);
            case 260:
              return rt(ge);
            case 267:
              return jt(ge);
            case 271:
              return cr(ge);
            case 285:
              return _t(ge);
            case 286:
              return kt(ge);
            default:
              return yr(ge, U, e);
          }
        }
        function ve(ge) {
          const H = lu(u, "alwaysStrict") && !(ol(ge) && m >= 5) && !Kf(ge);
          return t.updateSourceFile(
            ge,
            CW(
              ge.statements,
              te,
              e,
              /*start*/
              0,
              H
            )
          );
        }
        function se(ge) {
          return t.updateObjectLiteralExpression(
            ge,
            Lr(ge.properties, re(ge), Eh)
          );
        }
        function Pe(ge) {
          let H = 0;
          at(FW(
            ge,
            /*requireInitializer*/
            !0,
            /*isStatic*/
            !0
          )) && (H |= 1);
          const et = Zd(ge);
          return et && xc(et.expression).kind !== 106 && (H |= 64), b0(h, ge) && (H |= 2), B4(h, ge) && (H |= 4), lr(ge) ? H |= 8 : Qn(ge) ? H |= 32 : $t(ge) && (H |= 16), H;
        }
        function Ee(ge) {
          return !!(ge.transformFlags & 8192);
        }
        function Ce(ge) {
          return Pf(ge) || at(ge.typeParameters) || at(ge.heritageClauses, Ee) || at(ge.members, Ee);
        }
        function ze(ge) {
          const H = Pe(ge), et = g <= 1 && !!(H & 7);
          if (!Ce(ge) && !b0(h, ge) && !lr(ge))
            return t.updateClassDeclaration(
              ge,
              Lr(ge.modifiers, nt, Ks),
              ge.name,
              /*typeParameters*/
              void 0,
              Lr(ge.heritageClauses, U, Q_),
              Lr(ge.members, Me(ge), Jc)
            );
          et && e.startLexicalEnvironment();
          const Ot = et || H & 8;
          let Zt = Ot ? Lr(ge.modifiers, Xe, Ro) : Lr(ge.modifiers, U, Ro);
          H & 2 && (Zt = tr(Zt, ge));
          const Vn = Ot && !ge.name || H & 4 || H & 1 ? ge.name ?? t.getGeneratedNameForNode(ge) : ge.name, sn = t.updateClassDeclaration(
            ge,
            Zt,
            Vn,
            /*typeParameters*/
            void 0,
            Lr(ge.heritageClauses, U, Q_),
            Bt(ge)
          );
          let xr = ka(ge);
          H & 1 && (xr |= 64), an(sn, xr);
          let Li;
          if (et) {
            const Qi = [sn], no = iJ(
              ca(D.text, ge.members.end),
              20
              /* CloseBraceToken */
            ), da = t.getInternalName(ge), vo = t.createPartiallyEmittedExpression(da);
            o6(vo, no.end), an(
              vo,
              3072
              /* NoComments */
            );
            const fc = t.createReturnStatement(vo);
            gD(fc, no.pos), an(
              fc,
              3840
              /* NoTokenSourceMaps */
            ), Qi.push(fc), Og(Qi, e.endLexicalEnvironment());
            const Lc = t.createImmediatelyInvokedArrowFunction(Qi);
            bN(
              Lc,
              1
              /* TypeScriptClassWrapper */
            );
            const bo = t.createVariableDeclaration(
              t.getLocalName(
                ge,
                /*allowComments*/
                !1,
                /*allowSourceMaps*/
                !1
              ),
              /*exclamationToken*/
              void 0,
              /*type*/
              void 0,
              Lc
            );
            xn(bo, ge);
            const pc = t.createVariableStatement(
              /*modifiers*/
              void 0,
              t.createVariableDeclarationList(
                [bo],
                1
                /* Let */
              )
            );
            xn(pc, ge), Zc(pc, ge), ha(pc, Ih(ge)), Su(pc), Li = pc;
          } else
            Li = sn;
          if (Ot) {
            if (H & 8)
              return [
                Li,
                Ns(ge)
              ];
            if (H & 32)
              return [
                Li,
                t.createExportDefault(t.getLocalName(
                  ge,
                  /*allowComments*/
                  !1,
                  /*allowSourceMaps*/
                  !0
                ))
              ];
            if (H & 16)
              return [
                Li,
                t.createExternalModuleExport(t.getDeclarationName(
                  ge,
                  /*allowComments*/
                  !1,
                  /*allowSourceMaps*/
                  !0
                ))
              ];
          }
          return Li;
        }
        function St(ge) {
          let H = Lr(ge.modifiers, Xe, Ro);
          return b0(h, ge) && (H = tr(H, ge)), t.updateClassExpression(
            ge,
            H,
            ge.name,
            /*typeParameters*/
            void 0,
            Lr(ge.heritageClauses, U, Q_),
            Bt(ge)
          );
        }
        function Bt(ge) {
          const H = Lr(ge.members, Me(ge), Jc);
          let et;
          const Ot = jg(ge), Zt = Ot && Tn(Ot.parameters, (Ur) => U_(Ur, Ot));
          if (Zt)
            for (const Ur of Zt) {
              const Vn = t.createPropertyDeclaration(
                /*modifiers*/
                void 0,
                Ur.name,
                /*questionOrExclamationToken*/
                void 0,
                /*type*/
                void 0,
                /*initializer*/
                void 0
              );
              xn(Vn, Ur), et = Dr(et, Vn);
            }
          return et ? (et = wn(et, H), ot(
            t.createNodeArray(et),
            /*location*/
            ge.members
          )) : H;
        }
        function tr(ge, H) {
          const et = it(H, H);
          if (at(et)) {
            const Ot = [];
            wn(Ot, BR(ge, RN)), wn(Ot, Tn(ge, yl)), wn(Ot, et), wn(Ot, Tn(cQ(ge, RN), Ks)), ge = ot(t.createNodeArray(Ot), ge);
          }
          return ge;
        }
        function Fr(ge, H, et) {
          if (Xn(et) && gB(h, H, et)) {
            const Ot = it(H, et);
            if (at(Ot)) {
              const Zt = [];
              wn(Zt, Tn(ge, yl)), wn(Zt, Ot), wn(Zt, Tn(ge, Ks)), ge = ot(t.createNodeArray(Zt), ge);
            }
          }
          return ge;
        }
        function it(ge, H) {
          if (h)
            return Wt(ge, H);
        }
        function Wt(ge, H) {
          if (S) {
            let et;
            if (Wr(ge)) {
              const Ot = n().createMetadataHelper("design:type", S.serializeTypeOfNode({ currentLexicalScope: O, currentNameScope: H }, ge, H));
              et = Dr(et, t.createDecorator(Ot));
            }
            if (zi(ge)) {
              const Ot = n().createMetadataHelper("design:paramtypes", S.serializeParameterTypesOfNode({ currentLexicalScope: O, currentNameScope: H }, ge, H));
              et = Dr(et, t.createDecorator(Ot));
            }
            if (ai(ge)) {
              const Ot = n().createMetadataHelper("design:returntype", S.serializeReturnTypeOfNode({ currentLexicalScope: O, currentNameScope: H }, ge));
              et = Dr(et, t.createDecorator(Ot));
            }
            return et;
          }
        }
        function Wr(ge) {
          const H = ge.kind;
          return H === 174 || H === 177 || H === 178 || H === 172;
        }
        function ai(ge) {
          return ge.kind === 174;
        }
        function zi(ge) {
          switch (ge.kind) {
            case 263:
            case 231:
              return jg(ge) !== void 0;
            case 174:
            case 177:
            case 178:
              return !0;
          }
          return !1;
        }
        function Pt(ge, H) {
          const et = ge.name;
          return Di(et) ? t.createIdentifier("") : ia(et) ? et.expression : Fe(et) ? t.createStringLiteral(Pn(et)) : t.cloneNode(et);
        }
        function Fn(ge) {
          const H = ge.name;
          if (h && ia(H) && Pf(ge)) {
            const et = $e(H.expression, U, lt);
            E.assert(et);
            const Ot = qp(et);
            if (!tg(Ot)) {
              const Zt = t.getGeneratedNameForNode(H);
              return c(Zt), t.updateComputedPropertyName(H, t.createAssignment(Zt, et));
            }
          }
          return E.checkDefined($e(H, U, Bc));
        }
        function ii(ge) {
          if (ge.token !== 119)
            return yr(ge, U, e);
        }
        function li(ge) {
          return t.updateExpressionWithTypeArguments(
            ge,
            E.checkDefined($e(ge.expression, U, __)),
            /*typeArguments*/
            void 0
          );
        }
        function cn(ge) {
          return !cc(ge.body);
        }
        function ci(ge, H) {
          const et = ge.flags & 33554432 || qn(
            ge,
            64
            /* Abstract */
          );
          if (et && !(h && Pf(ge)))
            return;
          let Ot = Xn(H) ? et ? Lr(ge.modifiers, Xe, Ro) : Lr(ge.modifiers, U, Ro) : Lr(ge.modifiers, ue, Ro);
          return Ot = Fr(Ot, ge, H), et ? t.updatePropertyDeclaration(
            ge,
            Ji(Ot, t.createModifiersFromModifierFlags(
              128
              /* Ambient */
            )),
            E.checkDefined($e(ge.name, U, Bc)),
            /*questionOrExclamationToken*/
            void 0,
            /*type*/
            void 0,
            /*initializer*/
            void 0
          ) : t.updatePropertyDeclaration(
            ge,
            Ot,
            Fn(ge),
            /*questionOrExclamationToken*/
            void 0,
            /*type*/
            void 0,
            $e(ge.initializer, U, lt)
          );
        }
        function je(ge) {
          if (cn(ge))
            return t.updateConstructorDeclaration(
              ge,
              /*modifiers*/
              void 0,
              _c(ge.parameters, U, e),
              er(ge.body, ge)
            );
        }
        function ut(ge, H, et, Ot, Zt, Ur) {
          const Vn = Ot[Zt], sn = H[Vn];
          if (wn(ge, Lr(H, U, yi, et, Vn - et)), OS(sn)) {
            const xr = [];
            ut(
              xr,
              sn.tryBlock.statements,
              /*statementOffset*/
              0,
              Ot,
              Zt + 1,
              Ur
            );
            const Li = t.createNodeArray(xr);
            ot(Li, sn.tryBlock.statements), ge.push(t.updateTryStatement(
              sn,
              t.updateBlock(sn.tryBlock, xr),
              $e(sn.catchClause, U, Qb),
              $e(sn.finallyBlock, U, Cs)
            ));
          } else
            wn(ge, Lr(H, U, yi, Vn, 1)), wn(ge, Ur);
          wn(ge, Lr(H, U, yi, Vn + 1));
        }
        function er(ge, H) {
          const et = H && Tn(H.parameters, (xr) => U_(xr, H));
          if (!at(et))
            return Of(ge, U, e);
          let Ot = [];
          s();
          const Zt = t.copyPrologue(
            ge.statements,
            Ot,
            /*ensureUseStrict*/
            !1,
            U
          ), Ur = vO(ge.statements, Zt), Vn = Oi(et, Vr);
          Ur.length ? ut(
            Ot,
            ge.statements,
            Zt,
            Ur,
            /*superPathDepth*/
            0,
            Vn
          ) : (wn(Ot, Vn), wn(Ot, Lr(ge.statements, U, yi, Zt))), Ot = t.mergeLexicalEnvironment(Ot, o());
          const sn = t.createBlock(
            ot(t.createNodeArray(Ot), ge.statements),
            /*multiLine*/
            !0
          );
          return ot(
            sn,
            /*location*/
            ge
          ), xn(sn, ge), sn;
        }
        function Vr(ge) {
          const H = ge.name;
          if (!Fe(H))
            return;
          const et = Wa(ot(t.cloneNode(H), H), H.parent);
          an(
            et,
            3168
            /* NoSourceMap */
          );
          const Ot = Wa(ot(t.cloneNode(H), H), H.parent);
          return an(
            Ot,
            3072
            /* NoComments */
          ), Su(
            vN(
              ot(
                xn(
                  t.createExpressionStatement(
                    t.createAssignment(
                      ot(
                        t.createPropertyAccessExpression(
                          t.createThis(),
                          et
                        ),
                        ge.name
                      ),
                      Ot
                    )
                  ),
                  ge
                ),
                K1(ge, -1)
              )
            )
          );
        }
        function zn(ge, H) {
          if (!(ge.transformFlags & 1))
            return ge;
          if (!cn(ge))
            return;
          let et = Xn(H) ? Lr(ge.modifiers, U, Ro) : Lr(ge.modifiers, ue, Ro);
          return et = Fr(et, ge, H), t.updateMethodDeclaration(
            ge,
            et,
            ge.asteriskToken,
            Fn(ge),
            /*questionToken*/
            void 0,
            /*typeParameters*/
            void 0,
            _c(ge.parameters, U, e),
            /*type*/
            void 0,
            Of(ge.body, U, e)
          );
        }
        function Wn(ge) {
          return !(cc(ge.body) && qn(
            ge,
            64
            /* Abstract */
          ));
        }
        function bi(ge, H) {
          if (!(ge.transformFlags & 1))
            return ge;
          if (!Wn(ge))
            return;
          let et = Xn(H) ? Lr(ge.modifiers, U, Ro) : Lr(ge.modifiers, ue, Ro);
          return et = Fr(et, ge, H), t.updateGetAccessorDeclaration(
            ge,
            et,
            Fn(ge),
            _c(ge.parameters, U, e),
            /*type*/
            void 0,
            Of(ge.body, U, e) || t.createBlock([])
          );
        }
        function ks(ge, H) {
          if (!(ge.transformFlags & 1))
            return ge;
          if (!Wn(ge))
            return;
          let et = Xn(H) ? Lr(ge.modifiers, U, Ro) : Lr(ge.modifiers, ue, Ro);
          return et = Fr(et, ge, H), t.updateSetAccessorDeclaration(
            ge,
            et,
            Fn(ge),
            _c(ge.parameters, U, e),
            Of(ge.body, U, e) || t.createBlock([])
          );
        }
        function ta(ge) {
          if (!cn(ge))
            return t.createNotEmittedStatement(ge);
          const H = t.updateFunctionDeclaration(
            ge,
            Lr(ge.modifiers, nt, Ks),
            ge.asteriskToken,
            ge.name,
            /*typeParameters*/
            void 0,
            _c(ge.parameters, U, e),
            /*type*/
            void 0,
            Of(ge.body, U, e) || t.createBlock([])
          );
          if (lr(ge)) {
            const et = [H];
            return $s(et, ge), et;
          }
          return H;
        }
        function gr(ge) {
          return cn(ge) ? t.updateFunctionExpression(
            ge,
            Lr(ge.modifiers, nt, Ks),
            ge.asteriskToken,
            ge.name,
            /*typeParameters*/
            void 0,
            _c(ge.parameters, U, e),
            /*type*/
            void 0,
            Of(ge.body, U, e) || t.createBlock([])
          ) : t.createOmittedExpression();
        }
        function ms(ge) {
          return t.updateArrowFunction(
            ge,
            Lr(ge.modifiers, nt, Ks),
            /*typeParameters*/
            void 0,
            _c(ge.parameters, U, e),
            /*type*/
            void 0,
            ge.equalsGreaterThanToken,
            Of(ge.body, U, e)
          );
        }
        function He(ge) {
          if ($y(ge))
            return;
          const H = t.updateParameterDeclaration(
            ge,
            Lr(ge.modifiers, (et) => yl(et) ? U(et) : void 0, Ro),
            ge.dotDotDotToken,
            E.checkDefined($e(ge.name, U, lS)),
            /*questionToken*/
            void 0,
            /*type*/
            void 0,
            $e(ge.initializer, U, lt)
          );
          return H !== ge && (Zc(H, ge), ot(H, nm(ge)), ha(H, nm(ge)), an(
            H.name,
            64
            /* NoTrailingSourceMap */
          )), H;
        }
        function Et(ge) {
          if (lr(ge)) {
            const H = iD(ge.declarationList);
            return H.length === 0 ? void 0 : ot(
              t.createExpressionStatement(
                t.inlineExpressions(
                  fr(H, ne)
                )
              ),
              ge
            );
          } else
            return yr(ge, U, e);
        }
        function ne(ge) {
          const H = ge.name;
          return Ps(H) ? qS(
            ge,
            U,
            e,
            0,
            /*needsValue*/
            !1,
            Nc
          ) : ot(
            t.createAssignment(
              qo(H),
              E.checkDefined($e(ge.initializer, U, lt))
            ),
            /*location*/
            ge
          );
        }
        function rt(ge) {
          const H = t.updateVariableDeclaration(
            ge,
            E.checkDefined($e(ge.name, U, lS)),
            /*exclamationToken*/
            void 0,
            /*type*/
            void 0,
            $e(ge.initializer, U, lt)
          );
          return ge.type && cte(H.name, ge.type), H;
        }
        function Q(ge) {
          const H = xc(ge.expression, -55);
          if (Tb(H) || d6(H)) {
            const et = $e(ge.expression, U, lt);
            return E.assert(et), t.createPartiallyEmittedExpression(et, ge);
          }
          return yr(ge, U, e);
        }
        function Ne(ge) {
          const H = $e(ge.expression, U, lt);
          return E.assert(H), t.createPartiallyEmittedExpression(H, ge);
        }
        function qe(ge) {
          const H = $e(ge.expression, U, __);
          return E.assert(H), t.createPartiallyEmittedExpression(H, ge);
        }
        function Ze(ge) {
          const H = $e(ge.expression, U, lt);
          return E.assert(H), t.createPartiallyEmittedExpression(H, ge);
        }
        function bt(ge) {
          return t.updateCallExpression(
            ge,
            E.checkDefined($e(ge.expression, U, lt)),
            /*typeArguments*/
            void 0,
            Lr(ge.arguments, U, lt)
          );
        }
        function Ie(ge) {
          return t.updateNewExpression(
            ge,
            E.checkDefined($e(ge.expression, U, lt)),
            /*typeArguments*/
            void 0,
            Lr(ge.arguments, U, lt)
          );
        }
        function ft(ge) {
          return t.updateTaggedTemplateExpression(
            ge,
            E.checkDefined($e(ge.tag, U, lt)),
            /*typeArguments*/
            void 0,
            E.checkDefined($e(ge.template, U, nx))
          );
        }
        function _t(ge) {
          return t.updateJsxSelfClosingElement(
            ge,
            E.checkDefined($e(ge.tagName, U, A4)),
            /*typeArguments*/
            void 0,
            E.checkDefined($e(ge.attributes, U, Xb))
          );
        }
        function kt(ge) {
          return t.updateJsxOpeningElement(
            ge,
            E.checkDefined($e(ge.tagName, U, A4)),
            /*typeArguments*/
            void 0,
            E.checkDefined($e(ge.attributes, U, Xb))
          );
        }
        function Ve(ge) {
          return !H1(ge) || Yy(u);
        }
        function Rt(ge) {
          if (!Ve(ge))
            return t.createNotEmittedStatement(ge);
          const H = [];
          let et = 4;
          const Ot = pt(H, ge);
          Ot && (m !== 4 || O !== D) && (et |= 1024);
          const Zt = kc(ge), Ur = gi(ge), Vn = lr(ge) ? t.getExternalModuleOrNamespaceExportName(
            A,
            ge,
            /*allowComments*/
            !1,
            /*allowSourceMaps*/
            !0
          ) : t.getDeclarationName(
            ge,
            /*allowComments*/
            !1,
            /*allowSourceMaps*/
            !0
          );
          let sn = t.createLogicalOr(
            Vn,
            t.createAssignment(
              Vn,
              t.createObjectLiteralExpression()
            )
          );
          if (lr(ge)) {
            const Li = t.getLocalName(
              ge,
              /*allowComments*/
              !1,
              /*allowSourceMaps*/
              !0
            );
            sn = t.createAssignment(Li, sn);
          }
          const xr = t.createExpressionStatement(
            t.createCallExpression(
              t.createFunctionExpression(
                /*modifiers*/
                void 0,
                /*asteriskToken*/
                void 0,
                /*name*/
                void 0,
                /*typeParameters*/
                void 0,
                [t.createParameterDeclaration(
                  /*modifiers*/
                  void 0,
                  /*dotDotDotToken*/
                  void 0,
                  Zt
                )],
                /*type*/
                void 0,
                Zr(ge, Ur)
              ),
              /*typeArguments*/
              void 0,
              [sn]
            )
          );
          return xn(xr, ge), Ot && (rv(xr, void 0), Fx(xr, void 0)), ot(xr, ge), im(xr, et), H.push(xr), H;
        }
        function Zr(ge, H) {
          const et = A;
          A = H;
          const Ot = [];
          i();
          const Zt = fr(ge.members, we);
          return Og(Ot, o()), wn(Ot, Zt), A = et, t.createBlock(
            ot(
              t.createNodeArray(Ot),
              /*location*/
              ge.members
            ),
            /*multiLine*/
            !0
          );
        }
        function we(ge) {
          const H = Pt(
            ge
          ), et = _.getEnumMemberValue(ge), Ot = mt(ge, et?.value), Zt = t.createAssignment(
            t.createElementAccessExpression(
              A,
              H
            ),
            Ot
          ), Ur = typeof et?.value == "string" || et?.isSyntacticallyString ? Zt : t.createAssignment(
            t.createElementAccessExpression(
              A,
              Zt
            ),
            H
          );
          return ot(
            t.createExpressionStatement(
              ot(
                Ur,
                ge
              )
            ),
            ge
          );
        }
        function mt(ge, H) {
          return H !== void 0 ? typeof H == "string" ? t.createStringLiteral(H) : H < 0 ? t.createPrefixUnaryExpression(41, t.createNumericLiteral(-H)) : t.createNumericLiteral(H) : (ps(), ge.initializer ? E.checkDefined($e(ge.initializer, U, lt)) : t.createVoidZero());
        }
        function _e(ge) {
          const H = ds(ge, zc);
          return H ? xW(H, Yy(u)) : !0;
        }
        function M(ge) {
          F || (F = /* @__PURE__ */ new Map());
          const H = X(ge);
          F.has(H) || F.set(H, ge);
        }
        function ye(ge) {
          if (F) {
            const H = X(ge);
            return F.get(H) === ge;
          }
          return !0;
        }
        function X(ge) {
          return E.assertNode(ge.name, Fe), ge.name.escapedText;
        }
        function pt(ge, H) {
          const et = t.createVariableDeclaration(t.getLocalName(
            H,
            /*allowComments*/
            !1,
            /*allowSourceMaps*/
            !0
          )), Ot = O.kind === 307 ? 0 : 1, Zt = t.createVariableStatement(
            Lr(H.modifiers, nt, Ks),
            t.createVariableDeclarationList([et], Ot)
          );
          return xn(et, H), rv(et, void 0), Fx(et, void 0), xn(Zt, H), M(H), ye(H) ? (H.kind === 266 ? ha(Zt.declarationList, H) : ha(Zt, H), Zc(Zt, H), im(
            Zt,
            2048
            /* NoTrailingComments */
          ), ge.push(Zt), !0) : !1;
        }
        function jt(ge) {
          if (!_e(ge))
            return t.createNotEmittedStatement(ge);
          E.assertNode(ge.name, Fe, "A TypeScript namespace should have an Identifier name."), Wc();
          const H = [];
          let et = 4;
          const Ot = pt(H, ge);
          Ot && (m !== 4 || O !== D) && (et |= 1024);
          const Zt = kc(ge), Ur = gi(ge), Vn = lr(ge) ? t.getExternalModuleOrNamespaceExportName(
            A,
            ge,
            /*allowComments*/
            !1,
            /*allowSourceMaps*/
            !0
          ) : t.getDeclarationName(
            ge,
            /*allowComments*/
            !1,
            /*allowSourceMaps*/
            !0
          );
          let sn = t.createLogicalOr(
            Vn,
            t.createAssignment(
              Vn,
              t.createObjectLiteralExpression()
            )
          );
          if (lr(ge)) {
            const Li = t.getLocalName(
              ge,
              /*allowComments*/
              !1,
              /*allowSourceMaps*/
              !0
            );
            sn = t.createAssignment(Li, sn);
          }
          const xr = t.createExpressionStatement(
            t.createCallExpression(
              t.createFunctionExpression(
                /*modifiers*/
                void 0,
                /*asteriskToken*/
                void 0,
                /*name*/
                void 0,
                /*typeParameters*/
                void 0,
                [t.createParameterDeclaration(
                  /*modifiers*/
                  void 0,
                  /*dotDotDotToken*/
                  void 0,
                  Zt
                )],
                /*type*/
                void 0,
                ke(ge, Ur)
              ),
              /*typeArguments*/
              void 0,
              [sn]
            )
          );
          return xn(xr, ge), Ot && (rv(xr, void 0), Fx(xr, void 0)), ot(xr, ge), im(xr, et), H.push(xr), H;
        }
        function ke(ge, H) {
          const et = A, Ot = w, Zt = F;
          A = H, w = ge, F = void 0;
          const Ur = [];
          i();
          let Vn, sn;
          if (ge.body)
            if (ge.body.kind === 268)
              pe(ge.body, (Li) => wn(Ur, Lr(Li.statements, q, yi))), Vn = ge.body.statements, sn = ge.body;
            else {
              const Li = jt(ge.body);
              Li && (fs(Li) ? wn(Ur, Li) : Ur.push(Li));
              const Qi = st(ge).body;
              Vn = K1(Qi.statements, -1);
            }
          Og(Ur, o()), A = et, w = Ot, F = Zt;
          const xr = t.createBlock(
            ot(
              t.createNodeArray(Ur),
              /*location*/
              Vn
            ),
            /*multiLine*/
            !0
          );
          return ot(xr, sn), (!ge.body || ge.body.kind !== 268) && an(
            xr,
            ka(xr) | 3072
            /* NoComments */
          ), xr;
        }
        function st(ge) {
          if (ge.body.kind === 267)
            return st(ge.body) || ge.body;
        }
        function At(ge) {
          if (!ge.importClause)
            return ge;
          if (ge.importClause.isTypeOnly)
            return;
          const H = $e(ge.importClause, Yr, Qp);
          return H ? t.updateImportDeclaration(
            ge,
            /*modifiers*/
            void 0,
            H,
            ge.moduleSpecifier,
            ge.attributes
          ) : void 0;
        }
        function Yr(ge) {
          E.assert(!ge.isTypeOnly);
          const H = yo(ge) ? ge.name : void 0, et = $e(ge.namedBindings, Mr, Vj);
          return H || et ? t.updateImportClause(
            ge,
            /*isTypeOnly*/
            !1,
            H,
            et
          ) : void 0;
        }
        function Mr(ge) {
          if (ge.kind === 274)
            return yo(ge) ? ge : void 0;
          {
            const H = u.verbatimModuleSyntax, et = Lr(ge.elements, Rr, Bu);
            return H || at(et) ? t.updateNamedImports(ge, et) : void 0;
          }
        }
        function Rr(ge) {
          return !ge.isTypeOnly && yo(ge) ? ge : void 0;
        }
        function Ye(ge) {
          return u.verbatimModuleSyntax || _.isValueAliasDeclaration(ge) ? yr(ge, U, e) : void 0;
        }
        function gt(ge) {
          if (ge.isTypeOnly)
            return;
          if (!ge.exportClause || Zm(ge.exportClause))
            return t.updateExportDeclaration(
              ge,
              ge.modifiers,
              ge.isTypeOnly,
              ge.exportClause,
              ge.moduleSpecifier,
              ge.attributes
            );
          const H = !!u.verbatimModuleSyntax, et = $e(
            ge.exportClause,
            (Ot) => dr(Ot, H),
            Ij
          );
          return et ? t.updateExportDeclaration(
            ge,
            /*modifiers*/
            void 0,
            ge.isTypeOnly,
            et,
            ge.moduleSpecifier,
            ge.attributes
          ) : void 0;
        }
        function Jt(ge, H) {
          const et = Lr(ge.elements, Kt, bu);
          return H || at(et) ? t.updateNamedExports(ge, et) : void 0;
        }
        function wt(ge) {
          return t.updateNamespaceExport(ge, E.checkDefined($e(ge.name, U, Fe)));
        }
        function dr(ge, H) {
          return Zm(ge) ? wt(ge) : Jt(ge, H);
        }
        function Kt(ge) {
          return !ge.isTypeOnly && (u.verbatimModuleSyntax || _.isValueAliasDeclaration(ge)) ? ge : void 0;
        }
        function Mt(ge) {
          return yo(ge) || !ol(D) && _.isTopLevelValueImportEqualsWithEntityName(ge);
        }
        function cr(ge) {
          if (ge.isTypeOnly)
            return;
          if (G1(ge))
            return yo(ge) ? yr(ge, U, e) : void 0;
          if (!Mt(ge))
            return;
          const H = IN(t, ge.moduleReference);
          return an(
            H,
            7168
            /* NoNestedComments */
          ), $t(ge) || !lr(ge) ? xn(
            ot(
              t.createVariableStatement(
                Lr(ge.modifiers, nt, Ks),
                t.createVariableDeclarationList([
                  xn(
                    t.createVariableDeclaration(
                      ge.name,
                      /*exclamationToken*/
                      void 0,
                      /*type*/
                      void 0,
                      H
                    ),
                    ge
                  )
                ])
              ),
              ge
            ),
            ge
          ) : xn(
            Es(
              ge.name,
              H,
              ge
            ),
            ge
          );
        }
        function lr(ge) {
          return w !== void 0 && qn(
            ge,
            32
            /* Export */
          );
        }
        function br(ge) {
          return w === void 0 && qn(
            ge,
            32
            /* Export */
          );
        }
        function $t(ge) {
          return br(ge) && !qn(
            ge,
            2048
            /* Default */
          );
        }
        function Qn(ge) {
          return br(ge) && qn(
            ge,
            2048
            /* Default */
          );
        }
        function Ns(ge) {
          const H = t.createAssignment(
            t.getExternalModuleOrNamespaceExportName(
              A,
              ge,
              /*allowComments*/
              !1,
              /*allowSourceMaps*/
              !0
            ),
            t.getLocalName(ge)
          );
          ha(H, tp(ge.name ? ge.name.pos : ge.pos, ge.end));
          const et = t.createExpressionStatement(H);
          return ha(et, tp(-1, ge.end)), et;
        }
        function $s(ge, H) {
          ge.push(Ns(H));
        }
        function Es(ge, H, et) {
          return ot(
            t.createExpressionStatement(
              t.createAssignment(
                t.getNamespaceMemberName(
                  A,
                  ge,
                  /*allowComments*/
                  !1,
                  /*allowSourceMaps*/
                  !0
                ),
                H
              )
            ),
            et
          );
        }
        function Nc(ge, H, et) {
          return ot(t.createAssignment(qo(ge), H), et);
        }
        function qo(ge) {
          return t.getNamespaceMemberName(
            A,
            ge,
            /*allowComments*/
            !1,
            /*allowSourceMaps*/
            !0
          );
        }
        function kc(ge) {
          const H = t.getGeneratedNameForNode(ge);
          return ha(H, ge.name), H;
        }
        function gi(ge) {
          return t.getGeneratedNameForNode(ge);
        }
        function ps() {
          (j & 8) === 0 && (j |= 8, e.enableSubstitution(
            80
            /* Identifier */
          ));
        }
        function Wc() {
          (j & 2) === 0 && (j |= 2, e.enableSubstitution(
            80
            /* Identifier */
          ), e.enableSubstitution(
            304
            /* ShorthandPropertyAssignment */
          ), e.enableEmitNotification(
            267
            /* ModuleDeclaration */
          ));
        }
        function Lo(ge) {
          return Vo(ge).kind === 267;
        }
        function Pa(ge) {
          return Vo(ge).kind === 266;
        }
        function Bo(ge, H, et) {
          const Ot = z, Zt = D;
          xi(H) && (D = H), j & 2 && Lo(H) && (z |= 2), j & 8 && Pa(H) && (z |= 8), T(ge, H, et), z = Ot, D = Zt;
        }
        function rf(ge, H) {
          return H = k(ge, H), ge === 1 ? Vs(H) : _u(H) ? ss(H) : H;
        }
        function ss(ge) {
          if (j & 2) {
            const H = ge.name, et = Ca(H);
            if (et) {
              if (ge.objectAssignmentInitializer) {
                const Ot = t.createAssignment(et, ge.objectAssignmentInitializer);
                return ot(t.createPropertyAssignment(H, Ot), ge);
              }
              return ot(t.createPropertyAssignment(H, et), ge);
            }
          }
          return ge;
        }
        function Vs(ge) {
          switch (ge.kind) {
            case 80:
              return Aa(ge);
            case 211:
              return zt(ge);
            case 212:
              return Ka(ge);
          }
          return ge;
        }
        function Aa(ge) {
          return Ca(ge) || ge;
        }
        function Ca(ge) {
          if (j & z && !Mo(ge) && !Rh(ge)) {
            const H = _.getReferencedExportContainer(
              ge,
              /*prefixLocals*/
              !1
            );
            if (H && H.kind !== 307 && (z & 2 && H.kind === 267 || z & 8 && H.kind === 266))
              return ot(
                t.createPropertyAccessExpression(t.getGeneratedNameForNode(H), ge),
                /*location*/
                ge
              );
          }
        }
        function zt(ge) {
          return tc(ge);
        }
        function Ka(ge) {
          return tc(ge);
        }
        function Vc(ge) {
          return ge.replace(/\*\//g, "*_/");
        }
        function tc(ge) {
          const H = eu(ge);
          if (H !== void 0) {
            ate(ge, H);
            const et = typeof H == "string" ? t.createStringLiteral(H) : H < 0 ? t.createPrefixUnaryExpression(41, t.createNumericLiteral(-H)) : t.createNumericLiteral(H);
            if (!u.removeComments) {
              const Ot = Vo(ge, ko);
              kD(et, 3, ` ${Vc(Go(Ot))} `);
            }
            return et;
          }
          return ge;
        }
        function eu(ge) {
          if (!Np(u))
            return kn(ge) || fo(ge) ? _.getConstantValue(ge) : void 0;
        }
        function yo(ge) {
          return u.verbatimModuleSyntax || tn(ge) || _.isReferencedAliasDeclaration(ge);
        }
      }
      function jne(e) {
        const {
          factory: t,
          getEmitHelperFactory: n,
          hoistVariableDeclaration: i,
          endLexicalEnvironment: s,
          startLexicalEnvironment: o,
          resumeLexicalEnvironment: c,
          addBlockScopedVariable: _
        } = e, u = e.getEmitResolver(), g = e.getCompilerOptions(), m = ga(g), h = sN(g), S = !!g.experimentalDecorators, T = !h, k = h && m < 9, D = T || k, w = m < 9, A = m < 99 ? -1 : h ? 0 : 3, O = m < 9, F = O && m >= 2, j = D || w || A === -1, z = e.onSubstituteNode;
        e.onSubstituteNode = Vc;
        const V = e.onEmitNode;
        e.onEmitNode = Ka;
        let G = !1, W = 0, pe, K, U, ee;
        const te = /* @__PURE__ */ new Map(), ie = /* @__PURE__ */ new Set();
        let fe, me, q = !1, he = !1;
        return Sd(e, Me);
        function Me(H) {
          if (H.isDeclarationFile || (ee = void 0, G = !!(Hp(H) & 32), !j && !G))
            return H;
          const et = yr(H, re, e);
          return qg(et, e.readEmitHelpers()), et;
        }
        function De(H) {
          switch (H.kind) {
            case 129:
              return ut() ? void 0 : H;
            default:
              return Mn(H, Ks);
          }
        }
        function re(H) {
          if (!(H.transformFlags & 16777216) && !(H.transformFlags & 134234112))
            return H;
          switch (H.kind) {
            case 263:
              return Rt(H);
            case 231:
              return we(H);
            case 175:
            case 172:
              return E.fail("Use `classElementVisitor` instead.");
            case 303:
              return Ce(H);
            case 243:
              return ze(H);
            case 260:
              return St(H);
            case 169:
              return Bt(H);
            case 208:
              return tr(H);
            case 277:
              return Fr(H);
            case 81:
              return Pe(H);
            case 211:
              return ks(H);
            case 212:
              return ta(H);
            case 224:
            case 225:
              return gr(
                H,
                /*discarded*/
                !1
              );
            case 226:
              return qe(
                H,
                /*discarded*/
                !1
              );
            case 217:
              return bt(
                H,
                /*discarded*/
                !1
              );
            case 213:
              return ne(H);
            case 244:
              return He(H);
            case 215:
              return rt(H);
            case 248:
              return ms(H);
            case 110:
              return M(H);
            case 262:
            case 218:
              return Pt(
                /*classElement*/
                void 0,
                xe,
                H
              );
            case 176:
            case 174:
            case 177:
            case 178:
              return Pt(
                H,
                xe,
                H
              );
            default:
              return xe(H);
          }
        }
        function xe(H) {
          return yr(H, re, e);
        }
        function ue(H) {
          switch (H.kind) {
            case 224:
            case 225:
              return gr(
                H,
                /*discarded*/
                !0
              );
            case 226:
              return qe(
                H,
                /*discarded*/
                !0
              );
            case 356:
              return Ze(
                H
              );
            case 217:
              return bt(
                H,
                /*discarded*/
                !0
              );
            default:
              return re(H);
          }
        }
        function Xe(H) {
          switch (H.kind) {
            case 298:
              return yr(H, Xe, e);
            case 233:
              return kt(H);
            default:
              return re(H);
          }
        }
        function nt(H) {
          switch (H.kind) {
            case 210:
            case 209:
              return zt(H);
            default:
              return re(H);
          }
        }
        function oe(H) {
          switch (H.kind) {
            case 176:
              return Pt(
                H,
                Wr,
                H
              );
            case 177:
            case 178:
            case 174:
              return Pt(
                H,
                zi,
                H
              );
            case 172:
              return Pt(
                H,
                er,
                H
              );
            case 175:
              return Pt(
                H,
                _e,
                H
              );
            case 167:
              return Wt(H);
            case 240:
              return H;
            default:
              return Ro(H) ? De(H) : re(H);
          }
        }
        function ve(H) {
          switch (H.kind) {
            case 167:
              return Wt(H);
            default:
              return re(H);
          }
        }
        function se(H) {
          switch (H.kind) {
            case 172:
              return je(H);
            case 177:
            case 178:
              return oe(H);
            default:
              E.assertMissingNode(H, "Expected node to either be a PropertyDeclaration, GetAccessorDeclaration, or SetAccessorDeclaration");
              break;
          }
        }
        function Pe(H) {
          return !w || yi(H.parent) ? H : xn(t.createIdentifier(""), H);
        }
        function Ee(H) {
          const et = ps(H.left);
          if (et) {
            const Ot = $e(H.right, re, lt);
            return xn(
              n().createClassPrivateFieldInHelper(et.brandCheckIdentifier, Ot),
              H
            );
          }
          return yr(H, re, e);
        }
        function Ce(H) {
          return G_(H, Ne) && (H = Y_(e, H)), yr(H, re, e);
        }
        function ze(H) {
          const et = U;
          U = [];
          const Ot = yr(H, re, e), Zt = at(U) ? [Ot, ...U] : Ot;
          return U = et, Zt;
        }
        function St(H) {
          return G_(H, Ne) && (H = Y_(e, H)), yr(H, re, e);
        }
        function Bt(H) {
          return G_(H, Ne) && (H = Y_(e, H)), yr(H, re, e);
        }
        function tr(H) {
          return G_(H, Ne) && (H = Y_(e, H)), yr(H, re, e);
        }
        function Fr(H) {
          return G_(H, Ne) && (H = Y_(
            e,
            H,
            /*ignoreEmptyStringLiteral*/
            !0,
            H.isExportEquals ? "" : "default"
          )), yr(H, re, e);
        }
        function it(H) {
          return at(K) && (Zu(H) ? (K.push(H.expression), H = t.updateParenthesizedExpression(H, t.inlineExpressions(K))) : (K.push(H), H = t.inlineExpressions(K)), K = void 0), H;
        }
        function Wt(H) {
          const et = $e(H.expression, re, lt);
          return t.updateComputedPropertyName(H, it(et));
        }
        function Wr(H) {
          return fe ? pt(H, fe) : xe(H);
        }
        function ai(H) {
          return !!(w || sl(H) && Hp(H) & 32);
        }
        function zi(H) {
          if (E.assert(!Pf(H)), !Iu(H) || !ai(H))
            return yr(H, oe, e);
          const et = ps(H.name);
          if (E.assert(et, "Undeclared private name for property declaration."), !et.isValid)
            return H;
          const Ot = Fn(H);
          Ot && br().push(
            t.createAssignment(
              Ot,
              t.createFunctionExpression(
                Tn(H.modifiers, (Zt) => Ks(Zt) && !jx(Zt) && !xte(Zt)),
                H.asteriskToken,
                Ot,
                /*typeParameters*/
                void 0,
                _c(H.parameters, re, e),
                /*type*/
                void 0,
                Of(H.body, re, e)
              )
            )
          );
        }
        function Pt(H, et, Ot) {
          if (H !== me) {
            const Zt = me;
            me = H;
            const Ur = et(Ot);
            return me = Zt, Ur;
          }
          return et(Ot);
        }
        function Fn(H) {
          E.assert(Di(H.name));
          const et = ps(H.name);
          if (E.assert(et, "Undeclared private name for property declaration."), et.kind === "m")
            return et.methodName;
          if (et.kind === "a") {
            if (Ag(H))
              return et.getterName;
            if ($d(H))
              return et.setterName;
          }
        }
        function ii() {
          const H = cr();
          return H.classThis ?? H.classConstructor ?? fe?.name;
        }
        function li(H) {
          const et = sm(H), Ot = E0(H), Zt = H.name;
          let Ur = Zt, Vn = Zt;
          if (ia(Zt) && !tg(Zt.expression)) {
            const vo = jF(Zt);
            if (vo)
              Ur = t.updateComputedPropertyName(Zt, $e(Zt.expression, re, lt)), Vn = t.updateComputedPropertyName(Zt, vo.left);
            else {
              const fc = t.createTempVariable(i);
              ha(fc, Zt.expression);
              const Lc = $e(Zt.expression, re, lt), bo = t.createAssignment(fc, Lc);
              ha(bo, Zt.expression), Ur = t.updateComputedPropertyName(Zt, bo), Vn = t.updateComputedPropertyName(Zt, fc);
            }
          }
          const sn = Lr(H.modifiers, De, Ks), xr = Az(t, H, sn, H.initializer);
          xn(xr, H), an(
            xr,
            3072
            /* NoComments */
          ), ha(xr, Ot);
          const Li = zs(H) ? ii() ?? t.createThis() : t.createThis(), Qi = are(t, H, sn, Ur, Li);
          xn(Qi, H), Zc(Qi, et), ha(Qi, Ot);
          const no = t.createModifiersFromModifierFlags(rm(sn)), da = ore(t, H, no, Vn, Li);
          return xn(da, H), an(
            da,
            3072
            /* NoComments */
          ), ha(da, Ot), QD([xr, Qi, da], se, Jc);
        }
        function cn(H) {
          if (ai(H)) {
            const et = ps(H.name);
            if (E.assert(et, "Undeclared private name for property declaration."), !et.isValid)
              return H;
            if (et.isStatic && !w) {
              const Ot = At(H, t.createThis());
              if (Ot)
                return t.createClassStaticBlockDeclaration(t.createBlock(
                  [Ot],
                  /*multiLine*/
                  !0
                ));
            }
            return;
          }
          return T && !zs(H) && ee?.data && ee.data.facts & 16 ? t.updatePropertyDeclaration(
            H,
            Lr(H.modifiers, re, Ro),
            H.name,
            /*questionOrExclamationToken*/
            void 0,
            /*type*/
            void 0,
            /*initializer*/
            void 0
          ) : (G_(H, Ne) && (H = Y_(e, H)), t.updatePropertyDeclaration(
            H,
            Lr(H.modifiers, De, Ks),
            $e(H.name, ve, Bc),
            /*questionOrExclamationToken*/
            void 0,
            /*type*/
            void 0,
            $e(H.initializer, re, lt)
          ));
        }
        function ci(H) {
          if (D && !u_(H)) {
            const et = dr(
              H.name,
              /*shouldHoist*/
              !!H.initializer || h
            );
            if (et && br().push(...cre(et)), zs(H) && !w) {
              const Ot = At(H, t.createThis());
              if (Ot) {
                const Zt = t.createClassStaticBlockDeclaration(
                  t.createBlock([Ot])
                );
                return xn(Zt, H), Zc(Zt, H), Zc(Ot, { pos: -1, end: -1 }), rv(Ot, void 0), Fx(Ot, void 0), Zt;
              }
            }
            return;
          }
          return t.updatePropertyDeclaration(
            H,
            Lr(H.modifiers, De, Ks),
            $e(H.name, ve, Bc),
            /*questionOrExclamationToken*/
            void 0,
            /*type*/
            void 0,
            $e(H.initializer, re, lt)
          );
        }
        function je(H) {
          return E.assert(!Pf(H), "Decorators should already have been transformed and elided."), Iu(H) ? cn(H) : ci(H);
        }
        function ut() {
          return A === -1 || A === 3 && !!ee?.data && !!(ee.data.facts & 16);
        }
        function er(H) {
          return u_(H) && (ut() || sl(H) && Hp(H) & 32) ? li(H) : je(H);
        }
        function Vr() {
          return !!me && sl(me) && By(me) && u_(Vo(me));
        }
        function zn(H) {
          if (Vr()) {
            const et = xc(H);
            et.kind === 110 && ie.add(et);
          }
        }
        function Wn(H, et) {
          return et = $e(et, re, lt), zn(et), bi(H, et);
        }
        function bi(H, et) {
          switch (Zc(et, K1(et, -1)), H.kind) {
            case "a":
              return n().createClassPrivateFieldGetHelper(
                et,
                H.brandCheckIdentifier,
                H.kind,
                H.getterName
              );
            case "m":
              return n().createClassPrivateFieldGetHelper(
                et,
                H.brandCheckIdentifier,
                H.kind,
                H.methodName
              );
            case "f":
              return n().createClassPrivateFieldGetHelper(
                et,
                H.brandCheckIdentifier,
                H.kind,
                H.isStatic ? H.variableName : void 0
              );
            case "untransformed":
              return E.fail("Access helpers should not be created for untransformed private elements");
            default:
              E.assertNever(H, "Unknown private element type");
          }
        }
        function ks(H) {
          if (Di(H.name)) {
            const et = ps(H.name);
            if (et)
              return ot(
                xn(
                  Wn(et, H.expression),
                  H
                ),
                H
              );
          }
          if (F && me && E_(H) && Fe(H.name) && rw(me) && ee?.data) {
            const { classConstructor: et, superClassReference: Ot, facts: Zt } = ee.data;
            if (Zt & 1)
              return wt(H);
            if (et && Ot) {
              const Ur = t.createReflectGetCall(
                Ot,
                t.createStringLiteralFromNode(H.name),
                et
              );
              return xn(Ur, H.expression), ot(Ur, H.expression), Ur;
            }
          }
          return yr(H, re, e);
        }
        function ta(H) {
          if (F && me && E_(H) && rw(me) && ee?.data) {
            const { classConstructor: et, superClassReference: Ot, facts: Zt } = ee.data;
            if (Zt & 1)
              return wt(H);
            if (et && Ot) {
              const Ur = t.createReflectGetCall(
                Ot,
                $e(H.argumentExpression, re, lt),
                et
              );
              return xn(Ur, H.expression), ot(Ur, H.expression), Ur;
            }
          }
          return yr(H, re, e);
        }
        function gr(H, et) {
          if (H.operator === 46 || H.operator === 47) {
            const Ot = za(H.operand);
            if (AC(Ot)) {
              let Zt;
              if (Zt = ps(Ot.name)) {
                const Ur = $e(Ot.expression, re, lt);
                zn(Ur);
                const { readExpression: Vn, initializeExpression: sn } = Et(Ur);
                let xr = Wn(Zt, Vn);
                const Li = sv(H) || et ? void 0 : t.createTempVariable(i);
                return xr = IF(t, H, xr, i, Li), xr = Ie(
                  Zt,
                  sn || Vn,
                  xr,
                  64
                  /* EqualsToken */
                ), xn(xr, H), ot(xr, H), Li && (xr = t.createComma(xr, Li), ot(xr, H)), xr;
              }
            } else if (F && me && E_(Ot) && rw(me) && ee?.data) {
              const { classConstructor: Zt, superClassReference: Ur, facts: Vn } = ee.data;
              if (Vn & 1) {
                const sn = wt(Ot);
                return sv(H) ? t.updatePrefixUnaryExpression(H, sn) : t.updatePostfixUnaryExpression(H, sn);
              }
              if (Zt && Ur) {
                let sn, xr;
                if (kn(Ot) ? Fe(Ot.name) && (xr = sn = t.createStringLiteralFromNode(Ot.name)) : tg(Ot.argumentExpression) ? xr = sn = Ot.argumentExpression : (xr = t.createTempVariable(i), sn = t.createAssignment(xr, $e(Ot.argumentExpression, re, lt))), sn && xr) {
                  let Li = t.createReflectGetCall(Ur, xr, Zt);
                  ot(Li, Ot);
                  const Qi = et ? void 0 : t.createTempVariable(i);
                  return Li = IF(t, H, Li, i, Qi), Li = t.createReflectSetCall(Ur, sn, Li, Zt), xn(Li, H), ot(Li, H), Qi && (Li = t.createComma(Li, Qi), ot(Li, H)), Li;
                }
              }
            }
          }
          return yr(H, re, e);
        }
        function ms(H) {
          return t.updateForStatement(
            H,
            $e(H.initializer, ue, Yf),
            $e(H.condition, re, lt),
            $e(H.incrementor, ue, lt),
            Ku(H.statement, re, e)
          );
        }
        function He(H) {
          return t.updateExpressionStatement(
            H,
            $e(H.expression, ue, lt)
          );
        }
        function Et(H) {
          const et = oo(H) ? H : t.cloneNode(H);
          if (H.kind === 110 && ie.has(H) && ie.add(et), tg(H))
            return { readExpression: et, initializeExpression: void 0 };
          const Ot = t.createTempVariable(i), Zt = t.createAssignment(Ot, et);
          return { readExpression: Ot, initializeExpression: Zt };
        }
        function ne(H) {
          var et;
          if (AC(H.expression) && ps(H.expression.name)) {
            const { thisArg: Ot, target: Zt } = t.createCallBinding(H.expression, i, m);
            return aS(H) ? t.updateCallChain(
              H,
              t.createPropertyAccessChain($e(Zt, re, lt), H.questionDotToken, "call"),
              /*questionDotToken*/
              void 0,
              /*typeArguments*/
              void 0,
              [$e(Ot, re, lt), ...Lr(H.arguments, re, lt)]
            ) : t.updateCallExpression(
              H,
              t.createPropertyAccessExpression($e(Zt, re, lt), "call"),
              /*typeArguments*/
              void 0,
              [$e(Ot, re, lt), ...Lr(H.arguments, re, lt)]
            );
          }
          if (F && me && E_(H.expression) && rw(me) && ((et = ee?.data) != null && et.classConstructor)) {
            const Ot = t.createFunctionCallCall(
              $e(H.expression, re, lt),
              ee.data.classConstructor,
              Lr(H.arguments, re, lt)
            );
            return xn(Ot, H), ot(Ot, H), Ot;
          }
          return yr(H, re, e);
        }
        function rt(H) {
          var et;
          if (AC(H.tag) && ps(H.tag.name)) {
            const { thisArg: Ot, target: Zt } = t.createCallBinding(H.tag, i, m);
            return t.updateTaggedTemplateExpression(
              H,
              t.createCallExpression(
                t.createPropertyAccessExpression($e(Zt, re, lt), "bind"),
                /*typeArguments*/
                void 0,
                [$e(Ot, re, lt)]
              ),
              /*typeArguments*/
              void 0,
              $e(H.template, re, nx)
            );
          }
          if (F && me && E_(H.tag) && rw(me) && ((et = ee?.data) != null && et.classConstructor)) {
            const Ot = t.createFunctionBindCall(
              $e(H.tag, re, lt),
              ee.data.classConstructor,
              []
            );
            return xn(Ot, H), ot(Ot, H), t.updateTaggedTemplateExpression(
              H,
              Ot,
              /*typeArguments*/
              void 0,
              $e(H.template, re, nx)
            );
          }
          return yr(H, re, e);
        }
        function Q(H) {
          if (ee && te.set(Vo(H), ee), w) {
            if (tw(H)) {
              const Zt = $e(H.body.statements[0].expression, re, lt);
              return wl(
                Zt,
                /*excludeCompoundAssignment*/
                !0
              ) && Zt.left === Zt.right ? void 0 : Zt;
            }
            if (nk(H))
              return $e(H.body.statements[0].expression, re, lt);
            o();
            let et = Pt(
              H,
              (Zt) => Lr(Zt, re, yi),
              H.body.statements
            );
            et = t.mergeLexicalEnvironment(et, s());
            const Ot = t.createImmediatelyInvokedArrowFunction(et);
            return xn(za(Ot.expression), H), im(
              za(Ot.expression),
              4
              /* AdviseOnEmitNode */
            ), xn(Ot, H), ot(Ot, H), Ot;
          }
        }
        function Ne(H) {
          if (Kc(H) && !H.name) {
            const et = bO(H);
            return at(et, nk) ? !1 : (w || !!Hp(H)) && at(et, (Zt) => hc(Zt) || Iu(Zt) || D && rA(Zt));
          }
          return !1;
        }
        function qe(H, et) {
          if (T0(H)) {
            const Ot = K;
            K = void 0, H = t.updateBinaryExpression(
              H,
              $e(H.left, nt, lt),
              H.operatorToken,
              $e(H.right, re, lt)
            );
            const Zt = at(K) ? t.inlineExpressions(kP([...K, H])) : H;
            return K = Ot, Zt;
          }
          if (wl(H)) {
            G_(H, Ne) && (H = Y_(e, H), E.assertNode(H, wl));
            const Ot = xc(
              H.left,
              9
              /* Parentheses */
            );
            if (AC(Ot)) {
              const Zt = ps(Ot.name);
              if (Zt)
                return ot(
                  xn(
                    Ie(Zt, Ot.expression, H.right, H.operatorToken.kind),
                    H
                  ),
                  H
                );
            } else if (F && me && E_(H.left) && rw(me) && ee?.data) {
              const { classConstructor: Zt, superClassReference: Ur, facts: Vn } = ee.data;
              if (Vn & 1)
                return t.updateBinaryExpression(
                  H,
                  wt(H.left),
                  H.operatorToken,
                  $e(H.right, re, lt)
                );
              if (Zt && Ur) {
                let sn = fo(H.left) ? $e(H.left.argumentExpression, re, lt) : Fe(H.left.name) ? t.createStringLiteralFromNode(H.left.name) : void 0;
                if (sn) {
                  let xr = $e(H.right, re, lt);
                  if (ZD(H.operatorToken.kind)) {
                    let Qi = sn;
                    tg(sn) || (Qi = t.createTempVariable(i), sn = t.createAssignment(Qi, sn));
                    const no = t.createReflectGetCall(
                      Ur,
                      Qi,
                      Zt
                    );
                    xn(no, H.left), ot(no, H.left), xr = t.createBinaryExpression(
                      no,
                      KD(H.operatorToken.kind),
                      xr
                    ), ot(xr, H);
                  }
                  const Li = et ? void 0 : t.createTempVariable(i);
                  return Li && (xr = t.createAssignment(Li, xr), ot(Li, H)), xr = t.createReflectSetCall(
                    Ur,
                    sn,
                    xr,
                    Zt
                  ), xn(xr, H), ot(xr, H), Li && (xr = t.createComma(xr, Li), ot(xr, H)), xr;
                }
              }
            }
          }
          return uje(H) ? Ee(H) : yr(H, re, e);
        }
        function Ze(H, et) {
          const Ot = gO(H.elements, ue);
          return t.updateCommaListExpression(H, Ot);
        }
        function bt(H, et) {
          const Ot = et ? ue : re, Zt = $e(H.expression, Ot, lt);
          return t.updateParenthesizedExpression(H, Zt);
        }
        function Ie(H, et, Ot, Zt) {
          if (et = $e(et, re, lt), Ot = $e(Ot, re, lt), zn(et), ZD(Zt)) {
            const { readExpression: Ur, initializeExpression: Vn } = Et(et);
            et = Vn || Ur, Ot = t.createBinaryExpression(
              bi(H, Ur),
              KD(Zt),
              Ot
            );
          }
          switch (Zc(et, K1(et, -1)), H.kind) {
            case "a":
              return n().createClassPrivateFieldSetHelper(
                et,
                H.brandCheckIdentifier,
                Ot,
                H.kind,
                H.setterName
              );
            case "m":
              return n().createClassPrivateFieldSetHelper(
                et,
                H.brandCheckIdentifier,
                Ot,
                H.kind,
                /*f*/
                void 0
              );
            case "f":
              return n().createClassPrivateFieldSetHelper(
                et,
                H.brandCheckIdentifier,
                Ot,
                H.kind,
                H.isStatic ? H.variableName : void 0
              );
            case "untransformed":
              return E.fail("Access helpers should not be created for untransformed private elements");
            default:
              E.assertNever(H, "Unknown private element type");
          }
        }
        function ft(H) {
          return Tn(H.members, Ene);
        }
        function _t(H) {
          var et;
          let Ot = 0;
          const Zt = Vo(H);
          Xn(Zt) && b0(S, Zt) && (Ot |= 1), w && (MW(H) || xO(H)) && (Ot |= 2);
          let Ur = !1, Vn = !1, sn = !1, xr = !1;
          for (const Qi of H.members)
            zs(Qi) ? ((Qi.name && (Di(Qi.name) || u_(Qi)) && w || u_(Qi) && A === -1 && !H.name && !((et = H.emitNode) != null && et.classThis)) && (Ot |= 2), (is(Qi) || hc(Qi)) && (O && Qi.transformFlags & 16384 && (Ot |= 8, Ot & 1 || (Ot |= 2)), F && Qi.transformFlags & 134217728 && (Ot & 1 || (Ot |= 6)))) : Rb(Vo(Qi)) || (u_(Qi) ? (xr = !0, sn || (sn = Iu(Qi))) : Iu(Qi) ? (sn = !0, u.hasNodeCheckFlag(
              Qi,
              262144
              /* ContainsConstructorReference */
            ) && (Ot |= 2)) : is(Qi) && (Ur = !0, Vn || (Vn = !!Qi.initializer)));
          return (k && Ur || T && Vn || w && sn || w && xr && A === -1) && (Ot |= 16), Ot;
        }
        function kt(H) {
          var et;
          if ((((et = ee?.data) == null ? void 0 : et.facts) || 0) & 4) {
            const Zt = t.createTempVariable(
              i,
              /*reservedInNestedScopes*/
              !0
            );
            return cr().superClassReference = Zt, t.updateExpressionWithTypeArguments(
              H,
              t.createAssignment(
                Zt,
                $e(H.expression, re, lt)
              ),
              /*typeArguments*/
              void 0
            );
          }
          return yr(H, re, e);
        }
        function Ve(H, et) {
          var Ot;
          const Zt = fe, Ur = K, Vn = ee;
          fe = H, K = void 0, Kt();
          const sn = Hp(H) & 32;
          if (w || sn) {
            const Qi = ls(H);
            if (Qi && Fe(Qi))
              lr().data.className = Qi;
            else if ((Ot = H.emitNode) != null && Ot.assignedName && la(H.emitNode.assignedName)) {
              if (H.emitNode.assignedName.textSourceNode && Fe(H.emitNode.assignedName.textSourceNode))
                lr().data.className = H.emitNode.assignedName.textSourceNode;
              else if (C_(H.emitNode.assignedName.text, m)) {
                const no = t.createIdentifier(H.emitNode.assignedName.text);
                lr().data.className = no;
              }
            }
          }
          if (w) {
            const Qi = ft(H);
            at(Qi) && (lr().data.weakSetName = kc(
              "instances",
              Qi[0].name
            ));
          }
          const xr = _t(H);
          xr && (cr().facts = xr), xr & 8 && gt();
          const Li = et(H, xr);
          return Mt(), E.assert(ee === Vn), fe = Zt, K = Ur, Li;
        }
        function Rt(H) {
          return Ve(H, Zr);
        }
        function Zr(H, et) {
          var Ot, Zt;
          let Ur;
          if (et & 2)
            if (w && ((Ot = H.emitNode) != null && Ot.classThis))
              cr().classConstructor = H.emitNode.classThis, Ur = t.createAssignment(H.emitNode.classThis, t.getInternalName(H));
            else {
              const bo = t.createTempVariable(
                i,
                /*reservedInNestedScopes*/
                !0
              );
              cr().classConstructor = t.cloneNode(bo), Ur = t.createAssignment(bo, t.getInternalName(H));
            }
          (Zt = H.emitNode) != null && Zt.classThis && (cr().classThis = H.emitNode.classThis);
          const Vn = u.hasNodeCheckFlag(
            H,
            262144
            /* ContainsConstructorReference */
          ), sn = qn(
            H,
            32
            /* Export */
          ), xr = qn(
            H,
            2048
            /* Default */
          );
          let Li = Lr(H.modifiers, De, Ks);
          const Qi = Lr(H.heritageClauses, Xe, Q_), { members: no, prologue: da } = ye(H), vo = [];
          if (Ur && br().unshift(Ur), at(K) && vo.push(t.createExpressionStatement(t.inlineExpressions(K))), T || w || Hp(H) & 32) {
            const bo = bO(H);
            at(bo) && st(vo, bo, t.getInternalName(H));
          }
          vo.length > 0 && sn && xr && (Li = Lr(Li, (bo) => RN(bo) ? void 0 : bo, Ks), vo.push(t.createExportAssignment(
            /*modifiers*/
            void 0,
            /*isExportEquals*/
            !1,
            t.getLocalName(
              H,
              /*allowComments*/
              !1,
              /*allowSourceMaps*/
              !0
            )
          )));
          const fc = cr().classConstructor;
          Vn && fc && (Ye(), pe[e_(H)] = fc);
          const Lc = t.updateClassDeclaration(
            H,
            Li,
            H.name,
            /*typeParameters*/
            void 0,
            Qi,
            no
          );
          return vo.unshift(Lc), da && vo.unshift(t.createExpressionStatement(da)), vo;
        }
        function we(H) {
          return Ve(H, mt);
        }
        function mt(H, et) {
          var Ot, Zt, Ur;
          const Vn = !!(et & 1), sn = bO(H), xr = u.hasNodeCheckFlag(
            H,
            262144
            /* ContainsConstructorReference */
          ), Li = u.hasNodeCheckFlag(
            H,
            32768
            /* BlockScopedBindingInLoop */
          );
          let Qi;
          function no() {
            var tu;
            if (w && ((tu = H.emitNode) != null && tu.classThis))
              return cr().classConstructor = H.emitNode.classThis;
            const Rf = t.createTempVariable(
              Li ? _ : i,
              /*reservedInNestedScopes*/
              !0
            );
            return cr().classConstructor = t.cloneNode(Rf), Rf;
          }
          (Ot = H.emitNode) != null && Ot.classThis && (cr().classThis = H.emitNode.classThis), et & 2 && (Qi ?? (Qi = no()));
          const da = Lr(H.modifiers, De, Ks), vo = Lr(H.heritageClauses, Xe, Q_), { members: fc, prologue: Lc } = ye(H), bo = t.updateClassExpression(
            H,
            da,
            H.name,
            /*typeParameters*/
            void 0,
            vo,
            fc
          ), pc = [];
          if (Lc && pc.push(Lc), (w || Hp(H) & 32) && at(sn, (tu) => hc(tu) || Iu(tu) || D && rA(tu)) || at(K))
            if (Vn)
              E.assertIsDefined(U, "Decorated classes transformed by TypeScript are expected to be within a variable declaration."), at(K) && wn(U, fr(K, t.createExpressionStatement)), at(sn) && st(U, sn, ((Zt = H.emitNode) == null ? void 0 : Zt.classThis) ?? t.getInternalName(H)), Qi ? pc.push(t.createAssignment(Qi, bo)) : w && ((Ur = H.emitNode) != null && Ur.classThis) ? pc.push(t.createAssignment(H.emitNode.classThis, bo)) : pc.push(bo);
            else {
              if (Qi ?? (Qi = no()), xr) {
                Ye();
                const tu = t.cloneNode(Qi);
                tu.emitNode.autoGenerate.flags &= -9, pe[e_(H)] = tu;
              }
              pc.push(t.createAssignment(Qi, bo)), wn(pc, K), wn(pc, Yr(sn, Qi)), pc.push(t.cloneNode(Qi));
            }
          else
            pc.push(bo);
          return pc.length > 1 && (im(
            bo,
            131072
            /* Indented */
          ), pc.forEach(Su)), t.inlineExpressions(pc);
        }
        function _e(H) {
          if (!w)
            return yr(H, re, e);
        }
        function M(H) {
          if (O && me && hc(me) && ee?.data) {
            const { classThis: et, classConstructor: Ot } = ee.data;
            return et ?? Ot ?? H;
          }
          return H;
        }
        function ye(H) {
          const et = !!(Hp(H) & 32);
          if (w || G) {
            for (const sn of H.members)
              if (Iu(sn))
                if (ai(sn))
                  qo(sn, sn.name, $t);
                else {
                  const xr = lr();
                  US(xr, sn.name, { kind: "untransformed" });
                }
            if (w && at(ft(H)) && X(), ut()) {
              for (const sn of H.members)
                if (u_(sn)) {
                  const xr = t.getGeneratedPrivateNameForNode(
                    sn.name,
                    /*prefix*/
                    void 0,
                    "_accessor_storage"
                  );
                  if (w || et && sl(sn))
                    qo(sn, xr, Qn);
                  else {
                    const Li = lr();
                    US(Li, xr, { kind: "untransformed" });
                  }
                }
            }
          }
          let Ot = Lr(H.members, oe, Jc), Zt;
          at(Ot, Xo) || (Zt = pt(
            /*constructor*/
            void 0,
            H
          ));
          let Ur, Vn;
          if (!w && at(K)) {
            let sn = t.createExpressionStatement(t.inlineExpressions(K));
            if (sn.transformFlags & 134234112) {
              const Li = t.createTempVariable(i), Qi = t.createArrowFunction(
                /*modifiers*/
                void 0,
                /*typeParameters*/
                void 0,
                /*parameters*/
                [],
                /*type*/
                void 0,
                /*equalsGreaterThanToken*/
                void 0,
                t.createBlock([sn])
              );
              Ur = t.createAssignment(Li, Qi), sn = t.createExpressionStatement(t.createCallExpression(
                Li,
                /*typeArguments*/
                void 0,
                []
              ));
            }
            const xr = t.createBlock([sn]);
            Vn = t.createClassStaticBlockDeclaration(xr), K = void 0;
          }
          if (Zt || Vn) {
            let sn;
            const xr = Dn(Ot, tw), Li = Dn(Ot, nk);
            sn = Dr(sn, xr), sn = Dr(sn, Li), sn = Dr(sn, Zt), sn = Dr(sn, Vn);
            const Qi = xr || Li ? Tn(Ot, (no) => no !== xr && no !== Li) : Ot;
            sn = wn(sn, Qi), Ot = ot(
              t.createNodeArray(sn),
              /*location*/
              H.members
            );
          }
          return { members: Ot, prologue: Ur };
        }
        function X() {
          const { weakSetName: H } = lr().data;
          E.assert(H, "weakSetName should be set in private identifier environment"), br().push(
            t.createAssignment(
              H,
              t.createNewExpression(
                t.createIdentifier("WeakSet"),
                /*typeArguments*/
                void 0,
                []
              )
            )
          );
        }
        function pt(H, et) {
          if (H = $e(H, re, Xo), !ee?.data || !(ee.data.facts & 16))
            return H;
          const Ot = Zd(et), Zt = !!(Ot && xc(Ot.expression).kind !== 106), Ur = _c(H ? H.parameters : void 0, re, e), Vn = ke(et, H, Zt);
          return Vn ? H ? (E.assert(Ur), t.updateConstructorDeclaration(
            H,
            /*modifiers*/
            void 0,
            Ur,
            Vn
          )) : Su(
            xn(
              ot(
                t.createConstructorDeclaration(
                  /*modifiers*/
                  void 0,
                  Ur ?? [],
                  Vn
                ),
                H || et
              ),
              H
            )
          ) : H;
        }
        function jt(H, et, Ot, Zt, Ur, Vn, sn) {
          const xr = Zt[Ur], Li = et[xr];
          if (wn(H, Lr(et, re, yi, Ot, xr - Ot)), Ot = xr + 1, OS(Li)) {
            const Qi = [];
            jt(
              Qi,
              Li.tryBlock.statements,
              /*statementOffset*/
              0,
              Zt,
              Ur + 1,
              Vn,
              sn
            );
            const no = t.createNodeArray(Qi);
            ot(no, Li.tryBlock.statements), H.push(t.updateTryStatement(
              Li,
              t.updateBlock(Li.tryBlock, Qi),
              $e(Li.catchClause, re, Qb),
              $e(Li.finallyBlock, re, Cs)
            ));
          } else {
            for (wn(H, Lr(et, re, yi, xr, 1)); Ot < et.length; ) {
              const Qi = et[Ot];
              if (U_(Vo(Qi), sn))
                Ot++;
              else
                break;
            }
            wn(H, Vn);
          }
          wn(H, Lr(et, re, yi, Ot));
        }
        function ke(H, et, Ot) {
          var Zt;
          const Ur = FW(
            H,
            /*requireInitializer*/
            !1,
            /*isStatic*/
            !1
          );
          let Vn = Ur;
          h || (Vn = Tn(Vn, (Lc) => !!Lc.initializer || Di(Lc.name) || tm(Lc)));
          const sn = ft(H), xr = at(Vn) || at(sn);
          if (!et && !xr)
            return Of(
              /*node*/
              void 0,
              re,
              e
            );
          c();
          const Li = !et && Ot;
          let Qi = 0, no = [];
          const da = [], vo = t.createThis();
          if (Jt(da, sn, vo), et) {
            const Lc = Tn(Ur, (pc) => U_(Vo(pc), et)), bo = Tn(Vn, (pc) => !U_(Vo(pc), et));
            st(da, Lc, vo), st(da, bo, vo);
          } else
            st(da, Vn, vo);
          if (et?.body) {
            Qi = t.copyPrologue(
              et.body.statements,
              no,
              /*ensureUseStrict*/
              !1,
              re
            );
            const Lc = vO(et.body.statements, Qi);
            if (Lc.length)
              jt(
                no,
                et.body.statements,
                Qi,
                Lc,
                /*superPathDepth*/
                0,
                da,
                et
              );
            else {
              for (; Qi < et.body.statements.length; ) {
                const bo = et.body.statements[Qi];
                if (U_(Vo(bo), et))
                  Qi++;
                else
                  break;
              }
              wn(no, da), wn(no, Lr(et.body.statements, re, yi, Qi));
            }
          } else
            Li && no.push(
              t.createExpressionStatement(
                t.createCallExpression(
                  t.createSuper(),
                  /*typeArguments*/
                  void 0,
                  [t.createSpreadElement(t.createIdentifier("arguments"))]
                )
              )
            ), wn(no, da);
          if (no = t.mergeLexicalEnvironment(no, s()), no.length === 0 && !et)
            return;
          const fc = et?.body && et.body.statements.length >= no.length ? et.body.multiLine ?? no.length > 0 : no.length > 0;
          return ot(
            t.createBlock(
              ot(
                t.createNodeArray(no),
                /*location*/
                ((Zt = et?.body) == null ? void 0 : Zt.statements) ?? H.members
              ),
              fc
            ),
            et?.body
          );
        }
        function st(H, et, Ot) {
          for (const Zt of et) {
            if (zs(Zt) && !w)
              continue;
            const Ur = At(Zt, Ot);
            Ur && H.push(Ur);
          }
        }
        function At(H, et) {
          const Ot = hc(H) ? Pt(H, Q, H) : Mr(H, et);
          if (!Ot)
            return;
          const Zt = t.createExpressionStatement(Ot);
          xn(Zt, H), im(
            Zt,
            ka(H) & 3072
            /* NoComments */
          ), Zc(Zt, H);
          const Ur = Vo(H);
          return Ni(Ur) ? (ha(Zt, Ur), vN(Zt)) : ha(Zt, nm(H)), rv(Ot, void 0), Fx(Ot, void 0), tm(Ur) && im(
            Zt,
            3072
            /* NoComments */
          ), Zt;
        }
        function Yr(H, et) {
          const Ot = [];
          for (const Zt of H) {
            const Ur = hc(Zt) ? Pt(Zt, Q, Zt) : Pt(
              Zt,
              () => Mr(Zt, et),
              /*arg*/
              void 0
            );
            Ur && (Su(Ur), xn(Ur, Zt), im(
              Ur,
              ka(Zt) & 3072
              /* NoComments */
            ), ha(Ur, nm(Zt)), Zc(Ur, Zt), Ot.push(Ur));
          }
          return Ot;
        }
        function Mr(H, et) {
          var Ot;
          const Zt = me, Ur = Rr(H, et);
          return Ur && sl(H) && ((Ot = ee?.data) != null && Ot.facts) && (xn(Ur, H), im(
            Ur,
            4
            /* AdviseOnEmitNode */
          ), ha(Ur, E0(H.name)), te.set(Vo(H), ee)), me = Zt, Ur;
        }
        function Rr(H, et) {
          const Ot = !h;
          G_(H, Ne) && (H = Y_(e, H));
          const Zt = tm(H) ? t.getGeneratedPrivateNameForNode(H.name) : ia(H.name) && !tg(H.name.expression) ? t.updateComputedPropertyName(H.name, t.getGeneratedNameForNode(H.name)) : H.name;
          if (sl(H) && (me = H), Di(Zt) && ai(H)) {
            const sn = ps(Zt);
            if (sn)
              return sn.kind === "f" ? sn.isStatic ? aje(
                t,
                sn.variableName,
                $e(H.initializer, re, lt)
              ) : oje(
                t,
                et,
                $e(H.initializer, re, lt),
                sn.brandCheckIdentifier
              ) : void 0;
            E.fail("Undeclared private name for property declaration.");
          }
          if ((Di(Zt) || sl(H)) && !H.initializer)
            return;
          const Ur = Vo(H);
          if (qn(
            Ur,
            64
            /* Abstract */
          ))
            return;
          let Vn = $e(H.initializer, re, lt);
          if (U_(Ur, Ur.parent) && Fe(Zt)) {
            const sn = t.cloneNode(Zt);
            Vn ? (Zu(Vn) && FN(Vn.expression) && CD(Vn.expression.left, "___runInitializers") && Vx(Vn.expression.right) && m_(Vn.expression.right.expression) && (Vn = Vn.expression.left), Vn = t.inlineExpressions([Vn, sn])) : Vn = sn, an(
              Zt,
              3168
              /* NoSourceMap */
            ), ha(sn, Ur.name), an(
              sn,
              3072
              /* NoComments */
            );
          } else
            Vn ?? (Vn = t.createVoidZero());
          if (Ot || Di(Zt)) {
            const sn = BS(
              t,
              et,
              Zt,
              /*location*/
              Zt
            );
            return im(
              sn,
              1024
              /* NoLeadingComments */
            ), t.createAssignment(sn, Vn);
          } else {
            const sn = ia(Zt) ? Zt.expression : Fe(Zt) ? t.createStringLiteral(Ei(Zt.escapedText)) : Zt, xr = t.createPropertyDescriptor({ value: Vn, configurable: !0, writable: !0, enumerable: !0 });
            return t.createObjectDefinePropertyCall(et, sn, xr);
          }
        }
        function Ye() {
          (W & 1) === 0 && (W |= 1, e.enableSubstitution(
            80
            /* Identifier */
          ), pe = []);
        }
        function gt() {
          (W & 2) === 0 && (W |= 2, e.enableSubstitution(
            110
            /* ThisKeyword */
          ), e.enableEmitNotification(
            262
            /* FunctionDeclaration */
          ), e.enableEmitNotification(
            218
            /* FunctionExpression */
          ), e.enableEmitNotification(
            176
            /* Constructor */
          ), e.enableEmitNotification(
            177
            /* GetAccessor */
          ), e.enableEmitNotification(
            178
            /* SetAccessor */
          ), e.enableEmitNotification(
            174
            /* MethodDeclaration */
          ), e.enableEmitNotification(
            172
            /* PropertyDeclaration */
          ), e.enableEmitNotification(
            167
            /* ComputedPropertyName */
          ));
        }
        function Jt(H, et, Ot) {
          if (!w || !at(et))
            return;
          const { weakSetName: Zt } = lr().data;
          E.assert(Zt, "weakSetName should be set in private identifier environment"), H.push(
            t.createExpressionStatement(
              cje(t, Ot, Zt)
            )
          );
        }
        function wt(H) {
          return kn(H) ? t.updatePropertyAccessExpression(
            H,
            t.createVoidZero(),
            H.name
          ) : t.updateElementAccessExpression(
            H,
            t.createVoidZero(),
            $e(H.argumentExpression, re, lt)
          );
        }
        function dr(H, et) {
          if (ia(H)) {
            const Ot = jF(H), Zt = $e(H.expression, re, lt), Ur = qp(Zt), Vn = tg(Ur);
            if (!(!!Ot || wl(Ur) && Mo(Ur.left)) && !Vn && et) {
              const xr = t.getGeneratedNameForNode(H);
              return u.hasNodeCheckFlag(
                H,
                32768
                /* BlockScopedBindingInLoop */
              ) ? _(xr) : i(xr), t.createAssignment(xr, Zt);
            }
            return Vn || Fe(Ur) ? void 0 : Zt;
          }
        }
        function Kt() {
          ee = { previous: ee, data: void 0 };
        }
        function Mt() {
          ee = ee?.previous;
        }
        function cr() {
          return E.assert(ee), ee.data ?? (ee.data = {
            facts: 0,
            classConstructor: void 0,
            classThis: void 0,
            superClassReference: void 0
            // privateIdentifierEnvironment: undefined,
          });
        }
        function lr() {
          return E.assert(ee), ee.privateEnv ?? (ee.privateEnv = wne({
            className: void 0,
            weakSetName: void 0
          }));
        }
        function br() {
          return K ?? (K = []);
        }
        function $t(H, et, Ot, Zt, Ur, Vn, sn) {
          u_(H) ? Nc(H, et, Ot, Zt, Ur, Vn) : is(H) ? Qn(H, et, Ot, Zt, Ur, Vn) : uc(H) ? Ns(H, et, Ot, Zt, Ur, Vn) : ap(H) ? $s(H, et, Ot, Zt, Ur, Vn, sn) : P_(H) && Es(H, et, Ot, Zt, Ur, Vn, sn);
        }
        function Qn(H, et, Ot, Zt, Ur, Vn, sn) {
          if (Ur) {
            const xr = E.checkDefined(Ot.classThis ?? Ot.classConstructor, "classConstructor should be set in private identifier environment"), Li = gi(et);
            US(Zt, et, {
              kind: "f",
              isStatic: !0,
              brandCheckIdentifier: xr,
              variableName: Li,
              isValid: Vn
            });
          } else {
            const xr = gi(et);
            US(Zt, et, {
              kind: "f",
              isStatic: !1,
              brandCheckIdentifier: xr,
              isValid: Vn
            }), br().push(t.createAssignment(
              xr,
              t.createNewExpression(
                t.createIdentifier("WeakMap"),
                /*typeArguments*/
                void 0,
                []
              )
            ));
          }
        }
        function Ns(H, et, Ot, Zt, Ur, Vn, sn) {
          const xr = gi(et), Li = Ur ? E.checkDefined(Ot.classThis ?? Ot.classConstructor, "classConstructor should be set in private identifier environment") : E.checkDefined(Zt.data.weakSetName, "weakSetName should be set in private identifier environment");
          US(Zt, et, {
            kind: "m",
            methodName: xr,
            brandCheckIdentifier: Li,
            isStatic: Ur,
            isValid: Vn
          });
        }
        function $s(H, et, Ot, Zt, Ur, Vn, sn) {
          const xr = gi(et, "_get"), Li = Ur ? E.checkDefined(Ot.classThis ?? Ot.classConstructor, "classConstructor should be set in private identifier environment") : E.checkDefined(Zt.data.weakSetName, "weakSetName should be set in private identifier environment");
          sn?.kind === "a" && sn.isStatic === Ur && !sn.getterName ? sn.getterName = xr : US(Zt, et, {
            kind: "a",
            getterName: xr,
            setterName: void 0,
            brandCheckIdentifier: Li,
            isStatic: Ur,
            isValid: Vn
          });
        }
        function Es(H, et, Ot, Zt, Ur, Vn, sn) {
          const xr = gi(et, "_set"), Li = Ur ? E.checkDefined(Ot.classThis ?? Ot.classConstructor, "classConstructor should be set in private identifier environment") : E.checkDefined(Zt.data.weakSetName, "weakSetName should be set in private identifier environment");
          sn?.kind === "a" && sn.isStatic === Ur && !sn.setterName ? sn.setterName = xr : US(Zt, et, {
            kind: "a",
            getterName: void 0,
            setterName: xr,
            brandCheckIdentifier: Li,
            isStatic: Ur,
            isValid: Vn
          });
        }
        function Nc(H, et, Ot, Zt, Ur, Vn, sn) {
          const xr = gi(et, "_get"), Li = gi(et, "_set"), Qi = Ur ? E.checkDefined(Ot.classThis ?? Ot.classConstructor, "classConstructor should be set in private identifier environment") : E.checkDefined(Zt.data.weakSetName, "weakSetName should be set in private identifier environment");
          US(Zt, et, {
            kind: "a",
            getterName: xr,
            setterName: Li,
            brandCheckIdentifier: Qi,
            isStatic: Ur,
            isValid: Vn
          });
        }
        function qo(H, et, Ot) {
          const Zt = cr(), Ur = lr(), Vn = LW(Ur, et), sn = sl(H), xr = !lje(et) && Vn === void 0;
          Ot(H, et, Zt, Ur, sn, xr, Vn);
        }
        function kc(H, et, Ot) {
          const { className: Zt } = lr().data, Ur = Zt ? { prefix: "_", node: Zt, suffix: "_" } : "_", Vn = typeof H == "object" ? t.getGeneratedNameForNode(H, 24, Ur, Ot) : typeof H == "string" ? t.createUniqueName(H, 16, Ur, Ot) : t.createTempVariable(
            /*recordTempVariable*/
            void 0,
            /*reservedInNestedScopes*/
            !0,
            Ur,
            Ot
          );
          return u.hasNodeCheckFlag(
            et,
            32768
            /* BlockScopedBindingInLoop */
          ) ? _(Vn) : i(Vn), Vn;
        }
        function gi(H, et) {
          const Ot = L4(H);
          return kc(Ot?.substring(1) ?? H, H, et);
        }
        function ps(H) {
          const et = Pne(ee, H);
          return et?.kind === "untransformed" ? void 0 : et;
        }
        function Wc(H) {
          const et = t.getGeneratedNameForNode(H), Ot = ps(H.name);
          if (!Ot)
            return yr(H, re, e);
          let Zt = H.expression;
          return (y3(H) || E_(H) || !e2(H.expression)) && (Zt = t.createTempVariable(
            i,
            /*reservedInNestedScopes*/
            !0
          ), br().push(t.createBinaryExpression(Zt, 64, $e(H.expression, re, lt)))), t.createAssignmentTargetWrapper(
            et,
            Ie(
              Ot,
              Zt,
              et,
              64
              /* EqualsToken */
            )
          );
        }
        function Lo(H) {
          if (ua(H) || Ql(H))
            return zt(H);
          if (AC(H))
            return Wc(H);
          if (F && me && E_(H) && rw(me) && ee?.data) {
            const { classConstructor: et, superClassReference: Ot, facts: Zt } = ee.data;
            if (Zt & 1)
              return wt(H);
            if (et && Ot) {
              const Ur = fo(H) ? $e(H.argumentExpression, re, lt) : Fe(H.name) ? t.createStringLiteralFromNode(H.name) : void 0;
              if (Ur) {
                const Vn = t.createTempVariable(
                  /*recordTempVariable*/
                  void 0
                );
                return t.createAssignmentTargetWrapper(
                  Vn,
                  t.createReflectSetCall(
                    Ot,
                    Ur,
                    Vn,
                    et
                  )
                );
              }
            }
          }
          return yr(H, re, e);
        }
        function Pa(H) {
          if (G_(H, Ne) && (H = Y_(e, H)), wl(
            H,
            /*excludeCompoundAssignment*/
            !0
          )) {
            const et = Lo(H.left), Ot = $e(H.right, re, lt);
            return t.updateBinaryExpression(H, et, H.operatorToken, Ot);
          }
          return Lo(H);
        }
        function Bo(H) {
          if (__(H.expression)) {
            const et = Lo(H.expression);
            return t.updateSpreadElement(H, et);
          }
          return yr(H, re, e);
        }
        function rf(H) {
          if (ZP(H)) {
            if (op(H)) return Bo(H);
            if (!vl(H)) return Pa(H);
          }
          return yr(H, re, e);
        }
        function ss(H) {
          const et = $e(H.name, re, Bc);
          if (wl(
            H.initializer,
            /*excludeCompoundAssignment*/
            !0
          )) {
            const Ot = Pa(H.initializer);
            return t.updatePropertyAssignment(H, et, Ot);
          }
          if (__(H.initializer)) {
            const Ot = Lo(H.initializer);
            return t.updatePropertyAssignment(H, et, Ot);
          }
          return yr(H, re, e);
        }
        function Vs(H) {
          return G_(H, Ne) && (H = Y_(e, H)), yr(H, re, e);
        }
        function Aa(H) {
          if (__(H.expression)) {
            const et = Lo(H.expression);
            return t.updateSpreadAssignment(H, et);
          }
          return yr(H, re, e);
        }
        function Ca(H) {
          return E.assertNode(H, YP), Gg(H) ? Aa(H) : _u(H) ? Vs(H) : tl(H) ? ss(H) : yr(H, re, e);
        }
        function zt(H) {
          return Ql(H) ? t.updateArrayLiteralExpression(
            H,
            Lr(H.elements, rf, lt)
          ) : t.updateObjectLiteralExpression(
            H,
            Lr(H.properties, Ca, Eh)
          );
        }
        function Ka(H, et, Ot) {
          const Zt = Vo(et), Ur = te.get(Zt);
          if (Ur) {
            const Vn = ee, sn = he;
            ee = Ur, he = q, q = !hc(Zt) || !(Hp(Zt) & 32), V(H, et, Ot), q = he, he = sn, ee = Vn;
            return;
          }
          switch (et.kind) {
            case 218:
              if (Co(Zt) || ka(et) & 524288)
                break;
            // falls through
            case 262:
            case 176:
            case 177:
            case 178:
            case 174:
            case 172: {
              const Vn = ee, sn = he;
              ee = void 0, he = q, q = !1, V(H, et, Ot), q = he, he = sn, ee = Vn;
              return;
            }
            case 167: {
              const Vn = ee, sn = q;
              ee = ee?.previous, q = he, V(H, et, Ot), q = sn, ee = Vn;
              return;
            }
          }
          V(H, et, Ot);
        }
        function Vc(H, et) {
          return et = z(H, et), H === 1 ? tc(et) : et;
        }
        function tc(H) {
          switch (H.kind) {
            case 80:
              return yo(H);
            case 110:
              return eu(H);
          }
          return H;
        }
        function eu(H) {
          if (W & 2 && ee?.data && !ie.has(H)) {
            const { facts: et, classConstructor: Ot, classThis: Zt } = ee.data, Ur = q ? Zt ?? Ot : Ot;
            if (Ur)
              return ot(
                xn(
                  t.cloneNode(Ur),
                  H
                ),
                H
              );
            if (et & 1 && S)
              return t.createParenthesizedExpression(t.createVoidZero());
          }
          return H;
        }
        function yo(H) {
          return ge(H) || H;
        }
        function ge(H) {
          if (W & 1 && u.hasNodeCheckFlag(
            H,
            536870912
            /* ConstructorReference */
          )) {
            const et = u.getReferencedValueDeclaration(H);
            if (et) {
              const Ot = pe[et.id];
              if (Ot) {
                const Zt = t.cloneNode(Ot);
                return ha(Zt, H), Zc(Zt, H), Zt;
              }
            }
          }
        }
      }
      function aje(e, t, n) {
        return e.createAssignment(
          t,
          e.createObjectLiteralExpression([
            e.createPropertyAssignment("value", n || e.createVoidZero())
          ])
        );
      }
      function oje(e, t, n, i) {
        return e.createCallExpression(
          e.createPropertyAccessExpression(i, "set"),
          /*typeArguments*/
          void 0,
          [t, n || e.createVoidZero()]
        );
      }
      function cje(e, t, n) {
        return e.createCallExpression(
          e.createPropertyAccessExpression(n, "add"),
          /*typeArguments*/
          void 0,
          [t]
        );
      }
      function lje(e) {
        return !cS(e) && e.escapedText === "#constructor";
      }
      function uje(e) {
        return Di(e.left) && e.operatorToken.kind === 103;
      }
      function _je(e) {
        return is(e) && sl(e);
      }
      function rw(e) {
        return hc(e) || _je(e);
      }
      function Bne(e) {
        const {
          factory: t,
          hoistVariableDeclaration: n
        } = e, i = e.getEmitResolver(), s = e.getCompilerOptions(), o = ga(s), c = lu(s, "strictNullChecks");
        let _, u;
        return {
          serializeTypeNode: (K, U) => g(K, D, U),
          serializeTypeOfNode: (K, U, ee) => g(K, h, U, ee),
          serializeParameterTypesOfNode: (K, U, ee) => g(K, S, U, ee),
          serializeReturnTypeOfNode: (K, U) => g(K, k, U)
        };
        function g(K, U, ee, te) {
          const ie = _, fe = u;
          _ = K.currentLexicalScope, u = K.currentNameScope;
          const me = te === void 0 ? U(ee) : U(ee, te);
          return _ = ie, u = fe, me;
        }
        function m(K, U) {
          const ee = Mb(U.members, K);
          return ee.setAccessor && jK(ee.setAccessor) || ee.getAccessor && mf(ee.getAccessor);
        }
        function h(K, U) {
          switch (K.kind) {
            case 172:
            case 169:
              return D(K.type);
            case 178:
            case 177:
              return D(m(K, U));
            case 263:
            case 231:
            case 174:
              return t.createIdentifier("Function");
            default:
              return t.createVoidZero();
          }
        }
        function S(K, U) {
          const ee = Xn(K) ? jg(K) : Ts(K) && Cp(K.body) ? K : void 0, te = [];
          if (ee) {
            const ie = T(ee, U), fe = ie.length;
            for (let me = 0; me < fe; me++) {
              const q = ie[me];
              me === 0 && Fe(q.name) && q.name.escapedText === "this" || (q.dotDotDotToken ? te.push(D(dB(q.type))) : te.push(h(q, U)));
            }
          }
          return t.createArrayLiteralExpression(te);
        }
        function T(K, U) {
          if (U && K.kind === 177) {
            const { setAccessor: ee } = Mb(U.members, K);
            if (ee)
              return ee.parameters;
          }
          return K.parameters;
        }
        function k(K) {
          return Ts(K) && K.type ? D(K.type) : $4(K) ? t.createIdentifier("Promise") : t.createVoidZero();
        }
        function D(K) {
          if (K === void 0)
            return t.createIdentifier("Object");
          switch (K = U4(K), K.kind) {
            case 116:
            case 157:
            case 146:
              return t.createVoidZero();
            case 184:
            case 185:
              return t.createIdentifier("Function");
            case 188:
            case 189:
              return t.createIdentifier("Array");
            case 182:
              return K.assertsModifier ? t.createVoidZero() : t.createIdentifier("Boolean");
            case 136:
              return t.createIdentifier("Boolean");
            case 203:
            case 154:
              return t.createIdentifier("String");
            case 151:
              return t.createIdentifier("Object");
            case 201:
              return w(K.literal);
            case 150:
              return t.createIdentifier("Number");
            case 163:
              return pe(
                "BigInt",
                7
                /* ES2020 */
              );
            case 155:
              return pe(
                "Symbol",
                2
                /* ES2015 */
              );
            case 183:
              return F(K);
            case 193:
              return A(
                K.types,
                /*isIntersection*/
                !0
              );
            case 192:
              return A(
                K.types,
                /*isIntersection*/
                !1
              );
            case 194:
              return A(
                [K.trueType, K.falseType],
                /*isIntersection*/
                !1
              );
            case 198:
              if (K.operator === 148)
                return D(K.type);
              break;
            case 186:
            case 199:
            case 200:
            case 187:
            case 133:
            case 159:
            case 197:
            case 205:
              break;
            // handle JSDoc types from an invalid parse
            case 312:
            case 313:
            case 317:
            case 318:
            case 319:
              break;
            case 314:
            case 315:
            case 316:
              return D(K.type);
            default:
              return E.failBadSyntaxKind(K);
          }
          return t.createIdentifier("Object");
        }
        function w(K) {
          switch (K.kind) {
            case 11:
            case 15:
              return t.createIdentifier("String");
            case 224: {
              const U = K.operand;
              switch (U.kind) {
                case 9:
                case 10:
                  return w(U);
                default:
                  return E.failBadSyntaxKind(U);
              }
            }
            case 9:
              return t.createIdentifier("Number");
            case 10:
              return pe(
                "BigInt",
                7
                /* ES2020 */
              );
            case 112:
            case 97:
              return t.createIdentifier("Boolean");
            case 106:
              return t.createVoidZero();
            default:
              return E.failBadSyntaxKind(K);
          }
        }
        function A(K, U) {
          let ee;
          for (let te of K) {
            if (te = U4(te), te.kind === 146) {
              if (U) return t.createVoidZero();
              continue;
            }
            if (te.kind === 159) {
              if (!U) return t.createIdentifier("Object");
              continue;
            }
            if (te.kind === 133)
              return t.createIdentifier("Object");
            if (!c && (P0(te) && te.literal.kind === 106 || te.kind === 157))
              continue;
            const ie = D(te);
            if (Fe(ie) && ie.escapedText === "Object")
              return ie;
            if (ee) {
              if (!O(ee, ie))
                return t.createIdentifier("Object");
            } else
              ee = ie;
          }
          return ee ?? t.createVoidZero();
        }
        function O(K, U) {
          return (
            // temp vars used in fallback
            Mo(K) ? Mo(U) : (
              // entity names
              Fe(K) ? Fe(U) && K.escapedText === U.escapedText : kn(K) ? kn(U) && O(K.expression, U.expression) && O(K.name, U.name) : (
                // `void 0`
                Vx(K) ? Vx(U) && m_(K.expression) && K.expression.text === "0" && m_(U.expression) && U.expression.text === "0" : (
                  // `"undefined"` or `"function"` in `typeof` checks
                  la(K) ? la(U) && K.text === U.text : (
                    // used in `typeof` checks for fallback
                    f6(K) ? f6(U) && O(K.expression, U.expression) : (
                      // parens in `typeof` checks with temps
                      Zu(K) ? Zu(U) && O(K.expression, U.expression) : (
                        // conditionals used in fallback
                        FS(K) ? FS(U) && O(K.condition, U.condition) && O(K.whenTrue, U.whenTrue) && O(K.whenFalse, U.whenFalse) : (
                          // logical binary and assignments used in fallback
                          _n(K) ? _n(U) && K.operatorToken.kind === U.operatorToken.kind && O(K.left, U.left) && O(K.right, U.right) : !1
                        )
                      )
                    )
                  )
                )
              )
            )
          );
        }
        function F(K) {
          const U = i.getTypeReferenceSerializationKind(K.typeName, u ?? _);
          switch (U) {
            case 0:
              if (_r(K, (ie) => ie.parent && Ub(ie.parent) && (ie.parent.trueType === ie || ie.parent.falseType === ie)))
                return t.createIdentifier("Object");
              const ee = z(K.typeName), te = t.createTempVariable(n);
              return t.createConditionalExpression(
                t.createTypeCheck(t.createAssignment(te, ee), "function"),
                /*questionToken*/
                void 0,
                te,
                /*colonToken*/
                void 0,
                t.createIdentifier("Object")
              );
            case 1:
              return V(K.typeName);
            case 2:
              return t.createVoidZero();
            case 4:
              return pe(
                "BigInt",
                7
                /* ES2020 */
              );
            case 6:
              return t.createIdentifier("Boolean");
            case 3:
              return t.createIdentifier("Number");
            case 5:
              return t.createIdentifier("String");
            case 7:
              return t.createIdentifier("Array");
            case 8:
              return pe(
                "Symbol",
                2
                /* ES2015 */
              );
            case 10:
              return t.createIdentifier("Function");
            case 9:
              return t.createIdentifier("Promise");
            case 11:
              return t.createIdentifier("Object");
            default:
              return E.assertNever(U);
          }
        }
        function j(K, U) {
          return t.createLogicalAnd(
            t.createStrictInequality(t.createTypeOfExpression(K), t.createStringLiteral("undefined")),
            U
          );
        }
        function z(K) {
          if (K.kind === 80) {
            const te = V(K);
            return j(te, te);
          }
          if (K.left.kind === 80)
            return j(V(K.left), V(K));
          const U = z(K.left), ee = t.createTempVariable(n);
          return t.createLogicalAnd(
            t.createLogicalAnd(
              U.left,
              t.createStrictInequality(t.createAssignment(ee, U.right), t.createVoidZero())
            ),
            t.createPropertyAccessExpression(ee, K.right)
          );
        }
        function V(K) {
          switch (K.kind) {
            case 80:
              const U = Wa(ot(fv.cloneNode(K), K), K.parent);
              return U.original = void 0, Wa(U, ds(_)), U;
            case 166:
              return G(K);
          }
        }
        function G(K) {
          return t.createPropertyAccessExpression(V(K.left), K.right);
        }
        function W(K) {
          return t.createConditionalExpression(
            t.createTypeCheck(t.createIdentifier(K), "function"),
            /*questionToken*/
            void 0,
            t.createIdentifier(K),
            /*colonToken*/
            void 0,
            t.createIdentifier("Object")
          );
        }
        function pe(K, U) {
          return o < U ? W(K) : t.createIdentifier(K);
        }
      }
      function Jne(e) {
        const {
          factory: t,
          getEmitHelperFactory: n,
          hoistVariableDeclaration: i
        } = e, s = e.getEmitResolver(), o = e.getCompilerOptions(), c = ga(o), _ = e.onSubstituteNode;
        e.onSubstituteNode = ve;
        let u;
        return Sd(e, g);
        function g(Ce) {
          const ze = yr(Ce, h, e);
          return qg(ze, e.readEmitHelpers()), ze;
        }
        function m(Ce) {
          return yl(Ce) ? void 0 : Ce;
        }
        function h(Ce) {
          if (!(Ce.transformFlags & 33554432))
            return Ce;
          switch (Ce.kind) {
            case 170:
              return;
            case 263:
              return S(Ce);
            case 231:
              return F(Ce);
            case 176:
              return j(Ce);
            case 174:
              return V(Ce);
            case 178:
              return W(Ce);
            case 177:
              return G(Ce);
            case 172:
              return pe(Ce);
            case 169:
              return K(Ce);
            default:
              return yr(Ce, h, e);
          }
        }
        function S(Ce) {
          if (!(b0(
            /*useLegacyDecorators*/
            !0,
            Ce
          ) || B4(
            /*useLegacyDecorators*/
            !0,
            Ce
          )))
            return yr(Ce, h, e);
          const ze = b0(
            /*useLegacyDecorators*/
            !0,
            Ce
          ) ? O(Ce, Ce.name) : A(Ce, Ce.name);
          return Wm(ze);
        }
        function T(Ce) {
          return !!(Ce.transformFlags & 536870912);
        }
        function k(Ce) {
          return at(Ce, T);
        }
        function D(Ce) {
          for (const ze of Ce.members) {
            if (!Zb(ze)) continue;
            const St = SO(
              ze,
              Ce,
              /*useLegacyDecorators*/
              !0
            );
            if (at(St?.decorators, T) || at(St?.parameters, k)) return !0;
          }
          return !1;
        }
        function w(Ce, ze) {
          let St = [];
          return te(
            St,
            Ce,
            /*isStatic*/
            !1
          ), te(
            St,
            Ce,
            /*isStatic*/
            !0
          ), D(Ce) && (ze = ot(
            t.createNodeArray([
              ...ze,
              t.createClassStaticBlockDeclaration(
                t.createBlock(
                  St,
                  /*multiLine*/
                  !0
                )
              )
            ]),
            ze
          ), St = void 0), { decorationStatements: St, members: ze };
        }
        function A(Ce, ze) {
          const St = Lr(Ce.modifiers, m, Ks), Bt = Lr(Ce.heritageClauses, h, Q_);
          let tr = Lr(Ce.members, h, Jc), Fr = [];
          ({ members: tr, decorationStatements: Fr } = w(Ce, tr));
          const it = t.updateClassDeclaration(
            Ce,
            St,
            ze,
            /*typeParameters*/
            void 0,
            Bt,
            tr
          );
          return wn([it], Fr);
        }
        function O(Ce, ze) {
          const St = qn(
            Ce,
            32
            /* Export */
          ), Bt = qn(
            Ce,
            2048
            /* Default */
          ), tr = Lr(Ce.modifiers, (ut) => RN(ut) || yl(ut) ? void 0 : ut, Ro), Fr = nm(Ce), it = Xe(Ce), Wt = c < 2 ? t.getInternalName(
            Ce,
            /*allowComments*/
            !1,
            /*allowSourceMaps*/
            !0
          ) : t.getLocalName(
            Ce,
            /*allowComments*/
            !1,
            /*allowSourceMaps*/
            !0
          ), Wr = Lr(Ce.heritageClauses, h, Q_);
          let ai = Lr(Ce.members, h, Jc), zi = [];
          ({ members: ai, decorationStatements: zi } = w(Ce, ai));
          const Pt = c >= 9 && !!it && at(ai, (ut) => is(ut) && qn(
            ut,
            256
            /* Static */
          ) || hc(ut));
          Pt && (ai = ot(
            t.createNodeArray([
              t.createClassStaticBlockDeclaration(
                t.createBlock([
                  t.createExpressionStatement(
                    t.createAssignment(it, t.createThis())
                  )
                ])
              ),
              ...ai
            ]),
            ai
          ));
          const Fn = t.createClassExpression(
            tr,
            ze && Mo(ze) ? void 0 : ze,
            /*typeParameters*/
            void 0,
            Wr,
            ai
          );
          xn(Fn, Ce), ot(Fn, Fr);
          const ii = it && !Pt ? t.createAssignment(it, Fn) : Fn, li = t.createVariableDeclaration(
            Wt,
            /*exclamationToken*/
            void 0,
            /*type*/
            void 0,
            ii
          );
          xn(li, Ce);
          const cn = t.createVariableDeclarationList(
            [li],
            1
            /* Let */
          ), ci = t.createVariableStatement(
            /*modifiers*/
            void 0,
            cn
          );
          xn(ci, Ce), ot(ci, Fr), Zc(ci, Ce);
          const je = [ci];
          if (wn(je, zi), he(je, Ce), St)
            if (Bt) {
              const ut = t.createExportDefault(Wt);
              je.push(ut);
            } else {
              const ut = t.createExternalModuleExport(t.getDeclarationName(Ce));
              je.push(ut);
            }
          return je;
        }
        function F(Ce) {
          return t.updateClassExpression(
            Ce,
            Lr(Ce.modifiers, m, Ks),
            Ce.name,
            /*typeParameters*/
            void 0,
            Lr(Ce.heritageClauses, h, Q_),
            Lr(Ce.members, h, Jc)
          );
        }
        function j(Ce) {
          return t.updateConstructorDeclaration(
            Ce,
            Lr(Ce.modifiers, m, Ks),
            Lr(Ce.parameters, h, Ni),
            $e(Ce.body, h, Cs)
          );
        }
        function z(Ce, ze) {
          return Ce !== ze && (Zc(Ce, ze), ha(Ce, nm(ze))), Ce;
        }
        function V(Ce) {
          return z(
            t.updateMethodDeclaration(
              Ce,
              Lr(Ce.modifiers, m, Ks),
              Ce.asteriskToken,
              E.checkDefined($e(Ce.name, h, Bc)),
              /*questionToken*/
              void 0,
              /*typeParameters*/
              void 0,
              Lr(Ce.parameters, h, Ni),
              /*type*/
              void 0,
              $e(Ce.body, h, Cs)
            ),
            Ce
          );
        }
        function G(Ce) {
          return z(
            t.updateGetAccessorDeclaration(
              Ce,
              Lr(Ce.modifiers, m, Ks),
              E.checkDefined($e(Ce.name, h, Bc)),
              Lr(Ce.parameters, h, Ni),
              /*type*/
              void 0,
              $e(Ce.body, h, Cs)
            ),
            Ce
          );
        }
        function W(Ce) {
          return z(
            t.updateSetAccessorDeclaration(
              Ce,
              Lr(Ce.modifiers, m, Ks),
              E.checkDefined($e(Ce.name, h, Bc)),
              Lr(Ce.parameters, h, Ni),
              $e(Ce.body, h, Cs)
            ),
            Ce
          );
        }
        function pe(Ce) {
          if (!(Ce.flags & 33554432 || qn(
            Ce,
            128
            /* Ambient */
          )))
            return z(
              t.updatePropertyDeclaration(
                Ce,
                Lr(Ce.modifiers, m, Ks),
                E.checkDefined($e(Ce.name, h, Bc)),
                /*questionOrExclamationToken*/
                void 0,
                /*type*/
                void 0,
                $e(Ce.initializer, h, lt)
              ),
              Ce
            );
        }
        function K(Ce) {
          const ze = t.updateParameterDeclaration(
            Ce,
            sre(t, Ce.modifiers),
            Ce.dotDotDotToken,
            E.checkDefined($e(Ce.name, h, lS)),
            /*questionToken*/
            void 0,
            /*type*/
            void 0,
            $e(Ce.initializer, h, lt)
          );
          return ze !== Ce && (Zc(ze, Ce), ot(ze, nm(Ce)), ha(ze, nm(Ce)), an(
            ze.name,
            64
            /* NoTrailingSourceMap */
          )), ze;
        }
        function U(Ce) {
          return CD(Ce.expression, "___metadata");
        }
        function ee(Ce) {
          if (!Ce)
            return;
          const { false: ze, true: St } = PR(Ce.decorators, U), Bt = [];
          return wn(Bt, fr(ze, De)), wn(Bt, oa(Ce.parameters, re)), wn(Bt, fr(St, De)), Bt;
        }
        function te(Ce, ze, St) {
          wn(Ce, fr(me(ze, St), (Bt) => t.createExpressionStatement(Bt)));
        }
        function ie(Ce, ze, St) {
          return S3(
            /*useLegacyDecorators*/
            !0,
            Ce,
            St
          ) && ze === zs(Ce);
        }
        function fe(Ce, ze) {
          return Tn(Ce.members, (St) => ie(St, ze, Ce));
        }
        function me(Ce, ze) {
          const St = fe(Ce, ze);
          let Bt;
          for (const tr of St)
            Bt = Dr(Bt, q(Ce, tr));
          return Bt;
        }
        function q(Ce, ze) {
          const St = SO(
            ze,
            Ce,
            /*useLegacyDecorators*/
            !0
          ), Bt = ee(St);
          if (!Bt)
            return;
          const tr = oe(Ce, ze), Fr = xe(
            ze,
            /*generateNameForComputedPropertyName*/
            !qn(
              ze,
              128
              /* Ambient */
            )
          ), it = is(ze) && !tm(ze) ? t.createVoidZero() : t.createNull(), Wt = n().createDecorateHelper(
            Bt,
            tr,
            Fr,
            it
          );
          return an(
            Wt,
            3072
            /* NoComments */
          ), ha(Wt, nm(ze)), Wt;
        }
        function he(Ce, ze) {
          const St = Me(ze);
          St && Ce.push(xn(t.createExpressionStatement(St), ze));
        }
        function Me(Ce) {
          const ze = OW(
            Ce,
            /*useLegacyDecorators*/
            !0
          ), St = ee(ze);
          if (!St)
            return;
          const Bt = u && u[e_(Ce)], tr = c < 2 ? t.getInternalName(
            Ce,
            /*allowComments*/
            !1,
            /*allowSourceMaps*/
            !0
          ) : t.getDeclarationName(
            Ce,
            /*allowComments*/
            !1,
            /*allowSourceMaps*/
            !0
          ), Fr = n().createDecorateHelper(St, tr), it = t.createAssignment(tr, Bt ? t.createAssignment(Bt, Fr) : Fr);
          return an(
            it,
            3072
            /* NoComments */
          ), ha(it, nm(Ce)), it;
        }
        function De(Ce) {
          return E.checkDefined($e(Ce.expression, h, lt));
        }
        function re(Ce, ze) {
          let St;
          if (Ce) {
            St = [];
            for (const Bt of Ce) {
              const tr = n().createParamHelper(
                De(Bt),
                ze
              );
              ot(tr, Bt.expression), an(
                tr,
                3072
                /* NoComments */
              ), St.push(tr);
            }
          }
          return St;
        }
        function xe(Ce, ze) {
          const St = Ce.name;
          return Di(St) ? t.createIdentifier("") : ia(St) ? ze && !tg(St.expression) ? t.getGeneratedNameForNode(St) : St.expression : Fe(St) ? t.createStringLiteral(Pn(St)) : t.cloneNode(St);
        }
        function ue() {
          u || (e.enableSubstitution(
            80
            /* Identifier */
          ), u = []);
        }
        function Xe(Ce) {
          if (s.hasNodeCheckFlag(
            Ce,
            262144
            /* ContainsConstructorReference */
          )) {
            ue();
            const ze = t.createUniqueName(Ce.name && !Mo(Ce.name) ? Pn(Ce.name) : "default");
            return u[e_(Ce)] = ze, i(ze), ze;
          }
        }
        function nt(Ce) {
          return t.createPropertyAccessExpression(t.getDeclarationName(Ce), "prototype");
        }
        function oe(Ce, ze) {
          return zs(ze) ? t.getDeclarationName(Ce) : nt(Ce);
        }
        function ve(Ce, ze) {
          return ze = _(Ce, ze), Ce === 1 ? se(ze) : ze;
        }
        function se(Ce) {
          switch (Ce.kind) {
            case 80:
              return Pe(Ce);
          }
          return Ce;
        }
        function Pe(Ce) {
          return Ee(Ce) ?? Ce;
        }
        function Ee(Ce) {
          if (u && s.hasNodeCheckFlag(
            Ce,
            536870912
            /* ConstructorReference */
          )) {
            const ze = s.getReferencedValueDeclaration(Ce);
            if (ze) {
              const St = u[ze.id];
              if (St) {
                const Bt = t.cloneNode(St);
                return ha(Bt, Ce), Zc(Bt, Ce), Bt;
              }
            }
          }
        }
      }
      function zne(e) {
        const {
          factory: t,
          getEmitHelperFactory: n,
          startLexicalEnvironment: i,
          endLexicalEnvironment: s,
          hoistVariableDeclaration: o
        } = e, c = ga(e.getCompilerOptions());
        let _, u, g, m, h, S;
        return Sd(e, T);
        function T(M) {
          _ = void 0, S = !1;
          const ye = yr(M, W, e);
          return qg(ye, e.readEmitHelpers()), S && (DS(
            ye,
            32
            /* TransformPrivateStaticElements */
          ), S = !1), ye;
        }
        function k() {
          switch (u = void 0, g = void 0, m = void 0, _?.kind) {
            case "class":
              u = _.classInfo;
              break;
            case "class-element":
              u = _.next.classInfo, g = _.classThis, m = _.classSuper;
              break;
            case "name":
              const M = _.next.next.next;
              M?.kind === "class-element" && (u = M.next.classInfo, g = M.classThis, m = M.classSuper);
              break;
          }
        }
        function D(M) {
          _ = { kind: "class", next: _, classInfo: M, savedPendingExpressions: h }, h = void 0, k();
        }
        function w() {
          E.assert(_?.kind === "class", "Incorrect value for top.kind.", () => `Expected top.kind to be 'class' but got '${_?.kind}' instead.`), h = _.savedPendingExpressions, _ = _.next, k();
        }
        function A(M) {
          var ye, X;
          E.assert(_?.kind === "class", "Incorrect value for top.kind.", () => `Expected top.kind to be 'class' but got '${_?.kind}' instead.`), _ = { kind: "class-element", next: _ }, (hc(M) || is(M) && sl(M)) && (_.classThis = (ye = _.next.classInfo) == null ? void 0 : ye.classThis, _.classSuper = (X = _.next.classInfo) == null ? void 0 : X.classSuper), k();
        }
        function O() {
          var M;
          E.assert(_?.kind === "class-element", "Incorrect value for top.kind.", () => `Expected top.kind to be 'class-element' but got '${_?.kind}' instead.`), E.assert(((M = _.next) == null ? void 0 : M.kind) === "class", "Incorrect value for top.next.kind.", () => {
            var ye;
            return `Expected top.next.kind to be 'class' but got '${(ye = _.next) == null ? void 0 : ye.kind}' instead.`;
          }), _ = _.next, k();
        }
        function F() {
          E.assert(_?.kind === "class-element", "Incorrect value for top.kind.", () => `Expected top.kind to be 'class-element' but got '${_?.kind}' instead.`), _ = { kind: "name", next: _ }, k();
        }
        function j() {
          E.assert(_?.kind === "name", "Incorrect value for top.kind.", () => `Expected top.kind to be 'name' but got '${_?.kind}' instead.`), _ = _.next, k();
        }
        function z() {
          _?.kind === "other" ? (E.assert(!h), _.depth++) : (_ = { kind: "other", next: _, depth: 0, savedPendingExpressions: h }, h = void 0, k());
        }
        function V() {
          E.assert(_?.kind === "other", "Incorrect value for top.kind.", () => `Expected top.kind to be 'other' but got '${_?.kind}' instead.`), _.depth > 0 ? (E.assert(!h), _.depth--) : (h = _.savedPendingExpressions, _ = _.next, k());
        }
        function G(M) {
          return !!(M.transformFlags & 33554432) || !!g && !!(M.transformFlags & 16384) || !!g && !!m && !!(M.transformFlags & 134217728);
        }
        function W(M) {
          if (!G(M))
            return M;
          switch (M.kind) {
            case 170:
              return E.fail("Use `modifierVisitor` instead.");
            case 263:
              return Me(M);
            case 231:
              return De(M);
            case 176:
            case 172:
            case 175:
              return E.fail("Not supported outside of a class. Use 'classElementVisitor' instead.");
            case 169:
              return Fr(M);
            // Support NamedEvaluation to ensure the correct class name for class expressions.
            case 226:
              return zi(
                M,
                /*discarded*/
                !1
              );
            case 303:
              return ci(M);
            case 260:
              return je(M);
            case 208:
              return ut(M);
            case 277:
              return He(M);
            case 110:
              return Ce(M);
            case 248:
              return Wr(M);
            case 244:
              return ai(M);
            case 356:
              return Fn(
                M,
                /*discarded*/
                !1
              );
            case 217:
              return Et(
                M,
                /*discarded*/
                !1
              );
            case 355:
              return ne(
                M
              );
            case 213:
              return ze(M);
            case 215:
              return St(M);
            case 224:
            case 225:
              return Pt(
                M,
                /*discarded*/
                !1
              );
            case 211:
              return Bt(M);
            case 212:
              return tr(M);
            case 167:
              return cn(M);
            case 174:
            // object literal methods and accessors
            case 178:
            case 177:
            case 218:
            case 262: {
              z();
              const ye = yr(M, pe, e);
              return V(), ye;
            }
            default:
              return yr(M, pe, e);
          }
        }
        function pe(M) {
          switch (M.kind) {
            case 170:
              return;
            default:
              return W(M);
          }
        }
        function K(M) {
          switch (M.kind) {
            case 170:
              return;
            default:
              return M;
          }
        }
        function U(M) {
          switch (M.kind) {
            case 176:
              return ue(M);
            case 174:
              return oe(M);
            case 177:
              return ve(M);
            case 178:
              return se(M);
            case 172:
              return Ee(M);
            case 175:
              return Pe(M);
            default:
              return W(M);
          }
        }
        function ee(M) {
          switch (M.kind) {
            case 224:
            case 225:
              return Pt(
                M,
                /*discarded*/
                !0
              );
            case 226:
              return zi(
                M,
                /*discarded*/
                !0
              );
            case 356:
              return Fn(
                M,
                /*discarded*/
                !0
              );
            case 217:
              return Et(
                M,
                /*discarded*/
                !0
              );
            default:
              return W(M);
          }
        }
        function te(M) {
          let ye = M.name && Fe(M.name) && !Mo(M.name) ? Pn(M.name) : M.name && Di(M.name) && !Mo(M.name) ? Pn(M.name).slice(1) : M.name && la(M.name) && C_(
            M.name.text,
            99
            /* ESNext */
          ) ? M.name.text : Xn(M) ? "class" : "member";
          return Ag(M) && (ye = `get_${ye}`), $d(M) && (ye = `set_${ye}`), M.name && Di(M.name) && (ye = `private_${ye}`), zs(M) && (ye = `static_${ye}`), "_" + ye;
        }
        function ie(M, ye) {
          return t.createUniqueName(
            `${te(M)}_${ye}`,
            24
            /* ReservedInNestedScopes */
          );
        }
        function fe(M, ye) {
          return t.createVariableStatement(
            /*modifiers*/
            void 0,
            t.createVariableDeclarationList(
              [
                t.createVariableDeclaration(
                  M,
                  /*exclamationToken*/
                  void 0,
                  /*type*/
                  void 0,
                  ye
                )
              ],
              1
              /* Let */
            )
          );
        }
        function me(M) {
          const ye = t.createUniqueName(
            "_metadata",
            48
            /* FileLevel */
          );
          let X, pt, jt = !1, ke = !1, st = !1, At, Yr, Mr;
          if (WC(
            /*useLegacyDecorators*/
            !1,
            M
          )) {
            const Rr = at(M.members, (Ye) => (Iu(Ye) || u_(Ye)) && sl(Ye));
            At = t.createUniqueName(
              "_classThis",
              Rr ? 24 : 48
              /* FileLevel */
            );
          }
          for (const Rr of M.members) {
            if (rx(Rr) && S3(
              /*useLegacyDecorators*/
              !1,
              Rr,
              M
            ))
              if (sl(Rr)) {
                if (!pt) {
                  pt = t.createUniqueName(
                    "_staticExtraInitializers",
                    48
                    /* FileLevel */
                  );
                  const Ye = n().createRunInitializersHelper(At ?? t.createThis(), pt);
                  ha(Ye, M.name ?? Ih(M)), Yr ?? (Yr = []), Yr.push(Ye);
                }
              } else {
                if (!X) {
                  X = t.createUniqueName(
                    "_instanceExtraInitializers",
                    48
                    /* FileLevel */
                  );
                  const Ye = n().createRunInitializersHelper(t.createThis(), X);
                  ha(Ye, M.name ?? Ih(M)), Mr ?? (Mr = []), Mr.push(Ye);
                }
                X ?? (X = t.createUniqueName(
                  "_instanceExtraInitializers",
                  48
                  /* FileLevel */
                ));
              }
            if (hc(Rr) ? nk(Rr) || (jt = !0) : is(Rr) && (sl(Rr) ? jt || (jt = !!Rr.initializer || Pf(Rr)) : ke || (ke = !oB(Rr))), (Iu(Rr) || u_(Rr)) && sl(Rr) && (st = !0), pt && X && jt && ke && st)
              break;
          }
          return {
            class: M,
            classThis: At,
            metadataReference: ye,
            instanceMethodExtraInitializersName: X,
            staticMethodExtraInitializersName: pt,
            hasStaticInitializers: jt,
            hasNonAmbientInstanceFields: ke,
            hasStaticPrivateClassElements: st,
            pendingStaticInitializers: Yr,
            pendingInstanceInitializers: Mr
          };
        }
        function q(M) {
          i(), !RW(M) && b0(
            /*useLegacyDecorators*/
            !1,
            M
          ) && (M = kO(e, M, t.createStringLiteral("")));
          const ye = t.getLocalName(
            M,
            /*allowComments*/
            !1,
            /*allowSourceMaps*/
            !1,
            /*ignoreAssignedName*/
            !0
          ), X = me(M), pt = [];
          let jt, ke, st, At, Yr = !1;
          const Mr = qe(OW(
            M,
            /*useLegacyDecorators*/
            !1
          ));
          Mr && (X.classDecoratorsName = t.createUniqueName(
            "_classDecorators",
            48
            /* FileLevel */
          ), X.classDescriptorName = t.createUniqueName(
            "_classDescriptor",
            48
            /* FileLevel */
          ), X.classExtraInitializersName = t.createUniqueName(
            "_classExtraInitializers",
            48
            /* FileLevel */
          ), E.assertIsDefined(X.classThis), pt.push(
            fe(X.classDecoratorsName, t.createArrayLiteralExpression(Mr)),
            fe(X.classDescriptorName),
            fe(X.classExtraInitializersName, t.createArrayLiteralExpression()),
            fe(X.classThis)
          ), X.hasStaticPrivateClassElements && (Yr = !0, S = !0));
          const Rr = J3(
            M.heritageClauses,
            96
            /* ExtendsKeyword */
          ), Ye = Rr && Xc(Rr.types), gt = Ye && $e(Ye.expression, W, lt);
          if (gt) {
            X.classSuper = t.createUniqueName(
              "_classSuper",
              48
              /* FileLevel */
            );
            const lr = xc(gt), br = Kc(lr) && !lr.name || ho(lr) && !lr.name || Co(lr) ? t.createComma(t.createNumericLiteral(0), gt) : gt;
            pt.push(fe(X.classSuper, br));
            const $t = t.updateExpressionWithTypeArguments(
              Ye,
              X.classSuper,
              /*typeArguments*/
              void 0
            ), Qn = t.updateHeritageClause(Rr, [$t]);
            At = t.createNodeArray([Qn]);
          }
          const Jt = X.classThis ?? t.createThis();
          D(X), jt = Dr(jt, we(X.metadataReference, X.classSuper));
          let wt = M.members;
          if (wt = Lr(wt, (lr) => Xo(lr) ? lr : U(lr), Jc), wt = Lr(wt, (lr) => Xo(lr) ? U(lr) : lr, Jc), h) {
            let lr;
            for (let br of h) {
              br = $e(br, function Qn(Ns) {
                if (!(Ns.transformFlags & 16384))
                  return Ns;
                switch (Ns.kind) {
                  case 110:
                    return lr || (lr = t.createUniqueName(
                      "_outerThis",
                      16
                      /* Optimistic */
                    ), pt.unshift(fe(lr, t.createThis()))), lr;
                  default:
                    return yr(Ns, Qn, e);
                }
              }, lt);
              const $t = t.createExpressionStatement(br);
              jt = Dr(jt, $t);
            }
            h = void 0;
          }
          if (w(), at(X.pendingInstanceInitializers) && !jg(M)) {
            const lr = re(M, X);
            if (lr) {
              const br = Zd(M), $t = !!(br && xc(br.expression).kind !== 106), Qn = [];
              if ($t) {
                const $s = t.createSpreadElement(t.createIdentifier("arguments")), Es = t.createCallExpression(
                  t.createSuper(),
                  /*typeArguments*/
                  void 0,
                  [$s]
                );
                Qn.push(t.createExpressionStatement(Es));
              }
              wn(Qn, lr);
              const Ns = t.createBlock(
                Qn,
                /*multiLine*/
                !0
              );
              st = t.createConstructorDeclaration(
                /*modifiers*/
                void 0,
                [],
                Ns
              );
            }
          }
          if (X.staticMethodExtraInitializersName && pt.push(
            fe(X.staticMethodExtraInitializersName, t.createArrayLiteralExpression())
          ), X.instanceMethodExtraInitializersName && pt.push(
            fe(X.instanceMethodExtraInitializersName, t.createArrayLiteralExpression())
          ), X.memberInfos && gl(X.memberInfos, (lr, br) => {
            zs(br) && (pt.push(fe(lr.memberDecoratorsName)), lr.memberInitializersName && pt.push(fe(lr.memberInitializersName, t.createArrayLiteralExpression())), lr.memberExtraInitializersName && pt.push(fe(lr.memberExtraInitializersName, t.createArrayLiteralExpression())), lr.memberDescriptorName && pt.push(fe(lr.memberDescriptorName)));
          }), X.memberInfos && gl(X.memberInfos, (lr, br) => {
            zs(br) || (pt.push(fe(lr.memberDecoratorsName)), lr.memberInitializersName && pt.push(fe(lr.memberInitializersName, t.createArrayLiteralExpression())), lr.memberExtraInitializersName && pt.push(fe(lr.memberExtraInitializersName, t.createArrayLiteralExpression())), lr.memberDescriptorName && pt.push(fe(lr.memberDescriptorName)));
          }), jt = wn(jt, X.staticNonFieldDecorationStatements), jt = wn(jt, X.nonStaticNonFieldDecorationStatements), jt = wn(jt, X.staticFieldDecorationStatements), jt = wn(jt, X.nonStaticFieldDecorationStatements), X.classDescriptorName && X.classDecoratorsName && X.classExtraInitializersName && X.classThis) {
            jt ?? (jt = []);
            const lr = t.createPropertyAssignment("value", Jt), br = t.createObjectLiteralExpression([lr]), $t = t.createAssignment(X.classDescriptorName, br), Qn = t.createPropertyAccessExpression(Jt, "name"), Ns = n().createESDecorateHelper(
              t.createNull(),
              $t,
              X.classDecoratorsName,
              { kind: "class", name: Qn, metadata: X.metadataReference },
              t.createNull(),
              X.classExtraInitializersName
            ), $s = t.createExpressionStatement(Ns);
            ha($s, Ih(M)), jt.push($s);
            const Es = t.createPropertyAccessExpression(X.classDescriptorName, "value"), Nc = t.createAssignment(X.classThis, Es), qo = t.createAssignment(ye, Nc);
            jt.push(t.createExpressionStatement(qo));
          }
          if (jt.push(mt(Jt, X.metadataReference)), at(X.pendingStaticInitializers)) {
            for (const lr of X.pendingStaticInitializers) {
              const br = t.createExpressionStatement(lr);
              ha(br, E0(lr)), ke = Dr(ke, br);
            }
            X.pendingStaticInitializers = void 0;
          }
          if (X.classExtraInitializersName) {
            const lr = n().createRunInitializersHelper(Jt, X.classExtraInitializersName), br = t.createExpressionStatement(lr);
            ha(br, M.name ?? Ih(M)), ke = Dr(ke, br);
          }
          jt && ke && !X.hasStaticInitializers && (wn(jt, ke), ke = void 0);
          const dr = jt && t.createClassStaticBlockDeclaration(t.createBlock(
            jt,
            /*multiLine*/
            !0
          ));
          dr && Yr && bN(
            dr,
            32
            /* TransformPrivateStaticElements */
          );
          const Kt = ke && t.createClassStaticBlockDeclaration(t.createBlock(
            ke,
            /*multiLine*/
            !0
          ));
          if (dr || st || Kt) {
            const lr = [], br = wt.findIndex(nk);
            dr ? (wn(lr, wt, 0, br + 1), lr.push(dr), wn(lr, wt, br + 1)) : wn(lr, wt), st && lr.push(st), Kt && lr.push(Kt), wt = ot(t.createNodeArray(lr), wt);
          }
          const Mt = s();
          let cr;
          if (Mr) {
            cr = t.createClassExpression(
              /*modifiers*/
              void 0,
              /*name*/
              void 0,
              /*typeParameters*/
              void 0,
              At,
              wt
            ), X.classThis && (cr = Fne(t, cr, X.classThis));
            const lr = t.createVariableDeclaration(
              ye,
              /*exclamationToken*/
              void 0,
              /*type*/
              void 0,
              cr
            ), br = t.createVariableDeclarationList([lr]), $t = X.classThis ? t.createAssignment(ye, X.classThis) : ye;
            pt.push(
              t.createVariableStatement(
                /*modifiers*/
                void 0,
                br
              ),
              t.createReturnStatement($t)
            );
          } else
            cr = t.createClassExpression(
              /*modifiers*/
              void 0,
              M.name,
              /*typeParameters*/
              void 0,
              At,
              wt
            ), pt.push(t.createReturnStatement(cr));
          if (Yr) {
            DS(
              cr,
              32
              /* TransformPrivateStaticElements */
            );
            for (const lr of cr.members)
              (Iu(lr) || u_(lr)) && sl(lr) && DS(
                lr,
                32
                /* TransformPrivateStaticElements */
              );
          }
          return xn(cr, M), t.createImmediatelyInvokedArrowFunction(t.mergeLexicalEnvironment(pt, Mt));
        }
        function he(M) {
          return b0(
            /*useLegacyDecorators*/
            !1,
            M
          ) || B4(
            /*useLegacyDecorators*/
            !1,
            M
          );
        }
        function Me(M) {
          if (he(M)) {
            const ye = [], X = Vo(M, Xn) ?? M, pt = X.name ? t.createStringLiteralFromNode(X.name) : t.createStringLiteral("default"), jt = qn(
              M,
              32
              /* Export */
            ), ke = qn(
              M,
              2048
              /* Default */
            );
            if (M.name || (M = kO(e, M, pt)), jt && ke) {
              const st = q(M);
              if (M.name) {
                const At = t.createVariableDeclaration(
                  t.getLocalName(M),
                  /*exclamationToken*/
                  void 0,
                  /*type*/
                  void 0,
                  st
                );
                xn(At, M);
                const Yr = t.createVariableDeclarationList(
                  [At],
                  1
                  /* Let */
                ), Mr = t.createVariableStatement(
                  /*modifiers*/
                  void 0,
                  Yr
                );
                ye.push(Mr);
                const Rr = t.createExportDefault(t.getDeclarationName(M));
                xn(Rr, M), Zc(Rr, sm(M)), ha(Rr, Ih(M)), ye.push(Rr);
              } else {
                const At = t.createExportDefault(st);
                xn(At, M), Zc(At, sm(M)), ha(At, Ih(M)), ye.push(At);
              }
            } else {
              E.assertIsDefined(M.name, "A class declaration that is not a default export must have a name.");
              const st = q(M), At = jt ? (Jt) => Rx(Jt) ? void 0 : K(Jt) : K, Yr = Lr(M.modifiers, At, Ks), Mr = t.getLocalName(
                M,
                /*allowComments*/
                !1,
                /*allowSourceMaps*/
                !0
              ), Rr = t.createVariableDeclaration(
                Mr,
                /*exclamationToken*/
                void 0,
                /*type*/
                void 0,
                st
              );
              xn(Rr, M);
              const Ye = t.createVariableDeclarationList(
                [Rr],
                1
                /* Let */
              ), gt = t.createVariableStatement(Yr, Ye);
              if (xn(gt, M), Zc(gt, sm(M)), ye.push(gt), jt) {
                const Jt = t.createExternalModuleExport(Mr);
                xn(Jt, M), ye.push(Jt);
              }
            }
            return Wm(ye);
          } else {
            const ye = Lr(M.modifiers, K, Ks), X = Lr(M.heritageClauses, W, Q_);
            D(
              /*classInfo*/
              void 0
            );
            const pt = Lr(M.members, U, Jc);
            return w(), t.updateClassDeclaration(
              M,
              ye,
              M.name,
              /*typeParameters*/
              void 0,
              X,
              pt
            );
          }
        }
        function De(M) {
          if (he(M)) {
            const ye = q(M);
            return xn(ye, M), ye;
          } else {
            const ye = Lr(M.modifiers, K, Ks), X = Lr(M.heritageClauses, W, Q_);
            D(
              /*classInfo*/
              void 0
            );
            const pt = Lr(M.members, U, Jc);
            return w(), t.updateClassExpression(
              M,
              ye,
              M.name,
              /*typeParameters*/
              void 0,
              X,
              pt
            );
          }
        }
        function re(M, ye) {
          if (at(ye.pendingInstanceInitializers)) {
            const X = [];
            return X.push(
              t.createExpressionStatement(
                t.inlineExpressions(ye.pendingInstanceInitializers)
              )
            ), ye.pendingInstanceInitializers = void 0, X;
          }
        }
        function xe(M, ye, X, pt, jt, ke) {
          const st = pt[jt], At = ye[st];
          if (wn(M, Lr(ye, W, yi, X, st - X)), OS(At)) {
            const Yr = [];
            xe(
              Yr,
              At.tryBlock.statements,
              /*statementOffset*/
              0,
              pt,
              jt + 1,
              ke
            );
            const Mr = t.createNodeArray(Yr);
            ot(Mr, At.tryBlock.statements), M.push(t.updateTryStatement(
              At,
              t.updateBlock(At.tryBlock, Yr),
              $e(At.catchClause, W, Qb),
              $e(At.finallyBlock, W, Cs)
            ));
          } else
            wn(M, Lr(ye, W, yi, st, 1)), wn(M, ke);
          wn(M, Lr(ye, W, yi, st + 1));
        }
        function ue(M) {
          A(M);
          const ye = Lr(M.modifiers, K, Ks), X = Lr(M.parameters, W, Ni);
          let pt;
          if (M.body && u) {
            const jt = re(u.class, u);
            if (jt) {
              const ke = [], st = t.copyPrologue(
                M.body.statements,
                ke,
                /*ensureUseStrict*/
                !1,
                W
              ), At = vO(M.body.statements, st);
              At.length > 0 ? xe(ke, M.body.statements, st, At, 0, jt) : (wn(ke, jt), wn(ke, Lr(M.body.statements, W, yi))), pt = t.createBlock(
                ke,
                /*multiLine*/
                !0
              ), xn(pt, M.body), ot(pt, M.body);
            }
          }
          return pt ?? (pt = $e(M.body, W, Cs)), O(), t.updateConstructorDeclaration(M, ye, X, pt);
        }
        function Xe(M, ye) {
          return M !== ye && (Zc(M, ye), ha(M, Ih(ye))), M;
        }
        function nt(M, ye, X) {
          let pt, jt, ke, st, At, Yr;
          if (!ye) {
            const Ye = Lr(M.modifiers, K, Ks);
            return F(), jt = li(M.name), j(), { modifiers: Ye, referencedName: pt, name: jt, initializersName: ke, descriptorName: Yr, thisArg: At };
          }
          const Mr = qe(SO(
            M,
            ye.class,
            /*useLegacyDecorators*/
            !1
          )), Rr = Lr(M.modifiers, K, Ks);
          if (Mr) {
            const Ye = ie(M, "decorators"), gt = t.createArrayLiteralExpression(Mr), Jt = t.createAssignment(Ye, gt), wt = { memberDecoratorsName: Ye };
            ye.memberInfos ?? (ye.memberInfos = /* @__PURE__ */ new Map()), ye.memberInfos.set(M, wt), h ?? (h = []), h.push(Jt);
            const dr = rx(M) || u_(M) ? zs(M) ? ye.staticNonFieldDecorationStatements ?? (ye.staticNonFieldDecorationStatements = []) : ye.nonStaticNonFieldDecorationStatements ?? (ye.nonStaticNonFieldDecorationStatements = []) : is(M) && !u_(M) ? zs(M) ? ye.staticFieldDecorationStatements ?? (ye.staticFieldDecorationStatements = []) : ye.nonStaticFieldDecorationStatements ?? (ye.nonStaticFieldDecorationStatements = []) : E.fail(), Kt = ap(M) ? "getter" : P_(M) ? "setter" : uc(M) ? "method" : u_(M) ? "accessor" : is(M) ? "field" : E.fail();
            let Mt;
            if (Fe(M.name) || Di(M.name))
              Mt = { computed: !1, name: M.name };
            else if (Kd(M.name))
              Mt = { computed: !0, name: t.createStringLiteralFromNode(M.name) };
            else {
              const lr = M.name.expression;
              Kd(lr) && !Fe(lr) ? Mt = { computed: !0, name: t.createStringLiteralFromNode(lr) } : (F(), { referencedName: pt, name: jt } = ii(M.name), Mt = { computed: !0, name: pt }, j());
            }
            const cr = {
              kind: Kt,
              name: Mt,
              static: zs(M),
              private: Di(M.name),
              access: {
                // 15.7.3 CreateDecoratorAccessObject (kind, name)
                // 2. If _kind_ is ~field~, ~method~, ~accessor~, or ~getter~, then ...
                get: is(M) || ap(M) || uc(M),
                // 3. If _kind_ is ~field~, ~accessor~, or ~setter~, then ...
                set: is(M) || P_(M)
              },
              metadata: ye.metadataReference
            };
            if (rx(M)) {
              const lr = zs(M) ? ye.staticMethodExtraInitializersName : ye.instanceMethodExtraInitializersName;
              E.assertIsDefined(lr);
              let br;
              Iu(M) && X && (br = X(M, Lr(Rr, (Ns) => Mn(Ns, DD), Ks)), wt.memberDescriptorName = Yr = ie(M, "descriptor"), br = t.createAssignment(Yr, br));
              const $t = n().createESDecorateHelper(t.createThis(), br ?? t.createNull(), Ye, cr, t.createNull(), lr), Qn = t.createExpressionStatement($t);
              ha(Qn, Ih(M)), dr.push(Qn);
            } else if (is(M)) {
              ke = wt.memberInitializersName ?? (wt.memberInitializersName = ie(M, "initializers")), st = wt.memberExtraInitializersName ?? (wt.memberExtraInitializersName = ie(M, "extraInitializers")), zs(M) && (At = ye.classThis);
              let lr;
              Iu(M) && tm(M) && X && (lr = X(
                M,
                /*modifiers*/
                void 0
              ), wt.memberDescriptorName = Yr = ie(M, "descriptor"), lr = t.createAssignment(Yr, lr));
              const br = n().createESDecorateHelper(
                u_(M) ? t.createThis() : t.createNull(),
                lr ?? t.createNull(),
                Ye,
                cr,
                ke,
                st
              ), $t = t.createExpressionStatement(br);
              ha($t, Ih(M)), dr.push($t);
            }
          }
          return jt === void 0 && (F(), jt = li(M.name), j()), !at(Rr) && (uc(M) || is(M)) && an(
            jt,
            1024
            /* NoLeadingComments */
          ), { modifiers: Rr, referencedName: pt, name: jt, initializersName: ke, extraInitializersName: st, descriptorName: Yr, thisArg: At };
        }
        function oe(M) {
          A(M);
          const { modifiers: ye, name: X, descriptorName: pt } = nt(M, u, Ie);
          if (pt)
            return O(), Xe(Ve(ye, X, pt), M);
          {
            const jt = Lr(M.parameters, W, Ni), ke = $e(M.body, W, Cs);
            return O(), Xe(t.updateMethodDeclaration(
              M,
              ye,
              M.asteriskToken,
              X,
              /*questionToken*/
              void 0,
              /*typeParameters*/
              void 0,
              jt,
              /*type*/
              void 0,
              ke
            ), M);
          }
        }
        function ve(M) {
          A(M);
          const { modifiers: ye, name: X, descriptorName: pt } = nt(M, u, ft);
          if (pt)
            return O(), Xe(Rt(ye, X, pt), M);
          {
            const jt = Lr(M.parameters, W, Ni), ke = $e(M.body, W, Cs);
            return O(), Xe(t.updateGetAccessorDeclaration(
              M,
              ye,
              X,
              jt,
              /*type*/
              void 0,
              ke
            ), M);
          }
        }
        function se(M) {
          A(M);
          const { modifiers: ye, name: X, descriptorName: pt } = nt(M, u, _t);
          if (pt)
            return O(), Xe(Zr(ye, X, pt), M);
          {
            const jt = Lr(M.parameters, W, Ni), ke = $e(M.body, W, Cs);
            return O(), Xe(t.updateSetAccessorDeclaration(M, ye, X, jt, ke), M);
          }
        }
        function Pe(M) {
          A(M);
          let ye;
          if (nk(M))
            ye = yr(M, W, e);
          else if (tw(M)) {
            const X = g;
            g = void 0, ye = yr(M, W, e), g = X;
          } else if (M = yr(M, W, e), ye = M, u && (u.hasStaticInitializers = !0, at(u.pendingStaticInitializers))) {
            const X = [];
            for (const ke of u.pendingStaticInitializers) {
              const st = t.createExpressionStatement(ke);
              ha(st, E0(ke)), X.push(st);
            }
            const pt = t.createBlock(
              X,
              /*multiLine*/
              !0
            );
            ye = [t.createClassStaticBlockDeclaration(pt), ye], u.pendingStaticInitializers = void 0;
          }
          return O(), ye;
        }
        function Ee(M) {
          G_(M, it) && (M = Y_(e, M, Wt(M.initializer))), A(M), E.assert(!oB(M), "Not yet implemented.");
          const { modifiers: ye, name: X, initializersName: pt, extraInitializersName: jt, descriptorName: ke, thisArg: st } = nt(M, u, tm(M) ? kt : void 0);
          i();
          let At = $e(M.initializer, W, lt);
          pt && (At = n().createRunInitializersHelper(
            st ?? t.createThis(),
            pt,
            At ?? t.createVoidZero()
          )), zs(M) && u && At && (u.hasStaticInitializers = !0);
          const Yr = s();
          if (at(Yr) && (At = t.createImmediatelyInvokedArrowFunction([
            ...Yr,
            t.createReturnStatement(At)
          ])), u && (zs(M) ? (At = Ne(
            u,
            /*isStatic*/
            !0,
            At
          ), jt && (u.pendingStaticInitializers ?? (u.pendingStaticInitializers = []), u.pendingStaticInitializers.push(
            n().createRunInitializersHelper(
              u.classThis ?? t.createThis(),
              jt
            )
          ))) : (At = Ne(
            u,
            /*isStatic*/
            !1,
            At
          ), jt && (u.pendingInstanceInitializers ?? (u.pendingInstanceInitializers = []), u.pendingInstanceInitializers.push(
            n().createRunInitializersHelper(
              t.createThis(),
              jt
            )
          )))), O(), tm(M) && ke) {
            const Mr = sm(M), Rr = E0(M), Ye = M.name;
            let gt = Ye, Jt = Ye;
            if (ia(Ye) && !tg(Ye.expression)) {
              const cr = jF(Ye);
              if (cr)
                gt = t.updateComputedPropertyName(Ye, $e(Ye.expression, W, lt)), Jt = t.updateComputedPropertyName(Ye, cr.left);
              else {
                const lr = t.createTempVariable(o);
                ha(lr, Ye.expression);
                const br = $e(Ye.expression, W, lt), $t = t.createAssignment(lr, br);
                ha($t, Ye.expression), gt = t.updateComputedPropertyName(Ye, $t), Jt = t.updateComputedPropertyName(Ye, lr);
              }
            }
            const wt = Lr(ye, (cr) => cr.kind !== 129 ? cr : void 0, Ks), dr = Az(t, M, wt, At);
            xn(dr, M), an(
              dr,
              3072
              /* NoComments */
            ), ha(dr, Rr), ha(dr.name, M.name);
            const Kt = Rt(wt, gt, ke);
            xn(Kt, M), Zc(Kt, Mr), ha(Kt, Rr);
            const Mt = Zr(wt, Jt, ke);
            return xn(Mt, M), an(
              Mt,
              3072
              /* NoComments */
            ), ha(Mt, Rr), [dr, Kt, Mt];
          }
          return Xe(t.updatePropertyDeclaration(
            M,
            ye,
            X,
            /*questionOrExclamationToken*/
            void 0,
            /*type*/
            void 0,
            At
          ), M);
        }
        function Ce(M) {
          return g ?? M;
        }
        function ze(M) {
          if (E_(M.expression) && g) {
            const ye = $e(M.expression, W, lt), X = Lr(M.arguments, W, lt), pt = t.createFunctionCallCall(ye, g, X);
            return xn(pt, M), ot(pt, M), pt;
          }
          return yr(M, W, e);
        }
        function St(M) {
          if (E_(M.tag) && g) {
            const ye = $e(M.tag, W, lt), X = t.createFunctionBindCall(ye, g, []);
            xn(X, M), ot(X, M);
            const pt = $e(M.template, W, nx);
            return t.updateTaggedTemplateExpression(
              M,
              X,
              /*typeArguments*/
              void 0,
              pt
            );
          }
          return yr(M, W, e);
        }
        function Bt(M) {
          if (E_(M) && Fe(M.name) && g && m) {
            const ye = t.createStringLiteralFromNode(M.name), X = t.createReflectGetCall(m, ye, g);
            return xn(X, M.expression), ot(X, M.expression), X;
          }
          return yr(M, W, e);
        }
        function tr(M) {
          if (E_(M) && g && m) {
            const ye = $e(M.argumentExpression, W, lt), X = t.createReflectGetCall(m, ye, g);
            return xn(X, M.expression), ot(X, M.expression), X;
          }
          return yr(M, W, e);
        }
        function Fr(M) {
          G_(M, it) && (M = Y_(e, M, Wt(M.initializer)));
          const ye = t.updateParameterDeclaration(
            M,
            /*modifiers*/
            void 0,
            M.dotDotDotToken,
            $e(M.name, W, lS),
            /*questionToken*/
            void 0,
            /*type*/
            void 0,
            $e(M.initializer, W, lt)
          );
          return ye !== M && (Zc(ye, M), ot(ye, nm(M)), ha(ye, nm(M)), an(
            ye.name,
            64
            /* NoTrailingSourceMap */
          )), ye;
        }
        function it(M) {
          return Kc(M) && !M.name && he(M);
        }
        function Wt(M) {
          const ye = xc(M);
          return Kc(ye) && !ye.name && !b0(
            /*useLegacyDecorators*/
            !1,
            ye
          );
        }
        function Wr(M) {
          return t.updateForStatement(
            M,
            $e(M.initializer, ee, Yf),
            $e(M.condition, W, lt),
            $e(M.incrementor, ee, lt),
            Ku(M.statement, W, e)
          );
        }
        function ai(M) {
          return yr(M, ee, e);
        }
        function zi(M, ye) {
          if (T0(M)) {
            const X = ms(M.left), pt = $e(M.right, W, lt);
            return t.updateBinaryExpression(M, X, M.operatorToken, pt);
          }
          if (wl(M)) {
            if (G_(M, it))
              return M = Y_(e, M, Wt(M.right)), yr(M, W, e);
            if (E_(M.left) && g && m) {
              let X = fo(M.left) ? $e(M.left.argumentExpression, W, lt) : Fe(M.left.name) ? t.createStringLiteralFromNode(M.left.name) : void 0;
              if (X) {
                let pt = $e(M.right, W, lt);
                if (ZD(M.operatorToken.kind)) {
                  let ke = X;
                  tg(X) || (ke = t.createTempVariable(o), X = t.createAssignment(ke, X));
                  const st = t.createReflectGetCall(
                    m,
                    ke,
                    g
                  );
                  xn(st, M.left), ot(st, M.left), pt = t.createBinaryExpression(
                    st,
                    KD(M.operatorToken.kind),
                    pt
                  ), ot(pt, M);
                }
                const jt = ye ? void 0 : t.createTempVariable(o);
                return jt && (pt = t.createAssignment(jt, pt), ot(jt, M)), pt = t.createReflectSetCall(
                  m,
                  X,
                  pt,
                  g
                ), xn(pt, M), ot(pt, M), jt && (pt = t.createComma(pt, jt), ot(pt, M)), pt;
              }
            }
          }
          if (M.operatorToken.kind === 28) {
            const X = $e(M.left, ee, lt), pt = $e(M.right, ye ? ee : W, lt);
            return t.updateBinaryExpression(M, X, M.operatorToken, pt);
          }
          return yr(M, W, e);
        }
        function Pt(M, ye) {
          if (M.operator === 46 || M.operator === 47) {
            const X = za(M.operand);
            if (E_(X) && g && m) {
              let pt = fo(X) ? $e(X.argumentExpression, W, lt) : Fe(X.name) ? t.createStringLiteralFromNode(X.name) : void 0;
              if (pt) {
                let jt = pt;
                tg(pt) || (jt = t.createTempVariable(o), pt = t.createAssignment(jt, pt));
                let ke = t.createReflectGetCall(m, jt, g);
                xn(ke, M), ot(ke, M);
                const st = ye ? void 0 : t.createTempVariable(o);
                return ke = IF(t, M, ke, o, st), ke = t.createReflectSetCall(m, pt, ke, g), xn(ke, M), ot(ke, M), st && (ke = t.createComma(ke, st), ot(ke, M)), ke;
              }
            }
          }
          return yr(M, W, e);
        }
        function Fn(M, ye) {
          const X = ye ? gO(M.elements, ee) : gO(M.elements, W, ee);
          return t.updateCommaListExpression(M, X);
        }
        function ii(M) {
          if (Kd(M) || Di(M)) {
            const ke = t.createStringLiteralFromNode(M), st = $e(M, W, Bc);
            return { referencedName: ke, name: st };
          }
          if (Kd(M.expression) && !Fe(M.expression)) {
            const ke = t.createStringLiteralFromNode(M.expression), st = $e(M, W, Bc);
            return { referencedName: ke, name: st };
          }
          const ye = t.getGeneratedNameForNode(M);
          o(ye);
          const X = n().createPropKeyHelper($e(M.expression, W, lt)), pt = t.createAssignment(ye, X), jt = t.updateComputedPropertyName(M, Q(pt));
          return { referencedName: ye, name: jt };
        }
        function li(M) {
          return ia(M) ? cn(M) : $e(M, W, Bc);
        }
        function cn(M) {
          let ye = $e(M.expression, W, lt);
          return tg(ye) || (ye = Q(ye)), t.updateComputedPropertyName(M, ye);
        }
        function ci(M) {
          return G_(M, it) && (M = Y_(e, M, Wt(M.initializer))), yr(M, W, e);
        }
        function je(M) {
          return G_(M, it) && (M = Y_(e, M, Wt(M.initializer))), yr(M, W, e);
        }
        function ut(M) {
          return G_(M, it) && (M = Y_(e, M, Wt(M.initializer))), yr(M, W, e);
        }
        function er(M) {
          if (ua(M) || Ql(M))
            return ms(M);
          if (E_(M) && g && m) {
            const ye = fo(M) ? $e(M.argumentExpression, W, lt) : Fe(M.name) ? t.createStringLiteralFromNode(M.name) : void 0;
            if (ye) {
              const X = t.createTempVariable(
                /*recordTempVariable*/
                void 0
              ), pt = t.createAssignmentTargetWrapper(
                X,
                t.createReflectSetCall(
                  m,
                  ye,
                  X,
                  g
                )
              );
              return xn(pt, M), ot(pt, M), pt;
            }
          }
          return yr(M, W, e);
        }
        function Vr(M) {
          if (wl(
            M,
            /*excludeCompoundAssignment*/
            !0
          )) {
            G_(M, it) && (M = Y_(e, M, Wt(M.right)));
            const ye = er(M.left), X = $e(M.right, W, lt);
            return t.updateBinaryExpression(M, ye, M.operatorToken, X);
          } else
            return er(M);
        }
        function zn(M) {
          if (__(M.expression)) {
            const ye = er(M.expression);
            return t.updateSpreadElement(M, ye);
          }
          return yr(M, W, e);
        }
        function Wn(M) {
          return E.assertNode(M, ZP), op(M) ? zn(M) : vl(M) ? yr(M, W, e) : Vr(M);
        }
        function bi(M) {
          const ye = $e(M.name, W, Bc);
          if (wl(
            M.initializer,
            /*excludeCompoundAssignment*/
            !0
          )) {
            const X = Vr(M.initializer);
            return t.updatePropertyAssignment(M, ye, X);
          }
          if (__(M.initializer)) {
            const X = er(M.initializer);
            return t.updatePropertyAssignment(M, ye, X);
          }
          return yr(M, W, e);
        }
        function ks(M) {
          return G_(M, it) && (M = Y_(e, M, Wt(M.objectAssignmentInitializer))), yr(M, W, e);
        }
        function ta(M) {
          if (__(M.expression)) {
            const ye = er(M.expression);
            return t.updateSpreadAssignment(M, ye);
          }
          return yr(M, W, e);
        }
        function gr(M) {
          return E.assertNode(M, YP), Gg(M) ? ta(M) : _u(M) ? ks(M) : tl(M) ? bi(M) : yr(M, W, e);
        }
        function ms(M) {
          if (Ql(M)) {
            const ye = Lr(M.elements, Wn, lt);
            return t.updateArrayLiteralExpression(M, ye);
          } else {
            const ye = Lr(M.properties, gr, Eh);
            return t.updateObjectLiteralExpression(M, ye);
          }
        }
        function He(M) {
          return G_(M, it) && (M = Y_(e, M, Wt(M.expression))), yr(M, W, e);
        }
        function Et(M, ye) {
          const X = ye ? ee : W, pt = $e(M.expression, X, lt);
          return t.updateParenthesizedExpression(M, pt);
        }
        function ne(M, ye) {
          const X = W, pt = $e(M.expression, X, lt);
          return t.updatePartiallyEmittedExpression(M, pt);
        }
        function rt(M, ye) {
          return at(M) && (ye ? Zu(ye) ? (M.push(ye.expression), ye = t.updateParenthesizedExpression(ye, t.inlineExpressions(M))) : (M.push(ye), ye = t.inlineExpressions(M)) : ye = t.inlineExpressions(M)), ye;
        }
        function Q(M) {
          const ye = rt(h, M);
          return E.assertIsDefined(ye), ye !== M && (h = void 0), ye;
        }
        function Ne(M, ye, X) {
          const pt = rt(ye ? M.pendingStaticInitializers : M.pendingInstanceInitializers, X);
          return pt !== X && (ye ? M.pendingStaticInitializers = void 0 : M.pendingInstanceInitializers = void 0), pt;
        }
        function qe(M) {
          if (!M)
            return;
          const ye = [];
          return wn(ye, fr(M.decorators, Ze)), ye;
        }
        function Ze(M) {
          const ye = $e(M.expression, W, lt);
          an(
            ye,
            3072
            /* NoComments */
          );
          const X = xc(ye);
          if (ko(X)) {
            const { target: pt, thisArg: jt } = t.createCallBinding(
              ye,
              o,
              c,
              /*cacheIdentifiers*/
              !0
            );
            return t.restoreOuterExpressions(ye, t.createFunctionBindCall(pt, jt, []));
          }
          return ye;
        }
        function bt(M, ye, X, pt, jt, ke, st) {
          const At = t.createFunctionExpression(
            X,
            pt,
            /*name*/
            void 0,
            /*typeParameters*/
            void 0,
            ke,
            /*type*/
            void 0,
            st ?? t.createBlock([])
          );
          xn(At, M), ha(At, Ih(M)), an(
            At,
            3072
            /* NoComments */
          );
          const Yr = jt === "get" || jt === "set" ? jt : void 0, Mr = t.createStringLiteralFromNode(
            ye,
            /*isSingleQuote*/
            void 0
          ), Rr = n().createSetFunctionNameHelper(At, Mr, Yr), Ye = t.createPropertyAssignment(t.createIdentifier(jt), Rr);
          return xn(Ye, M), ha(Ye, Ih(M)), an(
            Ye,
            3072
            /* NoComments */
          ), Ye;
        }
        function Ie(M, ye) {
          return t.createObjectLiteralExpression([
            bt(
              M,
              M.name,
              ye,
              M.asteriskToken,
              "value",
              Lr(M.parameters, W, Ni),
              $e(M.body, W, Cs)
            )
          ]);
        }
        function ft(M, ye) {
          return t.createObjectLiteralExpression([
            bt(
              M,
              M.name,
              ye,
              /*asteriskToken*/
              void 0,
              "get",
              [],
              $e(M.body, W, Cs)
            )
          ]);
        }
        function _t(M, ye) {
          return t.createObjectLiteralExpression([
            bt(
              M,
              M.name,
              ye,
              /*asteriskToken*/
              void 0,
              "set",
              Lr(M.parameters, W, Ni),
              $e(M.body, W, Cs)
            )
          ]);
        }
        function kt(M, ye) {
          return t.createObjectLiteralExpression([
            bt(
              M,
              M.name,
              ye,
              /*asteriskToken*/
              void 0,
              "get",
              [],
              t.createBlock([
                t.createReturnStatement(
                  t.createPropertyAccessExpression(
                    t.createThis(),
                    t.getGeneratedPrivateNameForNode(M.name)
                  )
                )
              ])
            ),
            bt(
              M,
              M.name,
              ye,
              /*asteriskToken*/
              void 0,
              "set",
              [t.createParameterDeclaration(
                /*modifiers*/
                void 0,
                /*dotDotDotToken*/
                void 0,
                "value"
              )],
              t.createBlock([
                t.createExpressionStatement(
                  t.createAssignment(
                    t.createPropertyAccessExpression(
                      t.createThis(),
                      t.getGeneratedPrivateNameForNode(M.name)
                    ),
                    t.createIdentifier("value")
                  )
                )
              ])
            )
          ]);
        }
        function Ve(M, ye, X) {
          return M = Lr(M, (pt) => jx(pt) ? pt : void 0, Ks), t.createGetAccessorDeclaration(
            M,
            ye,
            [],
            /*type*/
            void 0,
            t.createBlock([
              t.createReturnStatement(
                t.createPropertyAccessExpression(
                  X,
                  t.createIdentifier("value")
                )
              )
            ])
          );
        }
        function Rt(M, ye, X) {
          return M = Lr(M, (pt) => jx(pt) ? pt : void 0, Ks), t.createGetAccessorDeclaration(
            M,
            ye,
            [],
            /*type*/
            void 0,
            t.createBlock([
              t.createReturnStatement(
                t.createFunctionCallCall(
                  t.createPropertyAccessExpression(
                    X,
                    t.createIdentifier("get")
                  ),
                  t.createThis(),
                  []
                )
              )
            ])
          );
        }
        function Zr(M, ye, X) {
          return M = Lr(M, (pt) => jx(pt) ? pt : void 0, Ks), t.createSetAccessorDeclaration(
            M,
            ye,
            [t.createParameterDeclaration(
              /*modifiers*/
              void 0,
              /*dotDotDotToken*/
              void 0,
              "value"
            )],
            t.createBlock([
              t.createReturnStatement(
                t.createFunctionCallCall(
                  t.createPropertyAccessExpression(
                    X,
                    t.createIdentifier("set")
                  ),
                  t.createThis(),
                  [t.createIdentifier("value")]
                )
              )
            ])
          );
        }
        function we(M, ye) {
          const X = t.createVariableDeclaration(
            M,
            /*exclamationToken*/
            void 0,
            /*type*/
            void 0,
            t.createConditionalExpression(
              t.createLogicalAnd(
                t.createTypeCheck(t.createIdentifier("Symbol"), "function"),
                t.createPropertyAccessExpression(t.createIdentifier("Symbol"), "metadata")
              ),
              t.createToken(
                58
                /* QuestionToken */
              ),
              t.createCallExpression(
                t.createPropertyAccessExpression(t.createIdentifier("Object"), "create"),
                /*typeArguments*/
                void 0,
                [ye ? _e(ye) : t.createNull()]
              ),
              t.createToken(
                59
                /* ColonToken */
              ),
              t.createVoidZero()
            )
          );
          return t.createVariableStatement(
            /*modifiers*/
            void 0,
            t.createVariableDeclarationList(
              [X],
              2
              /* Const */
            )
          );
        }
        function mt(M, ye) {
          const X = t.createObjectDefinePropertyCall(
            M,
            t.createPropertyAccessExpression(t.createIdentifier("Symbol"), "metadata"),
            t.createPropertyDescriptor(
              { configurable: !0, writable: !0, enumerable: !0, value: ye },
              /*singleLine*/
              !0
            )
          );
          return an(
            t.createIfStatement(ye, t.createExpressionStatement(X)),
            1
            /* SingleLine */
          );
        }
        function _e(M) {
          return t.createBinaryExpression(
            t.createElementAccessExpression(
              M,
              t.createPropertyAccessExpression(t.createIdentifier("Symbol"), "metadata")
            ),
            61,
            t.createNull()
          );
        }
      }
      function Wne(e) {
        const {
          factory: t,
          getEmitHelperFactory: n,
          resumeLexicalEnvironment: i,
          endLexicalEnvironment: s,
          hoistVariableDeclaration: o
        } = e, c = e.getEmitResolver(), _ = e.getCompilerOptions(), u = ga(_);
        let g = 0, m = 0, h, S, T, k;
        const D = [];
        let w = 0;
        const A = e.onEmitNode, O = e.onSubstituteNode;
        return e.onEmitNode = ai, e.onSubstituteNode = zi, Sd(e, F);
        function F(je) {
          if (je.isDeclarationFile)
            return je;
          j(1, !1), j(2, !aB(je, _));
          const ut = yr(je, U, e);
          return qg(ut, e.readEmitHelpers()), ut;
        }
        function j(je, ut) {
          w = ut ? w | je : w & ~je;
        }
        function z(je) {
          return (w & je) !== 0;
        }
        function V() {
          return !z(
            1
            /* NonTopLevel */
          );
        }
        function G() {
          return z(
            2
            /* HasLexicalThis */
          );
        }
        function W(je, ut, er) {
          const Vr = je & ~w;
          if (Vr) {
            j(
              Vr,
              /*val*/
              !0
            );
            const zn = ut(er);
            return j(
              Vr,
              /*val*/
              !1
            ), zn;
          }
          return ut(er);
        }
        function pe(je) {
          return yr(je, U, e);
        }
        function K(je) {
          switch (je.kind) {
            case 218:
            case 262:
            case 174:
            case 177:
            case 178:
            case 176:
              return je;
            case 169:
            case 208:
            case 260:
              break;
            case 80:
              if (k && c.isArgumentsLocalBinding(je))
                return k;
              break;
          }
          return yr(je, K, e);
        }
        function U(je) {
          if ((je.transformFlags & 256) === 0)
            return k ? K(je) : je;
          switch (je.kind) {
            case 134:
              return;
            case 223:
              return he(je);
            case 174:
              return W(3, De, je);
            case 262:
              return W(3, ue, je);
            case 218:
              return W(3, Xe, je);
            case 219:
              return W(1, nt, je);
            case 211:
              return S && kn(je) && je.expression.kind === 108 && S.add(je.name.escapedText), yr(je, U, e);
            case 212:
              return S && je.expression.kind === 108 && (T = !0), yr(je, U, e);
            case 177:
              return W(3, re, je);
            case 178:
              return W(3, xe, je);
            case 176:
              return W(3, Me, je);
            case 263:
            case 231:
              return W(3, pe, je);
            default:
              return yr(je, U, e);
          }
        }
        function ee(je) {
          if (CK(je))
            switch (je.kind) {
              case 243:
                return ie(je);
              case 248:
                return q(je);
              case 249:
                return fe(je);
              case 250:
                return me(je);
              case 299:
                return te(je);
              case 241:
              case 255:
              case 269:
              case 296:
              case 297:
              case 258:
              case 246:
              case 247:
              case 245:
              case 254:
              case 256:
                return yr(je, ee, e);
              default:
                return E.assertNever(je, "Unhandled node.");
            }
          return U(je);
        }
        function te(je) {
          const ut = /* @__PURE__ */ new Set();
          oe(je.variableDeclaration, ut);
          let er;
          if (ut.forEach((Vr, zn) => {
            h.has(zn) && (er || (er = new Set(h)), er.delete(zn));
          }), er) {
            const Vr = h;
            h = er;
            const zn = yr(je, ee, e);
            return h = Vr, zn;
          } else
            return yr(je, ee, e);
        }
        function ie(je) {
          if (ve(je.declarationList)) {
            const ut = se(
              je.declarationList,
              /*hasReceiver*/
              !1
            );
            return ut ? t.createExpressionStatement(ut) : void 0;
          }
          return yr(je, U, e);
        }
        function fe(je) {
          return t.updateForInStatement(
            je,
            ve(je.initializer) ? se(
              je.initializer,
              /*hasReceiver*/
              !0
            ) : E.checkDefined($e(je.initializer, U, Yf)),
            E.checkDefined($e(je.expression, U, lt)),
            Ku(je.statement, ee, e)
          );
        }
        function me(je) {
          return t.updateForOfStatement(
            je,
            $e(je.awaitModifier, U, iz),
            ve(je.initializer) ? se(
              je.initializer,
              /*hasReceiver*/
              !0
            ) : E.checkDefined($e(je.initializer, U, Yf)),
            E.checkDefined($e(je.expression, U, lt)),
            Ku(je.statement, ee, e)
          );
        }
        function q(je) {
          const ut = je.initializer;
          return t.updateForStatement(
            je,
            ve(ut) ? se(
              ut,
              /*hasReceiver*/
              !1
            ) : $e(je.initializer, U, Yf),
            $e(je.condition, U, lt),
            $e(je.incrementor, U, lt),
            Ku(je.statement, ee, e)
          );
        }
        function he(je) {
          return V() ? yr(je, U, e) : xn(
            ot(
              t.createYieldExpression(
                /*asteriskToken*/
                void 0,
                $e(je.expression, U, lt)
              ),
              je
            ),
            je
          );
        }
        function Me(je) {
          const ut = k;
          k = void 0;
          const er = t.updateConstructorDeclaration(
            je,
            Lr(je.modifiers, U, Ks),
            _c(je.parameters, U, e),
            St(je)
          );
          return k = ut, er;
        }
        function De(je) {
          let ut;
          const er = Fc(je), Vr = k;
          k = void 0;
          const zn = t.updateMethodDeclaration(
            je,
            Lr(je.modifiers, U, Ro),
            je.asteriskToken,
            je.name,
            /*questionToken*/
            void 0,
            /*typeParameters*/
            void 0,
            ut = er & 2 ? tr(je) : _c(je.parameters, U, e),
            /*type*/
            void 0,
            er & 2 ? Fr(je, ut) : St(je)
          );
          return k = Vr, zn;
        }
        function re(je) {
          const ut = k;
          k = void 0;
          const er = t.updateGetAccessorDeclaration(
            je,
            Lr(je.modifiers, U, Ro),
            je.name,
            _c(je.parameters, U, e),
            /*type*/
            void 0,
            St(je)
          );
          return k = ut, er;
        }
        function xe(je) {
          const ut = k;
          k = void 0;
          const er = t.updateSetAccessorDeclaration(
            je,
            Lr(je.modifiers, U, Ro),
            je.name,
            _c(je.parameters, U, e),
            St(je)
          );
          return k = ut, er;
        }
        function ue(je) {
          let ut;
          const er = k;
          k = void 0;
          const Vr = Fc(je), zn = t.updateFunctionDeclaration(
            je,
            Lr(je.modifiers, U, Ro),
            je.asteriskToken,
            je.name,
            /*typeParameters*/
            void 0,
            ut = Vr & 2 ? tr(je) : _c(je.parameters, U, e),
            /*type*/
            void 0,
            Vr & 2 ? Fr(je, ut) : Of(je.body, U, e)
          );
          return k = er, zn;
        }
        function Xe(je) {
          let ut;
          const er = k;
          k = void 0;
          const Vr = Fc(je), zn = t.updateFunctionExpression(
            je,
            Lr(je.modifiers, U, Ks),
            je.asteriskToken,
            je.name,
            /*typeParameters*/
            void 0,
            ut = Vr & 2 ? tr(je) : _c(je.parameters, U, e),
            /*type*/
            void 0,
            Vr & 2 ? Fr(je, ut) : Of(je.body, U, e)
          );
          return k = er, zn;
        }
        function nt(je) {
          let ut;
          const er = Fc(je);
          return t.updateArrowFunction(
            je,
            Lr(je.modifiers, U, Ks),
            /*typeParameters*/
            void 0,
            ut = er & 2 ? tr(je) : _c(je.parameters, U, e),
            /*type*/
            void 0,
            je.equalsGreaterThanToken,
            er & 2 ? Fr(je, ut) : Of(je.body, U, e)
          );
        }
        function oe({ name: je }, ut) {
          if (Fe(je))
            ut.add(je.escapedText);
          else
            for (const er of je.elements)
              vl(er) || oe(er, ut);
        }
        function ve(je) {
          return !!je && zl(je) && !(je.flags & 7) && je.declarations.some(ze);
        }
        function se(je, ut) {
          Pe(je);
          const er = iD(je);
          return er.length === 0 ? ut ? $e(t.converters.convertToAssignmentElementTarget(je.declarations[0].name), U, lt) : void 0 : t.inlineExpressions(fr(er, Ce));
        }
        function Pe(je) {
          ar(je.declarations, Ee);
        }
        function Ee({ name: je }) {
          if (Fe(je))
            o(je);
          else
            for (const ut of je.elements)
              vl(ut) || Ee(ut);
        }
        function Ce(je) {
          const ut = ha(
            t.createAssignment(
              t.converters.convertToAssignmentElementTarget(je.name),
              je.initializer
            ),
            je
          );
          return E.checkDefined($e(ut, U, lt));
        }
        function ze({ name: je }) {
          if (Fe(je))
            return h.has(je.escapedText);
          for (const ut of je.elements)
            if (!vl(ut) && ze(ut))
              return !0;
          return !1;
        }
        function St(je) {
          E.assertIsDefined(je.body);
          const ut = S, er = T;
          S = /* @__PURE__ */ new Set(), T = !1;
          let Vr = Of(je.body, U, e);
          const zn = Vo(je, uo);
          if (u >= 2 && (c.hasNodeCheckFlag(
            je,
            256
            /* MethodWithSuperPropertyAssignmentInAsync */
          ) || c.hasNodeCheckFlag(
            je,
            128
            /* MethodWithSuperPropertyAccessInAsync */
          )) && (Fc(zn) & 3) !== 3) {
            if (Wr(), S.size) {
              const bi = CO(t, c, je, S);
              D[Oa(bi)] = !0;
              const ks = Vr.statements.slice();
              Og(ks, [bi]), Vr = t.updateBlock(Vr, ks);
            }
            T && (c.hasNodeCheckFlag(
              je,
              256
              /* MethodWithSuperPropertyAssignmentInAsync */
            ) ? Ox(Vr, mF) : c.hasNodeCheckFlag(
              je,
              128
              /* MethodWithSuperPropertyAccessInAsync */
            ) && Ox(Vr, dF));
          }
          return S = ut, T = er, Vr;
        }
        function Bt() {
          E.assert(k);
          const je = t.createVariableDeclaration(
            k,
            /*exclamationToken*/
            void 0,
            /*type*/
            void 0,
            t.createIdentifier("arguments")
          ), ut = t.createVariableStatement(
            /*modifiers*/
            void 0,
            [je]
          );
          return Su(ut), im(
            ut,
            2097152
            /* CustomPrologue */
          ), ut;
        }
        function tr(je) {
          if (nA(je.parameters))
            return _c(je.parameters, U, e);
          const ut = [];
          for (const Vr of je.parameters) {
            if (Vr.initializer || Vr.dotDotDotToken) {
              if (je.kind === 219) {
                const Wn = t.createParameterDeclaration(
                  /*modifiers*/
                  void 0,
                  t.createToken(
                    26
                    /* DotDotDotToken */
                  ),
                  t.createUniqueName(
                    "args",
                    8
                    /* ReservedInNestedScopes */
                  )
                );
                ut.push(Wn);
              }
              break;
            }
            const zn = t.createParameterDeclaration(
              /*modifiers*/
              void 0,
              /*dotDotDotToken*/
              void 0,
              t.getGeneratedNameForNode(
                Vr.name,
                8
                /* ReservedInNestedScopes */
              )
            );
            ut.push(zn);
          }
          const er = t.createNodeArray(ut);
          return ot(er, je.parameters), er;
        }
        function Fr(je, ut) {
          const er = nA(je.parameters) ? void 0 : _c(je.parameters, U, e);
          i();
          const zn = Vo(je, Ts).type, Wn = u < 2 ? Wt(zn) : void 0, bi = je.kind === 219, ks = k, gr = c.hasNodeCheckFlag(
            je,
            512
            /* CaptureArguments */
          ) && !k;
          gr && (k = t.createUniqueName("arguments"));
          let ms;
          if (er)
            if (bi) {
              const qe = [];
              E.assert(ut.length <= je.parameters.length);
              for (let Ze = 0; Ze < je.parameters.length; Ze++) {
                E.assert(Ze < ut.length);
                const bt = je.parameters[Ze], Ie = ut[Ze];
                if (E.assertNode(Ie.name, Fe), bt.initializer || bt.dotDotDotToken) {
                  E.assert(Ze === ut.length - 1), qe.push(t.createSpreadElement(Ie.name));
                  break;
                }
                qe.push(Ie.name);
              }
              ms = t.createArrayLiteralExpression(qe);
            } else
              ms = t.createIdentifier("arguments");
          const He = h;
          h = /* @__PURE__ */ new Set();
          for (const qe of je.parameters)
            oe(qe, h);
          const Et = S, ne = T;
          bi || (S = /* @__PURE__ */ new Set(), T = !1);
          const rt = G();
          let Q = it(je.body);
          Q = t.updateBlock(Q, t.mergeLexicalEnvironment(Q.statements, s()));
          let Ne;
          if (bi) {
            if (Ne = n().createAwaiterHelper(
              rt,
              ms,
              Wn,
              er,
              Q
            ), gr) {
              const qe = t.converters.convertToFunctionBlock(Ne);
              Ne = t.updateBlock(qe, t.mergeLexicalEnvironment(qe.statements, [Bt()]));
            }
          } else {
            const qe = [];
            qe.push(
              t.createReturnStatement(
                n().createAwaiterHelper(
                  rt,
                  ms,
                  Wn,
                  er,
                  Q
                )
              )
            );
            const Ze = u >= 2 && (c.hasNodeCheckFlag(
              je,
              256
              /* MethodWithSuperPropertyAssignmentInAsync */
            ) || c.hasNodeCheckFlag(
              je,
              128
              /* MethodWithSuperPropertyAccessInAsync */
            ));
            if (Ze && (Wr(), S.size)) {
              const Ie = CO(t, c, je, S);
              D[Oa(Ie)] = !0, Og(qe, [Ie]);
            }
            gr && Og(qe, [Bt()]);
            const bt = t.createBlock(
              qe,
              /*multiLine*/
              !0
            );
            ot(bt, je.body), Ze && T && (c.hasNodeCheckFlag(
              je,
              256
              /* MethodWithSuperPropertyAssignmentInAsync */
            ) ? Ox(bt, mF) : c.hasNodeCheckFlag(
              je,
              128
              /* MethodWithSuperPropertyAccessInAsync */
            ) && Ox(bt, dF)), Ne = bt;
          }
          return h = He, bi || (S = Et, T = ne, k = ks), Ne;
        }
        function it(je, ut) {
          return Cs(je) ? t.updateBlock(je, Lr(je.statements, ee, yi, ut)) : t.converters.convertToFunctionBlock(E.checkDefined($e(je, ee, x7)));
        }
        function Wt(je) {
          const ut = je && v3(je);
          if (ut && Gu(ut)) {
            const er = c.getTypeReferenceSerializationKind(ut);
            if (er === 1 || er === 0)
              return ut;
          }
        }
        function Wr() {
          (g & 1) === 0 && (g |= 1, e.enableSubstitution(
            213
            /* CallExpression */
          ), e.enableSubstitution(
            211
            /* PropertyAccessExpression */
          ), e.enableSubstitution(
            212
            /* ElementAccessExpression */
          ), e.enableEmitNotification(
            263
            /* ClassDeclaration */
          ), e.enableEmitNotification(
            174
            /* MethodDeclaration */
          ), e.enableEmitNotification(
            177
            /* GetAccessor */
          ), e.enableEmitNotification(
            178
            /* SetAccessor */
          ), e.enableEmitNotification(
            176
            /* Constructor */
          ), e.enableEmitNotification(
            243
            /* VariableStatement */
          ));
        }
        function ai(je, ut, er) {
          if (g & 1 && cn(ut)) {
            const Vr = (c.hasNodeCheckFlag(
              ut,
              128
              /* MethodWithSuperPropertyAccessInAsync */
            ) ? 128 : 0) | (c.hasNodeCheckFlag(
              ut,
              256
              /* MethodWithSuperPropertyAssignmentInAsync */
            ) ? 256 : 0);
            if (Vr !== m) {
              const zn = m;
              m = Vr, A(je, ut, er), m = zn;
              return;
            }
          } else if (g && D[Oa(ut)]) {
            const Vr = m;
            m = 0, A(je, ut, er), m = Vr;
            return;
          }
          A(je, ut, er);
        }
        function zi(je, ut) {
          return ut = O(je, ut), je === 1 && m ? Pt(ut) : ut;
        }
        function Pt(je) {
          switch (je.kind) {
            case 211:
              return Fn(je);
            case 212:
              return ii(je);
            case 213:
              return li(je);
          }
          return je;
        }
        function Fn(je) {
          return je.expression.kind === 108 ? ot(
            t.createPropertyAccessExpression(
              t.createUniqueName(
                "_super",
                48
                /* FileLevel */
              ),
              je.name
            ),
            je
          ) : je;
        }
        function ii(je) {
          return je.expression.kind === 108 ? ci(
            je.argumentExpression,
            je
          ) : je;
        }
        function li(je) {
          const ut = je.expression;
          if (E_(ut)) {
            const er = kn(ut) ? Fn(ut) : ii(ut);
            return t.createCallExpression(
              t.createPropertyAccessExpression(er, "call"),
              /*typeArguments*/
              void 0,
              [
                t.createThis(),
                ...je.arguments
              ]
            );
          }
          return je;
        }
        function cn(je) {
          const ut = je.kind;
          return ut === 263 || ut === 176 || ut === 174 || ut === 177 || ut === 178;
        }
        function ci(je, ut) {
          return m & 256 ? ot(
            t.createPropertyAccessExpression(
              t.createCallExpression(
                t.createUniqueName(
                  "_superIndex",
                  48
                  /* FileLevel */
                ),
                /*typeArguments*/
                void 0,
                [je]
              ),
              "value"
            ),
            ut
          ) : ot(
            t.createCallExpression(
              t.createUniqueName(
                "_superIndex",
                48
                /* FileLevel */
              ),
              /*typeArguments*/
              void 0,
              [je]
            ),
            ut
          );
        }
      }
      function CO(e, t, n, i) {
        const s = t.hasNodeCheckFlag(
          n,
          256
          /* MethodWithSuperPropertyAssignmentInAsync */
        ), o = [];
        return i.forEach((c, _) => {
          const u = Ei(_), g = [];
          g.push(e.createPropertyAssignment(
            "get",
            e.createArrowFunction(
              /*modifiers*/
              void 0,
              /*typeParameters*/
              void 0,
              /* parameters */
              [],
              /*type*/
              void 0,
              /*equalsGreaterThanToken*/
              void 0,
              an(
                e.createPropertyAccessExpression(
                  an(
                    e.createSuper(),
                    8
                    /* NoSubstitution */
                  ),
                  u
                ),
                8
                /* NoSubstitution */
              )
            )
          )), s && g.push(
            e.createPropertyAssignment(
              "set",
              e.createArrowFunction(
                /*modifiers*/
                void 0,
                /*typeParameters*/
                void 0,
                /* parameters */
                [
                  e.createParameterDeclaration(
                    /*modifiers*/
                    void 0,
                    /*dotDotDotToken*/
                    void 0,
                    "v",
                    /*questionToken*/
                    void 0,
                    /*type*/
                    void 0,
                    /*initializer*/
                    void 0
                  )
                ],
                /*type*/
                void 0,
                /*equalsGreaterThanToken*/
                void 0,
                e.createAssignment(
                  an(
                    e.createPropertyAccessExpression(
                      an(
                        e.createSuper(),
                        8
                        /* NoSubstitution */
                      ),
                      u
                    ),
                    8
                    /* NoSubstitution */
                  ),
                  e.createIdentifier("v")
                )
              )
            )
          ), o.push(
            e.createPropertyAssignment(
              u,
              e.createObjectLiteralExpression(g)
            )
          );
        }), e.createVariableStatement(
          /*modifiers*/
          void 0,
          e.createVariableDeclarationList(
            [
              e.createVariableDeclaration(
                e.createUniqueName(
                  "_super",
                  48
                  /* FileLevel */
                ),
                /*exclamationToken*/
                void 0,
                /*type*/
                void 0,
                e.createCallExpression(
                  e.createPropertyAccessExpression(
                    e.createIdentifier("Object"),
                    "create"
                  ),
                  /*typeArguments*/
                  void 0,
                  [
                    e.createNull(),
                    e.createObjectLiteralExpression(
                      o,
                      /*multiLine*/
                      !0
                    )
                  ]
                )
              )
            ],
            2
            /* Const */
          )
        );
      }
      function Vne(e) {
        const {
          factory: t,
          getEmitHelperFactory: n,
          resumeLexicalEnvironment: i,
          endLexicalEnvironment: s,
          hoistVariableDeclaration: o
        } = e, c = e.getEmitResolver(), _ = e.getCompilerOptions(), u = ga(_), g = e.onEmitNode;
        e.onEmitNode = ks;
        const m = e.onSubstituteNode;
        e.onSubstituteNode = ta;
        let h = !1, S = 0, T, k, D = 0, w = 0, A, O, F, j;
        const z = [];
        return Sd(e, K);
        function V(Q, Ne) {
          return w !== (w & ~Q | Ne);
        }
        function G(Q, Ne) {
          const qe = w;
          return w = (w & ~Q | Ne) & 3, qe;
        }
        function W(Q) {
          w = Q;
        }
        function pe(Q) {
          O = Dr(
            O,
            t.createVariableDeclaration(Q)
          );
        }
        function K(Q) {
          if (Q.isDeclarationFile)
            return Q;
          A = Q;
          const Ne = nt(Q);
          return qg(Ne, e.readEmitHelpers()), A = void 0, O = void 0, Ne;
        }
        function U(Q) {
          return me(
            Q,
            /*expressionResultIsUnused*/
            !1
          );
        }
        function ee(Q) {
          return me(
            Q,
            /*expressionResultIsUnused*/
            !0
          );
        }
        function te(Q) {
          if (Q.kind !== 134)
            return Q;
        }
        function ie(Q, Ne, qe, Ze) {
          if (V(qe, Ze)) {
            const bt = G(qe, Ze), Ie = Q(Ne);
            return W(bt), Ie;
          }
          return Q(Ne);
        }
        function fe(Q) {
          return yr(Q, U, e);
        }
        function me(Q, Ne) {
          if ((Q.transformFlags & 128) === 0)
            return Q;
          switch (Q.kind) {
            case 223:
              return q(Q);
            case 229:
              return he(Q);
            case 253:
              return Me(Q);
            case 256:
              return De(Q);
            case 210:
              return xe(Q);
            case 226:
              return ve(Q, Ne);
            case 356:
              return se(Q, Ne);
            case 299:
              return Pe(Q);
            case 243:
              return Ee(Q);
            case 260:
              return Ce(Q);
            case 246:
            case 247:
            case 249:
              return ie(
                fe,
                Q,
                0,
                2
                /* IterationStatementIncludes */
              );
            case 250:
              return tr(
                Q,
                /*outermostLabeledStatement*/
                void 0
              );
            case 248:
              return ie(
                St,
                Q,
                0,
                2
                /* IterationStatementIncludes */
              );
            case 222:
              return Bt(Q);
            case 176:
              return ie(
                Fn,
                Q,
                2,
                1
                /* ClassOrFunctionIncludes */
              );
            case 174:
              return ie(
                cn,
                Q,
                2,
                1
                /* ClassOrFunctionIncludes */
              );
            case 177:
              return ie(
                ii,
                Q,
                2,
                1
                /* ClassOrFunctionIncludes */
              );
            case 178:
              return ie(
                li,
                Q,
                2,
                1
                /* ClassOrFunctionIncludes */
              );
            case 262:
              return ie(
                ci,
                Q,
                2,
                1
                /* ClassOrFunctionIncludes */
              );
            case 218:
              return ie(
                ut,
                Q,
                2,
                1
                /* ClassOrFunctionIncludes */
              );
            case 219:
              return ie(
                je,
                Q,
                2,
                0
                /* ArrowFunctionIncludes */
              );
            case 169:
              return zi(Q);
            case 244:
              return ue(Q);
            case 217:
              return Xe(Q, Ne);
            case 215:
              return oe(Q);
            case 211:
              return F && kn(Q) && Q.expression.kind === 108 && F.add(Q.name.escapedText), yr(Q, U, e);
            case 212:
              return F && Q.expression.kind === 108 && (j = !0), yr(Q, U, e);
            case 263:
            case 231:
              return ie(
                fe,
                Q,
                2,
                1
                /* ClassOrFunctionIncludes */
              );
            default:
              return yr(Q, U, e);
          }
        }
        function q(Q) {
          return T & 2 && T & 1 ? xn(
            ot(
              t.createYieldExpression(
                /*asteriskToken*/
                void 0,
                n().createAwaitHelper($e(Q.expression, U, lt))
              ),
              /*location*/
              Q
            ),
            Q
          ) : yr(Q, U, e);
        }
        function he(Q) {
          if (T & 2 && T & 1) {
            if (Q.asteriskToken) {
              const Ne = $e(E.checkDefined(Q.expression), U, lt);
              return xn(
                ot(
                  t.createYieldExpression(
                    /*asteriskToken*/
                    void 0,
                    n().createAwaitHelper(
                      t.updateYieldExpression(
                        Q,
                        Q.asteriskToken,
                        ot(
                          n().createAsyncDelegatorHelper(
                            ot(
                              n().createAsyncValuesHelper(Ne),
                              Ne
                            )
                          ),
                          Ne
                        )
                      )
                    )
                  ),
                  Q
                ),
                Q
              );
            }
            return xn(
              ot(
                t.createYieldExpression(
                  /*asteriskToken*/
                  void 0,
                  Wt(
                    Q.expression ? $e(Q.expression, U, lt) : t.createVoidZero()
                  )
                ),
                Q
              ),
              Q
            );
          }
          return yr(Q, U, e);
        }
        function Me(Q) {
          return T & 2 && T & 1 ? t.updateReturnStatement(
            Q,
            Wt(
              Q.expression ? $e(Q.expression, U, lt) : t.createVoidZero()
            )
          ) : yr(Q, U, e);
        }
        function De(Q) {
          if (T & 2) {
            const Ne = mB(Q);
            return Ne.kind === 250 && Ne.awaitModifier ? tr(Ne, Q) : t.restoreEnclosingLabel($e(Ne, U, yi, t.liftToBlock), Q);
          }
          return yr(Q, U, e);
        }
        function re(Q) {
          let Ne;
          const qe = [];
          for (const Ze of Q)
            if (Ze.kind === 305) {
              Ne && (qe.push(t.createObjectLiteralExpression(Ne)), Ne = void 0);
              const bt = Ze.expression;
              qe.push($e(bt, U, lt));
            } else
              Ne = Dr(
                Ne,
                Ze.kind === 303 ? t.createPropertyAssignment(Ze.name, $e(Ze.initializer, U, lt)) : $e(Ze, U, Eh)
              );
          return Ne && qe.push(t.createObjectLiteralExpression(Ne)), qe;
        }
        function xe(Q) {
          if (Q.transformFlags & 65536) {
            const Ne = re(Q.properties);
            Ne.length && Ne[0].kind !== 210 && Ne.unshift(t.createObjectLiteralExpression());
            let qe = Ne[0];
            if (Ne.length > 1) {
              for (let Ze = 1; Ze < Ne.length; Ze++)
                qe = n().createAssignHelper([qe, Ne[Ze]]);
              return qe;
            } else
              return n().createAssignHelper(Ne);
          }
          return yr(Q, U, e);
        }
        function ue(Q) {
          return yr(Q, ee, e);
        }
        function Xe(Q, Ne) {
          return yr(Q, Ne ? ee : U, e);
        }
        function nt(Q) {
          const Ne = G(
            2,
            aB(Q, _) ? 0 : 1
            /* SourceFileIncludes */
          );
          h = !1;
          const qe = yr(Q, U, e), Ze = Ji(
            qe.statements,
            O && [
              t.createVariableStatement(
                /*modifiers*/
                void 0,
                t.createVariableDeclarationList(O)
              )
            ]
          ), bt = t.updateSourceFile(qe, ot(t.createNodeArray(Ze), Q.statements));
          return W(Ne), bt;
        }
        function oe(Q) {
          return jW(
            e,
            Q,
            U,
            A,
            pe,
            0
            /* LiftRestriction */
          );
        }
        function ve(Q, Ne) {
          return T0(Q) && BN(Q.left) ? qS(
            Q,
            U,
            e,
            1,
            !Ne
          ) : Q.operatorToken.kind === 28 ? t.updateBinaryExpression(
            Q,
            $e(Q.left, ee, lt),
            Q.operatorToken,
            $e(Q.right, Ne ? ee : U, lt)
          ) : yr(Q, U, e);
        }
        function se(Q, Ne) {
          if (Ne)
            return yr(Q, ee, e);
          let qe;
          for (let bt = 0; bt < Q.elements.length; bt++) {
            const Ie = Q.elements[bt], ft = $e(Ie, bt < Q.elements.length - 1 ? ee : U, lt);
            (qe || ft !== Ie) && (qe || (qe = Q.elements.slice(0, bt)), qe.push(ft));
          }
          const Ze = qe ? ot(t.createNodeArray(qe), Q.elements) : Q.elements;
          return t.updateCommaListExpression(Q, Ze);
        }
        function Pe(Q) {
          if (Q.variableDeclaration && Ps(Q.variableDeclaration.name) && Q.variableDeclaration.name.transformFlags & 65536) {
            const Ne = t.getGeneratedNameForNode(Q.variableDeclaration.name), qe = t.updateVariableDeclaration(
              Q.variableDeclaration,
              Q.variableDeclaration.name,
              /*exclamationToken*/
              void 0,
              /*type*/
              void 0,
              Ne
            ), Ze = t2(
              qe,
              U,
              e,
              1
              /* ObjectRest */
            );
            let bt = $e(Q.block, U, Cs);
            return at(Ze) && (bt = t.updateBlock(bt, [
              t.createVariableStatement(
                /*modifiers*/
                void 0,
                Ze
              ),
              ...bt.statements
            ])), t.updateCatchClause(
              Q,
              t.updateVariableDeclaration(
                Q.variableDeclaration,
                Ne,
                /*exclamationToken*/
                void 0,
                /*type*/
                void 0,
                /*initializer*/
                void 0
              ),
              bt
            );
          }
          return yr(Q, U, e);
        }
        function Ee(Q) {
          if (qn(
            Q,
            32
            /* Export */
          )) {
            const Ne = h;
            h = !0;
            const qe = yr(Q, U, e);
            return h = Ne, qe;
          }
          return yr(Q, U, e);
        }
        function Ce(Q) {
          if (h) {
            const Ne = h;
            h = !1;
            const qe = ze(
              Q,
              /*exportedVariableStatement*/
              !0
            );
            return h = Ne, qe;
          }
          return ze(
            Q,
            /*exportedVariableStatement*/
            !1
          );
        }
        function ze(Q, Ne) {
          return Ps(Q.name) && Q.name.transformFlags & 65536 ? t2(
            Q,
            U,
            e,
            1,
            /*rval*/
            void 0,
            Ne
          ) : yr(Q, U, e);
        }
        function St(Q) {
          return t.updateForStatement(
            Q,
            $e(Q.initializer, ee, Yf),
            $e(Q.condition, U, lt),
            $e(Q.incrementor, ee, lt),
            Ku(Q.statement, U, e)
          );
        }
        function Bt(Q) {
          return yr(Q, ee, e);
        }
        function tr(Q, Ne) {
          const qe = G(
            0,
            2
            /* IterationStatementIncludes */
          );
          (Q.initializer.transformFlags & 65536 || N4(Q.initializer) && BN(Q.initializer)) && (Q = Fr(Q));
          const Ze = Q.awaitModifier ? Wr(Q, Ne, qe) : t.restoreEnclosingLabel(yr(Q, U, e), Ne);
          return W(qe), Ze;
        }
        function Fr(Q) {
          const Ne = za(Q.initializer);
          if (zl(Ne) || N4(Ne)) {
            let qe, Ze;
            const bt = t.createTempVariable(
              /*recordTempVariable*/
              void 0
            ), Ie = [Sz(t, Ne, bt)];
            return Cs(Q.statement) ? (wn(Ie, Q.statement.statements), qe = Q.statement, Ze = Q.statement.statements) : Q.statement && (Dr(Ie, Q.statement), qe = Q.statement, Ze = Q.statement), t.updateForOfStatement(
              Q,
              Q.awaitModifier,
              ot(
                t.createVariableDeclarationList(
                  [
                    ot(t.createVariableDeclaration(bt), Q.initializer)
                  ],
                  1
                  /* Let */
                ),
                Q.initializer
              ),
              Q.expression,
              ot(
                t.createBlock(
                  ot(t.createNodeArray(Ie), Ze),
                  /*multiLine*/
                  !0
                ),
                qe
              )
            );
          }
          return Q;
        }
        function it(Q, Ne, qe) {
          const Ze = t.createTempVariable(o), bt = t.createAssignment(Ze, Ne), Ie = t.createExpressionStatement(bt);
          ha(Ie, Q.expression);
          const ft = t.createAssignment(qe, t.createFalse()), _t = t.createExpressionStatement(ft);
          ha(_t, Q.expression);
          const kt = [Ie, _t], Ve = Sz(t, Q.initializer, Ze);
          kt.push($e(Ve, U, yi));
          let Rt, Zr;
          const we = Ku(Q.statement, U, e);
          return Cs(we) ? (wn(kt, we.statements), Rt = we, Zr = we.statements) : kt.push(we), ot(
            t.createBlock(
              ot(t.createNodeArray(kt), Zr),
              /*multiLine*/
              !0
            ),
            Rt
          );
        }
        function Wt(Q) {
          return T & 1 ? t.createYieldExpression(
            /*asteriskToken*/
            void 0,
            n().createAwaitHelper(Q)
          ) : t.createAwaitExpression(Q);
        }
        function Wr(Q, Ne, qe) {
          const Ze = $e(Q.expression, U, lt), bt = Fe(Ze) ? t.getGeneratedNameForNode(Ze) : t.createTempVariable(
            /*recordTempVariable*/
            void 0
          ), Ie = Fe(Ze) ? t.getGeneratedNameForNode(bt) : t.createTempVariable(
            /*recordTempVariable*/
            void 0
          ), ft = t.createTempVariable(
            /*recordTempVariable*/
            void 0
          ), _t = t.createTempVariable(o), kt = t.createUniqueName("e"), Ve = t.getGeneratedNameForNode(kt), Rt = t.createTempVariable(
            /*recordTempVariable*/
            void 0
          ), Zr = ot(n().createAsyncValuesHelper(Ze), Q.expression), we = t.createCallExpression(
            t.createPropertyAccessExpression(bt, "next"),
            /*typeArguments*/
            void 0,
            []
          ), mt = t.createPropertyAccessExpression(Ie, "done"), _e = t.createPropertyAccessExpression(Ie, "value"), M = t.createFunctionCallCall(Rt, bt, []);
          o(kt), o(Rt);
          const ye = qe & 2 ? t.inlineExpressions([t.createAssignment(kt, t.createVoidZero()), Zr]) : Zr, X = an(
            ot(
              t.createForStatement(
                /*initializer*/
                an(
                  ot(
                    t.createVariableDeclarationList([
                      t.createVariableDeclaration(
                        ft,
                        /*exclamationToken*/
                        void 0,
                        /*type*/
                        void 0,
                        t.createTrue()
                      ),
                      ot(t.createVariableDeclaration(
                        bt,
                        /*exclamationToken*/
                        void 0,
                        /*type*/
                        void 0,
                        ye
                      ), Q.expression),
                      t.createVariableDeclaration(Ie)
                    ]),
                    Q.expression
                  ),
                  4194304
                  /* NoHoisting */
                ),
                /*condition*/
                t.inlineExpressions([
                  t.createAssignment(Ie, Wt(we)),
                  t.createAssignment(_t, mt),
                  t.createLogicalNot(_t)
                ]),
                /*incrementor*/
                t.createAssignment(ft, t.createTrue()),
                /*statement*/
                it(Q, _e, ft)
              ),
              /*location*/
              Q
            ),
            512
            /* NoTokenTrailingSourceMaps */
          );
          return xn(X, Q), t.createTryStatement(
            t.createBlock([
              t.restoreEnclosingLabel(
                X,
                Ne
              )
            ]),
            t.createCatchClause(
              t.createVariableDeclaration(Ve),
              an(
                t.createBlock([
                  t.createExpressionStatement(
                    t.createAssignment(
                      kt,
                      t.createObjectLiteralExpression([
                        t.createPropertyAssignment("error", Ve)
                      ])
                    )
                  )
                ]),
                1
                /* SingleLine */
              )
            ),
            t.createBlock([
              t.createTryStatement(
                /*tryBlock*/
                t.createBlock([
                  an(
                    t.createIfStatement(
                      t.createLogicalAnd(
                        t.createLogicalAnd(
                          t.createLogicalNot(ft),
                          t.createLogicalNot(_t)
                        ),
                        t.createAssignment(
                          Rt,
                          t.createPropertyAccessExpression(bt, "return")
                        )
                      ),
                      t.createExpressionStatement(Wt(M))
                    ),
                    1
                    /* SingleLine */
                  )
                ]),
                /*catchClause*/
                void 0,
                /*finallyBlock*/
                an(
                  t.createBlock([
                    an(
                      t.createIfStatement(
                        kt,
                        t.createThrowStatement(
                          t.createPropertyAccessExpression(kt, "error")
                        )
                      ),
                      1
                      /* SingleLine */
                    )
                  ]),
                  1
                  /* SingleLine */
                )
              )
            ])
          );
        }
        function ai(Q) {
          return E.assertNode(Q, Ni), zi(Q);
        }
        function zi(Q) {
          return k?.has(Q) ? t.updateParameterDeclaration(
            Q,
            /*modifiers*/
            void 0,
            Q.dotDotDotToken,
            Ps(Q.name) ? t.getGeneratedNameForNode(Q) : Q.name,
            /*questionToken*/
            void 0,
            /*type*/
            void 0,
            /*initializer*/
            void 0
          ) : Q.transformFlags & 65536 ? t.updateParameterDeclaration(
            Q,
            /*modifiers*/
            void 0,
            Q.dotDotDotToken,
            t.getGeneratedNameForNode(Q),
            /*questionToken*/
            void 0,
            /*type*/
            void 0,
            $e(Q.initializer, U, lt)
          ) : yr(Q, U, e);
        }
        function Pt(Q) {
          let Ne;
          for (const qe of Q.parameters)
            Ne ? Ne.add(qe) : qe.transformFlags & 65536 && (Ne = /* @__PURE__ */ new Set());
          return Ne;
        }
        function Fn(Q) {
          const Ne = T, qe = k;
          T = Fc(Q), k = Pt(Q);
          const Ze = t.updateConstructorDeclaration(
            Q,
            Q.modifiers,
            _c(Q.parameters, ai, e),
            zn(Q)
          );
          return T = Ne, k = qe, Ze;
        }
        function ii(Q) {
          const Ne = T, qe = k;
          T = Fc(Q), k = Pt(Q);
          const Ze = t.updateGetAccessorDeclaration(
            Q,
            Q.modifiers,
            $e(Q.name, U, Bc),
            _c(Q.parameters, ai, e),
            /*type*/
            void 0,
            zn(Q)
          );
          return T = Ne, k = qe, Ze;
        }
        function li(Q) {
          const Ne = T, qe = k;
          T = Fc(Q), k = Pt(Q);
          const Ze = t.updateSetAccessorDeclaration(
            Q,
            Q.modifiers,
            $e(Q.name, U, Bc),
            _c(Q.parameters, ai, e),
            zn(Q)
          );
          return T = Ne, k = qe, Ze;
        }
        function cn(Q) {
          const Ne = T, qe = k;
          T = Fc(Q), k = Pt(Q);
          const Ze = t.updateMethodDeclaration(
            Q,
            T & 1 ? Lr(Q.modifiers, te, Ro) : Q.modifiers,
            T & 2 ? void 0 : Q.asteriskToken,
            $e(Q.name, U, Bc),
            $e(
              /*node*/
              void 0,
              U,
              t1
            ),
            /*typeParameters*/
            void 0,
            T & 2 && T & 1 ? er(Q) : _c(Q.parameters, ai, e),
            /*type*/
            void 0,
            T & 2 && T & 1 ? Vr(Q) : zn(Q)
          );
          return T = Ne, k = qe, Ze;
        }
        function ci(Q) {
          const Ne = T, qe = k;
          T = Fc(Q), k = Pt(Q);
          const Ze = t.updateFunctionDeclaration(
            Q,
            T & 1 ? Lr(Q.modifiers, te, Ks) : Q.modifiers,
            T & 2 ? void 0 : Q.asteriskToken,
            Q.name,
            /*typeParameters*/
            void 0,
            T & 2 && T & 1 ? er(Q) : _c(Q.parameters, ai, e),
            /*type*/
            void 0,
            T & 2 && T & 1 ? Vr(Q) : zn(Q)
          );
          return T = Ne, k = qe, Ze;
        }
        function je(Q) {
          const Ne = T, qe = k;
          T = Fc(Q), k = Pt(Q);
          const Ze = t.updateArrowFunction(
            Q,
            Q.modifiers,
            /*typeParameters*/
            void 0,
            _c(Q.parameters, ai, e),
            /*type*/
            void 0,
            Q.equalsGreaterThanToken,
            zn(Q)
          );
          return T = Ne, k = qe, Ze;
        }
        function ut(Q) {
          const Ne = T, qe = k;
          T = Fc(Q), k = Pt(Q);
          const Ze = t.updateFunctionExpression(
            Q,
            T & 1 ? Lr(Q.modifiers, te, Ks) : Q.modifiers,
            T & 2 ? void 0 : Q.asteriskToken,
            Q.name,
            /*typeParameters*/
            void 0,
            T & 2 && T & 1 ? er(Q) : _c(Q.parameters, ai, e),
            /*type*/
            void 0,
            T & 2 && T & 1 ? Vr(Q) : zn(Q)
          );
          return T = Ne, k = qe, Ze;
        }
        function er(Q) {
          if (nA(Q.parameters))
            return _c(Q.parameters, U, e);
          const Ne = [];
          for (const Ze of Q.parameters) {
            if (Ze.initializer || Ze.dotDotDotToken)
              break;
            const bt = t.createParameterDeclaration(
              /*modifiers*/
              void 0,
              /*dotDotDotToken*/
              void 0,
              t.getGeneratedNameForNode(
                Ze.name,
                8
                /* ReservedInNestedScopes */
              )
            );
            Ne.push(bt);
          }
          const qe = t.createNodeArray(Ne);
          return ot(qe, Q.parameters), qe;
        }
        function Vr(Q) {
          const Ne = nA(Q.parameters) ? void 0 : _c(Q.parameters, U, e);
          i();
          const qe = F, Ze = j;
          F = /* @__PURE__ */ new Set(), j = !1;
          const bt = [];
          let Ie = t.updateBlock(Q.body, Lr(Q.body.statements, U, yi));
          Ie = t.updateBlock(Ie, t.mergeLexicalEnvironment(Ie.statements, Wn(s(), Q)));
          const ft = t.createReturnStatement(
            n().createAsyncGeneratorHelper(
              t.createFunctionExpression(
                /*modifiers*/
                void 0,
                t.createToken(
                  42
                  /* AsteriskToken */
                ),
                Q.name && t.getGeneratedNameForNode(Q.name),
                /*typeParameters*/
                void 0,
                Ne ?? [],
                /*type*/
                void 0,
                Ie
              ),
              !!(w & 1)
            )
          ), _t = u >= 2 && (c.hasNodeCheckFlag(
            Q,
            256
            /* MethodWithSuperPropertyAssignmentInAsync */
          ) || c.hasNodeCheckFlag(
            Q,
            128
            /* MethodWithSuperPropertyAccessInAsync */
          ));
          if (_t) {
            bi();
            const Ve = CO(t, c, Q, F);
            z[Oa(Ve)] = !0, Og(bt, [Ve]);
          }
          bt.push(ft);
          const kt = t.updateBlock(Q.body, bt);
          return _t && j && (c.hasNodeCheckFlag(
            Q,
            256
            /* MethodWithSuperPropertyAssignmentInAsync */
          ) ? Ox(kt, mF) : c.hasNodeCheckFlag(
            Q,
            128
            /* MethodWithSuperPropertyAccessInAsync */
          ) && Ox(kt, dF)), F = qe, j = Ze, kt;
        }
        function zn(Q) {
          i();
          let Ne = 0;
          const qe = [], Ze = $e(Q.body, U, x7) ?? t.createBlock([]);
          Cs(Ze) && (Ne = t.copyPrologue(
            Ze.statements,
            qe,
            /*ensureUseStrict*/
            !1,
            U
          )), wn(qe, Wn(
            /*statements*/
            void 0,
            Q
          ));
          const bt = s();
          if (Ne > 0 || at(qe) || at(bt)) {
            const Ie = t.converters.convertToFunctionBlock(
              Ze,
              /*multiLine*/
              !0
            );
            return Og(qe, bt), wn(qe, Ie.statements.slice(Ne)), t.updateBlock(Ie, ot(t.createNodeArray(qe), Ie.statements));
          }
          return Ze;
        }
        function Wn(Q, Ne) {
          let qe = !1;
          for (const Ze of Ne.parameters)
            if (qe) {
              if (Ps(Ze.name)) {
                if (Ze.name.elements.length > 0) {
                  const bt = t2(
                    Ze,
                    U,
                    e,
                    0,
                    t.getGeneratedNameForNode(Ze)
                  );
                  if (at(bt)) {
                    const Ie = t.createVariableDeclarationList(bt), ft = t.createVariableStatement(
                      /*modifiers*/
                      void 0,
                      Ie
                    );
                    an(
                      ft,
                      2097152
                      /* CustomPrologue */
                    ), Q = Dr(Q, ft);
                  }
                } else if (Ze.initializer) {
                  const bt = t.getGeneratedNameForNode(Ze), Ie = $e(Ze.initializer, U, lt), ft = t.createAssignment(bt, Ie), _t = t.createExpressionStatement(ft);
                  an(
                    _t,
                    2097152
                    /* CustomPrologue */
                  ), Q = Dr(Q, _t);
                }
              } else if (Ze.initializer) {
                const bt = t.cloneNode(Ze.name);
                ot(bt, Ze.name), an(
                  bt,
                  96
                  /* NoSourceMap */
                );
                const Ie = $e(Ze.initializer, U, lt);
                im(
                  Ie,
                  3168
                  /* NoComments */
                );
                const ft = t.createAssignment(bt, Ie);
                ot(ft, Ze), an(
                  ft,
                  3072
                  /* NoComments */
                );
                const _t = t.createBlock([t.createExpressionStatement(ft)]);
                ot(_t, Ze), an(
                  _t,
                  3905
                  /* NoComments */
                );
                const kt = t.createTypeCheck(t.cloneNode(Ze.name), "undefined"), Ve = t.createIfStatement(kt, _t);
                Su(Ve), ot(Ve, Ze), an(
                  Ve,
                  2101056
                  /* NoComments */
                ), Q = Dr(Q, Ve);
              }
            } else if (Ze.transformFlags & 65536) {
              qe = !0;
              const bt = t2(
                Ze,
                U,
                e,
                1,
                t.getGeneratedNameForNode(Ze),
                /*hoistTempVariables*/
                !1,
                /*skipInitializer*/
                !0
              );
              if (at(bt)) {
                const Ie = t.createVariableDeclarationList(bt), ft = t.createVariableStatement(
                  /*modifiers*/
                  void 0,
                  Ie
                );
                an(
                  ft,
                  2097152
                  /* CustomPrologue */
                ), Q = Dr(Q, ft);
              }
            }
          return Q;
        }
        function bi() {
          (S & 1) === 0 && (S |= 1, e.enableSubstitution(
            213
            /* CallExpression */
          ), e.enableSubstitution(
            211
            /* PropertyAccessExpression */
          ), e.enableSubstitution(
            212
            /* ElementAccessExpression */
          ), e.enableEmitNotification(
            263
            /* ClassDeclaration */
          ), e.enableEmitNotification(
            174
            /* MethodDeclaration */
          ), e.enableEmitNotification(
            177
            /* GetAccessor */
          ), e.enableEmitNotification(
            178
            /* SetAccessor */
          ), e.enableEmitNotification(
            176
            /* Constructor */
          ), e.enableEmitNotification(
            243
            /* VariableStatement */
          ));
        }
        function ks(Q, Ne, qe) {
          if (S & 1 && ne(Ne)) {
            const Ze = (c.hasNodeCheckFlag(
              Ne,
              128
              /* MethodWithSuperPropertyAccessInAsync */
            ) ? 128 : 0) | (c.hasNodeCheckFlag(
              Ne,
              256
              /* MethodWithSuperPropertyAssignmentInAsync */
            ) ? 256 : 0);
            if (Ze !== D) {
              const bt = D;
              D = Ze, g(Q, Ne, qe), D = bt;
              return;
            }
          } else if (S && z[Oa(Ne)]) {
            const Ze = D;
            D = 0, g(Q, Ne, qe), D = Ze;
            return;
          }
          g(Q, Ne, qe);
        }
        function ta(Q, Ne) {
          return Ne = m(Q, Ne), Q === 1 && D ? gr(Ne) : Ne;
        }
        function gr(Q) {
          switch (Q.kind) {
            case 211:
              return ms(Q);
            case 212:
              return He(Q);
            case 213:
              return Et(Q);
          }
          return Q;
        }
        function ms(Q) {
          return Q.expression.kind === 108 ? ot(
            t.createPropertyAccessExpression(
              t.createUniqueName(
                "_super",
                48
                /* FileLevel */
              ),
              Q.name
            ),
            Q
          ) : Q;
        }
        function He(Q) {
          return Q.expression.kind === 108 ? rt(
            Q.argumentExpression,
            Q
          ) : Q;
        }
        function Et(Q) {
          const Ne = Q.expression;
          if (E_(Ne)) {
            const qe = kn(Ne) ? ms(Ne) : He(Ne);
            return t.createCallExpression(
              t.createPropertyAccessExpression(qe, "call"),
              /*typeArguments*/
              void 0,
              [
                t.createThis(),
                ...Q.arguments
              ]
            );
          }
          return Q;
        }
        function ne(Q) {
          const Ne = Q.kind;
          return Ne === 263 || Ne === 176 || Ne === 174 || Ne === 177 || Ne === 178;
        }
        function rt(Q, Ne) {
          return D & 256 ? ot(
            t.createPropertyAccessExpression(
              t.createCallExpression(
                t.createIdentifier("_superIndex"),
                /*typeArguments*/
                void 0,
                [Q]
              ),
              "value"
            ),
            Ne
          ) : ot(
            t.createCallExpression(
              t.createIdentifier("_superIndex"),
              /*typeArguments*/
              void 0,
              [Q]
            ),
            Ne
          );
        }
      }
      function Une(e) {
        const t = e.factory;
        return Sd(e, n);
        function n(o) {
          return o.isDeclarationFile ? o : yr(o, i, e);
        }
        function i(o) {
          if ((o.transformFlags & 64) === 0)
            return o;
          switch (o.kind) {
            case 299:
              return s(o);
            default:
              return yr(o, i, e);
          }
        }
        function s(o) {
          return o.variableDeclaration ? yr(o, i, e) : t.updateCatchClause(
            o,
            t.createVariableDeclaration(t.createTempVariable(
              /*recordTempVariable*/
              void 0
            )),
            $e(o.block, i, Cs)
          );
        }
      }
      function qne(e) {
        const {
          factory: t,
          hoistVariableDeclaration: n
        } = e;
        return Sd(e, i);
        function i(k) {
          return k.isDeclarationFile ? k : yr(k, s, e);
        }
        function s(k) {
          if ((k.transformFlags & 32) === 0)
            return k;
          switch (k.kind) {
            case 213: {
              const D = u(
                k,
                /*captureThisArg*/
                !1
              );
              return E.assertNotNode(D, qx), D;
            }
            case 211:
            case 212:
              if (hu(k)) {
                const D = m(
                  k,
                  /*captureThisArg*/
                  !1,
                  /*isDelete*/
                  !1
                );
                return E.assertNotNode(D, qx), D;
              }
              return yr(k, s, e);
            case 226:
              return k.operatorToken.kind === 61 ? S(k) : yr(k, s, e);
            case 220:
              return T(k);
            default:
              return yr(k, s, e);
          }
        }
        function o(k) {
          E.assertNotNode(k, h7);
          const D = [k];
          for (; !k.questionDotToken && !iv(k); )
            k = Us(qp(k.expression), hu), E.assertNotNode(k, h7), D.unshift(k);
          return { expression: k.expression, chain: D };
        }
        function c(k, D, w) {
          const A = g(k.expression, D, w);
          return qx(A) ? t.createSyntheticReferenceExpression(t.updateParenthesizedExpression(k, A.expression), A.thisArg) : t.updateParenthesizedExpression(k, A);
        }
        function _(k, D, w) {
          if (hu(k))
            return m(k, D, w);
          let A = $e(k.expression, s, lt);
          E.assertNotNode(A, qx);
          let O;
          return D && (e2(A) ? O = A : (O = t.createTempVariable(n), A = t.createAssignment(O, A))), A = k.kind === 211 ? t.updatePropertyAccessExpression(k, A, $e(k.name, s, Fe)) : t.updateElementAccessExpression(k, A, $e(k.argumentExpression, s, lt)), O ? t.createSyntheticReferenceExpression(A, O) : A;
        }
        function u(k, D) {
          if (hu(k))
            return m(
              k,
              D,
              /*isDelete*/
              !1
            );
          if (Zu(k.expression) && hu(za(k.expression))) {
            const w = c(
              k.expression,
              /*captureThisArg*/
              !0,
              /*isDelete*/
              !1
            ), A = Lr(k.arguments, s, lt);
            return qx(w) ? ot(t.createFunctionCallCall(w.expression, w.thisArg, A), k) : t.updateCallExpression(
              k,
              w,
              /*typeArguments*/
              void 0,
              A
            );
          }
          return yr(k, s, e);
        }
        function g(k, D, w) {
          switch (k.kind) {
            case 217:
              return c(k, D, w);
            case 211:
            case 212:
              return _(k, D, w);
            case 213:
              return u(k, D);
            default:
              return $e(k, s, lt);
          }
        }
        function m(k, D, w) {
          const { expression: A, chain: O } = o(k), F = g(
            qp(A),
            aS(O[0]),
            /*isDelete*/
            !1
          );
          let j = qx(F) ? F.thisArg : void 0, z = qx(F) ? F.expression : F, V = t.restoreOuterExpressions(
            A,
            z,
            8
            /* PartiallyEmittedExpressions */
          );
          e2(z) || (z = t.createTempVariable(n), V = t.createAssignment(z, V));
          let G = z, W;
          for (let K = 0; K < O.length; K++) {
            const U = O[K];
            switch (U.kind) {
              case 211:
              case 212:
                K === O.length - 1 && D && (e2(G) ? W = G : (W = t.createTempVariable(n), G = t.createAssignment(W, G))), G = U.kind === 211 ? t.createPropertyAccessExpression(G, $e(U.name, s, Fe)) : t.createElementAccessExpression(G, $e(U.argumentExpression, s, lt));
                break;
              case 213:
                K === 0 && j ? (Mo(j) || (j = t.cloneNode(j), im(
                  j,
                  3072
                  /* NoComments */
                )), G = t.createFunctionCallCall(
                  G,
                  j.kind === 108 ? t.createThis() : j,
                  Lr(U.arguments, s, lt)
                )) : G = t.createCallExpression(
                  G,
                  /*typeArguments*/
                  void 0,
                  Lr(U.arguments, s, lt)
                );
                break;
            }
            xn(G, U);
          }
          const pe = w ? t.createConditionalExpression(
            h(
              V,
              z,
              /*invert*/
              !0
            ),
            /*questionToken*/
            void 0,
            t.createTrue(),
            /*colonToken*/
            void 0,
            t.createDeleteExpression(G)
          ) : t.createConditionalExpression(
            h(
              V,
              z,
              /*invert*/
              !0
            ),
            /*questionToken*/
            void 0,
            t.createVoidZero(),
            /*colonToken*/
            void 0,
            G
          );
          return ot(pe, k), W ? t.createSyntheticReferenceExpression(pe, W) : pe;
        }
        function h(k, D, w) {
          return t.createBinaryExpression(
            t.createBinaryExpression(
              k,
              t.createToken(
                w ? 37 : 38
                /* ExclamationEqualsEqualsToken */
              ),
              t.createNull()
            ),
            t.createToken(
              w ? 57 : 56
              /* AmpersandAmpersandToken */
            ),
            t.createBinaryExpression(
              D,
              t.createToken(
                w ? 37 : 38
                /* ExclamationEqualsEqualsToken */
              ),
              t.createVoidZero()
            )
          );
        }
        function S(k) {
          let D = $e(k.left, s, lt), w = D;
          return e2(D) || (w = t.createTempVariable(n), D = t.createAssignment(w, D)), ot(
            t.createConditionalExpression(
              h(D, w),
              /*questionToken*/
              void 0,
              w,
              /*colonToken*/
              void 0,
              $e(k.right, s, lt)
            ),
            k
          );
        }
        function T(k) {
          return hu(za(k.expression)) ? xn(g(
            k.expression,
            /*captureThisArg*/
            !1,
            /*isDelete*/
            !0
          ), k) : t.updateDeleteExpression(k, $e(k.expression, s, lt));
        }
      }
      function Hne(e) {
        const {
          hoistVariableDeclaration: t,
          factory: n
        } = e;
        return Sd(e, i);
        function i(c) {
          return c.isDeclarationFile ? c : yr(c, s, e);
        }
        function s(c) {
          return (c.transformFlags & 16) === 0 ? c : ZB(c) ? o(c) : yr(c, s, e);
        }
        function o(c) {
          const _ = c.operatorToken, u = KD(_.kind);
          let g = za($e(c.left, s, __)), m = g;
          const h = za($e(c.right, s, lt));
          if (ko(g)) {
            const S = e2(g.expression), T = S ? g.expression : n.createTempVariable(t), k = S ? g.expression : n.createAssignment(
              T,
              g.expression
            );
            if (kn(g))
              m = n.createPropertyAccessExpression(
                T,
                g.name
              ), g = n.createPropertyAccessExpression(
                k,
                g.name
              );
            else {
              const D = e2(g.argumentExpression), w = D ? g.argumentExpression : n.createTempVariable(t);
              m = n.createElementAccessExpression(
                T,
                w
              ), g = n.createElementAccessExpression(
                k,
                D ? g.argumentExpression : n.createAssignment(
                  w,
                  g.argumentExpression
                )
              );
            }
          }
          return n.createBinaryExpression(
            g,
            u,
            n.createParenthesizedExpression(
              n.createAssignment(
                m,
                h
              )
            )
          );
        }
      }
      function Gne(e) {
        const {
          factory: t,
          getEmitHelperFactory: n,
          hoistVariableDeclaration: i,
          startLexicalEnvironment: s,
          endLexicalEnvironment: o
        } = e;
        let c, _, u, g;
        return Sd(e, m);
        function m(ie) {
          if (ie.isDeclarationFile)
            return ie;
          const fe = $e(ie, h, xi);
          return qg(fe, e.readEmitHelpers()), _ = void 0, c = void 0, u = void 0, fe;
        }
        function h(ie) {
          if ((ie.transformFlags & 4) === 0)
            return ie;
          switch (ie.kind) {
            case 307:
              return S(ie);
            case 241:
              return T(ie);
            case 248:
              return k(ie);
            case 250:
              return D(ie);
            case 255:
              return A(ie);
            default:
              return yr(ie, h, e);
          }
        }
        function S(ie) {
          const fe = BW(ie.statements);
          if (fe) {
            s(), c = new O6(), _ = [];
            const me = H1e(ie.statements), q = [];
            wn(q, QD(ie.statements, h, yi, 0, me));
            let he = me;
            for (; he < ie.statements.length; ) {
              const re = ie.statements[he];
              if (Xne(re) !== 0) {
                he > me && wn(q, Lr(ie.statements, h, yi, me, he - me));
                break;
              }
              he++;
            }
            E.assert(he < ie.statements.length, "Should have encountered at least one 'using' statement.");
            const Me = ee(), De = O(ie.statements, he, ie.statements.length, Me, q);
            return c.size && Dr(
              q,
              t.createExportDeclaration(
                /*modifiers*/
                void 0,
                /*isTypeOnly*/
                !1,
                t.createNamedExports(rs(c.values()))
              )
            ), wn(q, o()), _.length && q.push(t.createVariableStatement(
              t.createModifiersFromModifierFlags(
                32
                /* Export */
              ),
              t.createVariableDeclarationList(
                _,
                1
                /* Let */
              )
            )), wn(q, te(
              De,
              Me,
              fe === 2
              /* Async */
            )), g && q.push(t.createExportAssignment(
              /*modifiers*/
              void 0,
              /*isExportEquals*/
              !0,
              g
            )), t.updateSourceFile(ie, q);
          }
          return yr(ie, h, e);
        }
        function T(ie) {
          const fe = BW(ie.statements);
          if (fe) {
            const me = H1e(ie.statements), q = ee();
            return t.updateBlock(
              ie,
              [
                ...QD(ie.statements, h, yi, 0, me),
                ...te(
                  O(
                    ie.statements,
                    me,
                    ie.statements.length,
                    q,
                    /*topLevelStatements*/
                    void 0
                  ),
                  q,
                  fe === 2
                  /* Async */
                )
              ]
            );
          }
          return yr(ie, h, e);
        }
        function k(ie) {
          return ie.initializer && G1e(ie.initializer) ? $e(
            t.createBlock([
              t.createVariableStatement(
                /*modifiers*/
                void 0,
                ie.initializer
              ),
              t.updateForStatement(
                ie,
                /*initializer*/
                void 0,
                ie.condition,
                ie.incrementor,
                ie.statement
              )
            ]),
            h,
            yi
          ) : yr(ie, h, e);
        }
        function D(ie) {
          if (G1e(ie.initializer)) {
            const fe = ie.initializer, me = Xc(fe.declarations) || t.createVariableDeclaration(t.createTempVariable(
              /*recordTempVariable*/
              void 0
            )), q = $ne(fe) === 2, he = t.getGeneratedNameForNode(me.name), Me = t.updateVariableDeclaration(
              me,
              me.name,
              /*exclamationToken*/
              void 0,
              /*type*/
              void 0,
              he
            ), De = t.createVariableDeclarationList(
              [Me],
              q ? 6 : 4
              /* Using */
            ), re = t.createVariableStatement(
              /*modifiers*/
              void 0,
              De
            );
            return $e(
              t.updateForOfStatement(
                ie,
                ie.awaitModifier,
                t.createVariableDeclarationList(
                  [
                    t.createVariableDeclaration(he)
                  ],
                  2
                  /* Const */
                ),
                ie.expression,
                Cs(ie.statement) ? t.updateBlock(ie.statement, [
                  re,
                  ...ie.statement.statements
                ]) : t.createBlock(
                  [
                    re,
                    ie.statement
                  ],
                  /*multiLine*/
                  !0
                )
              ),
              h,
              yi
            );
          }
          return yr(ie, h, e);
        }
        function w(ie, fe) {
          return BW(ie.statements) !== 0 ? h6(ie) ? t.updateCaseClause(
            ie,
            $e(ie.expression, h, lt),
            O(
              ie.statements,
              /*start*/
              0,
              ie.statements.length,
              fe,
              /*topLevelStatements*/
              void 0
            )
          ) : t.updateDefaultClause(
            ie,
            O(
              ie.statements,
              /*start*/
              0,
              ie.statements.length,
              fe,
              /*topLevelStatements*/
              void 0
            )
          ) : yr(ie, h, e);
        }
        function A(ie) {
          const fe = pje(ie.caseBlock.clauses);
          if (fe) {
            const me = ee();
            return te(
              [
                t.updateSwitchStatement(
                  ie,
                  $e(ie.expression, h, lt),
                  t.updateCaseBlock(
                    ie.caseBlock,
                    ie.caseBlock.clauses.map((q) => w(q, me))
                  )
                )
              ],
              me,
              fe === 2
              /* Async */
            );
          }
          return yr(ie, h, e);
        }
        function O(ie, fe, me, q, he) {
          const Me = [];
          for (let xe = fe; xe < me; xe++) {
            const ue = ie[xe], Xe = Xne(ue);
            if (Xe) {
              E.assertNode(ue, Sc);
              const oe = [];
              for (let ve of ue.declarationList.declarations) {
                if (!Fe(ve.name)) {
                  oe.length = 0;
                  break;
                }
                G_(ve) && (ve = Y_(e, ve));
                const se = $e(ve.initializer, h, lt) ?? t.createVoidZero();
                oe.push(t.updateVariableDeclaration(
                  ve,
                  ve.name,
                  /*exclamationToken*/
                  void 0,
                  /*type*/
                  void 0,
                  n().createAddDisposableResourceHelper(
                    q,
                    se,
                    Xe === 2
                    /* Async */
                  )
                ));
              }
              if (oe.length) {
                const ve = t.createVariableDeclarationList(
                  oe,
                  2
                  /* Const */
                );
                xn(ve, ue.declarationList), ot(ve, ue.declarationList), De(t.updateVariableStatement(
                  ue,
                  /*modifiers*/
                  void 0,
                  ve
                ));
                continue;
              }
            }
            const nt = h(ue);
            fs(nt) ? nt.forEach(De) : nt && De(nt);
          }
          return Me;
          function De(xe) {
            E.assertNode(xe, yi), Dr(Me, re(xe));
          }
          function re(xe) {
            if (!he) return xe;
            switch (xe.kind) {
              case 272:
              case 271:
              case 278:
              case 262:
                return F(xe, he);
              case 277:
                return j(xe);
              case 263:
                return G(xe);
              case 243:
                return W(xe);
            }
            return xe;
          }
        }
        function F(ie, fe) {
          fe.push(ie);
        }
        function j(ie) {
          return ie.isExportEquals ? V(ie) : z(ie);
        }
        function z(ie) {
          if (u)
            return ie;
          u = t.createUniqueName(
            "_default",
            56
            /* Optimistic */
          ), U(
            u,
            /*isExport*/
            !0,
            "default",
            ie
          );
          let fe = ie.expression, me = xc(fe);
          G_(me) && (me = Y_(
            e,
            me,
            /*ignoreEmptyStringLiteral*/
            !1,
            "default"
          ), fe = t.restoreOuterExpressions(fe, me));
          const q = t.createAssignment(u, fe);
          return t.createExpressionStatement(q);
        }
        function V(ie) {
          if (g)
            return ie;
          g = t.createUniqueName(
            "_default",
            56
            /* Optimistic */
          ), i(g);
          const fe = t.createAssignment(g, ie.expression);
          return t.createExpressionStatement(fe);
        }
        function G(ie) {
          if (!ie.name && u)
            return ie;
          const fe = qn(
            ie,
            32
            /* Export */
          ), me = qn(
            ie,
            2048
            /* Default */
          );
          let q = t.converters.convertToClassExpression(ie);
          return ie.name && (U(
            t.getLocalName(ie),
            fe && !me,
            /*exportAlias*/
            void 0,
            ie
          ), q = t.createAssignment(t.getDeclarationName(ie), q), G_(q) && (q = Y_(
            e,
            q,
            /*ignoreEmptyStringLiteral*/
            !1
          )), xn(q, ie), ha(q, ie), Zc(q, ie)), me && !u && (u = t.createUniqueName(
            "_default",
            56
            /* Optimistic */
          ), U(
            u,
            /*isExport*/
            !0,
            "default",
            ie
          ), q = t.createAssignment(u, q), G_(q) && (q = Y_(
            e,
            q,
            /*ignoreEmptyStringLiteral*/
            !1,
            "default"
          )), xn(q, ie)), t.createExpressionStatement(q);
        }
        function W(ie) {
          let fe;
          const me = qn(
            ie,
            32
            /* Export */
          );
          for (const q of ie.declarationList.declarations)
            K(q, me, q), q.initializer && (fe = Dr(fe, pe(q)));
          if (fe) {
            const q = t.createExpressionStatement(t.inlineExpressions(fe));
            return xn(q, ie), Zc(q, ie), ha(q, ie), q;
          }
        }
        function pe(ie) {
          E.assertIsDefined(ie.initializer);
          let fe;
          Fe(ie.name) ? (fe = t.cloneNode(ie.name), an(fe, ka(fe) & -114689)) : fe = t.converters.convertToAssignmentPattern(ie.name);
          const me = t.createAssignment(fe, ie.initializer);
          return xn(me, ie), Zc(me, ie), ha(me, ie), me;
        }
        function K(ie, fe, me) {
          if (Ps(ie.name))
            for (const q of ie.name.elements)
              vl(q) || K(q, fe, me);
          else
            U(
              ie.name,
              fe,
              /*exportAlias*/
              void 0,
              me
            );
        }
        function U(ie, fe, me, q) {
          const he = Mo(ie) ? ie : t.cloneNode(ie);
          if (fe) {
            if (me === void 0 && !Rh(he)) {
              const xe = t.createVariableDeclaration(he);
              q && xn(xe, q), _.push(xe);
              return;
            }
            const Me = me !== void 0 ? he : void 0, De = me !== void 0 ? me : he, re = t.createExportSpecifier(
              /*isTypeOnly*/
              !1,
              Me,
              De
            );
            q && xn(re, q), c.set(he, re);
          }
          i(he);
        }
        function ee() {
          return t.createUniqueName("env");
        }
        function te(ie, fe, me) {
          const q = [], he = t.createObjectLiteralExpression([
            t.createPropertyAssignment("stack", t.createArrayLiteralExpression()),
            t.createPropertyAssignment("error", t.createVoidZero()),
            t.createPropertyAssignment("hasError", t.createFalse())
          ]), Me = t.createVariableDeclaration(
            fe,
            /*exclamationToken*/
            void 0,
            /*type*/
            void 0,
            he
          ), De = t.createVariableDeclarationList(
            [Me],
            2
            /* Const */
          ), re = t.createVariableStatement(
            /*modifiers*/
            void 0,
            De
          );
          q.push(re);
          const xe = t.createBlock(
            ie,
            /*multiLine*/
            !0
          ), ue = t.createUniqueName("e"), Xe = t.createCatchClause(
            ue,
            t.createBlock(
              [
                t.createExpressionStatement(
                  t.createAssignment(
                    t.createPropertyAccessExpression(fe, "error"),
                    ue
                  )
                ),
                t.createExpressionStatement(
                  t.createAssignment(
                    t.createPropertyAccessExpression(fe, "hasError"),
                    t.createTrue()
                  )
                )
              ],
              /*multiLine*/
              !0
            )
          );
          let nt;
          if (me) {
            const ve = t.createUniqueName("result");
            nt = t.createBlock(
              [
                t.createVariableStatement(
                  /*modifiers*/
                  void 0,
                  t.createVariableDeclarationList(
                    [
                      t.createVariableDeclaration(
                        ve,
                        /*exclamationToken*/
                        void 0,
                        /*type*/
                        void 0,
                        n().createDisposeResourcesHelper(fe)
                      )
                    ],
                    2
                    /* Const */
                  )
                ),
                t.createIfStatement(ve, t.createExpressionStatement(t.createAwaitExpression(ve)))
              ],
              /*multiLine*/
              !0
            );
          } else
            nt = t.createBlock(
              [
                t.createExpressionStatement(
                  n().createDisposeResourcesHelper(fe)
                )
              ],
              /*multiLine*/
              !0
            );
          const oe = t.createTryStatement(xe, Xe, nt);
          return q.push(oe), q;
        }
      }
      function H1e(e) {
        for (let t = 0; t < e.length; t++)
          if (!Qd(e[t]) && !m3(e[t]))
            return t;
        return 0;
      }
      function G1e(e) {
        return zl(e) && $ne(e) !== 0;
      }
      function $ne(e) {
        return (e.flags & 7) === 6 ? 2 : (e.flags & 7) === 4 ? 1 : 0;
      }
      function fje(e) {
        return $ne(e.declarationList);
      }
      function Xne(e) {
        return Sc(e) ? fje(e) : 0;
      }
      function BW(e) {
        let t = 0;
        for (const n of e) {
          const i = Xne(n);
          if (i === 2) return 2;
          i > t && (t = i);
        }
        return t;
      }
      function pje(e) {
        let t = 0;
        for (const n of e) {
          const i = BW(n.statements);
          if (i === 2) return 2;
          i > t && (t = i);
        }
        return t;
      }
      function Qne(e) {
        const {
          factory: t,
          getEmitHelperFactory: n
        } = e, i = e.getCompilerOptions();
        let s, o;
        return Sd(e, h);
        function c() {
          if (o.filenameDeclaration)
            return o.filenameDeclaration.name;
          const oe = t.createVariableDeclaration(
            t.createUniqueName(
              "_jsxFileName",
              48
              /* FileLevel */
            ),
            /*exclamationToken*/
            void 0,
            /*type*/
            void 0,
            t.createStringLiteral(s.fileName)
          );
          return o.filenameDeclaration = oe, o.filenameDeclaration.name;
        }
        function _(oe) {
          return i.jsx === 5 ? "jsxDEV" : oe ? "jsxs" : "jsx";
        }
        function u(oe) {
          const ve = _(oe);
          return m(ve);
        }
        function g() {
          return m("Fragment");
        }
        function m(oe) {
          var ve, se;
          const Pe = oe === "createElement" ? o.importSpecifier : W5(o.importSpecifier, i), Ee = (se = (ve = o.utilizedImplicitRuntimeImports) == null ? void 0 : ve.get(Pe)) == null ? void 0 : se.get(oe);
          if (Ee)
            return Ee.name;
          o.utilizedImplicitRuntimeImports || (o.utilizedImplicitRuntimeImports = /* @__PURE__ */ new Map());
          let Ce = o.utilizedImplicitRuntimeImports.get(Pe);
          Ce || (Ce = /* @__PURE__ */ new Map(), o.utilizedImplicitRuntimeImports.set(Pe, Ce));
          const ze = t.createUniqueName(
            `_${oe}`,
            112
            /* AllowNameSubstitution */
          ), St = t.createImportSpecifier(
            /*isTypeOnly*/
            !1,
            t.createIdentifier(oe),
            ze
          );
          return ute(ze, St), Ce.set(oe, St), ze;
        }
        function h(oe) {
          if (oe.isDeclarationFile)
            return oe;
          s = oe, o = {}, o.importSpecifier = oN(i, oe);
          let ve = yr(oe, S, e);
          qg(ve, e.readEmitHelpers());
          let se = ve.statements;
          if (o.filenameDeclaration && (se = fS(se.slice(), t.createVariableStatement(
            /*modifiers*/
            void 0,
            t.createVariableDeclarationList(
              [o.filenameDeclaration],
              2
              /* Const */
            )
          ))), o.utilizedImplicitRuntimeImports) {
            for (const [Pe, Ee] of rs(o.utilizedImplicitRuntimeImports.entries()))
              if (ol(oe)) {
                const Ce = t.createImportDeclaration(
                  /*modifiers*/
                  void 0,
                  t.createImportClause(
                    /*isTypeOnly*/
                    !1,
                    /*name*/
                    void 0,
                    t.createNamedImports(rs(Ee.values()))
                  ),
                  t.createStringLiteral(Pe),
                  /*attributes*/
                  void 0
                );
                tv(
                  Ce,
                  /*incremental*/
                  !1
                ), se = fS(se.slice(), Ce);
              } else if (H_(oe)) {
                const Ce = t.createVariableStatement(
                  /*modifiers*/
                  void 0,
                  t.createVariableDeclarationList(
                    [
                      t.createVariableDeclaration(
                        t.createObjectBindingPattern(rs(Ee.values(), (ze) => t.createBindingElement(
                          /*dotDotDotToken*/
                          void 0,
                          ze.propertyName,
                          ze.name
                        ))),
                        /*exclamationToken*/
                        void 0,
                        /*type*/
                        void 0,
                        t.createCallExpression(
                          t.createIdentifier("require"),
                          /*typeArguments*/
                          void 0,
                          [t.createStringLiteral(Pe)]
                        )
                      )
                    ],
                    2
                    /* Const */
                  )
                );
                tv(
                  Ce,
                  /*incremental*/
                  !1
                ), se = fS(se.slice(), Ce);
              }
          }
          return se !== ve.statements && (ve = t.updateSourceFile(ve, se)), o = void 0, ve;
        }
        function S(oe) {
          return oe.transformFlags & 2 ? T(oe) : oe;
        }
        function T(oe) {
          switch (oe.kind) {
            case 284:
              return O(
                oe,
                /*isChild*/
                !1
              );
            case 285:
              return F(
                oe,
                /*isChild*/
                !1
              );
            case 288:
              return j(
                oe,
                /*isChild*/
                !1
              );
            case 294:
              return nt(oe);
            default:
              return yr(oe, S, e);
          }
        }
        function k(oe) {
          switch (oe.kind) {
            case 12:
              return he(oe);
            case 294:
              return nt(oe);
            case 284:
              return O(
                oe,
                /*isChild*/
                !0
              );
            case 285:
              return F(
                oe,
                /*isChild*/
                !0
              );
            case 288:
              return j(
                oe,
                /*isChild*/
                !0
              );
            default:
              return E.failBadSyntaxKind(oe);
          }
        }
        function D(oe) {
          return oe.properties.some(
            (ve) => tl(ve) && (Fe(ve.name) && Pn(ve.name) === "__proto__" || la(ve.name) && ve.name.text === "__proto__")
          );
        }
        function w(oe) {
          let ve = !1;
          for (const se of oe.attributes.properties)
            if (Hx(se) && (!ua(se.expression) || se.expression.properties.some(Gg)))
              ve = !0;
            else if (ve && um(se) && Fe(se.name) && se.name.escapedText === "key")
              return !0;
          return !1;
        }
        function A(oe) {
          return o.importSpecifier === void 0 || w(oe);
        }
        function O(oe, ve) {
          return (A(oe.openingElement) ? pe : G)(
            oe.openingElement,
            oe.children,
            ve,
            /*location*/
            oe
          );
        }
        function F(oe, ve) {
          return (A(oe) ? pe : G)(
            oe,
            /*children*/
            void 0,
            ve,
            /*location*/
            oe
          );
        }
        function j(oe, ve) {
          return (o.importSpecifier === void 0 ? U : K)(
            oe.openingFragment,
            oe.children,
            ve,
            /*location*/
            oe
          );
        }
        function z(oe) {
          const ve = V(oe);
          return ve && t.createObjectLiteralExpression([ve]);
        }
        function V(oe) {
          const ve = QC(oe);
          if (Ar(ve) === 1 && !ve[0].dotDotDotToken) {
            const Pe = k(ve[0]);
            return Pe && t.createPropertyAssignment("children", Pe);
          }
          const se = Oi(oe, k);
          return Ar(se) ? t.createPropertyAssignment("children", t.createArrayLiteralExpression(se)) : void 0;
        }
        function G(oe, ve, se, Pe) {
          const Ee = ue(oe), Ce = ve && ve.length ? V(ve) : void 0, ze = Dn(oe.attributes.properties, (tr) => !!tr.name && Fe(tr.name) && tr.name.escapedText === "key"), St = ze ? Tn(oe.attributes.properties, (tr) => tr !== ze) : oe.attributes.properties, Bt = Ar(St) ? te(St, Ce) : t.createObjectLiteralExpression(Ce ? [Ce] : Ue);
          return W(
            Ee,
            Bt,
            ze,
            ve || Ue,
            se,
            Pe
          );
        }
        function W(oe, ve, se, Pe, Ee, Ce) {
          var ze;
          const St = QC(Pe), Bt = Ar(St) > 1 || !!((ze = St[0]) != null && ze.dotDotDotToken), tr = [oe, ve];
          if (se && tr.push(q(se.initializer)), i.jsx === 5) {
            const it = Vo(s);
            if (it && xi(it)) {
              se === void 0 && tr.push(t.createVoidZero()), tr.push(Bt ? t.createTrue() : t.createFalse());
              const Wt = Js(it, Ce.pos);
              tr.push(t.createObjectLiteralExpression([
                t.createPropertyAssignment("fileName", c()),
                t.createPropertyAssignment("lineNumber", t.createNumericLiteral(Wt.line + 1)),
                t.createPropertyAssignment("columnNumber", t.createNumericLiteral(Wt.character + 1))
              ])), tr.push(t.createThis());
            }
          }
          const Fr = ot(
            t.createCallExpression(
              u(Bt),
              /*typeArguments*/
              void 0,
              tr
            ),
            Ce
          );
          return Ee && Su(Fr), Fr;
        }
        function pe(oe, ve, se, Pe) {
          const Ee = ue(oe), Ce = oe.attributes.properties, ze = Ar(Ce) ? te(Ce) : t.createNull(), St = o.importSpecifier === void 0 ? bz(
            t,
            e.getEmitResolver().getJsxFactoryEntity(s),
            i.reactNamespace,
            // TODO: GH#18217
            oe
          ) : m("createElement"), Bt = qte(
            t,
            St,
            Ee,
            ze,
            Oi(ve, k),
            Pe
          );
          return se && Su(Bt), Bt;
        }
        function K(oe, ve, se, Pe) {
          let Ee;
          if (ve && ve.length) {
            const Ce = z(ve);
            Ce && (Ee = Ce);
          }
          return W(
            g(),
            Ee || t.createObjectLiteralExpression([]),
            /*keyAttr*/
            void 0,
            ve,
            se,
            Pe
          );
        }
        function U(oe, ve, se, Pe) {
          const Ee = Hte(
            t,
            e.getEmitResolver().getJsxFactoryEntity(s),
            e.getEmitResolver().getJsxFragmentFactoryEntity(s),
            i.reactNamespace,
            // TODO: GH#18217
            Oi(ve, k),
            oe,
            Pe
          );
          return se && Su(Ee), Ee;
        }
        function ee(oe) {
          return ua(oe.expression) && !D(oe.expression) ? $c(oe.expression.properties, (ve) => E.checkDefined($e(ve, S, Eh))) : t.createSpreadAssignment(E.checkDefined($e(oe.expression, S, lt)));
        }
        function te(oe, ve) {
          const se = ga(i);
          return se && se >= 5 ? t.createObjectLiteralExpression(ie(oe, ve)) : fe(oe, ve);
        }
        function ie(oe, ve) {
          const se = Sp(SR(oe, Hx, (Pe, Ee) => Sp(fr(Pe, (Ce) => Ee ? ee(Ce) : me(Ce)))));
          return ve && se.push(ve), se;
        }
        function fe(oe, ve) {
          const se = [];
          let Pe = [];
          for (const Ce of oe) {
            if (Hx(Ce)) {
              if (ua(Ce.expression) && !D(Ce.expression)) {
                for (const ze of Ce.expression.properties) {
                  if (Gg(ze)) {
                    Ee(), se.push(E.checkDefined($e(ze.expression, S, lt)));
                    continue;
                  }
                  Pe.push(E.checkDefined($e(ze, S)));
                }
                continue;
              }
              Ee(), se.push(E.checkDefined($e(Ce.expression, S, lt)));
              continue;
            }
            Pe.push(me(Ce));
          }
          return ve && Pe.push(ve), Ee(), se.length && !ua(se[0]) && se.unshift(t.createObjectLiteralExpression()), zm(se) || n().createAssignHelper(se);
          function Ee() {
            Pe.length && (se.push(t.createObjectLiteralExpression(Pe)), Pe = []);
          }
        }
        function me(oe) {
          const ve = Xe(oe), se = q(oe.initializer);
          return t.createPropertyAssignment(ve, se);
        }
        function q(oe) {
          if (oe === void 0)
            return t.createTrue();
          if (oe.kind === 11) {
            const ve = oe.singleQuote !== void 0 ? oe.singleQuote : !i5(oe, s), se = t.createStringLiteral(xe(oe.text) || oe.text, ve);
            return ot(se, oe);
          }
          return oe.kind === 294 ? oe.expression === void 0 ? t.createTrue() : E.checkDefined($e(oe.expression, S, lt)) : lm(oe) ? O(
            oe,
            /*isChild*/
            !1
          ) : MS(oe) ? F(
            oe,
            /*isChild*/
            !1
          ) : cv(oe) ? j(
            oe,
            /*isChild*/
            !1
          ) : E.failBadSyntaxKind(oe);
        }
        function he(oe) {
          const ve = Me(oe.text);
          return ve === void 0 ? void 0 : t.createStringLiteral(ve);
        }
        function Me(oe) {
          let ve, se = 0, Pe = -1;
          for (let Ee = 0; Ee < oe.length; Ee++) {
            const Ce = oe.charCodeAt(Ee);
            gu(Ce) ? (se !== -1 && Pe !== -1 && (ve = De(ve, oe.substr(se, Pe - se + 1))), se = -1) : Hd(Ce) || (Pe = Ee, se === -1 && (se = Ee));
          }
          return se !== -1 ? De(ve, oe.substr(se)) : ve;
        }
        function De(oe, ve) {
          const se = re(ve);
          return oe === void 0 ? se : oe + " " + se;
        }
        function re(oe) {
          return oe.replace(/&((#((\d+)|x([\da-fA-F]+)))|(\w+));/g, (ve, se, Pe, Ee, Ce, ze, St) => {
            if (Ce)
              return b4(parseInt(Ce, 10));
            if (ze)
              return b4(parseInt(ze, 16));
            {
              const Bt = dje.get(St);
              return Bt ? b4(Bt) : ve;
            }
          });
        }
        function xe(oe) {
          const ve = re(oe);
          return ve === oe ? void 0 : ve;
        }
        function ue(oe) {
          if (oe.kind === 284)
            return ue(oe.openingElement);
          {
            const ve = oe.tagName;
            return Fe(ve) && YC(ve.escapedText) ? t.createStringLiteral(Pn(ve)) : vd(ve) ? t.createStringLiteral(Pn(ve.namespace) + ":" + Pn(ve.name)) : IN(t, ve);
          }
        }
        function Xe(oe) {
          const ve = oe.name;
          if (Fe(ve)) {
            const se = Pn(ve);
            return /^[A-Z_]\w*$/i.test(se) ? ve : t.createStringLiteral(se);
          }
          return t.createStringLiteral(Pn(ve.namespace) + ":" + Pn(ve.name));
        }
        function nt(oe) {
          const ve = $e(oe.expression, S, lt);
          return oe.dotDotDotToken ? t.createSpreadElement(ve) : ve;
        }
      }
      var dje = new Map(Object.entries({
        quot: 34,
        amp: 38,
        apos: 39,
        lt: 60,
        gt: 62,
        nbsp: 160,
        iexcl: 161,
        cent: 162,
        pound: 163,
        curren: 164,
        yen: 165,
        brvbar: 166,
        sect: 167,
        uml: 168,
        copy: 169,
        ordf: 170,
        laquo: 171,
        not: 172,
        shy: 173,
        reg: 174,
        macr: 175,
        deg: 176,
        plusmn: 177,
        sup2: 178,
        sup3: 179,
        acute: 180,
        micro: 181,
        para: 182,
        middot: 183,
        cedil: 184,
        sup1: 185,
        ordm: 186,
        raquo: 187,
        frac14: 188,
        frac12: 189,
        frac34: 190,
        iquest: 191,
        Agrave: 192,
        Aacute: 193,
        Acirc: 194,
        Atilde: 195,
        Auml: 196,
        Aring: 197,
        AElig: 198,
        Ccedil: 199,
        Egrave: 200,
        Eacute: 201,
        Ecirc: 202,
        Euml: 203,
        Igrave: 204,
        Iacute: 205,
        Icirc: 206,
        Iuml: 207,
        ETH: 208,
        Ntilde: 209,
        Ograve: 210,
        Oacute: 211,
        Ocirc: 212,
        Otilde: 213,
        Ouml: 214,
        times: 215,
        Oslash: 216,
        Ugrave: 217,
        Uacute: 218,
        Ucirc: 219,
        Uuml: 220,
        Yacute: 221,
        THORN: 222,
        szlig: 223,
        agrave: 224,
        aacute: 225,
        acirc: 226,
        atilde: 227,
        auml: 228,
        aring: 229,
        aelig: 230,
        ccedil: 231,
        egrave: 232,
        eacute: 233,
        ecirc: 234,
        euml: 235,
        igrave: 236,
        iacute: 237,
        icirc: 238,
        iuml: 239,
        eth: 240,
        ntilde: 241,
        ograve: 242,
        oacute: 243,
        ocirc: 244,
        otilde: 245,
        ouml: 246,
        divide: 247,
        oslash: 248,
        ugrave: 249,
        uacute: 250,
        ucirc: 251,
        uuml: 252,
        yacute: 253,
        thorn: 254,
        yuml: 255,
        OElig: 338,
        oelig: 339,
        Scaron: 352,
        scaron: 353,
        Yuml: 376,
        fnof: 402,
        circ: 710,
        tilde: 732,
        Alpha: 913,
        Beta: 914,
        Gamma: 915,
        Delta: 916,
        Epsilon: 917,
        Zeta: 918,
        Eta: 919,
        Theta: 920,
        Iota: 921,
        Kappa: 922,
        Lambda: 923,
        Mu: 924,
        Nu: 925,
        Xi: 926,
        Omicron: 927,
        Pi: 928,
        Rho: 929,
        Sigma: 931,
        Tau: 932,
        Upsilon: 933,
        Phi: 934,
        Chi: 935,
        Psi: 936,
        Omega: 937,
        alpha: 945,
        beta: 946,
        gamma: 947,
        delta: 948,
        epsilon: 949,
        zeta: 950,
        eta: 951,
        theta: 952,
        iota: 953,
        kappa: 954,
        lambda: 955,
        mu: 956,
        nu: 957,
        xi: 958,
        omicron: 959,
        pi: 960,
        rho: 961,
        sigmaf: 962,
        sigma: 963,
        tau: 964,
        upsilon: 965,
        phi: 966,
        chi: 967,
        psi: 968,
        omega: 969,
        thetasym: 977,
        upsih: 978,
        piv: 982,
        ensp: 8194,
        emsp: 8195,
        thinsp: 8201,
        zwnj: 8204,
        zwj: 8205,
        lrm: 8206,
        rlm: 8207,
        ndash: 8211,
        mdash: 8212,
        lsquo: 8216,
        rsquo: 8217,
        sbquo: 8218,
        ldquo: 8220,
        rdquo: 8221,
        bdquo: 8222,
        dagger: 8224,
        Dagger: 8225,
        bull: 8226,
        hellip: 8230,
        permil: 8240,
        prime: 8242,
        Prime: 8243,
        lsaquo: 8249,
        rsaquo: 8250,
        oline: 8254,
        frasl: 8260,
        euro: 8364,
        image: 8465,
        weierp: 8472,
        real: 8476,
        trade: 8482,
        alefsym: 8501,
        larr: 8592,
        uarr: 8593,
        rarr: 8594,
        darr: 8595,
        harr: 8596,
        crarr: 8629,
        lArr: 8656,
        uArr: 8657,
        rArr: 8658,
        dArr: 8659,
        hArr: 8660,
        forall: 8704,
        part: 8706,
        exist: 8707,
        empty: 8709,
        nabla: 8711,
        isin: 8712,
        notin: 8713,
        ni: 8715,
        prod: 8719,
        sum: 8721,
        minus: 8722,
        lowast: 8727,
        radic: 8730,
        prop: 8733,
        infin: 8734,
        ang: 8736,
        and: 8743,
        or: 8744,
        cap: 8745,
        cup: 8746,
        int: 8747,
        there4: 8756,
        sim: 8764,
        cong: 8773,
        asymp: 8776,
        ne: 8800,
        equiv: 8801,
        le: 8804,
        ge: 8805,
        sub: 8834,
        sup: 8835,
        nsub: 8836,
        sube: 8838,
        supe: 8839,
        oplus: 8853,
        otimes: 8855,
        perp: 8869,
        sdot: 8901,
        lceil: 8968,
        rceil: 8969,
        lfloor: 8970,
        rfloor: 8971,
        lang: 9001,
        rang: 9002,
        loz: 9674,
        spades: 9824,
        clubs: 9827,
        hearts: 9829,
        diams: 9830
      }));
      function Yne(e) {
        const {
          factory: t,
          hoistVariableDeclaration: n
        } = e;
        return Sd(e, i);
        function i(u) {
          return u.isDeclarationFile ? u : yr(u, s, e);
        }
        function s(u) {
          if ((u.transformFlags & 512) === 0)
            return u;
          switch (u.kind) {
            case 226:
              return o(u);
            default:
              return yr(u, s, e);
          }
        }
        function o(u) {
          switch (u.operatorToken.kind) {
            case 68:
              return c(u);
            case 43:
              return _(u);
            default:
              return yr(u, s, e);
          }
        }
        function c(u) {
          let g, m;
          const h = $e(u.left, s, lt), S = $e(u.right, s, lt);
          if (fo(h)) {
            const T = t.createTempVariable(n), k = t.createTempVariable(n);
            g = ot(
              t.createElementAccessExpression(
                ot(t.createAssignment(T, h.expression), h.expression),
                ot(t.createAssignment(k, h.argumentExpression), h.argumentExpression)
              ),
              h
            ), m = ot(
              t.createElementAccessExpression(
                T,
                k
              ),
              h
            );
          } else if (kn(h)) {
            const T = t.createTempVariable(n);
            g = ot(
              t.createPropertyAccessExpression(
                ot(t.createAssignment(T, h.expression), h.expression),
                h.name
              ),
              h
            ), m = ot(
              t.createPropertyAccessExpression(
                T,
                h.name
              ),
              h
            );
          } else
            g = h, m = h;
          return ot(
            t.createAssignment(
              g,
              ot(t.createGlobalMethodCall("Math", "pow", [m, S]), u)
            ),
            u
          );
        }
        function _(u) {
          const g = $e(u.left, s, lt), m = $e(u.right, s, lt);
          return ot(t.createGlobalMethodCall("Math", "pow", [g, m]), u);
        }
      }
      function $1e(e, t) {
        return { kind: e, expression: t };
      }
      function Zne(e) {
        const {
          factory: t,
          getEmitHelperFactory: n,
          startLexicalEnvironment: i,
          resumeLexicalEnvironment: s,
          endLexicalEnvironment: o,
          hoistVariableDeclaration: c
        } = e, _ = e.getCompilerOptions(), u = e.getEmitResolver(), g = e.onSubstituteNode, m = e.onEmitNode;
        e.onEmitNode = nf, e.onSubstituteNode = hf;
        let h, S, T, k;
        function D(Z) {
          k = Dr(
            k,
            t.createVariableDeclaration(Z)
          );
        }
        let w, A = 0;
        return Sd(e, O);
        function O(Z) {
          if (Z.isDeclarationFile)
            return Z;
          h = Z, S = Z.text;
          const Ke = te(Z);
          return qg(Ke, e.readEmitHelpers()), h = void 0, S = void 0, k = void 0, T = 0, Ke;
        }
        function F(Z, Ke) {
          const Vt = T;
          return T = (T & ~Z | Ke) & 32767, Vt;
        }
        function j(Z, Ke, Vt) {
          T = (T & ~Ke | Vt) & -32768 | Z;
        }
        function z(Z) {
          return (T & 8192) !== 0 && Z.kind === 253 && !Z.expression;
        }
        function V(Z) {
          return Z.transformFlags & 4194304 && (gf(Z) || av(Z) || Pte(Z) || FD(Z) || OD(Z) || h6(Z) || LD(Z) || OS(Z) || Qb(Z) || i1(Z) || Jy(
            Z,
            /*lookInLabeledStatements*/
            !1
          ) || Cs(Z));
        }
        function G(Z) {
          return (Z.transformFlags & 1024) !== 0 || w !== void 0 || T & 8192 && V(Z) || Jy(
            Z,
            /*lookInLabeledStatements*/
            !1
          ) && gi(Z) || (Hp(Z) & 1) !== 0;
        }
        function W(Z) {
          return G(Z) ? ee(
            Z,
            /*expressionResultIsUnused*/
            !1
          ) : Z;
        }
        function pe(Z) {
          return G(Z) ? ee(
            Z,
            /*expressionResultIsUnused*/
            !0
          ) : Z;
        }
        function K(Z) {
          if (G(Z)) {
            const Ke = Vo(Z);
            if (is(Ke) && sl(Ke)) {
              const Vt = F(
                32670,
                16449
                /* StaticInitializerIncludes */
              ), Ut = ee(
                Z,
                /*expressionResultIsUnused*/
                !1
              );
              return j(
                Vt,
                229376,
                0
                /* None */
              ), Ut;
            }
            return ee(
              Z,
              /*expressionResultIsUnused*/
              !1
            );
          }
          return Z;
        }
        function U(Z) {
          return Z.kind === 108 ? ll(
            Z,
            /*isExpressionOfCall*/
            !0
          ) : W(Z);
        }
        function ee(Z, Ke) {
          switch (Z.kind) {
            case 126:
              return;
            // elide static keyword
            case 263:
              return ue(Z);
            case 231:
              return Xe(Z);
            case 169:
              return ta(Z);
            case 262:
              return Rt(Z);
            case 219:
              return kt(Z);
            case 218:
              return Ve(Z);
            case 260:
              return Mr(Z);
            case 80:
              return re(Z);
            case 261:
              return ke(Z);
            case 255:
              return ie(Z);
            case 269:
              return fe(Z);
            case 241:
              return mt(
                Z
              );
            case 252:
            case 251:
              return xe(Z);
            case 256:
              return gt(Z);
            case 246:
            case 247:
              return dr(
                Z,
                /*outermostLabeledStatement*/
                void 0
              );
            case 248:
              return Kt(
                Z,
                /*outermostLabeledStatement*/
                void 0
              );
            case 249:
              return cr(
                Z,
                /*outermostLabeledStatement*/
                void 0
              );
            case 250:
              return lr(
                Z,
                /*outermostLabeledStatement*/
                void 0
              );
            case 244:
              return _e(Z);
            case 210:
              return $s(Z);
            case 299:
              return Li(Z);
            case 304:
              return vo(Z);
            case 167:
              return fc(Z);
            case 209:
              return bo(Z);
            case 213:
              return pc(Z);
            case 214:
              return Rf(Z);
            case 217:
              return M(Z, Ke);
            case 226:
              return ye(Z, Ke);
            case 356:
              return X(Z, Ke);
            case 15:
            case 16:
            case 17:
            case 18:
              return Ea(Z);
            case 11:
              return Do(Z);
            case 9:
              return Ac(Z);
            case 215:
              return rc(Z);
            case 228:
              return nc(Z);
            case 229:
              return Lc(Z);
            case 230:
              return Is(Z);
            case 108:
              return ll(
                Z,
                /*isExpressionOfCall*/
                !1
              );
            case 110:
              return Me(Z);
            case 236:
              return ul(Z);
            case 174:
              return no(Z);
            case 177:
            case 178:
              return da(Z);
            case 243:
              return jt(Z);
            case 253:
              return he(Z);
            case 222:
              return De(Z);
            default:
              return yr(Z, W, e);
          }
        }
        function te(Z) {
          const Ke = F(
            8064,
            64
            /* SourceFileIncludes */
          ), Vt = [], Ut = [];
          i();
          const vr = t.copyPrologue(
            Z.statements,
            Vt,
            /*ensureUseStrict*/
            !1,
            W
          );
          return wn(Ut, Lr(Z.statements, W, yi, vr)), k && Ut.push(
            t.createVariableStatement(
              /*modifiers*/
              void 0,
              t.createVariableDeclarationList(k)
            )
          ), t.mergeLexicalEnvironment(Vt, o()), Q(Vt, Z), j(
            Ke,
            0,
            0
            /* None */
          ), t.updateSourceFile(
            Z,
            ot(t.createNodeArray(Ji(Vt, Ut)), Z.statements)
          );
        }
        function ie(Z) {
          if (w !== void 0) {
            const Ke = w.allowedNonLabeledJumps;
            w.allowedNonLabeledJumps |= 2;
            const Vt = yr(Z, W, e);
            return w.allowedNonLabeledJumps = Ke, Vt;
          }
          return yr(Z, W, e);
        }
        function fe(Z) {
          const Ke = F(
            7104,
            0
            /* BlockScopeIncludes */
          ), Vt = yr(Z, W, e);
          return j(
            Ke,
            0,
            0
            /* None */
          ), Vt;
        }
        function me(Z) {
          return xn(t.createReturnStatement(q()), Z);
        }
        function q() {
          return t.createUniqueName(
            "_this",
            48
            /* FileLevel */
          );
        }
        function he(Z) {
          return w ? (w.nonLocalJumps |= 8, z(Z) && (Z = me(Z)), t.createReturnStatement(
            t.createObjectLiteralExpression(
              [
                t.createPropertyAssignment(
                  t.createIdentifier("value"),
                  Z.expression ? E.checkDefined($e(Z.expression, W, lt)) : t.createVoidZero()
                )
              ]
            )
          )) : z(Z) ? me(Z) : yr(Z, W, e);
        }
        function Me(Z) {
          return T |= 65536, T & 2 && !(T & 16384) && (T |= 131072), w ? T & 2 ? (w.containsLexicalThis = !0, Z) : w.thisName || (w.thisName = t.createUniqueName("this")) : Z;
        }
        function De(Z) {
          return yr(Z, pe, e);
        }
        function re(Z) {
          return w && u.isArgumentsLocalBinding(Z) ? w.argumentsName || (w.argumentsName = t.createUniqueName("arguments")) : Z.flags & 256 ? xn(
            ot(
              t.createIdentifier(Ei(Z.escapedText)),
              Z
            ),
            Z
          ) : Z;
        }
        function xe(Z) {
          if (w) {
            const Ke = Z.kind === 252 ? 2 : 4;
            if (!(Z.label && w.labels && w.labels.get(Pn(Z.label)) || !Z.label && w.allowedNonLabeledJumps & Ke)) {
              let Ut;
              const vr = Z.label;
              vr ? Z.kind === 252 ? (Ut = `break-${vr.escapedText}`, et(
                w,
                /*isBreak*/
                !0,
                Pn(vr),
                Ut
              )) : (Ut = `continue-${vr.escapedText}`, et(
                w,
                /*isBreak*/
                !1,
                Pn(vr),
                Ut
              )) : Z.kind === 252 ? (w.nonLocalJumps |= 2, Ut = "break") : (w.nonLocalJumps |= 4, Ut = "continue");
              let qr = t.createStringLiteral(Ut);
              if (w.loopOutParameters.length) {
                const On = w.loopOutParameters;
                let ti;
                for (let Ii = 0; Ii < On.length; Ii++) {
                  const L = eu(
                    On[Ii],
                    1
                    /* ToOutParameter */
                  );
                  Ii === 0 ? ti = L : ti = t.createBinaryExpression(ti, 28, L);
                }
                qr = t.createBinaryExpression(ti, 28, qr);
              }
              return t.createReturnStatement(qr);
            }
          }
          return yr(Z, W, e);
        }
        function ue(Z) {
          const Ke = t.createVariableDeclaration(
            t.getLocalName(
              Z,
              /*allowComments*/
              !0
            ),
            /*exclamationToken*/
            void 0,
            /*type*/
            void 0,
            nt(Z)
          );
          xn(Ke, Z);
          const Vt = [], Ut = t.createVariableStatement(
            /*modifiers*/
            void 0,
            t.createVariableDeclarationList([Ke])
          );
          if (xn(Ut, Z), ot(Ut, Z), Su(Ut), Vt.push(Ut), qn(
            Z,
            32
            /* Export */
          )) {
            const vr = qn(
              Z,
              2048
              /* Default */
            ) ? t.createExportDefault(t.getLocalName(Z)) : t.createExternalModuleExport(t.getLocalName(Z));
            xn(vr, Ut), Vt.push(vr);
          }
          return Wm(Vt);
        }
        function Xe(Z) {
          return nt(Z);
        }
        function nt(Z) {
          Z.name && n_();
          const Ke = Ib(Z), Vt = t.createFunctionExpression(
            /*modifiers*/
            void 0,
            /*asteriskToken*/
            void 0,
            /*name*/
            void 0,
            /*typeParameters*/
            void 0,
            Ke ? [t.createParameterDeclaration(
              /*modifiers*/
              void 0,
              /*dotDotDotToken*/
              void 0,
              Mc()
            )] : [],
            /*type*/
            void 0,
            oe(Z, Ke)
          );
          an(
            Vt,
            ka(Z) & 131072 | 1048576
            /* ReuseTempVariableScope */
          );
          const Ut = t.createPartiallyEmittedExpression(Vt);
          o6(Ut, Z.end), an(
            Ut,
            3072
            /* NoComments */
          );
          const vr = t.createPartiallyEmittedExpression(Ut);
          o6(vr, ca(S, Z.pos)), an(
            vr,
            3072
            /* NoComments */
          );
          const qr = t.createParenthesizedExpression(
            t.createCallExpression(
              vr,
              /*typeArguments*/
              void 0,
              Ke ? [E.checkDefined($e(Ke.expression, W, lt))] : []
            )
          );
          return Wb(qr, 3, "* @class "), qr;
        }
        function oe(Z, Ke) {
          const Vt = [], Ut = t.getInternalName(Z), vr = IB(Ut) ? t.getGeneratedNameForNode(Ut) : Ut;
          i(), ve(Vt, Z, Ke), se(Vt, Z, vr, Ke), Ze(Vt, Z);
          const qr = iJ(
            ca(S, Z.members.end),
            20
            /* CloseBraceToken */
          ), On = t.createPartiallyEmittedExpression(vr);
          o6(On, qr.end), an(
            On,
            3072
            /* NoComments */
          );
          const ti = t.createReturnStatement(On);
          gD(ti, qr.pos), an(
            ti,
            3840
            /* NoTokenSourceMaps */
          ), Vt.push(ti), Og(Vt, o());
          const Ii = t.createBlock(
            ot(
              t.createNodeArray(Vt),
              /*location*/
              Z.members
            ),
            /*multiLine*/
            !0
          );
          return an(
            Ii,
            3072
            /* NoComments */
          ), Ii;
        }
        function ve(Z, Ke, Vt) {
          Vt && Z.push(
            ot(
              t.createExpressionStatement(
                n().createExtendsHelper(t.getInternalName(Ke))
              ),
              /*location*/
              Vt
            )
          );
        }
        function se(Z, Ke, Vt, Ut) {
          const vr = w;
          w = void 0;
          const qr = F(
            32662,
            73
            /* ConstructorIncludes */
          ), On = jg(Ke), ti = Yg(On, Ut !== void 0), Ii = t.createFunctionDeclaration(
            /*modifiers*/
            void 0,
            /*asteriskToken*/
            void 0,
            Vt,
            /*typeParameters*/
            void 0,
            Pe(On, ti),
            /*type*/
            void 0,
            St(On, Ke, Ut, ti)
          );
          ot(Ii, On || Ke), Ut && an(
            Ii,
            16
            /* CapturesThis */
          ), Z.push(Ii), j(
            qr,
            229376,
            0
            /* None */
          ), w = vr;
        }
        function Pe(Z, Ke) {
          return _c(Z && !Ke ? Z.parameters : void 0, W, e) || [];
        }
        function Ee(Z, Ke) {
          const Vt = [];
          s(), t.mergeLexicalEnvironment(Vt, o()), Ke && Vt.push(t.createReturnStatement(ks()));
          const Ut = t.createNodeArray(Vt);
          ot(Ut, Z.members);
          const vr = t.createBlock(
            Ut,
            /*multiLine*/
            !0
          );
          return ot(vr, Z), an(
            vr,
            3072
            /* NoComments */
          ), vr;
        }
        function Ce(Z) {
          return Sc(Z) && Pi(Z.declarationList.declarations, (Ke) => Fe(Ke.name) && !Ke.initializer);
        }
        function ze(Z) {
          if (dS(Z))
            return !0;
          if (!(Z.transformFlags & 134217728))
            return !1;
          switch (Z.kind) {
            // stop at function boundaries
            case 219:
            case 218:
            case 262:
            case 176:
            case 175:
              return !1;
            // only step into computed property names for class and object literal elements
            case 177:
            case 178:
            case 174:
            case 172: {
              const Ke = Z;
              return ia(Ke.name) ? !!Ss(Ke.name, ze) : !1;
            }
          }
          return !!Ss(Z, ze);
        }
        function St(Z, Ke, Vt, Ut) {
          const vr = !!Vt && xc(Vt.expression).kind !== 106;
          if (!Z) return Ee(Ke, vr);
          const qr = [], On = [];
          s();
          const ti = t.copyStandardPrologue(
            Z.body.statements,
            qr,
            /*statementOffset*/
            0
          );
          (Ut || ze(Z.body)) && (T |= 8192), wn(On, Lr(Z.body.statements, W, yi, ti));
          const Ii = vr || T & 8192;
          ms(qr, Z), rt(qr, Z, Ut), qe(qr, Z), Ii ? Ne(qr, Z, bi()) : Q(qr, Z), t.mergeLexicalEnvironment(qr, o()), Ii && !Wn(Z.body) && On.push(t.createReturnStatement(q()));
          const L = t.createBlock(
            ot(
              t.createNodeArray(
                [
                  ...qr,
                  ...On
                ]
              ),
              /*location*/
              Z.body.statements
            ),
            /*multiLine*/
            !0
          );
          return ot(L, Z.body), zn(L, Z.body, Ut);
        }
        function Bt(Z) {
          return Mo(Z) && Pn(Z) === "_this";
        }
        function tr(Z) {
          return Mo(Z) && Pn(Z) === "_super";
        }
        function Fr(Z) {
          return Sc(Z) && Z.declarationList.declarations.length === 1 && it(Z.declarationList.declarations[0]);
        }
        function it(Z) {
          return Zn(Z) && Bt(Z.name) && !!Z.initializer;
        }
        function Wt(Z) {
          return wl(
            Z,
            /*excludeCompoundAssignment*/
            !0
          ) && Bt(Z.left);
        }
        function Wr(Z) {
          return Ms(Z) && kn(Z.expression) && tr(Z.expression.expression) && Fe(Z.expression.name) && (Pn(Z.expression.name) === "call" || Pn(Z.expression.name) === "apply") && Z.arguments.length >= 1 && Z.arguments[0].kind === 110;
        }
        function ai(Z) {
          return _n(Z) && Z.operatorToken.kind === 57 && Z.right.kind === 110 && Wr(Z.left);
        }
        function zi(Z) {
          return _n(Z) && Z.operatorToken.kind === 56 && _n(Z.left) && Z.left.operatorToken.kind === 38 && tr(Z.left.left) && Z.left.right.kind === 106 && Wr(Z.right) && Pn(Z.right.expression.name) === "apply";
        }
        function Pt(Z) {
          return _n(Z) && Z.operatorToken.kind === 57 && Z.right.kind === 110 && zi(Z.left);
        }
        function Fn(Z) {
          return Wt(Z) && ai(Z.right);
        }
        function ii(Z) {
          return Wt(Z) && Pt(Z.right);
        }
        function li(Z) {
          return Wr(Z) || ai(Z) || Fn(Z) || zi(Z) || Pt(Z) || ii(Z);
        }
        function cn(Z) {
          for (let Ke = 0; Ke < Z.statements.length - 1; Ke++) {
            const Vt = Z.statements[Ke];
            if (!Fr(Vt))
              continue;
            const Ut = Vt.declarationList.declarations[0];
            if (Ut.initializer.kind !== 110)
              continue;
            const vr = Ke;
            let qr = Ke + 1;
            for (; qr < Z.statements.length; ) {
              const Sr = Z.statements[qr];
              if (Pl(Sr) && li(xc(Sr.expression)))
                break;
              if (Ce(Sr)) {
                qr++;
                continue;
              }
              return Z;
            }
            const On = Z.statements[qr];
            let ti = On.expression;
            Wt(ti) && (ti = ti.right);
            const Ii = t.updateVariableDeclaration(
              Ut,
              Ut.name,
              /*exclamationToken*/
              void 0,
              /*type*/
              void 0,
              ti
            ), L = t.updateVariableDeclarationList(Vt.declarationList, [Ii]), Re = t.createVariableStatement(Vt.modifiers, L);
            xn(Re, On), ot(Re, On);
            const Ct = t.createNodeArray([
              ...Z.statements.slice(0, vr),
              // copy statements preceding to `var _this`
              ...Z.statements.slice(vr + 1, qr),
              // copy intervening temp variables
              Re,
              ...Z.statements.slice(qr + 1)
              // copy statements following `super.call(this, ...)`
            ]);
            return ot(Ct, Z.statements), t.updateBlock(Z, Ct);
          }
          return Z;
        }
        function ci(Z, Ke) {
          for (const Ut of Ke.statements)
            if (Ut.transformFlags & 134217728 && !yO(Ut))
              return Z;
          const Vt = !(Ke.transformFlags & 16384) && !(T & 65536) && !(T & 131072);
          for (let Ut = Z.statements.length - 1; Ut > 0; Ut--) {
            const vr = Z.statements[Ut];
            if (gf(vr) && vr.expression && Bt(vr.expression)) {
              const qr = Z.statements[Ut - 1];
              let On;
              if (Pl(qr) && Fn(xc(qr.expression)))
                On = qr.expression;
              else if (Vt && Fr(qr)) {
                const L = qr.declarationList.declarations[0];
                li(xc(L.initializer)) && (On = t.createAssignment(
                  q(),
                  L.initializer
                ));
              }
              if (!On)
                break;
              const ti = t.createReturnStatement(On);
              xn(ti, qr), ot(ti, qr);
              const Ii = t.createNodeArray([
                ...Z.statements.slice(0, Ut - 1),
                // copy all statements preceding `_super.call(this, ...)`
                ti,
                ...Z.statements.slice(Ut + 1)
                // copy all statements following `return _this;`
              ]);
              return ot(Ii, Z.statements), t.updateBlock(Z, Ii);
            }
          }
          return Z;
        }
        function je(Z) {
          if (Fr(Z)) {
            if (Z.declarationList.declarations[0].initializer.kind === 110)
              return;
          } else if (Wt(Z))
            return t.createPartiallyEmittedExpression(Z.right, Z);
          switch (Z.kind) {
            // stop at function boundaries
            case 219:
            case 218:
            case 262:
            case 176:
            case 175:
              return Z;
            // only step into computed property names for class and object literal elements
            case 177:
            case 178:
            case 174:
            case 172: {
              const Ke = Z;
              return ia(Ke.name) ? t.replacePropertyName(Ke, yr(
                Ke.name,
                je,
                /*context*/
                void 0
              )) : Z;
            }
          }
          return yr(
            Z,
            je,
            /*context*/
            void 0
          );
        }
        function ut(Z, Ke) {
          if (Ke.transformFlags & 16384 || T & 65536 || T & 131072)
            return Z;
          for (const Vt of Ke.statements)
            if (Vt.transformFlags & 134217728 && !yO(Vt))
              return Z;
          return t.updateBlock(Z, Lr(Z.statements, je, yi));
        }
        function er(Z) {
          if (Wr(Z) && Z.arguments.length === 2 && Fe(Z.arguments[1]) && Pn(Z.arguments[1]) === "arguments")
            return t.createLogicalAnd(
              t.createStrictInequality(
                Mc(),
                t.createNull()
              ),
              Z
            );
          switch (Z.kind) {
            // stop at function boundaries
            case 219:
            case 218:
            case 262:
            case 176:
            case 175:
              return Z;
            // only step into computed property names for class and object literal elements
            case 177:
            case 178:
            case 174:
            case 172: {
              const Ke = Z;
              return ia(Ke.name) ? t.replacePropertyName(Ke, yr(
                Ke.name,
                er,
                /*context*/
                void 0
              )) : Z;
            }
          }
          return yr(
            Z,
            er,
            /*context*/
            void 0
          );
        }
        function Vr(Z) {
          return t.updateBlock(Z, Lr(Z.statements, er, yi));
        }
        function zn(Z, Ke, Vt) {
          const Ut = Z;
          return Z = cn(Z), Z = ci(Z, Ke), Z !== Ut && (Z = ut(Z, Ke)), Vt && (Z = Vr(Z)), Z;
        }
        function Wn(Z) {
          if (Z.kind === 253)
            return !0;
          if (Z.kind === 245) {
            const Ke = Z;
            if (Ke.elseStatement)
              return Wn(Ke.thenStatement) && Wn(Ke.elseStatement);
          } else if (Z.kind === 241) {
            const Ke = Po(Z.statements);
            if (Ke && Wn(Ke))
              return !0;
          }
          return !1;
        }
        function bi() {
          return an(
            t.createThis(),
            8
            /* NoSubstitution */
          );
        }
        function ks() {
          return t.createLogicalOr(
            t.createLogicalAnd(
              t.createStrictInequality(
                Mc(),
                t.createNull()
              ),
              t.createFunctionApplyCall(
                Mc(),
                bi(),
                t.createIdentifier("arguments")
              )
            ),
            bi()
          );
        }
        function ta(Z) {
          if (!Z.dotDotDotToken)
            return Ps(Z.name) ? xn(
              ot(
                t.createParameterDeclaration(
                  /*modifiers*/
                  void 0,
                  /*dotDotDotToken*/
                  void 0,
                  t.getGeneratedNameForNode(Z),
                  /*questionToken*/
                  void 0,
                  /*type*/
                  void 0,
                  /*initializer*/
                  void 0
                ),
                /*location*/
                Z
              ),
              /*original*/
              Z
            ) : Z.initializer ? xn(
              ot(
                t.createParameterDeclaration(
                  /*modifiers*/
                  void 0,
                  /*dotDotDotToken*/
                  void 0,
                  Z.name,
                  /*questionToken*/
                  void 0,
                  /*type*/
                  void 0,
                  /*initializer*/
                  void 0
                ),
                /*location*/
                Z
              ),
              /*original*/
              Z
            ) : Z;
        }
        function gr(Z) {
          return Z.initializer !== void 0 || Ps(Z.name);
        }
        function ms(Z, Ke) {
          if (!at(Ke.parameters, gr))
            return !1;
          let Vt = !1;
          for (const Ut of Ke.parameters) {
            const { name: vr, initializer: qr, dotDotDotToken: On } = Ut;
            On || (Ps(vr) ? Vt = He(Z, Ut, vr, qr) || Vt : qr && (Et(Z, Ut, vr, qr), Vt = !0));
          }
          return Vt;
        }
        function He(Z, Ke, Vt, Ut) {
          return Vt.elements.length > 0 ? (fS(
            Z,
            an(
              t.createVariableStatement(
                /*modifiers*/
                void 0,
                t.createVariableDeclarationList(
                  t2(
                    Ke,
                    W,
                    e,
                    0,
                    t.getGeneratedNameForNode(Ke)
                  )
                )
              ),
              2097152
              /* CustomPrologue */
            )
          ), !0) : Ut ? (fS(
            Z,
            an(
              t.createExpressionStatement(
                t.createAssignment(
                  t.getGeneratedNameForNode(Ke),
                  E.checkDefined($e(Ut, W, lt))
                )
              ),
              2097152
              /* CustomPrologue */
            )
          ), !0) : !1;
        }
        function Et(Z, Ke, Vt, Ut) {
          Ut = E.checkDefined($e(Ut, W, lt));
          const vr = t.createIfStatement(
            t.createTypeCheck(t.cloneNode(Vt), "undefined"),
            an(
              ot(
                t.createBlock([
                  t.createExpressionStatement(
                    an(
                      ot(
                        t.createAssignment(
                          // TODO(rbuckton): Does this need to be parented?
                          an(
                            Wa(ot(t.cloneNode(Vt), Vt), Vt.parent),
                            96
                            /* NoSourceMap */
                          ),
                          an(
                            Ut,
                            96 | ka(Ut) | 3072
                            /* NoComments */
                          )
                        ),
                        Ke
                      ),
                      3072
                      /* NoComments */
                    )
                  )
                ]),
                Ke
              ),
              3905
              /* NoComments */
            )
          );
          Su(vr), ot(vr, Ke), an(
            vr,
            2101056
            /* NoComments */
          ), fS(Z, vr);
        }
        function ne(Z, Ke) {
          return !!(Z && Z.dotDotDotToken && !Ke);
        }
        function rt(Z, Ke, Vt) {
          const Ut = [], vr = Po(Ke.parameters);
          if (!ne(vr, Vt))
            return !1;
          const qr = vr.name.kind === 80 ? Wa(ot(t.cloneNode(vr.name), vr.name), vr.name.parent) : t.createTempVariable(
            /*recordTempVariable*/
            void 0
          );
          an(
            qr,
            96
            /* NoSourceMap */
          );
          const On = vr.name.kind === 80 ? t.cloneNode(vr.name) : qr, ti = Ke.parameters.length - 1, Ii = t.createLoopVariable();
          Ut.push(
            an(
              ot(
                t.createVariableStatement(
                  /*modifiers*/
                  void 0,
                  t.createVariableDeclarationList([
                    t.createVariableDeclaration(
                      qr,
                      /*exclamationToken*/
                      void 0,
                      /*type*/
                      void 0,
                      t.createArrayLiteralExpression([])
                    )
                  ])
                ),
                /*location*/
                vr
              ),
              2097152
              /* CustomPrologue */
            )
          );
          const L = t.createForStatement(
            ot(
              t.createVariableDeclarationList([
                t.createVariableDeclaration(
                  Ii,
                  /*exclamationToken*/
                  void 0,
                  /*type*/
                  void 0,
                  t.createNumericLiteral(ti)
                )
              ]),
              vr
            ),
            ot(
              t.createLessThan(
                Ii,
                t.createPropertyAccessExpression(t.createIdentifier("arguments"), "length")
              ),
              vr
            ),
            ot(t.createPostfixIncrement(Ii), vr),
            t.createBlock([
              Su(
                ot(
                  t.createExpressionStatement(
                    t.createAssignment(
                      t.createElementAccessExpression(
                        On,
                        ti === 0 ? Ii : t.createSubtract(Ii, t.createNumericLiteral(ti))
                      ),
                      t.createElementAccessExpression(t.createIdentifier("arguments"), Ii)
                    )
                  ),
                  /*location*/
                  vr
                )
              )
            ])
          );
          return an(
            L,
            2097152
            /* CustomPrologue */
          ), Su(L), Ut.push(L), vr.name.kind !== 80 && Ut.push(
            an(
              ot(
                t.createVariableStatement(
                  /*modifiers*/
                  void 0,
                  t.createVariableDeclarationList(
                    t2(vr, W, e, 0, On)
                  )
                ),
                vr
              ),
              2097152
              /* CustomPrologue */
            )
          ), Yj(Z, Ut), !0;
        }
        function Q(Z, Ke) {
          return T & 131072 && Ke.kind !== 219 ? (Ne(Z, Ke, t.createThis()), !0) : !1;
        }
        function Ne(Z, Ke, Vt) {
          ed();
          const Ut = t.createVariableStatement(
            /*modifiers*/
            void 0,
            t.createVariableDeclarationList([
              t.createVariableDeclaration(
                q(),
                /*exclamationToken*/
                void 0,
                /*type*/
                void 0,
                Vt
              )
            ])
          );
          an(
            Ut,
            2100224
            /* CustomPrologue */
          ), ha(Ut, Ke), fS(Z, Ut);
        }
        function qe(Z, Ke) {
          if (T & 32768) {
            let Vt;
            switch (Ke.kind) {
              case 219:
                return Z;
              case 174:
              case 177:
              case 178:
                Vt = t.createVoidZero();
                break;
              case 176:
                Vt = t.createPropertyAccessExpression(
                  an(
                    t.createThis(),
                    8
                    /* NoSubstitution */
                  ),
                  "constructor"
                );
                break;
              case 262:
              case 218:
                Vt = t.createConditionalExpression(
                  t.createLogicalAnd(
                    an(
                      t.createThis(),
                      8
                      /* NoSubstitution */
                    ),
                    t.createBinaryExpression(
                      an(
                        t.createThis(),
                        8
                        /* NoSubstitution */
                      ),
                      104,
                      t.getLocalName(Ke)
                    )
                  ),
                  /*questionToken*/
                  void 0,
                  t.createPropertyAccessExpression(
                    an(
                      t.createThis(),
                      8
                      /* NoSubstitution */
                    ),
                    "constructor"
                  ),
                  /*colonToken*/
                  void 0,
                  t.createVoidZero()
                );
                break;
              default:
                return E.failBadSyntaxKind(Ke);
            }
            const Ut = t.createVariableStatement(
              /*modifiers*/
              void 0,
              t.createVariableDeclarationList([
                t.createVariableDeclaration(
                  t.createUniqueName(
                    "_newTarget",
                    48
                    /* FileLevel */
                  ),
                  /*exclamationToken*/
                  void 0,
                  /*type*/
                  void 0,
                  Vt
                )
              ])
            );
            an(
              Ut,
              2100224
              /* CustomPrologue */
            ), fS(Z, Ut);
          }
          return Z;
        }
        function Ze(Z, Ke) {
          for (const Vt of Ke.members)
            switch (Vt.kind) {
              case 240:
                Z.push(bt(Vt));
                break;
              case 174:
                Z.push(Ie(yf(Ke, Vt), Vt, Ke));
                break;
              case 177:
              case 178:
                const Ut = Mb(Ke.members, Vt);
                Vt === Ut.firstAccessor && Z.push(ft(yf(Ke, Vt), Ut, Ke));
                break;
              case 176:
              case 175:
                break;
              default:
                E.failBadSyntaxKind(Vt, h && h.fileName);
                break;
            }
        }
        function bt(Z) {
          return ot(t.createEmptyStatement(), Z);
        }
        function Ie(Z, Ke, Vt) {
          const Ut = sm(Ke), vr = E0(Ke), qr = Zr(
            Ke,
            /*location*/
            Ke,
            /*name*/
            void 0,
            Vt
          ), On = $e(Ke.name, W, Bc);
          E.assert(On);
          let ti;
          if (!Di(On) && sN(e.getCompilerOptions())) {
            const L = ia(On) ? On.expression : Fe(On) ? t.createStringLiteral(Ei(On.escapedText)) : On;
            ti = t.createObjectDefinePropertyCall(Z, L, t.createPropertyDescriptor({ value: qr, enumerable: !1, writable: !0, configurable: !0 }));
          } else {
            const L = BS(
              t,
              Z,
              On,
              /*location*/
              Ke.name
            );
            ti = t.createAssignment(L, qr);
          }
          an(
            qr,
            3072
            /* NoComments */
          ), ha(qr, vr);
          const Ii = ot(
            t.createExpressionStatement(ti),
            /*location*/
            Ke
          );
          return xn(Ii, Ke), Zc(Ii, Ut), an(
            Ii,
            96
            /* NoSourceMap */
          ), Ii;
        }
        function ft(Z, Ke, Vt) {
          const Ut = t.createExpressionStatement(_t(
            Z,
            Ke,
            Vt,
            /*startsOnNewLine*/
            !1
          ));
          return an(
            Ut,
            3072
            /* NoComments */
          ), ha(Ut, E0(Ke.firstAccessor)), Ut;
        }
        function _t(Z, { firstAccessor: Ke, getAccessor: Vt, setAccessor: Ut }, vr, qr) {
          const On = Wa(ot(t.cloneNode(Z), Z), Z.parent);
          an(
            On,
            3136
            /* NoTrailingSourceMap */
          ), ha(On, Ke.name);
          const ti = $e(Ke.name, W, Bc);
          if (E.assert(ti), Di(ti))
            return E.failBadSyntaxKind(ti, "Encountered unhandled private identifier while transforming ES2015.");
          const Ii = Tz(t, ti);
          an(
            Ii,
            3104
            /* NoLeadingSourceMap */
          ), ha(Ii, Ke.name);
          const L = [];
          if (Vt) {
            const Ct = Zr(
              Vt,
              /*location*/
              void 0,
              /*name*/
              void 0,
              vr
            );
            ha(Ct, E0(Vt)), an(
              Ct,
              1024
              /* NoLeadingComments */
            );
            const Sr = t.createPropertyAssignment("get", Ct);
            Zc(Sr, sm(Vt)), L.push(Sr);
          }
          if (Ut) {
            const Ct = Zr(
              Ut,
              /*location*/
              void 0,
              /*name*/
              void 0,
              vr
            );
            ha(Ct, E0(Ut)), an(
              Ct,
              1024
              /* NoLeadingComments */
            );
            const Sr = t.createPropertyAssignment("set", Ct);
            Zc(Sr, sm(Ut)), L.push(Sr);
          }
          L.push(
            t.createPropertyAssignment("enumerable", Vt || Ut ? t.createFalse() : t.createTrue()),
            t.createPropertyAssignment("configurable", t.createTrue())
          );
          const Re = t.createCallExpression(
            t.createPropertyAccessExpression(t.createIdentifier("Object"), "defineProperty"),
            /*typeArguments*/
            void 0,
            [
              On,
              Ii,
              t.createObjectLiteralExpression(
                L,
                /*multiLine*/
                !0
              )
            ]
          );
          return qr && Su(Re), Re;
        }
        function kt(Z) {
          Z.transformFlags & 16384 && !(T & 16384) && (T |= 131072);
          const Ke = w;
          w = void 0;
          const Vt = F(
            15232,
            66
            /* ArrowFunctionIncludes */
          ), Ut = t.createFunctionExpression(
            /*modifiers*/
            void 0,
            /*asteriskToken*/
            void 0,
            /*name*/
            void 0,
            /*typeParameters*/
            void 0,
            _c(Z.parameters, W, e),
            /*type*/
            void 0,
            we(Z)
          );
          return ot(Ut, Z), xn(Ut, Z), an(
            Ut,
            16
            /* CapturesThis */
          ), j(
            Vt,
            0,
            0
            /* None */
          ), w = Ke, Ut;
        }
        function Ve(Z) {
          const Ke = ka(Z) & 524288 ? F(
            32662,
            69
            /* AsyncFunctionBodyIncludes */
          ) : F(
            32670,
            65
            /* FunctionIncludes */
          ), Vt = w;
          w = void 0;
          const Ut = _c(Z.parameters, W, e), vr = we(Z), qr = T & 32768 ? t.getLocalName(Z) : Z.name;
          return j(
            Ke,
            229376,
            0
            /* None */
          ), w = Vt, t.updateFunctionExpression(
            Z,
            /*modifiers*/
            void 0,
            Z.asteriskToken,
            qr,
            /*typeParameters*/
            void 0,
            Ut,
            /*type*/
            void 0,
            vr
          );
        }
        function Rt(Z) {
          const Ke = w;
          w = void 0;
          const Vt = F(
            32670,
            65
            /* FunctionIncludes */
          ), Ut = _c(Z.parameters, W, e), vr = we(Z), qr = T & 32768 ? t.getLocalName(Z) : Z.name;
          return j(
            Vt,
            229376,
            0
            /* None */
          ), w = Ke, t.updateFunctionDeclaration(
            Z,
            Lr(Z.modifiers, W, Ks),
            Z.asteriskToken,
            qr,
            /*typeParameters*/
            void 0,
            Ut,
            /*type*/
            void 0,
            vr
          );
        }
        function Zr(Z, Ke, Vt, Ut) {
          const vr = w;
          w = void 0;
          const qr = Ut && Xn(Ut) && !zs(Z) ? F(
            32670,
            73
            /* NonStaticClassElement */
          ) : F(
            32670,
            65
            /* FunctionIncludes */
          ), On = _c(Z.parameters, W, e), ti = we(Z);
          return T & 32768 && !Vt && (Z.kind === 262 || Z.kind === 218) && (Vt = t.getGeneratedNameForNode(Z)), j(
            qr,
            229376,
            0
            /* None */
          ), w = vr, xn(
            ot(
              t.createFunctionExpression(
                /*modifiers*/
                void 0,
                Z.asteriskToken,
                Vt,
                /*typeParameters*/
                void 0,
                On,
                /*type*/
                void 0,
                ti
              ),
              Ke
            ),
            /*original*/
            Z
          );
        }
        function we(Z) {
          let Ke = !1, Vt = !1, Ut, vr;
          const qr = [], On = [], ti = Z.body;
          let Ii;
          if (s(), Cs(ti) && (Ii = t.copyStandardPrologue(
            ti.statements,
            qr,
            0,
            /*ensureUseStrict*/
            !1
          ), Ii = t.copyCustomPrologue(ti.statements, On, Ii, W, V7), Ii = t.copyCustomPrologue(ti.statements, On, Ii, W, U7)), Ke = ms(On, Z) || Ke, Ke = rt(
            On,
            Z,
            /*inConstructorWithSynthesizedSuper*/
            !1
          ) || Ke, Cs(ti))
            Ii = t.copyCustomPrologue(ti.statements, On, Ii, W), Ut = ti.statements, wn(On, Lr(ti.statements, W, yi, Ii)), !Ke && ti.multiLine && (Ke = !0);
          else {
            E.assert(
              Z.kind === 219
              /* ArrowFunction */
            ), Ut = P5(ti, -1);
            const Re = Z.equalsGreaterThanToken;
            !oo(Re) && !oo(ti) && (K3(Re, ti, h) ? Vt = !0 : Ke = !0);
            const Ct = $e(ti, W, lt), Sr = t.createReturnStatement(Ct);
            ot(Sr, ti), ite(Sr, ti), an(
              Sr,
              2880
              /* NoTrailingComments */
            ), On.push(Sr), vr = ti;
          }
          if (t.mergeLexicalEnvironment(qr, o()), qe(qr, Z), Q(qr, Z), at(qr) && (Ke = !0), On.unshift(...qr), Cs(ti) && Cf(On, ti.statements))
            return ti;
          const L = t.createBlock(ot(t.createNodeArray(On), Ut), Ke);
          return ot(L, Z.body), !Ke && Vt && an(
            L,
            1
            /* SingleLine */
          ), vr && nte(L, 20, vr), xn(L, Z.body), L;
        }
        function mt(Z, Ke) {
          const Vt = T & 256 ? F(
            7104,
            512
            /* IterationStatementBlockIncludes */
          ) : F(
            6976,
            128
            /* BlockIncludes */
          ), Ut = yr(Z, W, e);
          return j(
            Vt,
            0,
            0
            /* None */
          ), Ut;
        }
        function _e(Z) {
          return yr(Z, pe, e);
        }
        function M(Z, Ke) {
          return yr(Z, Ke ? pe : W, e);
        }
        function ye(Z, Ke) {
          return T0(Z) ? qS(
            Z,
            W,
            e,
            0,
            !Ke
          ) : Z.operatorToken.kind === 28 ? t.updateBinaryExpression(
            Z,
            E.checkDefined($e(Z.left, pe, lt)),
            Z.operatorToken,
            E.checkDefined($e(Z.right, Ke ? pe : W, lt))
          ) : yr(Z, W, e);
        }
        function X(Z, Ke) {
          if (Ke)
            return yr(Z, pe, e);
          let Vt;
          for (let vr = 0; vr < Z.elements.length; vr++) {
            const qr = Z.elements[vr], On = $e(qr, vr < Z.elements.length - 1 ? pe : W, lt);
            (Vt || On !== qr) && (Vt || (Vt = Z.elements.slice(0, vr)), E.assert(On), Vt.push(On));
          }
          const Ut = Vt ? ot(t.createNodeArray(Vt), Z.elements) : Z.elements;
          return t.updateCommaListExpression(Z, Ut);
        }
        function pt(Z) {
          return Z.declarationList.declarations.length === 1 && !!Z.declarationList.declarations[0].initializer && !!(Hp(Z.declarationList.declarations[0].initializer) & 1);
        }
        function jt(Z) {
          const Ke = F(
            0,
            qn(
              Z,
              32
              /* Export */
            ) ? 32 : 0
            /* None */
          );
          let Vt;
          if (w && (Z.declarationList.flags & 7) === 0 && !pt(Z)) {
            let Ut;
            for (const vr of Z.declarationList.declarations)
              if (Wc(w, vr), vr.initializer) {
                let qr;
                Ps(vr.name) ? qr = qS(
                  vr,
                  W,
                  e,
                  0
                  /* All */
                ) : (qr = t.createBinaryExpression(vr.name, 64, E.checkDefined($e(vr.initializer, W, lt))), ot(qr, vr)), Ut = Dr(Ut, qr);
              }
            Ut ? Vt = ot(t.createExpressionStatement(t.inlineExpressions(Ut)), Z) : Vt = void 0;
          } else
            Vt = yr(Z, W, e);
          return j(
            Ke,
            0,
            0
            /* None */
          ), Vt;
        }
        function ke(Z) {
          if (Z.flags & 7 || Z.transformFlags & 524288) {
            Z.flags & 7 && n_();
            const Ke = Lr(
              Z.declarations,
              Z.flags & 1 ? Yr : Mr,
              Zn
            ), Vt = t.createVariableDeclarationList(Ke);
            return xn(Vt, Z), ot(Vt, Z), Zc(Vt, Z), Z.transformFlags & 524288 && (Ps(Z.declarations[0].name) || Ps(pa(Z.declarations).name)) && ha(Vt, st(Ke)), Vt;
          }
          return yr(Z, W, e);
        }
        function st(Z) {
          let Ke = -1, Vt = -1;
          for (const Ut of Z)
            Ke = Ke === -1 ? Ut.pos : Ut.pos === -1 ? Ke : Math.min(Ke, Ut.pos), Vt = Math.max(Vt, Ut.end);
          return tp(Ke, Vt);
        }
        function At(Z) {
          const Ke = u.hasNodeCheckFlag(
            Z,
            16384
            /* CapturedBlockScopedBinding */
          ), Vt = u.hasNodeCheckFlag(
            Z,
            32768
            /* BlockScopedBindingInLoop */
          );
          return !((T & 64) !== 0 || Ke && Vt && (T & 512) !== 0) && (T & 4096) === 0 && (!u.isDeclarationWithCollidingName(Z) || Vt && !Ke && (T & 6144) === 0);
        }
        function Yr(Z) {
          const Ke = Z.name;
          return Ps(Ke) ? Mr(Z) : !Z.initializer && At(Z) ? t.updateVariableDeclaration(
            Z,
            Z.name,
            /*exclamationToken*/
            void 0,
            /*type*/
            void 0,
            t.createVoidZero()
          ) : yr(Z, W, e);
        }
        function Mr(Z) {
          const Ke = F(
            32,
            0
            /* None */
          );
          let Vt;
          return Ps(Z.name) ? Vt = t2(
            Z,
            W,
            e,
            0,
            /*rval*/
            void 0,
            (Ke & 32) !== 0
          ) : Vt = yr(Z, W, e), j(
            Ke,
            0,
            0
            /* None */
          ), Vt;
        }
        function Rr(Z) {
          w.labels.set(Pn(Z.label), !0);
        }
        function Ye(Z) {
          w.labels.set(Pn(Z.label), !1);
        }
        function gt(Z) {
          w && !w.labels && (w.labels = /* @__PURE__ */ new Map());
          const Ke = mB(Z, w && Rr);
          return Jy(
            Ke,
            /*lookInLabeledStatements*/
            !1
          ) ? Jt(
            Ke,
            /*outermostLabeledStatement*/
            Z
          ) : t.restoreEnclosingLabel($e(Ke, W, yi, t.liftToBlock) ?? ot(t.createEmptyStatement(), Ke), Z, w && Ye);
        }
        function Jt(Z, Ke) {
          switch (Z.kind) {
            case 246:
            case 247:
              return dr(Z, Ke);
            case 248:
              return Kt(Z, Ke);
            case 249:
              return cr(Z, Ke);
            case 250:
              return lr(Z, Ke);
          }
        }
        function wt(Z, Ke, Vt, Ut, vr) {
          const qr = F(Z, Ke), On = Lo(Vt, Ut, qr, vr);
          return j(
            qr,
            0,
            0
            /* None */
          ), On;
        }
        function dr(Z, Ke) {
          return wt(
            0,
            1280,
            Z,
            Ke
          );
        }
        function Kt(Z, Ke) {
          return wt(
            5056,
            3328,
            Z,
            Ke
          );
        }
        function Mt(Z) {
          return t.updateForStatement(
            Z,
            $e(Z.initializer, pe, Yf),
            $e(Z.condition, W, lt),
            $e(Z.incrementor, pe, lt),
            E.checkDefined($e(Z.statement, W, yi, t.liftToBlock))
          );
        }
        function cr(Z, Ke) {
          return wt(
            3008,
            5376,
            Z,
            Ke
          );
        }
        function lr(Z, Ke) {
          return wt(
            3008,
            5376,
            Z,
            Ke,
            _.downlevelIteration ? Ns : Qn
          );
        }
        function br(Z, Ke, Vt) {
          const Ut = [], vr = Z.initializer;
          if (zl(vr)) {
            Z.initializer.flags & 7 && n_();
            const qr = Xc(vr.declarations);
            if (qr && Ps(qr.name)) {
              const On = t2(
                qr,
                W,
                e,
                0,
                Ke
              ), ti = ot(t.createVariableDeclarationList(On), Z.initializer);
              xn(ti, Z.initializer), ha(ti, tp(On[0].pos, pa(On).end)), Ut.push(
                t.createVariableStatement(
                  /*modifiers*/
                  void 0,
                  ti
                )
              );
            } else
              Ut.push(
                ot(
                  t.createVariableStatement(
                    /*modifiers*/
                    void 0,
                    xn(
                      ot(
                        t.createVariableDeclarationList([
                          t.createVariableDeclaration(
                            qr ? qr.name : t.createTempVariable(
                              /*recordTempVariable*/
                              void 0
                            ),
                            /*exclamationToken*/
                            void 0,
                            /*type*/
                            void 0,
                            Ke
                          )
                        ]),
                        K1(vr, -1)
                      ),
                      vr
                    )
                  ),
                  P5(vr, -1)
                )
              );
          } else {
            const qr = t.createAssignment(vr, Ke);
            T0(qr) ? Ut.push(t.createExpressionStatement(ye(
              qr,
              /*expressionResultIsUnused*/
              !0
            ))) : (o6(qr, vr.end), Ut.push(ot(t.createExpressionStatement(E.checkDefined($e(qr, W, lt))), P5(vr, -1))));
          }
          if (Vt)
            return $t(wn(Ut, Vt));
          {
            const qr = $e(Z.statement, W, yi, t.liftToBlock);
            return E.assert(qr), Cs(qr) ? t.updateBlock(qr, ot(t.createNodeArray(Ji(Ut, qr.statements)), qr.statements)) : (Ut.push(qr), $t(Ut));
          }
        }
        function $t(Z) {
          return an(
            t.createBlock(
              t.createNodeArray(Z),
              /*multiLine*/
              !0
            ),
            864
            /* NoTokenSourceMaps */
          );
        }
        function Qn(Z, Ke, Vt) {
          const Ut = $e(Z.expression, W, lt);
          E.assert(Ut);
          const vr = t.createLoopVariable(), qr = Fe(Ut) ? t.getGeneratedNameForNode(Ut) : t.createTempVariable(
            /*recordTempVariable*/
            void 0
          );
          an(Ut, 96 | ka(Ut));
          const On = ot(
            t.createForStatement(
              /*initializer*/
              an(
                ot(
                  t.createVariableDeclarationList([
                    ot(t.createVariableDeclaration(
                      vr,
                      /*exclamationToken*/
                      void 0,
                      /*type*/
                      void 0,
                      t.createNumericLiteral(0)
                    ), K1(Z.expression, -1)),
                    ot(t.createVariableDeclaration(
                      qr,
                      /*exclamationToken*/
                      void 0,
                      /*type*/
                      void 0,
                      Ut
                    ), Z.expression)
                  ]),
                  Z.expression
                ),
                4194304
                /* NoHoisting */
              ),
              /*condition*/
              ot(
                t.createLessThan(
                  vr,
                  t.createPropertyAccessExpression(qr, "length")
                ),
                Z.expression
              ),
              /*incrementor*/
              ot(t.createPostfixIncrement(vr), Z.expression),
              /*statement*/
              br(
                Z,
                t.createElementAccessExpression(qr, vr),
                Vt
              )
            ),
            /*location*/
            Z
          );
          return an(
            On,
            512
            /* NoTokenTrailingSourceMaps */
          ), ot(On, Z), t.restoreEnclosingLabel(On, Ke, w && Ye);
        }
        function Ns(Z, Ke, Vt, Ut) {
          const vr = $e(Z.expression, W, lt);
          E.assert(vr);
          const qr = Fe(vr) ? t.getGeneratedNameForNode(vr) : t.createTempVariable(
            /*recordTempVariable*/
            void 0
          ), On = Fe(vr) ? t.getGeneratedNameForNode(qr) : t.createTempVariable(
            /*recordTempVariable*/
            void 0
          ), ti = t.createUniqueName("e"), Ii = t.getGeneratedNameForNode(ti), L = t.createTempVariable(
            /*recordTempVariable*/
            void 0
          ), Re = ot(n().createValuesHelper(vr), Z.expression), Ct = t.createCallExpression(
            t.createPropertyAccessExpression(qr, "next"),
            /*typeArguments*/
            void 0,
            []
          );
          c(ti), c(L);
          const Sr = Ut & 1024 ? t.inlineExpressions([t.createAssignment(ti, t.createVoidZero()), Re]) : Re, Zi = an(
            ot(
              t.createForStatement(
                /*initializer*/
                an(
                  ot(
                    t.createVariableDeclarationList([
                      ot(t.createVariableDeclaration(
                        qr,
                        /*exclamationToken*/
                        void 0,
                        /*type*/
                        void 0,
                        Sr
                      ), Z.expression),
                      t.createVariableDeclaration(
                        On,
                        /*exclamationToken*/
                        void 0,
                        /*type*/
                        void 0,
                        Ct
                      )
                    ]),
                    Z.expression
                  ),
                  4194304
                  /* NoHoisting */
                ),
                /*condition*/
                t.createLogicalNot(t.createPropertyAccessExpression(On, "done")),
                /*incrementor*/
                t.createAssignment(On, Ct),
                /*statement*/
                br(
                  Z,
                  t.createPropertyAccessExpression(On, "value"),
                  Vt
                )
              ),
              /*location*/
              Z
            ),
            512
            /* NoTokenTrailingSourceMaps */
          );
          return t.createTryStatement(
            t.createBlock([
              t.restoreEnclosingLabel(
                Zi,
                Ke,
                w && Ye
              )
            ]),
            t.createCatchClause(
              t.createVariableDeclaration(Ii),
              an(
                t.createBlock([
                  t.createExpressionStatement(
                    t.createAssignment(
                      ti,
                      t.createObjectLiteralExpression([
                        t.createPropertyAssignment("error", Ii)
                      ])
                    )
                  )
                ]),
                1
                /* SingleLine */
              )
            ),
            t.createBlock([
              t.createTryStatement(
                /*tryBlock*/
                t.createBlock([
                  an(
                    t.createIfStatement(
                      t.createLogicalAnd(
                        t.createLogicalAnd(
                          On,
                          t.createLogicalNot(
                            t.createPropertyAccessExpression(On, "done")
                          )
                        ),
                        t.createAssignment(
                          L,
                          t.createPropertyAccessExpression(qr, "return")
                        )
                      ),
                      t.createExpressionStatement(
                        t.createFunctionCallCall(L, qr, [])
                      )
                    ),
                    1
                    /* SingleLine */
                  )
                ]),
                /*catchClause*/
                void 0,
                /*finallyBlock*/
                an(
                  t.createBlock([
                    an(
                      t.createIfStatement(
                        ti,
                        t.createThrowStatement(
                          t.createPropertyAccessExpression(ti, "error")
                        )
                      ),
                      1
                      /* SingleLine */
                    )
                  ]),
                  1
                  /* SingleLine */
                )
              )
            ])
          );
        }
        function $s(Z) {
          const Ke = Z.properties;
          let Vt = -1, Ut = !1;
          for (let ti = 0; ti < Ke.length; ti++) {
            const Ii = Ke[ti];
            if (Ii.transformFlags & 1048576 && T & 4 || (Ut = E.checkDefined(Ii.name).kind === 167)) {
              Vt = ti;
              break;
            }
          }
          if (Vt < 0)
            return yr(Z, W, e);
          const vr = t.createTempVariable(c), qr = [], On = t.createAssignment(
            vr,
            an(
              t.createObjectLiteralExpression(
                Lr(Ke, W, Eh, 0, Vt),
                Z.multiLine
              ),
              Ut ? 131072 : 0
            )
          );
          return Z.multiLine && Su(On), qr.push(On), Ur(qr, Z, vr, Vt), qr.push(Z.multiLine ? Su(Wa(ot(t.cloneNode(vr), vr), vr.parent)) : vr), t.inlineExpressions(qr);
        }
        function Es(Z) {
          return u.hasNodeCheckFlag(
            Z,
            8192
            /* ContainsCapturedBlockScopeBinding */
          );
        }
        function Nc(Z) {
          return ov(Z) && !!Z.initializer && Es(Z.initializer);
        }
        function qo(Z) {
          return ov(Z) && !!Z.condition && Es(Z.condition);
        }
        function kc(Z) {
          return ov(Z) && !!Z.incrementor && Es(Z.incrementor);
        }
        function gi(Z) {
          return ps(Z) || Nc(Z);
        }
        function ps(Z) {
          return u.hasNodeCheckFlag(
            Z,
            4096
            /* LoopWithCapturedBlockScopedBinding */
          );
        }
        function Wc(Z, Ke) {
          Z.hoistedLocalVariables || (Z.hoistedLocalVariables = []), Vt(Ke.name);
          function Vt(Ut) {
            if (Ut.kind === 80)
              Z.hoistedLocalVariables.push(Ut);
            else
              for (const vr of Ut.elements)
                vl(vr) || Vt(vr.name);
          }
        }
        function Lo(Z, Ke, Vt, Ut) {
          if (!gi(Z)) {
            let Re;
            w && (Re = w.allowedNonLabeledJumps, w.allowedNonLabeledJumps = 6);
            const Ct = Ut ? Ut(
              Z,
              Ke,
              /*convertedLoopBodyStatements*/
              void 0,
              Vt
            ) : t.restoreEnclosingLabel(
              ov(Z) ? Mt(Z) : yr(Z, W, e),
              Ke,
              w && Ye
            );
            return w && (w.allowedNonLabeledJumps = Re), Ct;
          }
          const vr = Ca(Z), qr = [], On = w;
          w = vr;
          const ti = Nc(Z) ? Vc(Z, vr) : void 0, Ii = ps(Z) ? tc(Z, vr, On) : void 0;
          w = On, ti && qr.push(ti.functionDeclaration), Ii && qr.push(Ii.functionDeclaration), zt(qr, vr, On), ti && qr.push(ge(ti.functionName, ti.containsYield));
          let L;
          if (Ii)
            if (Ut)
              L = Ut(Z, Ke, Ii.part, Vt);
            else {
              const Re = Pa(Z, ti, t.createBlock(
                Ii.part,
                /*multiLine*/
                !0
              ));
              L = t.restoreEnclosingLabel(Re, Ke, w && Ye);
            }
          else {
            const Re = Pa(Z, ti, E.checkDefined($e(Z.statement, W, yi, t.liftToBlock)));
            L = t.restoreEnclosingLabel(Re, Ke, w && Ye);
          }
          return qr.push(L), qr;
        }
        function Pa(Z, Ke, Vt) {
          switch (Z.kind) {
            case 248:
              return Bo(Z, Ke, Vt);
            case 249:
              return ss(Z, Vt);
            case 250:
              return rf(Z, Vt);
            case 246:
              return Vs(Z, Vt);
            case 247:
              return Aa(Z, Vt);
            default:
              return E.failBadSyntaxKind(Z, "IterationStatement expected");
          }
        }
        function Bo(Z, Ke, Vt) {
          const Ut = Z.condition && Es(Z.condition), vr = Ut || Z.incrementor && Es(Z.incrementor);
          return t.updateForStatement(
            Z,
            $e(Ke ? Ke.part : Z.initializer, pe, Yf),
            $e(Ut ? void 0 : Z.condition, W, lt),
            $e(vr ? void 0 : Z.incrementor, pe, lt),
            Vt
          );
        }
        function rf(Z, Ke) {
          return t.updateForOfStatement(
            Z,
            /*awaitModifier*/
            void 0,
            E.checkDefined($e(Z.initializer, W, Yf)),
            E.checkDefined($e(Z.expression, W, lt)),
            Ke
          );
        }
        function ss(Z, Ke) {
          return t.updateForInStatement(
            Z,
            E.checkDefined($e(Z.initializer, W, Yf)),
            E.checkDefined($e(Z.expression, W, lt)),
            Ke
          );
        }
        function Vs(Z, Ke) {
          return t.updateDoStatement(
            Z,
            Ke,
            E.checkDefined($e(Z.expression, W, lt))
          );
        }
        function Aa(Z, Ke) {
          return t.updateWhileStatement(
            Z,
            E.checkDefined($e(Z.expression, W, lt)),
            Ke
          );
        }
        function Ca(Z) {
          let Ke;
          switch (Z.kind) {
            case 248:
            case 249:
            case 250:
              const qr = Z.initializer;
              qr && qr.kind === 261 && (Ke = qr);
              break;
          }
          const Vt = [], Ut = [];
          if (Ke && Ch(Ke) & 7) {
            const qr = Nc(Z) || qo(Z) || kc(Z);
            for (const On of Ke.declarations)
              Zt(Z, On, Vt, Ut, qr);
          }
          const vr = { loopParameters: Vt, loopOutParameters: Ut };
          return w && (w.argumentsName && (vr.argumentsName = w.argumentsName), w.thisName && (vr.thisName = w.thisName), w.hoistedLocalVariables && (vr.hoistedLocalVariables = w.hoistedLocalVariables)), vr;
        }
        function zt(Z, Ke, Vt) {
          let Ut;
          if (Ke.argumentsName && (Vt ? Vt.argumentsName = Ke.argumentsName : (Ut || (Ut = [])).push(
            t.createVariableDeclaration(
              Ke.argumentsName,
              /*exclamationToken*/
              void 0,
              /*type*/
              void 0,
              t.createIdentifier("arguments")
            )
          )), Ke.thisName && (Vt ? Vt.thisName = Ke.thisName : (Ut || (Ut = [])).push(
            t.createVariableDeclaration(
              Ke.thisName,
              /*exclamationToken*/
              void 0,
              /*type*/
              void 0,
              t.createIdentifier("this")
            )
          )), Ke.hoistedLocalVariables)
            if (Vt)
              Vt.hoistedLocalVariables = Ke.hoistedLocalVariables;
            else {
              Ut || (Ut = []);
              for (const vr of Ke.hoistedLocalVariables)
                Ut.push(t.createVariableDeclaration(vr));
            }
          if (Ke.loopOutParameters.length) {
            Ut || (Ut = []);
            for (const vr of Ke.loopOutParameters)
              Ut.push(t.createVariableDeclaration(vr.outParamName));
          }
          Ke.conditionVariable && (Ut || (Ut = []), Ut.push(t.createVariableDeclaration(
            Ke.conditionVariable,
            /*exclamationToken*/
            void 0,
            /*type*/
            void 0,
            t.createFalse()
          ))), Ut && Z.push(t.createVariableStatement(
            /*modifiers*/
            void 0,
            t.createVariableDeclarationList(Ut)
          ));
        }
        function Ka(Z) {
          return t.createVariableDeclaration(
            Z.originalName,
            /*exclamationToken*/
            void 0,
            /*type*/
            void 0,
            Z.outParamName
          );
        }
        function Vc(Z, Ke) {
          const Vt = t.createUniqueName("_loop_init"), Ut = (Z.initializer.transformFlags & 1048576) !== 0;
          let vr = 0;
          Ke.containsLexicalThis && (vr |= 16), Ut && T & 4 && (vr |= 524288);
          const qr = [];
          qr.push(t.createVariableStatement(
            /*modifiers*/
            void 0,
            Z.initializer
          )), yo(Ke.loopOutParameters, 2, 1, qr);
          const On = t.createVariableStatement(
            /*modifiers*/
            void 0,
            an(
              t.createVariableDeclarationList([
                t.createVariableDeclaration(
                  Vt,
                  /*exclamationToken*/
                  void 0,
                  /*type*/
                  void 0,
                  an(
                    t.createFunctionExpression(
                      /*modifiers*/
                      void 0,
                      Ut ? t.createToken(
                        42
                        /* AsteriskToken */
                      ) : void 0,
                      /*name*/
                      void 0,
                      /*typeParameters*/
                      void 0,
                      /*parameters*/
                      void 0,
                      /*type*/
                      void 0,
                      E.checkDefined($e(
                        t.createBlock(
                          qr,
                          /*multiLine*/
                          !0
                        ),
                        W,
                        Cs
                      ))
                    ),
                    vr
                  )
                )
              ]),
              4194304
              /* NoHoisting */
            )
          ), ti = t.createVariableDeclarationList(fr(Ke.loopOutParameters, Ka));
          return { functionName: Vt, containsYield: Ut, functionDeclaration: On, part: ti };
        }
        function tc(Z, Ke, Vt) {
          const Ut = t.createUniqueName("_loop");
          i();
          const vr = $e(Z.statement, W, yi, t.liftToBlock), qr = o(), On = [];
          (qo(Z) || kc(Z)) && (Ke.conditionVariable = t.createUniqueName("inc"), Z.incrementor ? On.push(t.createIfStatement(
            Ke.conditionVariable,
            t.createExpressionStatement(E.checkDefined($e(Z.incrementor, W, lt))),
            t.createExpressionStatement(t.createAssignment(Ke.conditionVariable, t.createTrue()))
          )) : On.push(t.createIfStatement(
            t.createLogicalNot(Ke.conditionVariable),
            t.createExpressionStatement(t.createAssignment(Ke.conditionVariable, t.createTrue()))
          )), qo(Z) && On.push(t.createIfStatement(
            t.createPrefixUnaryExpression(54, E.checkDefined($e(Z.condition, W, lt))),
            E.checkDefined($e(t.createBreakStatement(), W, yi))
          ))), E.assert(vr), Cs(vr) ? wn(On, vr.statements) : On.push(vr), yo(Ke.loopOutParameters, 1, 1, On), Og(On, qr);
          const ti = t.createBlock(
            On,
            /*multiLine*/
            !0
          );
          Cs(vr) && xn(ti, vr);
          const Ii = (Z.statement.transformFlags & 1048576) !== 0;
          let L = 1048576;
          Ke.containsLexicalThis && (L |= 16), Ii && (T & 4) !== 0 && (L |= 524288);
          const Re = t.createVariableStatement(
            /*modifiers*/
            void 0,
            an(
              t.createVariableDeclarationList(
                [
                  t.createVariableDeclaration(
                    Ut,
                    /*exclamationToken*/
                    void 0,
                    /*type*/
                    void 0,
                    an(
                      t.createFunctionExpression(
                        /*modifiers*/
                        void 0,
                        Ii ? t.createToken(
                          42
                          /* AsteriskToken */
                        ) : void 0,
                        /*name*/
                        void 0,
                        /*typeParameters*/
                        void 0,
                        Ke.loopParameters,
                        /*type*/
                        void 0,
                        ti
                      ),
                      L
                    )
                  )
                ]
              ),
              4194304
              /* NoHoisting */
            )
          ), Ct = H(Ut, Ke, Vt, Ii);
          return { functionName: Ut, containsYield: Ii, functionDeclaration: Re, part: Ct };
        }
        function eu(Z, Ke) {
          const Vt = Ke === 0 ? Z.outParamName : Z.originalName, Ut = Ke === 0 ? Z.originalName : Z.outParamName;
          return t.createBinaryExpression(Ut, 64, Vt);
        }
        function yo(Z, Ke, Vt, Ut) {
          for (const vr of Z)
            vr.flags & Ke && Ut.push(t.createExpressionStatement(eu(vr, Vt)));
        }
        function ge(Z, Ke) {
          const Vt = t.createCallExpression(
            Z,
            /*typeArguments*/
            void 0,
            []
          ), Ut = Ke ? t.createYieldExpression(
            t.createToken(
              42
              /* AsteriskToken */
            ),
            an(
              Vt,
              8388608
              /* Iterator */
            )
          ) : Vt;
          return t.createExpressionStatement(Ut);
        }
        function H(Z, Ke, Vt, Ut) {
          const vr = [], qr = !(Ke.nonLocalJumps & -5) && !Ke.labeledNonLocalBreaks && !Ke.labeledNonLocalContinues, On = t.createCallExpression(
            Z,
            /*typeArguments*/
            void 0,
            fr(Ke.loopParameters, (Ii) => Ii.name)
          ), ti = Ut ? t.createYieldExpression(
            t.createToken(
              42
              /* AsteriskToken */
            ),
            an(
              On,
              8388608
              /* Iterator */
            )
          ) : On;
          if (qr)
            vr.push(t.createExpressionStatement(ti)), yo(Ke.loopOutParameters, 1, 0, vr);
          else {
            const Ii = t.createUniqueName("state"), L = t.createVariableStatement(
              /*modifiers*/
              void 0,
              t.createVariableDeclarationList(
                [t.createVariableDeclaration(
                  Ii,
                  /*exclamationToken*/
                  void 0,
                  /*type*/
                  void 0,
                  ti
                )]
              )
            );
            if (vr.push(L), yo(Ke.loopOutParameters, 1, 0, vr), Ke.nonLocalJumps & 8) {
              let Re;
              Vt ? (Vt.nonLocalJumps |= 8, Re = t.createReturnStatement(Ii)) : Re = t.createReturnStatement(t.createPropertyAccessExpression(Ii, "value")), vr.push(
                t.createIfStatement(
                  t.createTypeCheck(Ii, "object"),
                  Re
                )
              );
            }
            if (Ke.nonLocalJumps & 2 && vr.push(
              t.createIfStatement(
                t.createStrictEquality(
                  Ii,
                  t.createStringLiteral("break")
                ),
                t.createBreakStatement()
              )
            ), Ke.labeledNonLocalBreaks || Ke.labeledNonLocalContinues) {
              const Re = [];
              Ot(
                Ke.labeledNonLocalBreaks,
                /*isBreak*/
                !0,
                Ii,
                Vt,
                Re
              ), Ot(
                Ke.labeledNonLocalContinues,
                /*isBreak*/
                !1,
                Ii,
                Vt,
                Re
              ), vr.push(
                t.createSwitchStatement(
                  Ii,
                  t.createCaseBlock(Re)
                )
              );
            }
          }
          return vr;
        }
        function et(Z, Ke, Vt, Ut) {
          Ke ? (Z.labeledNonLocalBreaks || (Z.labeledNonLocalBreaks = /* @__PURE__ */ new Map()), Z.labeledNonLocalBreaks.set(Vt, Ut)) : (Z.labeledNonLocalContinues || (Z.labeledNonLocalContinues = /* @__PURE__ */ new Map()), Z.labeledNonLocalContinues.set(Vt, Ut));
        }
        function Ot(Z, Ke, Vt, Ut, vr) {
          Z && Z.forEach((qr, On) => {
            const ti = [];
            if (!Ut || Ut.labels && Ut.labels.get(On)) {
              const Ii = t.createIdentifier(On);
              ti.push(Ke ? t.createBreakStatement(Ii) : t.createContinueStatement(Ii));
            } else
              et(Ut, Ke, On, qr), ti.push(t.createReturnStatement(Vt));
            vr.push(t.createCaseClause(t.createStringLiteral(qr), ti));
          });
        }
        function Zt(Z, Ke, Vt, Ut, vr) {
          const qr = Ke.name;
          if (Ps(qr))
            for (const On of qr.elements)
              vl(On) || Zt(Z, On, Vt, Ut, vr);
          else {
            Vt.push(t.createParameterDeclaration(
              /*modifiers*/
              void 0,
              /*dotDotDotToken*/
              void 0,
              qr
            ));
            const On = u.hasNodeCheckFlag(
              Ke,
              65536
              /* NeedsLoopOutParameter */
            );
            if (On || vr) {
              const ti = t.createUniqueName("out_" + Pn(qr));
              let Ii = 0;
              On && (Ii |= 1), ov(Z) && (Z.initializer && u.isBindingCapturedByNode(Z.initializer, Ke) && (Ii |= 2), (Z.condition && u.isBindingCapturedByNode(Z.condition, Ke) || Z.incrementor && u.isBindingCapturedByNode(Z.incrementor, Ke)) && (Ii |= 1)), Ut.push({ flags: Ii, originalName: qr, outParamName: ti });
            }
          }
        }
        function Ur(Z, Ke, Vt, Ut) {
          const vr = Ke.properties, qr = vr.length;
          for (let On = Ut; On < qr; On++) {
            const ti = vr[On];
            switch (ti.kind) {
              case 177:
              case 178:
                const Ii = Mb(Ke.properties, ti);
                ti === Ii.firstAccessor && Z.push(_t(Vt, Ii, Ke, !!Ke.multiLine));
                break;
              case 174:
                Z.push(xr(ti, Vt, Ke, Ke.multiLine));
                break;
              case 303:
                Z.push(Vn(ti, Vt, Ke.multiLine));
                break;
              case 304:
                Z.push(sn(ti, Vt, Ke.multiLine));
                break;
              default:
                E.failBadSyntaxKind(Ke);
                break;
            }
          }
        }
        function Vn(Z, Ke, Vt) {
          const Ut = t.createAssignment(
            BS(
              t,
              Ke,
              E.checkDefined($e(Z.name, W, Bc))
            ),
            E.checkDefined($e(Z.initializer, W, lt))
          );
          return ot(Ut, Z), Vt && Su(Ut), Ut;
        }
        function sn(Z, Ke, Vt) {
          const Ut = t.createAssignment(
            BS(
              t,
              Ke,
              E.checkDefined($e(Z.name, W, Bc))
            ),
            t.cloneNode(Z.name)
          );
          return ot(Ut, Z), Vt && Su(Ut), Ut;
        }
        function xr(Z, Ke, Vt, Ut) {
          const vr = t.createAssignment(
            BS(
              t,
              Ke,
              E.checkDefined($e(Z.name, W, Bc))
            ),
            Zr(
              Z,
              /*location*/
              Z,
              /*name*/
              void 0,
              Vt
            )
          );
          return ot(vr, Z), Ut && Su(vr), vr;
        }
        function Li(Z) {
          const Ke = F(
            7104,
            0
            /* BlockScopeIncludes */
          );
          let Vt;
          if (E.assert(!!Z.variableDeclaration, "Catch clause variable should always be present when downleveling ES2015."), Ps(Z.variableDeclaration.name)) {
            const Ut = t.createTempVariable(
              /*recordTempVariable*/
              void 0
            ), vr = t.createVariableDeclaration(Ut);
            ot(vr, Z.variableDeclaration);
            const qr = t2(
              Z.variableDeclaration,
              W,
              e,
              0,
              Ut
            ), On = t.createVariableDeclarationList(qr);
            ot(On, Z.variableDeclaration);
            const ti = t.createVariableStatement(
              /*modifiers*/
              void 0,
              On
            );
            Vt = t.updateCatchClause(Z, vr, Qi(Z.block, ti));
          } else
            Vt = yr(Z, W, e);
          return j(
            Ke,
            0,
            0
            /* None */
          ), Vt;
        }
        function Qi(Z, Ke) {
          const Vt = Lr(Z.statements, W, yi);
          return t.updateBlock(Z, [Ke, ...Vt]);
        }
        function no(Z) {
          E.assert(!ia(Z.name));
          const Ke = Zr(
            Z,
            /*location*/
            K1(Z, -1),
            /*name*/
            void 0,
            /*container*/
            void 0
          );
          return an(Ke, 1024 | ka(Ke)), ot(
            t.createPropertyAssignment(
              Z.name,
              Ke
            ),
            /*location*/
            Z
          );
        }
        function da(Z) {
          E.assert(!ia(Z.name));
          const Ke = w;
          w = void 0;
          const Vt = F(
            32670,
            65
            /* FunctionIncludes */
          );
          let Ut;
          const vr = _c(Z.parameters, W, e), qr = we(Z);
          return Z.kind === 177 ? Ut = t.updateGetAccessorDeclaration(Z, Z.modifiers, Z.name, vr, Z.type, qr) : Ut = t.updateSetAccessorDeclaration(Z, Z.modifiers, Z.name, vr, qr), j(
            Vt,
            229376,
            0
            /* None */
          ), w = Ke, Ut;
        }
        function vo(Z) {
          return ot(
            t.createPropertyAssignment(
              Z.name,
              re(t.cloneNode(Z.name))
            ),
            /*location*/
            Z
          );
        }
        function fc(Z) {
          return yr(Z, W, e);
        }
        function Lc(Z) {
          return yr(Z, W, e);
        }
        function bo(Z) {
          return at(Z.elements, op) ? r_(
            Z.elements,
            /*isArgumentList*/
            !1,
            !!Z.multiLine,
            /*hasTrailingComma*/
            !!Z.elements.hasTrailingComma
          ) : yr(Z, W, e);
        }
        function pc(Z) {
          if (Hp(Z) & 1)
            return Cd(Z);
          const Ke = xc(Z.expression);
          return Ke.kind === 108 || E_(Ke) || at(Z.arguments, op) ? tu(
            Z
          ) : t.updateCallExpression(
            Z,
            E.checkDefined($e(Z.expression, U, lt)),
            /*typeArguments*/
            void 0,
            Lr(Z.arguments, W, lt)
          );
        }
        function Cd(Z) {
          const Ke = Us(Us(xc(Z.expression), Co).body, Cs), Vt = (ra) => Sc(ra) && !!xa(ra.declarationList.declarations).initializer, Ut = w;
          w = void 0;
          const vr = Lr(Ke.statements, K, yi);
          w = Ut;
          const qr = Tn(vr, Vt), On = Tn(vr, (ra) => !Vt(ra)), Ii = Us(xa(qr), Sc).declarationList.declarations[0], L = xc(Ii.initializer);
          let Re = Mn(L, wl);
          !Re && _n(L) && L.operatorToken.kind === 28 && (Re = Mn(L.left, wl));
          const Ct = Us(Re ? xc(Re.right) : L, Ms), Sr = Us(xc(Ct.expression), ho), Zi = Sr.body.statements;
          let fi = 0, Vi = -1;
          const as = [];
          if (Re) {
            const ra = Mn(Zi[fi], Pl);
            ra && (as.push(ra), fi++), as.push(Zi[fi]), fi++, as.push(
              t.createExpressionStatement(
                t.createAssignment(
                  Re.left,
                  Us(Ii.name, Fe)
                )
              )
            );
          }
          for (; !gf(xy(Zi, Vi)); )
            Vi--;
          wn(as, Zi, fi, Vi), Vi < -1 && wn(as, Zi, Vi + 1);
          const Ao = Mn(xy(Zi, Vi), gf);
          for (const ra of On)
            gf(ra) && Ao?.expression && !Fe(Ao.expression) ? as.push(Ao) : as.push(ra);
          return wn(
            as,
            qr,
            /*start*/
            1
          ), t.restoreOuterExpressions(
            Z.expression,
            t.restoreOuterExpressions(
              Ii.initializer,
              t.restoreOuterExpressions(
                Re && Re.right,
                t.updateCallExpression(
                  Ct,
                  t.restoreOuterExpressions(
                    Ct.expression,
                    t.updateFunctionExpression(
                      Sr,
                      /*modifiers*/
                      void 0,
                      /*asteriskToken*/
                      void 0,
                      /*name*/
                      void 0,
                      /*typeParameters*/
                      void 0,
                      Sr.parameters,
                      /*type*/
                      void 0,
                      t.updateBlock(
                        Sr.body,
                        as
                      )
                    )
                  ),
                  /*typeArguments*/
                  void 0,
                  Ct.arguments
                )
              )
            )
          );
        }
        function tu(Z, Ke) {
          if (Z.transformFlags & 32768 || Z.expression.kind === 108 || E_(xc(Z.expression))) {
            const { target: Vt, thisArg: Ut } = t.createCallBinding(Z.expression, c);
            Z.expression.kind === 108 && an(
              Ut,
              8
              /* NoSubstitution */
            );
            let vr;
            if (Z.transformFlags & 32768 ? vr = t.createFunctionApplyCall(
              E.checkDefined($e(Vt, U, lt)),
              Z.expression.kind === 108 ? Ut : E.checkDefined($e(Ut, W, lt)),
              r_(
                Z.arguments,
                /*isArgumentList*/
                !0,
                /*multiLine*/
                !1,
                /*hasTrailingComma*/
                !1
              )
            ) : vr = ot(
              t.createFunctionCallCall(
                E.checkDefined($e(Vt, U, lt)),
                Z.expression.kind === 108 ? Ut : E.checkDefined($e(Ut, W, lt)),
                Lr(Z.arguments, W, lt)
              ),
              Z
            ), Z.expression.kind === 108) {
              const qr = t.createLogicalOr(
                vr,
                bi()
              );
              vr = t.createAssignment(q(), qr);
            }
            return xn(vr, Z);
          }
          return dS(Z) && (T |= 131072), yr(Z, W, e);
        }
        function Rf(Z) {
          if (at(Z.arguments, op)) {
            const { target: Ke, thisArg: Vt } = t.createCallBinding(t.createPropertyAccessExpression(Z.expression, "bind"), c);
            return t.createNewExpression(
              t.createFunctionApplyCall(
                E.checkDefined($e(Ke, W, lt)),
                Vt,
                r_(
                  t.createNodeArray([t.createVoidZero(), ...Z.arguments]),
                  /*isArgumentList*/
                  !0,
                  /*multiLine*/
                  !1,
                  /*hasTrailingComma*/
                  !1
                )
              ),
              /*typeArguments*/
              void 0,
              []
            );
          }
          return yr(Z, W, e);
        }
        function r_(Z, Ke, Vt, Ut) {
          const vr = Z.length, qr = Sp(
            // As we visit each element, we return one of two functions to use as the "key":
            // - `visitSpanOfSpreads` for one or more contiguous `...` spread expressions, i.e. `...a, ...b` in `[1, 2, ...a, ...b]`
            // - `visitSpanOfNonSpreads` for one or more contiguous non-spread elements, i.e. `1, 2`, in `[1, 2, ...a, ...b]`
            SR(Z, Ae, (L, Re, Ct, Sr) => Re(L, Vt, Ut && Sr === vr))
          );
          if (qr.length === 1) {
            const L = qr[0];
            if (Ke && !_.downlevelIteration || OJ(L.expression) || CD(L.expression, "___spreadArray"))
              return L.expression;
          }
          const On = n(), ti = qr[0].kind !== 0;
          let Ii = ti ? t.createArrayLiteralExpression() : qr[0].expression;
          for (let L = ti ? 0 : 1; L < qr.length; L++) {
            const Re = qr[L];
            Ii = On.createSpreadArrayHelper(
              Ii,
              Re.expression,
              Re.kind === 1 && !Ke
            );
          }
          return Ii;
        }
        function Ae(Z) {
          return op(Z) ? It : qi;
        }
        function It(Z) {
          return fr(Z, Xr);
        }
        function Xr(Z) {
          E.assertNode(Z, op);
          let Ke = $e(Z.expression, W, lt);
          E.assert(Ke);
          const Vt = CD(Ke, "___read");
          let Ut = Vt || OJ(Ke) ? 2 : 1;
          return _.downlevelIteration && Ut === 1 && !Ql(Ke) && !Vt && (Ke = n().createReadHelper(
            Ke,
            /*count*/
            void 0
          ), Ut = 2), $1e(Ut, Ke);
        }
        function qi(Z, Ke, Vt) {
          const Ut = t.createArrayLiteralExpression(
            Lr(t.createNodeArray(Z, Vt), W, lt),
            Ke
          );
          return $1e(0, Ut);
        }
        function Is(Z) {
          return $e(Z.expression, W, lt);
        }
        function Ea(Z) {
          return ot(t.createStringLiteral(Z.text), Z);
        }
        function Do(Z) {
          return Z.hasExtendedUnicodeEscape ? ot(t.createStringLiteral(Z.text), Z) : Z;
        }
        function Ac(Z) {
          return Z.numericLiteralFlags & 384 ? ot(t.createNumericLiteral(Z.text), Z) : Z;
        }
        function rc(Z) {
          return jW(
            e,
            Z,
            W,
            h,
            D,
            1
            /* All */
          );
        }
        function nc(Z) {
          let Ke = t.createStringLiteral(Z.head.text);
          for (const Vt of Z.templateSpans) {
            const Ut = [E.checkDefined($e(Vt.expression, W, lt))];
            Vt.literal.text.length > 0 && Ut.push(t.createStringLiteral(Vt.literal.text)), Ke = t.createCallExpression(
              t.createPropertyAccessExpression(Ke, "concat"),
              /*typeArguments*/
              void 0,
              Ut
            );
          }
          return ot(Ke, Z);
        }
        function Mc() {
          return t.createUniqueName(
            "_super",
            48
            /* FileLevel */
          );
        }
        function ll(Z, Ke) {
          const Vt = T & 8 && !Ke ? t.createPropertyAccessExpression(xn(Mc(), Z), "prototype") : Mc();
          return xn(Vt, Z), Zc(Vt, Z), ha(Vt, Z), Vt;
        }
        function ul(Z) {
          return Z.keywordToken === 105 && Z.name.escapedText === "target" ? (T |= 32768, t.createUniqueName(
            "_newTarget",
            48
            /* FileLevel */
          )) : Z;
        }
        function nf(Z, Ke, Vt) {
          if (A & 1 && Ts(Ke)) {
            const Ut = F(
              32670,
              ka(Ke) & 16 ? 81 : 65
              /* FunctionIncludes */
            );
            m(Z, Ke, Vt), j(
              Ut,
              0,
              0
              /* None */
            );
            return;
          }
          m(Z, Ke, Vt);
        }
        function n_() {
          (A & 2) === 0 && (A |= 2, e.enableSubstitution(
            80
            /* Identifier */
          ));
        }
        function ed() {
          (A & 1) === 0 && (A |= 1, e.enableSubstitution(
            110
            /* ThisKeyword */
          ), e.enableEmitNotification(
            176
            /* Constructor */
          ), e.enableEmitNotification(
            174
            /* MethodDeclaration */
          ), e.enableEmitNotification(
            177
            /* GetAccessor */
          ), e.enableEmitNotification(
            178
            /* SetAccessor */
          ), e.enableEmitNotification(
            219
            /* ArrowFunction */
          ), e.enableEmitNotification(
            218
            /* FunctionExpression */
          ), e.enableEmitNotification(
            262
            /* FunctionDeclaration */
          ));
        }
        function hf(Z, Ke) {
          return Ke = g(Z, Ke), Z === 1 ? jf(Ke) : Fe(Ke) ? ym(Ke) : Ke;
        }
        function ym(Z) {
          if (A & 2 && !xz(Z)) {
            const Ke = ds(Z, Fe);
            if (Ke && Qg(Ke))
              return ot(t.getGeneratedNameForNode(Ke), Z);
          }
          return Z;
        }
        function Qg(Z) {
          switch (Z.parent.kind) {
            case 208:
            case 263:
            case 266:
            case 260:
              return Z.parent.name === Z && u.isDeclarationWithCollidingName(Z.parent);
          }
          return !1;
        }
        function jf(Z) {
          switch (Z.kind) {
            case 80:
              return y_(Z);
            case 110:
              return vm(Z);
          }
          return Z;
        }
        function y_(Z) {
          if (A & 2 && !xz(Z)) {
            const Ke = u.getReferencedDeclarationWithCollidingName(Z);
            if (Ke && !(Xn(Ke) && Ju(Ke, Z)))
              return ot(t.getGeneratedNameForNode(ls(Ke)), Z);
          }
          return Z;
        }
        function Ju(Z, Ke) {
          let Vt = ds(Ke);
          if (!Vt || Vt === Z || Vt.end <= Z.pos || Vt.pos >= Z.end)
            return !1;
          const Ut = pd(Z);
          for (; Vt; ) {
            if (Vt === Ut || Vt === Z)
              return !1;
            if (Jc(Vt) && Vt.parent === Z)
              return !0;
            Vt = Vt.parent;
          }
          return !1;
        }
        function vm(Z) {
          return A & 1 && T & 16 ? ot(q(), Z) : Z;
        }
        function yf(Z, Ke) {
          return zs(Ke) ? t.getInternalName(Z) : t.createPropertyAccessExpression(t.getInternalName(Z), "prototype");
        }
        function Yg(Z, Ke) {
          if (!Z || !Ke || at(Z.parameters))
            return !1;
          const Vt = Xc(Z.body.statements);
          if (!Vt || !oo(Vt) || Vt.kind !== 244)
            return !1;
          const Ut = Vt.expression;
          if (!oo(Ut) || Ut.kind !== 213)
            return !1;
          const vr = Ut.expression;
          if (!oo(vr) || vr.kind !== 108)
            return !1;
          const qr = zm(Ut.arguments);
          if (!qr || !oo(qr) || qr.kind !== 230)
            return !1;
          const On = qr.expression;
          return Fe(On) && On.escapedText === "arguments";
        }
      }
      function mje(e) {
        switch (e) {
          case 2:
            return "return";
          case 3:
            return "break";
          case 4:
            return "yield";
          case 5:
            return "yield*";
          case 7:
            return "endfinally";
          default:
            return;
        }
      }
      function Kne(e) {
        const {
          factory: t,
          getEmitHelperFactory: n,
          resumeLexicalEnvironment: i,
          endLexicalEnvironment: s,
          hoistFunctionDeclaration: o,
          hoistVariableDeclaration: c
        } = e, _ = e.getCompilerOptions(), u = ga(_), g = e.getEmitResolver(), m = e.onSubstituteNode;
        e.onSubstituteNode = _e;
        let h, S, T, k, D, w, A, O, F, j, z = 1, V, G, W, pe, K = 0, U = 0, ee, te, ie, fe, me, q, he, Me;
        return Sd(e, De);
        function De(Ae) {
          if (Ae.isDeclarationFile || (Ae.transformFlags & 2048) === 0)
            return Ae;
          const It = yr(Ae, re, e);
          return qg(It, e.readEmitHelpers()), It;
        }
        function re(Ae) {
          const It = Ae.transformFlags;
          return k ? xe(Ae) : T ? ue(Ae) : uo(Ae) && Ae.asteriskToken ? nt(Ae) : It & 2048 ? yr(Ae, re, e) : Ae;
        }
        function xe(Ae) {
          switch (Ae.kind) {
            case 246:
              return ks(Ae);
            case 247:
              return gr(Ae);
            case 255:
              return _t(Ae);
            case 256:
              return Ve(Ae);
            default:
              return ue(Ae);
          }
        }
        function ue(Ae) {
          switch (Ae.kind) {
            case 262:
              return oe(Ae);
            case 218:
              return ve(Ae);
            case 177:
            case 178:
              return se(Ae);
            case 243:
              return Ee(Ae);
            case 248:
              return He(Ae);
            case 249:
              return ne(Ae);
            case 252:
              return qe(Ae);
            case 251:
              return Q(Ae);
            case 253:
              return bt(Ae);
            default:
              return Ae.transformFlags & 1048576 ? Xe(Ae) : Ae.transformFlags & 4196352 ? yr(Ae, re, e) : Ae;
          }
        }
        function Xe(Ae) {
          switch (Ae.kind) {
            case 226:
              return Ce(Ae);
            case 356:
              return tr(Ae);
            case 227:
              return it(Ae);
            case 229:
              return Wt(Ae);
            case 209:
              return Wr(Ae);
            case 210:
              return zi(Ae);
            case 212:
              return Pt(Ae);
            case 213:
              return Fn(Ae);
            case 214:
              return ii(Ae);
            default:
              return yr(Ae, re, e);
          }
        }
        function nt(Ae) {
          switch (Ae.kind) {
            case 262:
              return oe(Ae);
            case 218:
              return ve(Ae);
            default:
              return E.failBadSyntaxKind(Ae);
          }
        }
        function oe(Ae) {
          if (Ae.asteriskToken)
            Ae = xn(
              ot(
                t.createFunctionDeclaration(
                  Ae.modifiers,
                  /*asteriskToken*/
                  void 0,
                  Ae.name,
                  /*typeParameters*/
                  void 0,
                  _c(Ae.parameters, re, e),
                  /*type*/
                  void 0,
                  Pe(Ae.body)
                ),
                /*location*/
                Ae
              ),
              Ae
            );
          else {
            const It = T, Xr = k;
            T = !1, k = !1, Ae = yr(Ae, re, e), T = It, k = Xr;
          }
          if (T) {
            o(Ae);
            return;
          } else
            return Ae;
        }
        function ve(Ae) {
          if (Ae.asteriskToken)
            Ae = xn(
              ot(
                t.createFunctionExpression(
                  /*modifiers*/
                  void 0,
                  /*asteriskToken*/
                  void 0,
                  Ae.name,
                  /*typeParameters*/
                  void 0,
                  _c(Ae.parameters, re, e),
                  /*type*/
                  void 0,
                  Pe(Ae.body)
                ),
                /*location*/
                Ae
              ),
              Ae
            );
          else {
            const It = T, Xr = k;
            T = !1, k = !1, Ae = yr(Ae, re, e), T = It, k = Xr;
          }
          return Ae;
        }
        function se(Ae) {
          const It = T, Xr = k;
          return T = !1, k = !1, Ae = yr(Ae, re, e), T = It, k = Xr, Ae;
        }
        function Pe(Ae) {
          const It = [], Xr = T, qi = k, Is = D, Ea = w, Do = A, Ac = O, rc = F, nc = j, Mc = z, ll = V, ul = G, nf = W, n_ = pe;
          T = !0, k = !1, D = void 0, w = void 0, A = void 0, O = void 0, F = void 0, j = void 0, z = 1, V = void 0, G = void 0, W = void 0, pe = t.createTempVariable(
            /*recordTempVariable*/
            void 0
          ), i();
          const ed = t.copyPrologue(
            Ae.statements,
            It,
            /*ensureUseStrict*/
            !1,
            re
          );
          li(Ae.statements, ed);
          const hf = et();
          return Og(It, s()), It.push(t.createReturnStatement(hf)), T = Xr, k = qi, D = Is, w = Ea, A = Do, O = Ac, F = rc, j = nc, z = Mc, V = ll, G = ul, W = nf, pe = n_, ot(t.createBlock(It, Ae.multiLine), Ae);
        }
        function Ee(Ae) {
          if (Ae.transformFlags & 1048576) {
            Vr(Ae.declarationList);
            return;
          } else {
            if (ka(Ae) & 2097152)
              return Ae;
            for (const Xr of Ae.declarationList.declarations)
              c(Xr.name);
            const It = iD(Ae.declarationList);
            return It.length === 0 ? void 0 : ha(
              t.createExpressionStatement(
                t.inlineExpressions(
                  fr(It, zn)
                )
              ),
              Ae
            );
          }
        }
        function Ce(Ae) {
          const It = MB(Ae);
          switch (It) {
            case 0:
              return St(Ae);
            case 1:
              return ze(Ae);
            default:
              return E.assertNever(It);
          }
        }
        function ze(Ae) {
          const { left: It, right: Xr } = Ae;
          if (we(Xr)) {
            let qi;
            switch (It.kind) {
              case 211:
                qi = t.updatePropertyAccessExpression(
                  It,
                  X(E.checkDefined($e(It.expression, re, __))),
                  It.name
                );
                break;
              case 212:
                qi = t.updateElementAccessExpression(It, X(E.checkDefined($e(It.expression, re, __))), X(E.checkDefined($e(It.argumentExpression, re, lt))));
                break;
              default:
                qi = E.checkDefined($e(It, re, lt));
                break;
            }
            const Is = Ae.operatorToken.kind;
            return ZD(Is) ? ot(
              t.createAssignment(
                qi,
                ot(
                  t.createBinaryExpression(
                    X(qi),
                    KD(Is),
                    E.checkDefined($e(Xr, re, lt))
                  ),
                  Ae
                )
              ),
              Ae
            ) : t.updateBinaryExpression(Ae, qi, Ae.operatorToken, E.checkDefined($e(Xr, re, lt)));
          }
          return yr(Ae, re, e);
        }
        function St(Ae) {
          return we(Ae.right) ? GK(Ae.operatorToken.kind) ? Fr(Ae) : Ae.operatorToken.kind === 28 ? Bt(Ae) : t.updateBinaryExpression(Ae, X(E.checkDefined($e(Ae.left, re, lt))), Ae.operatorToken, E.checkDefined($e(Ae.right, re, lt))) : yr(Ae, re, e);
        }
        function Bt(Ae) {
          let It = [];
          return Xr(Ae.left), Xr(Ae.right), t.inlineExpressions(It);
          function Xr(qi) {
            _n(qi) && qi.operatorToken.kind === 28 ? (Xr(qi.left), Xr(qi.right)) : (we(qi) && It.length > 0 && (H(1, [t.createExpressionStatement(t.inlineExpressions(It))]), It = []), It.push(E.checkDefined($e(qi, re, lt))));
          }
        }
        function tr(Ae) {
          let It = [];
          for (const Xr of Ae.elements)
            _n(Xr) && Xr.operatorToken.kind === 28 ? It.push(Bt(Xr)) : (we(Xr) && It.length > 0 && (H(1, [t.createExpressionStatement(t.inlineExpressions(It))]), It = []), It.push(E.checkDefined($e(Xr, re, lt))));
          return t.inlineExpressions(It);
        }
        function Fr(Ae) {
          const It = jt(), Xr = pt();
          return Aa(
            Xr,
            E.checkDefined($e(Ae.left, re, lt)),
            /*location*/
            Ae.left
          ), Ae.operatorToken.kind === 56 ? Ka(
            It,
            Xr,
            /*location*/
            Ae.left
          ) : zt(
            It,
            Xr,
            /*location*/
            Ae.left
          ), Aa(
            Xr,
            E.checkDefined($e(Ae.right, re, lt)),
            /*location*/
            Ae.right
          ), ke(It), Xr;
        }
        function it(Ae) {
          if (we(Ae.whenTrue) || we(Ae.whenFalse)) {
            const It = jt(), Xr = jt(), qi = pt();
            return Ka(
              It,
              E.checkDefined($e(Ae.condition, re, lt)),
              /*location*/
              Ae.condition
            ), Aa(
              qi,
              E.checkDefined($e(Ae.whenTrue, re, lt)),
              /*location*/
              Ae.whenTrue
            ), Ca(Xr), ke(It), Aa(
              qi,
              E.checkDefined($e(Ae.whenFalse, re, lt)),
              /*location*/
              Ae.whenFalse
            ), ke(Xr), qi;
          }
          return yr(Ae, re, e);
        }
        function Wt(Ae) {
          const It = jt(), Xr = $e(Ae.expression, re, lt);
          if (Ae.asteriskToken) {
            const qi = (ka(Ae.expression) & 8388608) === 0 ? ot(n().createValuesHelper(Xr), Ae) : Xr;
            Vc(
              qi,
              /*location*/
              Ae
            );
          } else
            tc(
              Xr,
              /*location*/
              Ae
            );
          return ke(It), rf(
            /*location*/
            Ae
          );
        }
        function Wr(Ae) {
          return ai(
            Ae.elements,
            /*leadingElement*/
            void 0,
            /*location*/
            void 0,
            Ae.multiLine
          );
        }
        function ai(Ae, It, Xr, qi) {
          const Is = mt(Ae);
          let Ea;
          if (Is > 0) {
            Ea = pt();
            const rc = Lr(Ae, re, lt, 0, Is);
            Aa(
              Ea,
              t.createArrayLiteralExpression(
                It ? [It, ...rc] : rc
              )
            ), It = void 0;
          }
          const Do = Hu(Ae, Ac, [], Is);
          return Ea ? t.createArrayConcatCall(Ea, [t.createArrayLiteralExpression(Do, qi)]) : ot(
            t.createArrayLiteralExpression(It ? [It, ...Do] : Do, qi),
            Xr
          );
          function Ac(rc, nc) {
            if (we(nc) && rc.length > 0) {
              const Mc = Ea !== void 0;
              Ea || (Ea = pt()), Aa(
                Ea,
                Mc ? t.createArrayConcatCall(
                  Ea,
                  [t.createArrayLiteralExpression(rc, qi)]
                ) : t.createArrayLiteralExpression(
                  It ? [It, ...rc] : rc,
                  qi
                )
              ), It = void 0, rc = [];
            }
            return rc.push(E.checkDefined($e(nc, re, lt))), rc;
          }
        }
        function zi(Ae) {
          const It = Ae.properties, Xr = Ae.multiLine, qi = mt(It), Is = pt();
          Aa(
            Is,
            t.createObjectLiteralExpression(
              Lr(It, re, Eh, 0, qi),
              Xr
            )
          );
          const Ea = Hu(It, Do, [], qi);
          return Ea.push(Xr ? Su(Wa(ot(t.cloneNode(Is), Is), Is.parent)) : Is), t.inlineExpressions(Ea);
          function Do(Ac, rc) {
            we(rc) && Ac.length > 0 && (Vs(t.createExpressionStatement(t.inlineExpressions(Ac))), Ac = []);
            const nc = Gte(t, Ae, rc, Is), Mc = $e(nc, re, lt);
            return Mc && (Xr && Su(Mc), Ac.push(Mc)), Ac;
          }
        }
        function Pt(Ae) {
          return we(Ae.argumentExpression) ? t.updateElementAccessExpression(Ae, X(E.checkDefined($e(Ae.expression, re, __))), E.checkDefined($e(Ae.argumentExpression, re, lt))) : yr(Ae, re, e);
        }
        function Fn(Ae) {
          if (!df(Ae) && ar(Ae.arguments, we)) {
            const { target: It, thisArg: Xr } = t.createCallBinding(
              Ae.expression,
              c,
              u,
              /*cacheIdentifiers*/
              !0
            );
            return xn(
              ot(
                t.createFunctionApplyCall(
                  X(E.checkDefined($e(It, re, __))),
                  Xr,
                  ai(Ae.arguments)
                ),
                Ae
              ),
              Ae
            );
          }
          return yr(Ae, re, e);
        }
        function ii(Ae) {
          if (ar(Ae.arguments, we)) {
            const { target: It, thisArg: Xr } = t.createCallBinding(t.createPropertyAccessExpression(Ae.expression, "bind"), c);
            return xn(
              ot(
                t.createNewExpression(
                  t.createFunctionApplyCall(
                    X(E.checkDefined($e(It, re, lt))),
                    Xr,
                    ai(
                      Ae.arguments,
                      /*leadingElement*/
                      t.createVoidZero()
                    )
                  ),
                  /*typeArguments*/
                  void 0,
                  []
                ),
                Ae
              ),
              Ae
            );
          }
          return yr(Ae, re, e);
        }
        function li(Ae, It = 0) {
          const Xr = Ae.length;
          for (let qi = It; qi < Xr; qi++)
            ci(Ae[qi]);
        }
        function cn(Ae) {
          Cs(Ae) ? li(Ae.statements) : ci(Ae);
        }
        function ci(Ae) {
          const It = k;
          k || (k = we(Ae)), je(Ae), k = It;
        }
        function je(Ae) {
          switch (Ae.kind) {
            case 241:
              return ut(Ae);
            case 244:
              return er(Ae);
            case 245:
              return Wn(Ae);
            case 246:
              return bi(Ae);
            case 247:
              return ta(Ae);
            case 248:
              return ms(Ae);
            case 249:
              return Et(Ae);
            case 251:
              return rt(Ae);
            case 252:
              return Ne(Ae);
            case 253:
              return Ze(Ae);
            case 254:
              return Ie(Ae);
            case 255:
              return ft(Ae);
            case 256:
              return kt(Ae);
            case 257:
              return Rt(Ae);
            case 258:
              return Zr(Ae);
            default:
              return Vs($e(Ae, re, yi));
          }
        }
        function ut(Ae) {
          we(Ae) ? li(Ae.statements) : Vs($e(Ae, re, yi));
        }
        function er(Ae) {
          Vs($e(Ae, re, yi));
        }
        function Vr(Ae) {
          for (const Ea of Ae.declarations) {
            const Do = t.cloneNode(Ea.name);
            Zc(Do, Ea.name), c(Do);
          }
          const It = iD(Ae), Xr = It.length;
          let qi = 0, Is = [];
          for (; qi < Xr; ) {
            for (let Ea = qi; Ea < Xr; Ea++) {
              const Do = It[Ea];
              if (we(Do.initializer) && Is.length > 0)
                break;
              Is.push(zn(Do));
            }
            Is.length && (Vs(t.createExpressionStatement(t.inlineExpressions(Is))), qi += Is.length, Is = []);
          }
        }
        function zn(Ae) {
          return ha(
            t.createAssignment(
              ha(t.cloneNode(Ae.name), Ae.name),
              E.checkDefined($e(Ae.initializer, re, lt))
            ),
            Ae
          );
        }
        function Wn(Ae) {
          if (we(Ae))
            if (we(Ae.thenStatement) || we(Ae.elseStatement)) {
              const It = jt(), Xr = Ae.elseStatement ? jt() : void 0;
              Ka(
                Ae.elseStatement ? Xr : It,
                E.checkDefined($e(Ae.expression, re, lt)),
                /*location*/
                Ae.expression
              ), cn(Ae.thenStatement), Ae.elseStatement && (Ca(It), ke(Xr), cn(Ae.elseStatement)), ke(It);
            } else
              Vs($e(Ae, re, yi));
          else
            Vs($e(Ae, re, yi));
        }
        function bi(Ae) {
          if (we(Ae)) {
            const It = jt(), Xr = jt();
            Mt(
              /*continueLabel*/
              It
            ), ke(Xr), cn(Ae.statement), ke(It), zt(Xr, E.checkDefined($e(Ae.expression, re, lt))), cr();
          } else
            Vs($e(Ae, re, yi));
        }
        function ks(Ae) {
          return k ? (Kt(), Ae = yr(Ae, re, e), cr(), Ae) : yr(Ae, re, e);
        }
        function ta(Ae) {
          if (we(Ae)) {
            const It = jt(), Xr = Mt(It);
            ke(It), Ka(Xr, E.checkDefined($e(Ae.expression, re, lt))), cn(Ae.statement), Ca(It), cr();
          } else
            Vs($e(Ae, re, yi));
        }
        function gr(Ae) {
          return k ? (Kt(), Ae = yr(Ae, re, e), cr(), Ae) : yr(Ae, re, e);
        }
        function ms(Ae) {
          if (we(Ae)) {
            const It = jt(), Xr = jt(), qi = Mt(Xr);
            if (Ae.initializer) {
              const Is = Ae.initializer;
              zl(Is) ? Vr(Is) : Vs(
                ot(
                  t.createExpressionStatement(
                    E.checkDefined($e(Is, re, lt))
                  ),
                  Is
                )
              );
            }
            ke(It), Ae.condition && Ka(qi, E.checkDefined($e(Ae.condition, re, lt))), cn(Ae.statement), ke(Xr), Ae.incrementor && Vs(
              ot(
                t.createExpressionStatement(
                  E.checkDefined($e(Ae.incrementor, re, lt))
                ),
                Ae.incrementor
              )
            ), Ca(It), cr();
          } else
            Vs($e(Ae, re, yi));
        }
        function He(Ae) {
          k && Kt();
          const It = Ae.initializer;
          if (It && zl(It)) {
            for (const qi of It.declarations)
              c(qi.name);
            const Xr = iD(It);
            Ae = t.updateForStatement(
              Ae,
              Xr.length > 0 ? t.inlineExpressions(fr(Xr, zn)) : void 0,
              $e(Ae.condition, re, lt),
              $e(Ae.incrementor, re, lt),
              Ku(Ae.statement, re, e)
            );
          } else
            Ae = yr(Ae, re, e);
          return k && cr(), Ae;
        }
        function Et(Ae) {
          if (we(Ae)) {
            const It = pt(), Xr = pt(), qi = pt(), Is = t.createLoopVariable(), Ea = Ae.initializer;
            c(Is), Aa(It, E.checkDefined($e(Ae.expression, re, lt))), Aa(Xr, t.createArrayLiteralExpression()), Vs(
              t.createForInStatement(
                qi,
                It,
                t.createExpressionStatement(
                  t.createCallExpression(
                    t.createPropertyAccessExpression(Xr, "push"),
                    /*typeArguments*/
                    void 0,
                    [qi]
                  )
                )
              )
            ), Aa(Is, t.createNumericLiteral(0));
            const Do = jt(), Ac = jt(), rc = Mt(Ac);
            ke(Do), Ka(rc, t.createLessThan(Is, t.createPropertyAccessExpression(Xr, "length"))), Aa(qi, t.createElementAccessExpression(Xr, Is)), Ka(Ac, t.createBinaryExpression(qi, 103, It));
            let nc;
            if (zl(Ea)) {
              for (const Mc of Ea.declarations)
                c(Mc.name);
              nc = t.cloneNode(Ea.declarations[0].name);
            } else
              nc = E.checkDefined($e(Ea, re, lt)), E.assert(__(nc));
            Aa(nc, qi), cn(Ae.statement), ke(Ac), Vs(t.createExpressionStatement(t.createPostfixIncrement(Is))), Ca(Do), cr();
          } else
            Vs($e(Ae, re, yi));
        }
        function ne(Ae) {
          k && Kt();
          const It = Ae.initializer;
          if (zl(It)) {
            for (const Xr of It.declarations)
              c(Xr.name);
            Ae = t.updateForInStatement(Ae, It.declarations[0].name, E.checkDefined($e(Ae.expression, re, lt)), E.checkDefined($e(Ae.statement, re, yi, t.liftToBlock)));
          } else
            Ae = yr(Ae, re, e);
          return k && cr(), Ae;
        }
        function rt(Ae) {
          const It = ps(Ae.label ? Pn(Ae.label) : void 0);
          It > 0 ? Ca(
            It,
            /*location*/
            Ae
          ) : Vs(Ae);
        }
        function Q(Ae) {
          if (k) {
            const It = ps(Ae.label && Pn(Ae.label));
            if (It > 0)
              return Pa(
                It,
                /*location*/
                Ae
              );
          }
          return yr(Ae, re, e);
        }
        function Ne(Ae) {
          const It = gi(Ae.label ? Pn(Ae.label) : void 0);
          It > 0 ? Ca(
            It,
            /*location*/
            Ae
          ) : Vs(Ae);
        }
        function qe(Ae) {
          if (k) {
            const It = gi(Ae.label && Pn(Ae.label));
            if (It > 0)
              return Pa(
                It,
                /*location*/
                Ae
              );
          }
          return yr(Ae, re, e);
        }
        function Ze(Ae) {
          eu(
            $e(Ae.expression, re, lt),
            /*location*/
            Ae
          );
        }
        function bt(Ae) {
          return Bo(
            $e(Ae.expression, re, lt),
            /*location*/
            Ae
          );
        }
        function Ie(Ae) {
          we(Ae) ? (Rr(X(E.checkDefined($e(Ae.expression, re, lt)))), cn(Ae.statement), Ye()) : Vs($e(Ae, re, yi));
        }
        function ft(Ae) {
          if (we(Ae.caseBlock)) {
            const It = Ae.caseBlock, Xr = It.clauses.length, qi = br(), Is = X(E.checkDefined($e(Ae.expression, re, lt))), Ea = [];
            let Do = -1;
            for (let nc = 0; nc < Xr; nc++) {
              const Mc = It.clauses[nc];
              Ea.push(jt()), Mc.kind === 297 && Do === -1 && (Do = nc);
            }
            let Ac = 0, rc = [];
            for (; Ac < Xr; ) {
              let nc = 0;
              for (let Mc = Ac; Mc < Xr; Mc++) {
                const ll = It.clauses[Mc];
                if (ll.kind === 296) {
                  if (we(ll.expression) && rc.length > 0)
                    break;
                  rc.push(
                    t.createCaseClause(
                      E.checkDefined($e(ll.expression, re, lt)),
                      [
                        Pa(
                          Ea[Mc],
                          /*location*/
                          ll.expression
                        )
                      ]
                    )
                  );
                } else
                  nc++;
              }
              rc.length && (Vs(t.createSwitchStatement(Is, t.createCaseBlock(rc))), Ac += rc.length, rc = []), nc > 0 && (Ac += nc, nc = 0);
            }
            Do >= 0 ? Ca(Ea[Do]) : Ca(qi);
            for (let nc = 0; nc < Xr; nc++)
              ke(Ea[nc]), li(It.clauses[nc].statements);
            $t();
          } else
            Vs($e(Ae, re, yi));
        }
        function _t(Ae) {
          return k && lr(), Ae = yr(Ae, re, e), k && $t(), Ae;
        }
        function kt(Ae) {
          we(Ae) ? (Ns(Pn(Ae.label)), cn(Ae.statement), $s()) : Vs($e(Ae, re, yi));
        }
        function Ve(Ae) {
          return k && Qn(Pn(Ae.label)), Ae = yr(Ae, re, e), k && $s(), Ae;
        }
        function Rt(Ae) {
          yo(
            E.checkDefined($e(Ae.expression ?? t.createVoidZero(), re, lt)),
            /*location*/
            Ae
          );
        }
        function Zr(Ae) {
          we(Ae) ? (gt(), cn(Ae.tryBlock), Ae.catchClause && (Jt(Ae.catchClause.variableDeclaration), cn(Ae.catchClause.block)), Ae.finallyBlock && (wt(), cn(Ae.finallyBlock)), dr()) : Vs(yr(Ae, re, e));
        }
        function we(Ae) {
          return !!Ae && (Ae.transformFlags & 1048576) !== 0;
        }
        function mt(Ae) {
          const It = Ae.length;
          for (let Xr = 0; Xr < It; Xr++)
            if (we(Ae[Xr]))
              return Xr;
          return -1;
        }
        function _e(Ae, It) {
          return It = m(Ae, It), Ae === 1 ? M(It) : It;
        }
        function M(Ae) {
          return Fe(Ae) ? ye(Ae) : Ae;
        }
        function ye(Ae) {
          if (!Mo(Ae) && h && h.has(Pn(Ae))) {
            const It = Vo(Ae);
            if (Fe(It) && It.parent) {
              const Xr = g.getReferencedValueDeclaration(It);
              if (Xr) {
                const qi = S[e_(Xr)];
                if (qi) {
                  const Is = Wa(ot(t.cloneNode(qi), qi), qi.parent);
                  return ha(Is, Ae), Zc(Is, Ae), Is;
                }
              }
            }
          }
          return Ae;
        }
        function X(Ae) {
          if (Mo(Ae) || ka(Ae) & 8192)
            return Ae;
          const It = t.createTempVariable(c);
          return Aa(
            It,
            Ae,
            /*location*/
            Ae
          ), It;
        }
        function pt(Ae) {
          const It = Ae ? t.createUniqueName(Ae) : t.createTempVariable(
            /*recordTempVariable*/
            void 0
          );
          return c(It), It;
        }
        function jt() {
          F || (F = []);
          const Ae = z;
          return z++, F[Ae] = -1, Ae;
        }
        function ke(Ae) {
          E.assert(F !== void 0, "No labels were defined."), F[Ae] = V ? V.length : 0;
        }
        function st(Ae) {
          D || (D = [], A = [], w = [], O = []);
          const It = A.length;
          return A[It] = 0, w[It] = V ? V.length : 0, D[It] = Ae, O.push(Ae), It;
        }
        function At() {
          const Ae = Yr();
          if (Ae === void 0) return E.fail("beginBlock was never called.");
          const It = A.length;
          return A[It] = 1, w[It] = V ? V.length : 0, D[It] = Ae, O.pop(), Ae;
        }
        function Yr() {
          return Po(O);
        }
        function Mr() {
          const Ae = Yr();
          return Ae && Ae.kind;
        }
        function Rr(Ae) {
          const It = jt(), Xr = jt();
          ke(It), st({
            kind: 1,
            expression: Ae,
            startLabel: It,
            endLabel: Xr
          });
        }
        function Ye() {
          E.assert(
            Mr() === 1
            /* With */
          );
          const Ae = At();
          ke(Ae.endLabel);
        }
        function gt() {
          const Ae = jt(), It = jt();
          return ke(Ae), st({
            kind: 0,
            state: 0,
            startLabel: Ae,
            endLabel: It
          }), ss(), It;
        }
        function Jt(Ae) {
          E.assert(
            Mr() === 0
            /* Exception */
          );
          let It;
          if (Mo(Ae.name))
            It = Ae.name, c(Ae.name);
          else {
            const Ea = Pn(Ae.name);
            It = pt(Ea), h || (h = /* @__PURE__ */ new Map(), S = [], e.enableSubstitution(
              80
              /* Identifier */
            )), h.set(Ea, !0), S[e_(Ae)] = It;
          }
          const Xr = Yr();
          E.assert(
            Xr.state < 1
            /* Catch */
          );
          const qi = Xr.endLabel;
          Ca(qi);
          const Is = jt();
          ke(Is), Xr.state = 1, Xr.catchVariable = It, Xr.catchLabel = Is, Aa(It, t.createCallExpression(
            t.createPropertyAccessExpression(pe, "sent"),
            /*typeArguments*/
            void 0,
            []
          )), ss();
        }
        function wt() {
          E.assert(
            Mr() === 0
            /* Exception */
          );
          const Ae = Yr();
          E.assert(
            Ae.state < 2
            /* Finally */
          );
          const It = Ae.endLabel;
          Ca(It);
          const Xr = jt();
          ke(Xr), Ae.state = 2, Ae.finallyLabel = Xr;
        }
        function dr() {
          E.assert(
            Mr() === 0
            /* Exception */
          );
          const Ae = At();
          Ae.state < 2 ? Ca(Ae.endLabel) : ge(), ke(Ae.endLabel), ss(), Ae.state = 3;
        }
        function Kt() {
          st({
            kind: 3,
            isScript: !0,
            breakLabel: -1,
            continueLabel: -1
          });
        }
        function Mt(Ae) {
          const It = jt();
          return st({
            kind: 3,
            isScript: !1,
            breakLabel: It,
            continueLabel: Ae
          }), It;
        }
        function cr() {
          E.assert(
            Mr() === 3
            /* Loop */
          );
          const Ae = At(), It = Ae.breakLabel;
          Ae.isScript || ke(It);
        }
        function lr() {
          st({
            kind: 2,
            isScript: !0,
            breakLabel: -1
          });
        }
        function br() {
          const Ae = jt();
          return st({
            kind: 2,
            isScript: !1,
            breakLabel: Ae
          }), Ae;
        }
        function $t() {
          E.assert(
            Mr() === 2
            /* Switch */
          );
          const Ae = At(), It = Ae.breakLabel;
          Ae.isScript || ke(It);
        }
        function Qn(Ae) {
          st({
            kind: 4,
            isScript: !0,
            labelText: Ae,
            breakLabel: -1
          });
        }
        function Ns(Ae) {
          const It = jt();
          st({
            kind: 4,
            isScript: !1,
            labelText: Ae,
            breakLabel: It
          });
        }
        function $s() {
          E.assert(
            Mr() === 4
            /* Labeled */
          );
          const Ae = At();
          Ae.isScript || ke(Ae.breakLabel);
        }
        function Es(Ae) {
          return Ae.kind === 2 || Ae.kind === 3;
        }
        function Nc(Ae) {
          return Ae.kind === 4;
        }
        function qo(Ae) {
          return Ae.kind === 3;
        }
        function kc(Ae, It) {
          for (let Xr = It; Xr >= 0; Xr--) {
            const qi = O[Xr];
            if (Nc(qi)) {
              if (qi.labelText === Ae)
                return !0;
            } else
              break;
          }
          return !1;
        }
        function gi(Ae) {
          if (O)
            if (Ae)
              for (let It = O.length - 1; It >= 0; It--) {
                const Xr = O[It];
                if (Nc(Xr) && Xr.labelText === Ae)
                  return Xr.breakLabel;
                if (Es(Xr) && kc(Ae, It - 1))
                  return Xr.breakLabel;
              }
            else
              for (let It = O.length - 1; It >= 0; It--) {
                const Xr = O[It];
                if (Es(Xr))
                  return Xr.breakLabel;
              }
          return 0;
        }
        function ps(Ae) {
          if (O)
            if (Ae)
              for (let It = O.length - 1; It >= 0; It--) {
                const Xr = O[It];
                if (qo(Xr) && kc(Ae, It - 1))
                  return Xr.continueLabel;
              }
            else
              for (let It = O.length - 1; It >= 0; It--) {
                const Xr = O[It];
                if (qo(Xr))
                  return Xr.continueLabel;
              }
          return 0;
        }
        function Wc(Ae) {
          if (Ae !== void 0 && Ae > 0) {
            j === void 0 && (j = []);
            const It = t.createNumericLiteral(Number.MAX_SAFE_INTEGER);
            return j[Ae] === void 0 ? j[Ae] = [It] : j[Ae].push(It), It;
          }
          return t.createOmittedExpression();
        }
        function Lo(Ae) {
          const It = t.createNumericLiteral(Ae);
          return kD(It, 3, mje(Ae)), It;
        }
        function Pa(Ae, It) {
          return E.assertLessThan(0, Ae, "Invalid label"), ot(
            t.createReturnStatement(
              t.createArrayLiteralExpression([
                Lo(
                  3
                  /* Break */
                ),
                Wc(Ae)
              ])
            ),
            It
          );
        }
        function Bo(Ae, It) {
          return ot(
            t.createReturnStatement(
              t.createArrayLiteralExpression(
                Ae ? [Lo(
                  2
                  /* Return */
                ), Ae] : [Lo(
                  2
                  /* Return */
                )]
              )
            ),
            It
          );
        }
        function rf(Ae) {
          return ot(
            t.createCallExpression(
              t.createPropertyAccessExpression(pe, "sent"),
              /*typeArguments*/
              void 0,
              []
            ),
            Ae
          );
        }
        function ss() {
          H(
            0
            /* Nop */
          );
        }
        function Vs(Ae) {
          Ae ? H(1, [Ae]) : ss();
        }
        function Aa(Ae, It, Xr) {
          H(2, [Ae, It], Xr);
        }
        function Ca(Ae, It) {
          H(3, [Ae], It);
        }
        function zt(Ae, It, Xr) {
          H(4, [Ae, It], Xr);
        }
        function Ka(Ae, It, Xr) {
          H(5, [Ae, It], Xr);
        }
        function Vc(Ae, It) {
          H(7, [Ae], It);
        }
        function tc(Ae, It) {
          H(6, [Ae], It);
        }
        function eu(Ae, It) {
          H(8, [Ae], It);
        }
        function yo(Ae, It) {
          H(9, [Ae], It);
        }
        function ge() {
          H(
            10
            /* Endfinally */
          );
        }
        function H(Ae, It, Xr) {
          V === void 0 && (V = [], G = [], W = []), F === void 0 && ke(jt());
          const qi = V.length;
          V[qi] = Ae, G[qi] = It, W[qi] = Xr;
        }
        function et() {
          K = 0, U = 0, ee = void 0, te = !1, ie = !1, fe = void 0, me = void 0, q = void 0, he = void 0, Me = void 0;
          const Ae = Ot();
          return n().createGeneratorHelper(
            an(
              t.createFunctionExpression(
                /*modifiers*/
                void 0,
                /*asteriskToken*/
                void 0,
                /*name*/
                void 0,
                /*typeParameters*/
                void 0,
                [t.createParameterDeclaration(
                  /*modifiers*/
                  void 0,
                  /*dotDotDotToken*/
                  void 0,
                  pe
                )],
                /*type*/
                void 0,
                t.createBlock(
                  Ae,
                  /*multiLine*/
                  Ae.length > 0
                )
              ),
              1048576
              /* ReuseTempVariableScope */
            )
          );
        }
        function Ot() {
          if (V) {
            for (let Ae = 0; Ae < V.length; Ae++)
              no(Ae);
            Ur(V.length);
          } else
            Ur(0);
          if (fe) {
            const Ae = t.createPropertyAccessExpression(pe, "label"), It = t.createSwitchStatement(Ae, t.createCaseBlock(fe));
            return [Su(It)];
          }
          return me || [];
        }
        function Zt() {
          me && (sn(
            /*markLabelEnd*/
            !te
          ), te = !1, ie = !1, U++);
        }
        function Ur(Ae) {
          Vn(Ae) && (xr(Ae), Me = void 0, Lc(
            /*expression*/
            void 0,
            /*operationLocation*/
            void 0
          )), me && fe && sn(
            /*markLabelEnd*/
            !1
          ), Li();
        }
        function Vn(Ae) {
          if (!ie)
            return !0;
          if (!F || !j)
            return !1;
          for (let It = 0; It < F.length; It++)
            if (F[It] === Ae && j[It])
              return !0;
          return !1;
        }
        function sn(Ae) {
          if (fe || (fe = []), me) {
            if (Me)
              for (let It = Me.length - 1; It >= 0; It--) {
                const Xr = Me[It];
                me = [t.createWithStatement(Xr.expression, t.createBlock(me))];
              }
            if (he) {
              const { startLabel: It, catchLabel: Xr, finallyLabel: qi, endLabel: Is } = he;
              me.unshift(
                t.createExpressionStatement(
                  t.createCallExpression(
                    t.createPropertyAccessExpression(t.createPropertyAccessExpression(pe, "trys"), "push"),
                    /*typeArguments*/
                    void 0,
                    [
                      t.createArrayLiteralExpression([
                        Wc(It),
                        Wc(Xr),
                        Wc(qi),
                        Wc(Is)
                      ])
                    ]
                  )
                )
              ), he = void 0;
            }
            Ae && me.push(
              t.createExpressionStatement(
                t.createAssignment(
                  t.createPropertyAccessExpression(pe, "label"),
                  t.createNumericLiteral(U + 1)
                )
              )
            );
          }
          fe.push(
            t.createCaseClause(
              t.createNumericLiteral(U),
              me || []
            )
          ), me = void 0;
        }
        function xr(Ae) {
          if (F)
            for (let It = 0; It < F.length; It++)
              F[It] === Ae && (Zt(), ee === void 0 && (ee = []), ee[U] === void 0 ? ee[U] = [It] : ee[U].push(It));
        }
        function Li() {
          if (j !== void 0 && ee !== void 0)
            for (let Ae = 0; Ae < ee.length; Ae++) {
              const It = ee[Ae];
              if (It !== void 0)
                for (const Xr of It) {
                  const qi = j[Xr];
                  if (qi !== void 0)
                    for (const Is of qi)
                      Is.text = String(Ae);
                }
            }
        }
        function Qi(Ae) {
          if (D)
            for (; K < A.length && w[K] <= Ae; K++) {
              const It = D[K], Xr = A[K];
              switch (It.kind) {
                case 0:
                  Xr === 0 ? (q || (q = []), me || (me = []), q.push(he), he = It) : Xr === 1 && (he = q.pop());
                  break;
                case 1:
                  Xr === 0 ? (Me || (Me = []), Me.push(It)) : Xr === 1 && Me.pop();
                  break;
              }
            }
        }
        function no(Ae) {
          if (xr(Ae), Qi(Ae), te)
            return;
          te = !1, ie = !1;
          const It = V[Ae];
          if (It === 0)
            return;
          if (It === 10)
            return r_();
          const Xr = G[Ae];
          if (It === 1)
            return da(Xr[0]);
          const qi = W[Ae];
          switch (It) {
            case 2:
              return vo(Xr[0], Xr[1], qi);
            case 3:
              return bo(Xr[0], qi);
            case 4:
              return pc(Xr[0], Xr[1], qi);
            case 5:
              return Cd(Xr[0], Xr[1], qi);
            case 6:
              return tu(Xr[0], qi);
            case 7:
              return Rf(Xr[0], qi);
            case 8:
              return Lc(Xr[0], qi);
            case 9:
              return fc(Xr[0], qi);
          }
        }
        function da(Ae) {
          Ae && (me ? me.push(Ae) : me = [Ae]);
        }
        function vo(Ae, It, Xr) {
          da(ot(t.createExpressionStatement(t.createAssignment(Ae, It)), Xr));
        }
        function fc(Ae, It) {
          te = !0, ie = !0, da(ot(t.createThrowStatement(Ae), It));
        }
        function Lc(Ae, It) {
          te = !0, ie = !0, da(
            an(
              ot(
                t.createReturnStatement(
                  t.createArrayLiteralExpression(
                    Ae ? [Lo(
                      2
                      /* Return */
                    ), Ae] : [Lo(
                      2
                      /* Return */
                    )]
                  )
                ),
                It
              ),
              768
              /* NoTokenSourceMaps */
            )
          );
        }
        function bo(Ae, It) {
          te = !0, da(
            an(
              ot(
                t.createReturnStatement(
                  t.createArrayLiteralExpression([
                    Lo(
                      3
                      /* Break */
                    ),
                    Wc(Ae)
                  ])
                ),
                It
              ),
              768
              /* NoTokenSourceMaps */
            )
          );
        }
        function pc(Ae, It, Xr) {
          da(
            an(
              t.createIfStatement(
                It,
                an(
                  ot(
                    t.createReturnStatement(
                      t.createArrayLiteralExpression([
                        Lo(
                          3
                          /* Break */
                        ),
                        Wc(Ae)
                      ])
                    ),
                    Xr
                  ),
                  768
                  /* NoTokenSourceMaps */
                )
              ),
              1
              /* SingleLine */
            )
          );
        }
        function Cd(Ae, It, Xr) {
          da(
            an(
              t.createIfStatement(
                t.createLogicalNot(It),
                an(
                  ot(
                    t.createReturnStatement(
                      t.createArrayLiteralExpression([
                        Lo(
                          3
                          /* Break */
                        ),
                        Wc(Ae)
                      ])
                    ),
                    Xr
                  ),
                  768
                  /* NoTokenSourceMaps */
                )
              ),
              1
              /* SingleLine */
            )
          );
        }
        function tu(Ae, It) {
          te = !0, da(
            an(
              ot(
                t.createReturnStatement(
                  t.createArrayLiteralExpression(
                    Ae ? [Lo(
                      4
                      /* Yield */
                    ), Ae] : [Lo(
                      4
                      /* Yield */
                    )]
                  )
                ),
                It
              ),
              768
              /* NoTokenSourceMaps */
            )
          );
        }
        function Rf(Ae, It) {
          te = !0, da(
            an(
              ot(
                t.createReturnStatement(
                  t.createArrayLiteralExpression([
                    Lo(
                      5
                      /* YieldStar */
                    ),
                    Ae
                  ])
                ),
                It
              ),
              768
              /* NoTokenSourceMaps */
            )
          );
        }
        function r_() {
          te = !0, da(
            t.createReturnStatement(
              t.createArrayLiteralExpression([
                Lo(
                  7
                  /* Endfinally */
                )
              ])
            )
          );
        }
      }
      function JW(e) {
        function t(_e) {
          switch (_e) {
            case 2:
              return G;
            case 3:
              return W;
            default:
              return V;
          }
        }
        const {
          factory: n,
          getEmitHelperFactory: i,
          startLexicalEnvironment: s,
          endLexicalEnvironment: o,
          hoistVariableDeclaration: c
        } = e, _ = e.getCompilerOptions(), u = e.getEmitResolver(), g = e.getEmitHost(), m = ga(_), h = Mu(_), S = e.onSubstituteNode, T = e.onEmitNode;
        e.onSubstituteNode = ft, e.onEmitNode = Ie, e.enableSubstitution(
          213
          /* CallExpression */
        ), e.enableSubstitution(
          215
          /* TaggedTemplateExpression */
        ), e.enableSubstitution(
          80
          /* Identifier */
        ), e.enableSubstitution(
          226
          /* BinaryExpression */
        ), e.enableSubstitution(
          304
          /* ShorthandPropertyAssignment */
        ), e.enableEmitNotification(
          307
          /* SourceFile */
        );
        const k = [];
        let D, w, A;
        const O = [];
        let F;
        return Sd(e, j);
        function j(_e) {
          if (_e.isDeclarationFile || !(RC(_e, _) || _e.transformFlags & 8388608 || Kf(_e) && j5(_) && _.outFile))
            return _e;
          D = _e, w = IW(e, _e), k[e_(_e)] = w, _.rewriteRelativeImportExtensions && lF(
            _e,
            /*includeTypeSpaceImports*/
            !1,
            /*requireStringLiteralLikeArgument*/
            !1,
            (X) => {
              (!Ba(X.arguments[0]) || F3(X.arguments[0].text, _)) && (A = Dr(A, X));
            }
          );
          const ye = t(h)(_e);
          return D = void 0, w = void 0, F = !1, ye;
        }
        function z() {
          return Wg(D.fileName) && D.commonJsModuleIndicator && (!D.externalModuleIndicator || D.externalModuleIndicator === !0) ? !1 : !!(!w.exportEquals && ol(D));
        }
        function V(_e) {
          s();
          const M = [], ye = lu(_, "alwaysStrict") || ol(D), X = n.copyPrologue(_e.statements, M, ye && !Kf(_e), te);
          if (z() && Dr(M, Ne()), at(w.exportedNames))
            for (let ke = 0; ke < w.exportedNames.length; ke += 50)
              Dr(
                M,
                n.createExpressionStatement(
                  Hu(
                    w.exportedNames.slice(ke, ke + 50),
                    (st, At) => At.kind === 11 ? n.createAssignment(n.createElementAccessExpression(n.createIdentifier("exports"), n.createStringLiteral(At.text)), st) : n.createAssignment(n.createPropertyAccessExpression(n.createIdentifier("exports"), n.createIdentifier(Pn(At))), st),
                    n.createVoidZero()
                  )
                )
              );
          for (const jt of w.exportedFunctions)
            ne(M, jt);
          Dr(M, $e(w.externalHelpersImportDeclaration, te, yi)), wn(M, Lr(_e.statements, te, yi, X)), ee(
            M,
            /*emitAsReturn*/
            !1
          ), Og(M, o());
          const pt = n.updateSourceFile(_e, ot(n.createNodeArray(M), _e.statements));
          return qg(pt, e.readEmitHelpers()), pt;
        }
        function G(_e) {
          const M = n.createIdentifier("define"), ye = LN(n, _e, g, _), X = Kf(_e) && _e, { aliasedModuleNames: pt, unaliasedModuleNames: jt, importAliasNames: ke } = pe(
            _e,
            /*includeNonAmdDependencies*/
            !0
          ), st = n.updateSourceFile(
            _e,
            ot(
              n.createNodeArray([
                n.createExpressionStatement(
                  n.createCallExpression(
                    M,
                    /*typeArguments*/
                    void 0,
                    [
                      // Add the module name (if provided).
                      ...ye ? [ye] : [],
                      // Add the dependency array argument:
                      //
                      //     ["require", "exports", module1", "module2", ...]
                      n.createArrayLiteralExpression(
                        X ? Ue : [
                          n.createStringLiteral("require"),
                          n.createStringLiteral("exports"),
                          ...pt,
                          ...jt
                        ]
                      ),
                      // Add the module body function argument:
                      //
                      //     function (require, exports, module1, module2) ...
                      X ? X.statements.length ? X.statements[0].expression : n.createObjectLiteralExpression() : n.createFunctionExpression(
                        /*modifiers*/
                        void 0,
                        /*asteriskToken*/
                        void 0,
                        /*name*/
                        void 0,
                        /*typeParameters*/
                        void 0,
                        [
                          n.createParameterDeclaration(
                            /*modifiers*/
                            void 0,
                            /*dotDotDotToken*/
                            void 0,
                            "require"
                          ),
                          n.createParameterDeclaration(
                            /*modifiers*/
                            void 0,
                            /*dotDotDotToken*/
                            void 0,
                            "exports"
                          ),
                          ...ke
                        ],
                        /*type*/
                        void 0,
                        U(_e)
                      )
                    ]
                  )
                )
              ]),
              /*location*/
              _e.statements
            )
          );
          return qg(st, e.readEmitHelpers()), st;
        }
        function W(_e) {
          const { aliasedModuleNames: M, unaliasedModuleNames: ye, importAliasNames: X } = pe(
            _e,
            /*includeNonAmdDependencies*/
            !1
          ), pt = LN(n, _e, g, _), jt = n.createFunctionExpression(
            /*modifiers*/
            void 0,
            /*asteriskToken*/
            void 0,
            /*name*/
            void 0,
            /*typeParameters*/
            void 0,
            [n.createParameterDeclaration(
              /*modifiers*/
              void 0,
              /*dotDotDotToken*/
              void 0,
              "factory"
            )],
            /*type*/
            void 0,
            ot(
              n.createBlock(
                [
                  n.createIfStatement(
                    n.createLogicalAnd(
                      n.createTypeCheck(n.createIdentifier("module"), "object"),
                      n.createTypeCheck(n.createPropertyAccessExpression(n.createIdentifier("module"), "exports"), "object")
                    ),
                    n.createBlock([
                      n.createVariableStatement(
                        /*modifiers*/
                        void 0,
                        [
                          n.createVariableDeclaration(
                            "v",
                            /*exclamationToken*/
                            void 0,
                            /*type*/
                            void 0,
                            n.createCallExpression(
                              n.createIdentifier("factory"),
                              /*typeArguments*/
                              void 0,
                              [
                                n.createIdentifier("require"),
                                n.createIdentifier("exports")
                              ]
                            )
                          )
                        ]
                      ),
                      an(
                        n.createIfStatement(
                          n.createStrictInequality(
                            n.createIdentifier("v"),
                            n.createIdentifier("undefined")
                          ),
                          n.createExpressionStatement(
                            n.createAssignment(
                              n.createPropertyAccessExpression(n.createIdentifier("module"), "exports"),
                              n.createIdentifier("v")
                            )
                          )
                        ),
                        1
                        /* SingleLine */
                      )
                    ]),
                    n.createIfStatement(
                      n.createLogicalAnd(
                        n.createTypeCheck(n.createIdentifier("define"), "function"),
                        n.createPropertyAccessExpression(n.createIdentifier("define"), "amd")
                      ),
                      n.createBlock([
                        n.createExpressionStatement(
                          n.createCallExpression(
                            n.createIdentifier("define"),
                            /*typeArguments*/
                            void 0,
                            [
                              // Add the module name (if provided).
                              ...pt ? [pt] : [],
                              n.createArrayLiteralExpression([
                                n.createStringLiteral("require"),
                                n.createStringLiteral("exports"),
                                ...M,
                                ...ye
                              ]),
                              n.createIdentifier("factory")
                            ]
                          )
                        )
                      ])
                    )
                  )
                ],
                /*multiLine*/
                !0
              ),
              /*location*/
              void 0
            )
          ), ke = n.updateSourceFile(
            _e,
            ot(
              n.createNodeArray([
                n.createExpressionStatement(
                  n.createCallExpression(
                    jt,
                    /*typeArguments*/
                    void 0,
                    [
                      // Add the module body function argument:
                      //
                      //     function (require, exports) ...
                      n.createFunctionExpression(
                        /*modifiers*/
                        void 0,
                        /*asteriskToken*/
                        void 0,
                        /*name*/
                        void 0,
                        /*typeParameters*/
                        void 0,
                        [
                          n.createParameterDeclaration(
                            /*modifiers*/
                            void 0,
                            /*dotDotDotToken*/
                            void 0,
                            "require"
                          ),
                          n.createParameterDeclaration(
                            /*modifiers*/
                            void 0,
                            /*dotDotDotToken*/
                            void 0,
                            "exports"
                          ),
                          ...X
                        ],
                        /*type*/
                        void 0,
                        U(_e)
                      )
                    ]
                  )
                )
              ]),
              /*location*/
              _e.statements
            )
          );
          return qg(ke, e.readEmitHelpers()), ke;
        }
        function pe(_e, M) {
          const ye = [], X = [], pt = [];
          for (const jt of _e.amdDependencies)
            jt.name ? (ye.push(n.createStringLiteral(jt.path)), pt.push(n.createParameterDeclaration(
              /*modifiers*/
              void 0,
              /*dotDotDotToken*/
              void 0,
              jt.name
            ))) : X.push(n.createStringLiteral(jt.path));
          for (const jt of w.externalImports) {
            const ke = $x(n, jt, D, g, u, _), st = x6(n, jt, D);
            ke && (M && st ? (an(
              st,
              8
              /* NoSubstitution */
            ), ye.push(ke), pt.push(n.createParameterDeclaration(
              /*modifiers*/
              void 0,
              /*dotDotDotToken*/
              void 0,
              st
            ))) : X.push(ke));
          }
          return { aliasedModuleNames: ye, unaliasedModuleNames: X, importAliasNames: pt };
        }
        function K(_e) {
          if (bl(_e) || Oc(_e) || !$x(n, _e, D, g, u, _))
            return;
          const M = x6(n, _e, D), ye = li(_e, M);
          if (ye !== M)
            return n.createExpressionStatement(n.createAssignment(M, ye));
        }
        function U(_e) {
          s();
          const M = [], ye = n.copyPrologue(
            _e.statements,
            M,
            /*ensureUseStrict*/
            !0,
            te
          );
          z() && Dr(M, Ne()), at(w.exportedNames) && Dr(
            M,
            n.createExpressionStatement(Hu(w.exportedNames, (pt, jt) => jt.kind === 11 ? n.createAssignment(n.createElementAccessExpression(n.createIdentifier("exports"), n.createStringLiteral(jt.text)), pt) : n.createAssignment(n.createPropertyAccessExpression(n.createIdentifier("exports"), n.createIdentifier(Pn(jt))), pt), n.createVoidZero()))
          );
          for (const pt of w.exportedFunctions)
            ne(M, pt);
          Dr(M, $e(w.externalHelpersImportDeclaration, te, yi)), h === 2 && wn(M, Oi(w.externalImports, K)), wn(M, Lr(_e.statements, te, yi, ye)), ee(
            M,
            /*emitAsReturn*/
            !0
          ), Og(M, o());
          const X = n.createBlock(
            M,
            /*multiLine*/
            !0
          );
          return F && Ox(X, gje), X;
        }
        function ee(_e, M) {
          if (w.exportEquals) {
            const ye = $e(w.exportEquals.expression, me, lt);
            if (ye)
              if (M) {
                const X = n.createReturnStatement(ye);
                ot(X, w.exportEquals), an(
                  X,
                  3840
                  /* NoComments */
                ), _e.push(X);
              } else {
                const X = n.createExpressionStatement(
                  n.createAssignment(
                    n.createPropertyAccessExpression(
                      n.createIdentifier("module"),
                      "exports"
                    ),
                    ye
                  )
                );
                ot(X, w.exportEquals), an(
                  X,
                  3072
                  /* NoComments */
                ), _e.push(X);
              }
          }
        }
        function te(_e) {
          switch (_e.kind) {
            case 272:
              return cn(_e);
            case 271:
              return je(_e);
            case 278:
              return ut(_e);
            case 277:
              return er(_e);
            default:
              return ie(_e);
          }
        }
        function ie(_e) {
          switch (_e.kind) {
            case 243:
              return Wn(_e);
            case 262:
              return Vr(_e);
            case 263:
              return zn(_e);
            case 248:
              return De(
                _e,
                /*isTopLevel*/
                !0
              );
            case 249:
              return re(_e);
            case 250:
              return xe(_e);
            case 246:
              return ue(_e);
            case 247:
              return Xe(_e);
            case 256:
              return nt(_e);
            case 254:
              return oe(_e);
            case 245:
              return ve(_e);
            case 255:
              return se(_e);
            case 269:
              return Pe(_e);
            case 296:
              return Ee(_e);
            case 297:
              return Ce(_e);
            case 258:
              return ze(_e);
            case 299:
              return St(_e);
            case 241:
              return Bt(_e);
            default:
              return me(_e);
          }
        }
        function fe(_e, M) {
          if (!(_e.transformFlags & 276828160) && !A?.length)
            return _e;
          switch (_e.kind) {
            case 248:
              return De(
                _e,
                /*isTopLevel*/
                !1
              );
            case 244:
              return tr(_e);
            case 217:
              return Fr(_e, M);
            case 355:
              return it(_e, M);
            case 213:
              const ye = _e === Xc(A);
              if (ye && A.shift(), df(_e) && g.shouldTransformImportCall(D))
                return ai(_e, ye);
              if (ye)
                return Wr(_e);
              break;
            case 226:
              if (T0(_e))
                return Me(_e, M);
              break;
            case 224:
            case 225:
              return Wt(_e, M);
          }
          return yr(_e, me, e);
        }
        function me(_e) {
          return fe(
            _e,
            /*valueIsDiscarded*/
            !1
          );
        }
        function q(_e) {
          return fe(
            _e,
            /*valueIsDiscarded*/
            !0
          );
        }
        function he(_e) {
          if (ua(_e))
            for (const M of _e.properties)
              switch (M.kind) {
                case 303:
                  if (he(M.initializer))
                    return !0;
                  break;
                case 304:
                  if (he(M.name))
                    return !0;
                  break;
                case 305:
                  if (he(M.expression))
                    return !0;
                  break;
                case 174:
                case 177:
                case 178:
                  return !1;
                default:
                  E.assertNever(M, "Unhandled object member kind");
              }
          else if (Ql(_e)) {
            for (const M of _e.elements)
              if (op(M)) {
                if (he(M.expression))
                  return !0;
              } else if (he(M))
                return !0;
          } else if (Fe(_e))
            return Ar(mt(_e)) > (FF(_e) ? 1 : 0);
          return !1;
        }
        function Me(_e, M) {
          return he(_e.left) ? qS(_e, me, e, 0, !M, bi) : yr(_e, me, e);
        }
        function De(_e, M) {
          if (M && _e.initializer && zl(_e.initializer) && !(_e.initializer.flags & 7)) {
            const ye = He(
              /*statements*/
              void 0,
              _e.initializer,
              /*isForInOrOfInitializer*/
              !1
            );
            if (ye) {
              const X = [], pt = $e(_e.initializer, q, zl), jt = n.createVariableStatement(
                /*modifiers*/
                void 0,
                pt
              );
              X.push(jt), wn(X, ye);
              const ke = $e(_e.condition, me, lt), st = $e(_e.incrementor, q, lt), At = Ku(_e.statement, M ? ie : me, e);
              return X.push(n.updateForStatement(
                _e,
                /*initializer*/
                void 0,
                ke,
                st,
                At
              )), X;
            }
          }
          return n.updateForStatement(
            _e,
            $e(_e.initializer, q, Yf),
            $e(_e.condition, me, lt),
            $e(_e.incrementor, q, lt),
            Ku(_e.statement, M ? ie : me, e)
          );
        }
        function re(_e) {
          if (zl(_e.initializer) && !(_e.initializer.flags & 7)) {
            const M = He(
              /*statements*/
              void 0,
              _e.initializer,
              /*isForInOrOfInitializer*/
              !0
            );
            if (at(M)) {
              const ye = $e(_e.initializer, q, Yf), X = $e(_e.expression, me, lt), pt = Ku(_e.statement, ie, e), jt = Cs(pt) ? n.updateBlock(pt, [...M, ...pt.statements]) : n.createBlock(
                [...M, pt],
                /*multiLine*/
                !0
              );
              return n.updateForInStatement(_e, ye, X, jt);
            }
          }
          return n.updateForInStatement(
            _e,
            $e(_e.initializer, q, Yf),
            $e(_e.expression, me, lt),
            Ku(_e.statement, ie, e)
          );
        }
        function xe(_e) {
          if (zl(_e.initializer) && !(_e.initializer.flags & 7)) {
            const M = He(
              /*statements*/
              void 0,
              _e.initializer,
              /*isForInOrOfInitializer*/
              !0
            ), ye = $e(_e.initializer, q, Yf), X = $e(_e.expression, me, lt);
            let pt = Ku(_e.statement, ie, e);
            return at(M) && (pt = Cs(pt) ? n.updateBlock(pt, [...M, ...pt.statements]) : n.createBlock(
              [...M, pt],
              /*multiLine*/
              !0
            )), n.updateForOfStatement(_e, _e.awaitModifier, ye, X, pt);
          }
          return n.updateForOfStatement(
            _e,
            _e.awaitModifier,
            $e(_e.initializer, q, Yf),
            $e(_e.expression, me, lt),
            Ku(_e.statement, ie, e)
          );
        }
        function ue(_e) {
          return n.updateDoStatement(
            _e,
            Ku(_e.statement, ie, e),
            $e(_e.expression, me, lt)
          );
        }
        function Xe(_e) {
          return n.updateWhileStatement(
            _e,
            $e(_e.expression, me, lt),
            Ku(_e.statement, ie, e)
          );
        }
        function nt(_e) {
          return n.updateLabeledStatement(
            _e,
            _e.label,
            $e(_e.statement, ie, yi, n.liftToBlock) ?? ot(n.createEmptyStatement(), _e.statement)
          );
        }
        function oe(_e) {
          return n.updateWithStatement(
            _e,
            $e(_e.expression, me, lt),
            E.checkDefined($e(_e.statement, ie, yi, n.liftToBlock))
          );
        }
        function ve(_e) {
          return n.updateIfStatement(
            _e,
            $e(_e.expression, me, lt),
            $e(_e.thenStatement, ie, yi, n.liftToBlock) ?? n.createBlock([]),
            $e(_e.elseStatement, ie, yi, n.liftToBlock)
          );
        }
        function se(_e) {
          return n.updateSwitchStatement(
            _e,
            $e(_e.expression, me, lt),
            E.checkDefined($e(_e.caseBlock, ie, OD))
          );
        }
        function Pe(_e) {
          return n.updateCaseBlock(
            _e,
            Lr(_e.clauses, ie, C7)
          );
        }
        function Ee(_e) {
          return n.updateCaseClause(
            _e,
            $e(_e.expression, me, lt),
            Lr(_e.statements, ie, yi)
          );
        }
        function Ce(_e) {
          return yr(_e, ie, e);
        }
        function ze(_e) {
          return yr(_e, ie, e);
        }
        function St(_e) {
          return n.updateCatchClause(
            _e,
            _e.variableDeclaration,
            E.checkDefined($e(_e.block, ie, Cs))
          );
        }
        function Bt(_e) {
          return _e = yr(_e, ie, e), _e;
        }
        function tr(_e) {
          return n.updateExpressionStatement(
            _e,
            $e(_e.expression, q, lt)
          );
        }
        function Fr(_e, M) {
          return n.updateParenthesizedExpression(_e, $e(_e.expression, M ? q : me, lt));
        }
        function it(_e, M) {
          return n.updatePartiallyEmittedExpression(_e, $e(_e.expression, M ? q : me, lt));
        }
        function Wt(_e, M) {
          if ((_e.operator === 46 || _e.operator === 47) && Fe(_e.operand) && !Mo(_e.operand) && !Rh(_e.operand) && !oJ(_e.operand)) {
            const ye = mt(_e.operand);
            if (ye) {
              let X, pt = $e(_e.operand, me, lt);
              sv(_e) ? pt = n.updatePrefixUnaryExpression(_e, pt) : (pt = n.updatePostfixUnaryExpression(_e, pt), M || (X = n.createTempVariable(c), pt = n.createAssignment(X, pt), ot(pt, _e)), pt = n.createComma(pt, n.cloneNode(_e.operand)), ot(pt, _e));
              for (const jt of ye)
                O[Oa(pt)] = !0, pt = Ze(jt, pt), ot(pt, _e);
              return X && (O[Oa(pt)] = !0, pt = n.createComma(pt, X), ot(pt, _e)), pt;
            }
          }
          return yr(_e, me, e);
        }
        function Wr(_e) {
          return n.updateCallExpression(
            _e,
            _e.expression,
            /*typeArguments*/
            void 0,
            Lr(_e.arguments, (M) => M === _e.arguments[0] ? Ba(M) ? tk(M, _) : i().createRewriteRelativeImportExtensionsHelper(M) : me(M), lt)
          );
        }
        function ai(_e, M) {
          if (h === 0 && m >= 7)
            return yr(_e, me, e);
          const ye = $x(n, _e, D, g, u, _), X = $e(Xc(_e.arguments), me, lt), pt = ye && (!X || !la(X) || X.text !== ye.text) ? ye : X && M ? la(X) ? tk(X, _) : i().createRewriteRelativeImportExtensionsHelper(X) : X, jt = !!(_e.transformFlags & 16384);
          switch (_.module) {
            case 2:
              return Pt(pt, jt);
            case 3:
              return zi(pt ?? n.createVoidZero(), jt);
            case 1:
            default:
              return Fn(pt);
          }
        }
        function zi(_e, M) {
          if (F = !0, e2(_e)) {
            const ye = Mo(_e) ? _e : la(_e) ? n.createStringLiteralFromNode(_e) : an(
              ot(n.cloneNode(_e), _e),
              3072
              /* NoComments */
            );
            return n.createConditionalExpression(
              /*condition*/
              n.createIdentifier("__syncRequire"),
              /*questionToken*/
              void 0,
              /*whenTrue*/
              Fn(_e),
              /*colonToken*/
              void 0,
              /*whenFalse*/
              Pt(ye, M)
            );
          } else {
            const ye = n.createTempVariable(c);
            return n.createComma(
              n.createAssignment(ye, _e),
              n.createConditionalExpression(
                /*condition*/
                n.createIdentifier("__syncRequire"),
                /*questionToken*/
                void 0,
                /*whenTrue*/
                Fn(
                  ye,
                  /*isInlineable*/
                  !0
                ),
                /*colonToken*/
                void 0,
                /*whenFalse*/
                Pt(ye, M)
              )
            );
          }
        }
        function Pt(_e, M) {
          const ye = n.createUniqueName("resolve"), X = n.createUniqueName("reject"), pt = [
            n.createParameterDeclaration(
              /*modifiers*/
              void 0,
              /*dotDotDotToken*/
              void 0,
              /*name*/
              ye
            ),
            n.createParameterDeclaration(
              /*modifiers*/
              void 0,
              /*dotDotDotToken*/
              void 0,
              /*name*/
              X
            )
          ], jt = n.createBlock([
            n.createExpressionStatement(
              n.createCallExpression(
                n.createIdentifier("require"),
                /*typeArguments*/
                void 0,
                [n.createArrayLiteralExpression([_e || n.createOmittedExpression()]), ye, X]
              )
            )
          ]);
          let ke;
          m >= 2 ? ke = n.createArrowFunction(
            /*modifiers*/
            void 0,
            /*typeParameters*/
            void 0,
            pt,
            /*type*/
            void 0,
            /*equalsGreaterThanToken*/
            void 0,
            jt
          ) : (ke = n.createFunctionExpression(
            /*modifiers*/
            void 0,
            /*asteriskToken*/
            void 0,
            /*name*/
            void 0,
            /*typeParameters*/
            void 0,
            pt,
            /*type*/
            void 0,
            jt
          ), M && an(
            ke,
            16
            /* CapturesThis */
          ));
          const st = n.createNewExpression(
            n.createIdentifier("Promise"),
            /*typeArguments*/
            void 0,
            [ke]
          );
          return zg(_) ? n.createCallExpression(
            n.createPropertyAccessExpression(st, n.createIdentifier("then")),
            /*typeArguments*/
            void 0,
            [i().createImportStarCallbackHelper()]
          ) : st;
        }
        function Fn(_e, M) {
          const ye = _e && !tg(_e) && !M, X = n.createCallExpression(
            n.createPropertyAccessExpression(n.createIdentifier("Promise"), "resolve"),
            /*typeArguments*/
            void 0,
            /*argumentsArray*/
            ye ? m >= 2 ? [
              n.createTemplateExpression(n.createTemplateHead(""), [
                n.createTemplateSpan(_e, n.createTemplateTail(""))
              ])
            ] : [
              n.createCallExpression(
                n.createPropertyAccessExpression(n.createStringLiteral(""), "concat"),
                /*typeArguments*/
                void 0,
                [_e]
              )
            ] : []
          );
          let pt = n.createCallExpression(
            n.createIdentifier("require"),
            /*typeArguments*/
            void 0,
            ye ? [n.createIdentifier("s")] : _e ? [_e] : []
          );
          zg(_) && (pt = i().createImportStarHelper(pt));
          const jt = ye ? [
            n.createParameterDeclaration(
              /*modifiers*/
              void 0,
              /*dotDotDotToken*/
              void 0,
              /*name*/
              "s"
            )
          ] : [];
          let ke;
          return m >= 2 ? ke = n.createArrowFunction(
            /*modifiers*/
            void 0,
            /*typeParameters*/
            void 0,
            /*parameters*/
            jt,
            /*type*/
            void 0,
            /*equalsGreaterThanToken*/
            void 0,
            pt
          ) : ke = n.createFunctionExpression(
            /*modifiers*/
            void 0,
            /*asteriskToken*/
            void 0,
            /*name*/
            void 0,
            /*typeParameters*/
            void 0,
            /*parameters*/
            jt,
            /*type*/
            void 0,
            n.createBlock([n.createReturnStatement(pt)])
          ), n.createCallExpression(
            n.createPropertyAccessExpression(X, "then"),
            /*typeArguments*/
            void 0,
            [ke]
          );
        }
        function ii(_e, M) {
          return !zg(_) || Hp(_e) & 2 ? M : Cne(_e) ? i().createImportStarHelper(M) : M;
        }
        function li(_e, M) {
          return !zg(_) || Hp(_e) & 2 ? M : hO(_e) ? i().createImportStarHelper(M) : AW(_e) ? i().createImportDefaultHelper(M) : M;
        }
        function cn(_e) {
          let M;
          const ye = qC(_e);
          if (h !== 2)
            if (_e.importClause) {
              const X = [];
              ye && !vS(_e) ? X.push(
                n.createVariableDeclaration(
                  n.cloneNode(ye.name),
                  /*exclamationToken*/
                  void 0,
                  /*type*/
                  void 0,
                  li(_e, ci(_e))
                )
              ) : (X.push(
                n.createVariableDeclaration(
                  n.getGeneratedNameForNode(_e),
                  /*exclamationToken*/
                  void 0,
                  /*type*/
                  void 0,
                  li(_e, ci(_e))
                )
              ), ye && vS(_e) && X.push(
                n.createVariableDeclaration(
                  n.cloneNode(ye.name),
                  /*exclamationToken*/
                  void 0,
                  /*type*/
                  void 0,
                  n.getGeneratedNameForNode(_e)
                )
              )), M = Dr(
                M,
                xn(
                  ot(
                    n.createVariableStatement(
                      /*modifiers*/
                      void 0,
                      n.createVariableDeclarationList(
                        X,
                        m >= 2 ? 2 : 0
                        /* None */
                      )
                    ),
                    /*location*/
                    _e
                  ),
                  /*original*/
                  _e
                )
              );
            } else
              return xn(ot(n.createExpressionStatement(ci(_e)), _e), _e);
          else ye && vS(_e) && (M = Dr(
            M,
            n.createVariableStatement(
              /*modifiers*/
              void 0,
              n.createVariableDeclarationList(
                [
                  xn(
                    ot(
                      n.createVariableDeclaration(
                        n.cloneNode(ye.name),
                        /*exclamationToken*/
                        void 0,
                        /*type*/
                        void 0,
                        n.getGeneratedNameForNode(_e)
                      ),
                      /*location*/
                      _e
                    ),
                    /*original*/
                    _e
                  )
                ],
                m >= 2 ? 2 : 0
                /* None */
              )
            )
          ));
          return M = ta(M, _e), Wm(M);
        }
        function ci(_e) {
          const M = $x(n, _e, D, g, u, _), ye = [];
          return M && ye.push(tk(M, _)), n.createCallExpression(
            n.createIdentifier("require"),
            /*typeArguments*/
            void 0,
            ye
          );
        }
        function je(_e) {
          E.assert(G1(_e), "import= for internal module references should be handled in an earlier transformer.");
          let M;
          return h !== 2 ? qn(
            _e,
            32
            /* Export */
          ) ? M = Dr(
            M,
            xn(
              ot(
                n.createExpressionStatement(
                  Ze(
                    _e.name,
                    ci(_e)
                  )
                ),
                _e
              ),
              _e
            )
          ) : M = Dr(
            M,
            xn(
              ot(
                n.createVariableStatement(
                  /*modifiers*/
                  void 0,
                  n.createVariableDeclarationList(
                    [
                      n.createVariableDeclaration(
                        n.cloneNode(_e.name),
                        /*exclamationToken*/
                        void 0,
                        /*type*/
                        void 0,
                        ci(_e)
                      )
                    ],
                    /*flags*/
                    m >= 2 ? 2 : 0
                    /* None */
                  )
                ),
                _e
              ),
              _e
            )
          ) : qn(
            _e,
            32
            /* Export */
          ) && (M = Dr(
            M,
            xn(
              ot(
                n.createExpressionStatement(
                  Ze(n.getExportName(_e), n.getLocalName(_e))
                ),
                _e
              ),
              _e
            )
          )), M = gr(M, _e), Wm(M);
        }
        function ut(_e) {
          if (!_e.moduleSpecifier)
            return;
          const M = n.getGeneratedNameForNode(_e);
          if (_e.exportClause && cp(_e.exportClause)) {
            const ye = [];
            h !== 2 && ye.push(
              xn(
                ot(
                  n.createVariableStatement(
                    /*modifiers*/
                    void 0,
                    n.createVariableDeclarationList([
                      n.createVariableDeclaration(
                        M,
                        /*exclamationToken*/
                        void 0,
                        /*type*/
                        void 0,
                        ci(_e)
                      )
                    ])
                  ),
                  /*location*/
                  _e
                ),
                /* original */
                _e
              )
            );
            for (const X of _e.exportClause.elements) {
              const pt = X.propertyName || X.name, ke = !!zg(_) && !(Hp(_e) & 2) && Gm(pt) ? i().createImportDefaultHelper(M) : M, st = pt.kind === 11 ? n.createElementAccessExpression(ke, pt) : n.createPropertyAccessExpression(ke, pt);
              ye.push(
                xn(
                  ot(
                    n.createExpressionStatement(
                      Ze(
                        X.name.kind === 11 ? n.cloneNode(X.name) : n.getExportName(X),
                        st,
                        /*location*/
                        void 0,
                        /*liveBinding*/
                        !0
                      )
                    ),
                    X
                  ),
                  X
                )
              );
            }
            return Wm(ye);
          } else if (_e.exportClause) {
            const ye = [];
            return ye.push(
              xn(
                ot(
                  n.createExpressionStatement(
                    Ze(
                      n.cloneNode(_e.exportClause.name),
                      ii(
                        _e,
                        h !== 2 ? ci(_e) : R7(_e) || _e.exportClause.name.kind === 11 ? M : n.createIdentifier(Pn(_e.exportClause.name))
                      )
                    )
                  ),
                  _e
                ),
                _e
              )
            ), Wm(ye);
          } else
            return xn(
              ot(
                n.createExpressionStatement(
                  i().createExportStarHelper(h !== 2 ? ci(_e) : M)
                ),
                _e
              ),
              _e
            );
        }
        function er(_e) {
          if (!_e.isExportEquals)
            return qe(
              n.createIdentifier("default"),
              $e(_e.expression, me, lt),
              /*location*/
              _e,
              /*allowComments*/
              !0
            );
        }
        function Vr(_e) {
          let M;
          return qn(
            _e,
            32
            /* Export */
          ) ? M = Dr(
            M,
            xn(
              ot(
                n.createFunctionDeclaration(
                  Lr(_e.modifiers, bt, Ks),
                  _e.asteriskToken,
                  n.getDeclarationName(
                    _e,
                    /*allowComments*/
                    !0,
                    /*allowSourceMaps*/
                    !0
                  ),
                  /*typeParameters*/
                  void 0,
                  Lr(_e.parameters, me, Ni),
                  /*type*/
                  void 0,
                  yr(_e.body, me, e)
                ),
                /*location*/
                _e
              ),
              /*original*/
              _e
            )
          ) : M = Dr(M, yr(_e, me, e)), Wm(M);
        }
        function zn(_e) {
          let M;
          return qn(
            _e,
            32
            /* Export */
          ) ? M = Dr(
            M,
            xn(
              ot(
                n.createClassDeclaration(
                  Lr(_e.modifiers, bt, Ro),
                  n.getDeclarationName(
                    _e,
                    /*allowComments*/
                    !0,
                    /*allowSourceMaps*/
                    !0
                  ),
                  /*typeParameters*/
                  void 0,
                  Lr(_e.heritageClauses, me, Q_),
                  Lr(_e.members, me, Jc)
                ),
                _e
              ),
              _e
            )
          ) : M = Dr(M, yr(_e, me, e)), M = ne(M, _e), Wm(M);
        }
        function Wn(_e) {
          let M, ye, X;
          if (qn(
            _e,
            32
            /* Export */
          )) {
            let pt, jt = !1;
            for (const ke of _e.declarationList.declarations)
              if (Fe(ke.name) && Rh(ke.name))
                if (pt || (pt = Lr(_e.modifiers, bt, Ks)), ke.initializer) {
                  const st = n.updateVariableDeclaration(
                    ke,
                    ke.name,
                    /*exclamationToken*/
                    void 0,
                    /*type*/
                    void 0,
                    Ze(
                      ke.name,
                      $e(ke.initializer, me, lt)
                    )
                  );
                  ye = Dr(ye, st);
                } else
                  ye = Dr(ye, ke);
              else if (ke.initializer)
                if (!Ps(ke.name) && (Co(ke.initializer) || ho(ke.initializer) || Kc(ke.initializer))) {
                  const st = n.createAssignment(
                    ot(
                      n.createPropertyAccessExpression(
                        n.createIdentifier("exports"),
                        ke.name
                      ),
                      /*location*/
                      ke.name
                    ),
                    n.createIdentifier(ep(ke.name))
                  ), At = n.createVariableDeclaration(
                    ke.name,
                    ke.exclamationToken,
                    ke.type,
                    $e(ke.initializer, me, lt)
                  );
                  ye = Dr(ye, At), X = Dr(X, st), jt = !0;
                } else
                  X = Dr(X, ks(ke));
            if (ye && (M = Dr(M, n.updateVariableStatement(_e, pt, n.updateVariableDeclarationList(_e.declarationList, ye)))), X) {
              const ke = xn(ot(n.createExpressionStatement(n.inlineExpressions(X)), _e), _e);
              jt && vN(ke), M = Dr(M, ke);
            }
          } else
            M = Dr(M, yr(_e, me, e));
          return M = ms(M, _e), Wm(M);
        }
        function bi(_e, M, ye) {
          const X = mt(_e);
          if (X) {
            let pt = FF(_e) ? M : n.createAssignment(_e, M);
            for (const jt of X)
              an(
                pt,
                8
                /* NoSubstitution */
              ), pt = Ze(
                jt,
                pt,
                /*location*/
                ye
              );
            return pt;
          }
          return n.createAssignment(_e, M);
        }
        function ks(_e) {
          return Ps(_e.name) ? qS(
            $e(_e, me, eN),
            me,
            e,
            0,
            /*needsValue*/
            !1,
            bi
          ) : n.createAssignment(
            ot(
              n.createPropertyAccessExpression(
                n.createIdentifier("exports"),
                _e.name
              ),
              /*location*/
              _e.name
            ),
            _e.initializer ? $e(_e.initializer, me, lt) : n.createVoidZero()
          );
        }
        function ta(_e, M) {
          if (w.exportEquals)
            return _e;
          const ye = M.importClause;
          if (!ye)
            return _e;
          const X = new O6();
          ye.name && (_e = rt(_e, X, ye));
          const pt = ye.namedBindings;
          if (pt)
            switch (pt.kind) {
              case 274:
                _e = rt(_e, X, pt);
                break;
              case 275:
                for (const jt of pt.elements)
                  _e = rt(
                    _e,
                    X,
                    jt,
                    /*liveBinding*/
                    !0
                  );
                break;
            }
          return _e;
        }
        function gr(_e, M) {
          return w.exportEquals ? _e : rt(_e, new O6(), M);
        }
        function ms(_e, M) {
          return He(
            _e,
            M.declarationList,
            /*isForInOrOfInitializer*/
            !1
          );
        }
        function He(_e, M, ye) {
          if (w.exportEquals)
            return _e;
          for (const X of M.declarations)
            _e = Et(_e, X, ye);
          return _e;
        }
        function Et(_e, M, ye) {
          if (w.exportEquals)
            return _e;
          if (Ps(M.name))
            for (const X of M.name.elements)
              vl(X) || (_e = Et(_e, X, ye));
          else !Mo(M.name) && (!Zn(M) || M.initializer || ye) && (_e = rt(_e, new O6(), M));
          return _e;
        }
        function ne(_e, M) {
          if (w.exportEquals)
            return _e;
          const ye = new O6();
          if (qn(
            M,
            32
            /* Export */
          )) {
            const X = qn(
              M,
              2048
              /* Default */
            ) ? n.createIdentifier("default") : n.getDeclarationName(M);
            _e = Q(
              _e,
              ye,
              X,
              n.getLocalName(M),
              /*location*/
              M
            );
          }
          return M.name && (_e = rt(_e, ye, M)), _e;
        }
        function rt(_e, M, ye, X) {
          const pt = n.getDeclarationName(ye), jt = w.exportSpecifiers.get(pt);
          if (jt)
            for (const ke of jt)
              _e = Q(
                _e,
                M,
                ke.name,
                pt,
                /*location*/
                ke.name,
                /*allowComments*/
                void 0,
                X
              );
          return _e;
        }
        function Q(_e, M, ye, X, pt, jt, ke) {
          if (ye.kind !== 11) {
            if (M.has(ye))
              return _e;
            M.set(ye, !0);
          }
          return _e = Dr(_e, qe(ye, X, pt, jt, ke)), _e;
        }
        function Ne() {
          const _e = n.createExpressionStatement(
            n.createCallExpression(
              n.createPropertyAccessExpression(n.createIdentifier("Object"), "defineProperty"),
              /*typeArguments*/
              void 0,
              [
                n.createIdentifier("exports"),
                n.createStringLiteral("__esModule"),
                n.createObjectLiteralExpression([
                  n.createPropertyAssignment("value", n.createTrue())
                ])
              ]
            )
          );
          return an(
            _e,
            2097152
            /* CustomPrologue */
          ), _e;
        }
        function qe(_e, M, ye, X, pt) {
          const jt = ot(n.createExpressionStatement(Ze(
            _e,
            M,
            /*location*/
            void 0,
            pt
          )), ye);
          return Su(jt), X || an(
            jt,
            3072
            /* NoComments */
          ), jt;
        }
        function Ze(_e, M, ye, X) {
          return ot(
            X ? n.createCallExpression(
              n.createPropertyAccessExpression(
                n.createIdentifier("Object"),
                "defineProperty"
              ),
              /*typeArguments*/
              void 0,
              [
                n.createIdentifier("exports"),
                n.createStringLiteralFromNode(_e),
                n.createObjectLiteralExpression([
                  n.createPropertyAssignment("enumerable", n.createTrue()),
                  n.createPropertyAssignment(
                    "get",
                    n.createFunctionExpression(
                      /*modifiers*/
                      void 0,
                      /*asteriskToken*/
                      void 0,
                      /*name*/
                      void 0,
                      /*typeParameters*/
                      void 0,
                      /*parameters*/
                      [],
                      /*type*/
                      void 0,
                      n.createBlock([n.createReturnStatement(M)])
                    )
                  )
                ])
              ]
            ) : n.createAssignment(
              _e.kind === 11 ? n.createElementAccessExpression(
                n.createIdentifier("exports"),
                n.cloneNode(_e)
              ) : n.createPropertyAccessExpression(
                n.createIdentifier("exports"),
                n.cloneNode(_e)
              ),
              M
            ),
            ye
          );
        }
        function bt(_e) {
          switch (_e.kind) {
            case 95:
            case 90:
              return;
          }
          return _e;
        }
        function Ie(_e, M, ye) {
          M.kind === 307 ? (D = M, w = k[e_(D)], T(_e, M, ye), D = void 0, w = void 0) : T(_e, M, ye);
        }
        function ft(_e, M) {
          return M = S(_e, M), M.id && O[M.id] ? M : _e === 1 ? kt(M) : _u(M) ? _t(M) : M;
        }
        function _t(_e) {
          const M = _e.name, ye = Zr(M);
          if (ye !== M) {
            if (_e.objectAssignmentInitializer) {
              const X = n.createAssignment(ye, _e.objectAssignmentInitializer);
              return ot(n.createPropertyAssignment(M, X), _e);
            }
            return ot(n.createPropertyAssignment(M, ye), _e);
          }
          return _e;
        }
        function kt(_e) {
          switch (_e.kind) {
            case 80:
              return Zr(_e);
            case 213:
              return Ve(_e);
            case 215:
              return Rt(_e);
            case 226:
              return we(_e);
          }
          return _e;
        }
        function Ve(_e) {
          if (Fe(_e.expression)) {
            const M = Zr(_e.expression);
            if (O[Oa(M)] = !0, !Fe(M) && !(ka(_e.expression) & 8192))
              return DS(
                n.updateCallExpression(
                  _e,
                  M,
                  /*typeArguments*/
                  void 0,
                  _e.arguments
                ),
                16
                /* IndirectCall */
              );
          }
          return _e;
        }
        function Rt(_e) {
          if (Fe(_e.tag)) {
            const M = Zr(_e.tag);
            if (O[Oa(M)] = !0, !Fe(M) && !(ka(_e.tag) & 8192))
              return DS(
                n.updateTaggedTemplateExpression(
                  _e,
                  M,
                  /*typeArguments*/
                  void 0,
                  _e.template
                ),
                16
                /* IndirectCall */
              );
          }
          return _e;
        }
        function Zr(_e) {
          var M, ye;
          if (ka(_e) & 8192) {
            const X = ON(D);
            return X ? n.createPropertyAccessExpression(X, _e) : _e;
          } else if (!(Mo(_e) && !(_e.emitNode.autoGenerate.flags & 64)) && !Rh(_e)) {
            const X = u.getReferencedExportContainer(_e, FF(_e));
            if (X && X.kind === 307)
              return ot(
                n.createPropertyAccessExpression(
                  n.createIdentifier("exports"),
                  n.cloneNode(_e)
                ),
                /*location*/
                _e
              );
            const pt = u.getReferencedImportDeclaration(_e);
            if (pt) {
              if (Qp(pt))
                return ot(
                  n.createPropertyAccessExpression(
                    n.getGeneratedNameForNode(pt.parent),
                    n.createIdentifier("default")
                  ),
                  /*location*/
                  _e
                );
              if (Bu(pt)) {
                const jt = pt.propertyName || pt.name, ke = n.getGeneratedNameForNode(((ye = (M = pt.parent) == null ? void 0 : M.parent) == null ? void 0 : ye.parent) || pt);
                return ot(
                  jt.kind === 11 ? n.createElementAccessExpression(ke, n.cloneNode(jt)) : n.createPropertyAccessExpression(ke, n.cloneNode(jt)),
                  /*location*/
                  _e
                );
              }
            }
          }
          return _e;
        }
        function we(_e) {
          if (Ah(_e.operatorToken.kind) && Fe(_e.left) && (!Mo(_e.left) || $P(_e.left)) && !Rh(_e.left)) {
            const M = mt(_e.left);
            if (M) {
              let ye = _e;
              for (const X of M)
                O[Oa(ye)] = !0, ye = Ze(
                  X,
                  ye,
                  /*location*/
                  _e
                );
              return ye;
            }
          }
          return _e;
        }
        function mt(_e) {
          if (Mo(_e)) {
            if ($P(_e)) {
              const M = w?.exportSpecifiers.get(_e);
              if (M) {
                const ye = [];
                for (const X of M)
                  ye.push(X.name);
                return ye;
              }
            }
          } else {
            const M = u.getReferencedImportDeclaration(_e);
            if (M)
              return w?.exportedBindings[e_(M)];
            const ye = /* @__PURE__ */ new Set(), X = u.getReferencedValueDeclarations(_e);
            if (X) {
              for (const pt of X) {
                const jt = w?.exportedBindings[e_(pt)];
                if (jt)
                  for (const ke of jt)
                    ye.add(ke);
              }
              if (ye.size)
                return rs(ye);
            }
          }
        }
      }
      var gje = {
        name: "typescript:dynamicimport-sync-require",
        scoped: !0,
        text: `
            var __syncRequire = typeof module === "object" && typeof module.exports === "object";`
      };
      function eie(e) {
        const {
          factory: t,
          startLexicalEnvironment: n,
          endLexicalEnvironment: i,
          hoistVariableDeclaration: s
        } = e, o = e.getCompilerOptions(), c = e.getEmitResolver(), _ = e.getEmitHost(), u = e.onSubstituteNode, g = e.onEmitNode;
        e.onSubstituteNode = Ne, e.onEmitNode = Q, e.enableSubstitution(
          80
          /* Identifier */
        ), e.enableSubstitution(
          304
          /* ShorthandPropertyAssignment */
        ), e.enableSubstitution(
          226
          /* BinaryExpression */
        ), e.enableSubstitution(
          236
          /* MetaProperty */
        ), e.enableEmitNotification(
          307
          /* SourceFile */
        );
        const m = [], h = [], S = [], T = [];
        let k, D, w, A, O, F, j;
        return Sd(e, z);
        function z(we) {
          if (we.isDeclarationFile || !(RC(we, o) || we.transformFlags & 8388608))
            return we;
          const mt = e_(we);
          k = we, F = we, D = m[mt] = IW(e, we), w = t.createUniqueName("exports"), h[mt] = w, A = T[mt] = t.createUniqueName("context");
          const _e = V(D.externalImports), M = G(we, _e), ye = t.createFunctionExpression(
            /*modifiers*/
            void 0,
            /*asteriskToken*/
            void 0,
            /*name*/
            void 0,
            /*typeParameters*/
            void 0,
            [
              t.createParameterDeclaration(
                /*modifiers*/
                void 0,
                /*dotDotDotToken*/
                void 0,
                w
              ),
              t.createParameterDeclaration(
                /*modifiers*/
                void 0,
                /*dotDotDotToken*/
                void 0,
                A
              )
            ],
            /*type*/
            void 0,
            M
          ), X = LN(t, we, _, o), pt = t.createArrayLiteralExpression(fr(_e, (ke) => ke.name)), jt = an(
            t.updateSourceFile(
              we,
              ot(
                t.createNodeArray([
                  t.createExpressionStatement(
                    t.createCallExpression(
                      t.createPropertyAccessExpression(t.createIdentifier("System"), "register"),
                      /*typeArguments*/
                      void 0,
                      X ? [X, pt, ye] : [pt, ye]
                    )
                  )
                ]),
                we.statements
              )
            ),
            2048
            /* NoTrailingComments */
          );
          return o.outFile || ote(jt, M, (ke) => !ke.scoped), j && (S[mt] = j, j = void 0), k = void 0, D = void 0, w = void 0, A = void 0, O = void 0, F = void 0, jt;
        }
        function V(we) {
          const mt = /* @__PURE__ */ new Map(), _e = [];
          for (const M of we) {
            const ye = $x(t, M, k, _, c, o);
            if (ye) {
              const X = ye.text, pt = mt.get(X);
              pt !== void 0 ? _e[pt].externalImports.push(M) : (mt.set(X, _e.length), _e.push({
                name: ye,
                externalImports: [M]
              }));
            }
          }
          return _e;
        }
        function G(we, mt) {
          const _e = [];
          n();
          const M = lu(o, "alwaysStrict") || ol(k), ye = t.copyPrologue(we.statements, _e, M, U);
          _e.push(
            t.createVariableStatement(
              /*modifiers*/
              void 0,
              t.createVariableDeclarationList([
                t.createVariableDeclaration(
                  "__moduleName",
                  /*exclamationToken*/
                  void 0,
                  /*type*/
                  void 0,
                  t.createLogicalAnd(
                    A,
                    t.createPropertyAccessExpression(A, "id")
                  )
                )
              ])
            )
          ), $e(D.externalHelpersImportDeclaration, U, yi);
          const X = Lr(we.statements, U, yi, ye);
          wn(_e, O), Og(_e, i());
          const pt = W(_e), jt = we.transformFlags & 2097152 ? t.createModifiersFromModifierFlags(
            1024
            /* Async */
          ) : void 0, ke = t.createObjectLiteralExpression(
            [
              t.createPropertyAssignment("setters", K(pt, mt)),
              t.createPropertyAssignment(
                "execute",
                t.createFunctionExpression(
                  jt,
                  /*asteriskToken*/
                  void 0,
                  /*name*/
                  void 0,
                  /*typeParameters*/
                  void 0,
                  /*parameters*/
                  [],
                  /*type*/
                  void 0,
                  t.createBlock(
                    X,
                    /*multiLine*/
                    !0
                  )
                )
              )
            ],
            /*multiLine*/
            !0
          );
          return _e.push(t.createReturnStatement(ke)), t.createBlock(
            _e,
            /*multiLine*/
            !0
          );
        }
        function W(we) {
          if (!D.hasExportStarsToExportValues)
            return;
          if (!at(D.exportedNames) && D.exportedFunctions.size === 0 && D.exportSpecifiers.size === 0) {
            let ye = !1;
            for (const X of D.externalImports)
              if (X.kind === 278 && X.exportClause) {
                ye = !0;
                break;
              }
            if (!ye) {
              const X = pe(
                /*localNames*/
                void 0
              );
              return we.push(X), X.name;
            }
          }
          const mt = [];
          if (D.exportedNames)
            for (const ye of D.exportedNames)
              Gm(ye) || mt.push(
                t.createPropertyAssignment(
                  t.createStringLiteralFromNode(ye),
                  t.createTrue()
                )
              );
          for (const ye of D.exportedFunctions)
            qn(
              ye,
              2048
              /* Default */
            ) || (E.assert(!!ye.name), mt.push(
              t.createPropertyAssignment(
                t.createStringLiteralFromNode(ye.name),
                t.createTrue()
              )
            ));
          const _e = t.createUniqueName("exportedNames");
          we.push(
            t.createVariableStatement(
              /*modifiers*/
              void 0,
              t.createVariableDeclarationList([
                t.createVariableDeclaration(
                  _e,
                  /*exclamationToken*/
                  void 0,
                  /*type*/
                  void 0,
                  t.createObjectLiteralExpression(
                    mt,
                    /*multiLine*/
                    !0
                  )
                )
              ])
            )
          );
          const M = pe(_e);
          return we.push(M), M.name;
        }
        function pe(we) {
          const mt = t.createUniqueName("exportStar"), _e = t.createIdentifier("m"), M = t.createIdentifier("n"), ye = t.createIdentifier("exports");
          let X = t.createStrictInequality(M, t.createStringLiteral("default"));
          return we && (X = t.createLogicalAnd(
            X,
            t.createLogicalNot(
              t.createCallExpression(
                t.createPropertyAccessExpression(we, "hasOwnProperty"),
                /*typeArguments*/
                void 0,
                [M]
              )
            )
          )), t.createFunctionDeclaration(
            /*modifiers*/
            void 0,
            /*asteriskToken*/
            void 0,
            mt,
            /*typeParameters*/
            void 0,
            [t.createParameterDeclaration(
              /*modifiers*/
              void 0,
              /*dotDotDotToken*/
              void 0,
              _e
            )],
            /*type*/
            void 0,
            t.createBlock(
              [
                t.createVariableStatement(
                  /*modifiers*/
                  void 0,
                  t.createVariableDeclarationList([
                    t.createVariableDeclaration(
                      ye,
                      /*exclamationToken*/
                      void 0,
                      /*type*/
                      void 0,
                      t.createObjectLiteralExpression([])
                    )
                  ])
                ),
                t.createForInStatement(
                  t.createVariableDeclarationList([
                    t.createVariableDeclaration(M)
                  ]),
                  _e,
                  t.createBlock([
                    an(
                      t.createIfStatement(
                        X,
                        t.createExpressionStatement(
                          t.createAssignment(
                            t.createElementAccessExpression(ye, M),
                            t.createElementAccessExpression(_e, M)
                          )
                        )
                      ),
                      1
                      /* SingleLine */
                    )
                  ])
                ),
                t.createExpressionStatement(
                  t.createCallExpression(
                    w,
                    /*typeArguments*/
                    void 0,
                    [ye]
                  )
                )
              ],
              /*multiLine*/
              !0
            )
          );
        }
        function K(we, mt) {
          const _e = [];
          for (const M of mt) {
            const ye = ar(M.externalImports, (jt) => x6(t, jt, k)), X = ye ? t.getGeneratedNameForNode(ye) : t.createUniqueName(""), pt = [];
            for (const jt of M.externalImports) {
              const ke = x6(t, jt, k);
              switch (jt.kind) {
                case 272:
                  if (!jt.importClause)
                    break;
                // falls through
                case 271:
                  E.assert(ke !== void 0), pt.push(
                    t.createExpressionStatement(
                      t.createAssignment(ke, X)
                    )
                  ), qn(
                    jt,
                    32
                    /* Export */
                  ) && pt.push(
                    t.createExpressionStatement(
                      t.createCallExpression(
                        w,
                        /*typeArguments*/
                        void 0,
                        [
                          t.createStringLiteral(Pn(ke)),
                          X
                        ]
                      )
                    )
                  );
                  break;
                case 278:
                  if (E.assert(ke !== void 0), jt.exportClause)
                    if (cp(jt.exportClause)) {
                      const st = [];
                      for (const At of jt.exportClause.elements)
                        st.push(
                          t.createPropertyAssignment(
                            t.createStringLiteral(Uy(At.name)),
                            t.createElementAccessExpression(
                              X,
                              t.createStringLiteral(Uy(At.propertyName || At.name))
                            )
                          )
                        );
                      pt.push(
                        t.createExpressionStatement(
                          t.createCallExpression(
                            w,
                            /*typeArguments*/
                            void 0,
                            [t.createObjectLiteralExpression(
                              st,
                              /*multiLine*/
                              !0
                            )]
                          )
                        )
                      );
                    } else
                      pt.push(
                        t.createExpressionStatement(
                          t.createCallExpression(
                            w,
                            /*typeArguments*/
                            void 0,
                            [
                              t.createStringLiteral(Uy(jt.exportClause.name)),
                              X
                            ]
                          )
                        )
                      );
                  else
                    pt.push(
                      t.createExpressionStatement(
                        t.createCallExpression(
                          we,
                          /*typeArguments*/
                          void 0,
                          [X]
                        )
                      )
                    );
                  break;
              }
            }
            _e.push(
              t.createFunctionExpression(
                /*modifiers*/
                void 0,
                /*asteriskToken*/
                void 0,
                /*name*/
                void 0,
                /*typeParameters*/
                void 0,
                [t.createParameterDeclaration(
                  /*modifiers*/
                  void 0,
                  /*dotDotDotToken*/
                  void 0,
                  X
                )],
                /*type*/
                void 0,
                t.createBlock(
                  pt,
                  /*multiLine*/
                  !0
                )
              )
            );
          }
          return t.createArrayLiteralExpression(
            _e,
            /*multiLine*/
            !0
          );
        }
        function U(we) {
          switch (we.kind) {
            case 272:
              return ee(we);
            case 271:
              return ie(we);
            case 278:
              return te(we);
            case 277:
              return fe(we);
            default:
              return Bt(we);
          }
        }
        function ee(we) {
          let mt;
          return we.importClause && s(x6(t, we, k)), Wm(nt(mt, we));
        }
        function te(we) {
          E.assertIsDefined(we);
        }
        function ie(we) {
          E.assert(G1(we), "import= for internal module references should be handled in an earlier transformer.");
          let mt;
          return s(x6(t, we, k)), Wm(oe(mt, we));
        }
        function fe(we) {
          if (we.isExportEquals)
            return;
          const mt = $e(we.expression, Wn, lt);
          return ze(
            t.createIdentifier("default"),
            mt,
            /*allowComments*/
            !0
          );
        }
        function me(we) {
          qn(
            we,
            32
            /* Export */
          ) ? O = Dr(
            O,
            t.updateFunctionDeclaration(
              we,
              Lr(we.modifiers, rt, Ro),
              we.asteriskToken,
              t.getDeclarationName(
                we,
                /*allowComments*/
                !0,
                /*allowSourceMaps*/
                !0
              ),
              /*typeParameters*/
              void 0,
              Lr(we.parameters, Wn, Ni),
              /*type*/
              void 0,
              $e(we.body, Wn, Cs)
            )
          ) : O = Dr(O, yr(we, Wn, e)), O = Pe(O, we);
        }
        function q(we) {
          let mt;
          const _e = t.getLocalName(we);
          return s(_e), mt = Dr(
            mt,
            ot(
              t.createExpressionStatement(
                t.createAssignment(
                  _e,
                  ot(
                    t.createClassExpression(
                      Lr(we.modifiers, rt, Ro),
                      we.name,
                      /*typeParameters*/
                      void 0,
                      Lr(we.heritageClauses, Wn, Q_),
                      Lr(we.members, Wn, Jc)
                    ),
                    we
                  )
                )
              ),
              we
            )
          ), mt = Pe(mt, we), Wm(mt);
        }
        function he(we) {
          if (!De(we.declarationList))
            return $e(we, Wn, yi);
          let mt;
          if (d3(we.declarationList) || p3(we.declarationList)) {
            const _e = Lr(we.modifiers, rt, Ro), M = [];
            for (const X of we.declarationList.declarations)
              M.push(t.updateVariableDeclaration(
                X,
                t.getGeneratedNameForNode(X.name),
                /*exclamationToken*/
                void 0,
                /*type*/
                void 0,
                re(
                  X,
                  /*isExportedDeclaration*/
                  !1
                )
              ));
            const ye = t.updateVariableDeclarationList(
              we.declarationList,
              M
            );
            mt = Dr(mt, t.updateVariableStatement(we, _e, ye));
          } else {
            let _e;
            const M = qn(
              we,
              32
              /* Export */
            );
            for (const ye of we.declarationList.declarations)
              ye.initializer ? _e = Dr(_e, re(ye, M)) : Me(ye);
            _e && (mt = Dr(mt, ot(t.createExpressionStatement(t.inlineExpressions(_e)), we)));
          }
          return mt = ve(
            mt,
            we,
            /*exportSelf*/
            !1
          ), Wm(mt);
        }
        function Me(we) {
          if (Ps(we.name))
            for (const mt of we.name.elements)
              vl(mt) || Me(mt);
          else
            s(t.cloneNode(we.name));
        }
        function De(we) {
          return (ka(we) & 4194304) === 0 && (F.kind === 307 || (Vo(we).flags & 7) === 0);
        }
        function re(we, mt) {
          const _e = mt ? xe : ue;
          return Ps(we.name) ? qS(
            we,
            Wn,
            e,
            0,
            /*needsValue*/
            !1,
            _e
          ) : we.initializer ? _e(we.name, $e(we.initializer, Wn, lt)) : we.name;
        }
        function xe(we, mt, _e) {
          return Xe(
            we,
            mt,
            _e,
            /*isExportedDeclaration*/
            !0
          );
        }
        function ue(we, mt, _e) {
          return Xe(
            we,
            mt,
            _e,
            /*isExportedDeclaration*/
            !1
          );
        }
        function Xe(we, mt, _e, M) {
          return s(t.cloneNode(we)), M ? St(we, Rt(ot(t.createAssignment(we, mt), _e))) : Rt(ot(t.createAssignment(we, mt), _e));
        }
        function nt(we, mt) {
          if (D.exportEquals)
            return we;
          const _e = mt.importClause;
          if (!_e)
            return we;
          _e.name && (we = Ee(we, _e));
          const M = _e.namedBindings;
          if (M)
            switch (M.kind) {
              case 274:
                we = Ee(we, M);
                break;
              case 275:
                for (const ye of M.elements)
                  we = Ee(we, ye);
                break;
            }
          return we;
        }
        function oe(we, mt) {
          return D.exportEquals ? we : Ee(we, mt);
        }
        function ve(we, mt, _e) {
          if (D.exportEquals)
            return we;
          for (const M of mt.declarationList.declarations)
            (M.initializer || _e) && (we = se(we, M));
          return we;
        }
        function se(we, mt, _e) {
          if (D.exportEquals)
            return we;
          if (Ps(mt.name))
            for (const M of mt.name.elements)
              vl(M) || (we = se(we, M));
          else Mo(mt.name) || (we = Ee(we, mt, void 0));
          return we;
        }
        function Pe(we, mt) {
          if (D.exportEquals)
            return we;
          let _e;
          if (qn(
            mt,
            32
            /* Export */
          )) {
            const M = qn(
              mt,
              2048
              /* Default */
            ) ? t.createStringLiteral("default") : mt.name;
            we = Ce(we, M, t.getLocalName(mt)), _e = ep(M);
          }
          return mt.name && (we = Ee(we, mt, _e)), we;
        }
        function Ee(we, mt, _e) {
          if (D.exportEquals)
            return we;
          const M = t.getDeclarationName(mt), ye = D.exportSpecifiers.get(M);
          if (ye)
            for (const X of ye)
              Uy(X.name) !== _e && (we = Ce(we, X.name, M));
          return we;
        }
        function Ce(we, mt, _e, M) {
          return we = Dr(we, ze(mt, _e, M)), we;
        }
        function ze(we, mt, _e) {
          const M = t.createExpressionStatement(St(we, mt));
          return Su(M), _e || an(
            M,
            3072
            /* NoComments */
          ), M;
        }
        function St(we, mt) {
          const _e = Fe(we) ? t.createStringLiteralFromNode(we) : we;
          return an(
            mt,
            ka(mt) | 3072
            /* NoComments */
          ), Zc(t.createCallExpression(
            w,
            /*typeArguments*/
            void 0,
            [_e, mt]
          ), mt);
        }
        function Bt(we) {
          switch (we.kind) {
            case 243:
              return he(we);
            case 262:
              return me(we);
            case 263:
              return q(we);
            case 248:
              return tr(
                we,
                /*isTopLevel*/
                !0
              );
            case 249:
              return Fr(we);
            case 250:
              return it(we);
            case 246:
              return ai(we);
            case 247:
              return zi(we);
            case 256:
              return Pt(we);
            case 254:
              return Fn(we);
            case 245:
              return ii(we);
            case 255:
              return li(we);
            case 269:
              return cn(we);
            case 296:
              return ci(we);
            case 297:
              return je(we);
            case 258:
              return ut(we);
            case 299:
              return er(we);
            case 241:
              return Vr(we);
            default:
              return Wn(we);
          }
        }
        function tr(we, mt) {
          const _e = F;
          return F = we, we = t.updateForStatement(
            we,
            $e(we.initializer, mt ? Wr : bi, Yf),
            $e(we.condition, Wn, lt),
            $e(we.incrementor, bi, lt),
            Ku(we.statement, mt ? Bt : Wn, e)
          ), F = _e, we;
        }
        function Fr(we) {
          const mt = F;
          return F = we, we = t.updateForInStatement(
            we,
            Wr(we.initializer),
            $e(we.expression, Wn, lt),
            Ku(we.statement, Bt, e)
          ), F = mt, we;
        }
        function it(we) {
          const mt = F;
          return F = we, we = t.updateForOfStatement(
            we,
            we.awaitModifier,
            Wr(we.initializer),
            $e(we.expression, Wn, lt),
            Ku(we.statement, Bt, e)
          ), F = mt, we;
        }
        function Wt(we) {
          return zl(we) && De(we);
        }
        function Wr(we) {
          if (Wt(we)) {
            let mt;
            for (const _e of we.declarations)
              mt = Dr(mt, re(
                _e,
                /*isExportedDeclaration*/
                !1
              )), _e.initializer || Me(_e);
            return mt ? t.inlineExpressions(mt) : t.createOmittedExpression();
          } else
            return $e(we, bi, Yf);
        }
        function ai(we) {
          return t.updateDoStatement(
            we,
            Ku(we.statement, Bt, e),
            $e(we.expression, Wn, lt)
          );
        }
        function zi(we) {
          return t.updateWhileStatement(
            we,
            $e(we.expression, Wn, lt),
            Ku(we.statement, Bt, e)
          );
        }
        function Pt(we) {
          return t.updateLabeledStatement(
            we,
            we.label,
            $e(we.statement, Bt, yi, t.liftToBlock) ?? t.createExpressionStatement(t.createIdentifier(""))
          );
        }
        function Fn(we) {
          return t.updateWithStatement(
            we,
            $e(we.expression, Wn, lt),
            E.checkDefined($e(we.statement, Bt, yi, t.liftToBlock))
          );
        }
        function ii(we) {
          return t.updateIfStatement(
            we,
            $e(we.expression, Wn, lt),
            $e(we.thenStatement, Bt, yi, t.liftToBlock) ?? t.createBlock([]),
            $e(we.elseStatement, Bt, yi, t.liftToBlock)
          );
        }
        function li(we) {
          return t.updateSwitchStatement(
            we,
            $e(we.expression, Wn, lt),
            E.checkDefined($e(we.caseBlock, Bt, OD))
          );
        }
        function cn(we) {
          const mt = F;
          return F = we, we = t.updateCaseBlock(
            we,
            Lr(we.clauses, Bt, C7)
          ), F = mt, we;
        }
        function ci(we) {
          return t.updateCaseClause(
            we,
            $e(we.expression, Wn, lt),
            Lr(we.statements, Bt, yi)
          );
        }
        function je(we) {
          return yr(we, Bt, e);
        }
        function ut(we) {
          return yr(we, Bt, e);
        }
        function er(we) {
          const mt = F;
          return F = we, we = t.updateCatchClause(
            we,
            we.variableDeclaration,
            E.checkDefined($e(we.block, Bt, Cs))
          ), F = mt, we;
        }
        function Vr(we) {
          const mt = F;
          return F = we, we = yr(we, Bt, e), F = mt, we;
        }
        function zn(we, mt) {
          if (!(we.transformFlags & 276828160))
            return we;
          switch (we.kind) {
            case 248:
              return tr(
                we,
                /*isTopLevel*/
                !1
              );
            case 244:
              return ks(we);
            case 217:
              return ta(we, mt);
            case 355:
              return gr(we, mt);
            case 226:
              if (T0(we))
                return He(we, mt);
              break;
            case 213:
              if (df(we))
                return ms(we);
              break;
            case 224:
            case 225:
              return ne(we, mt);
          }
          return yr(we, Wn, e);
        }
        function Wn(we) {
          return zn(
            we,
            /*valueIsDiscarded*/
            !1
          );
        }
        function bi(we) {
          return zn(
            we,
            /*valueIsDiscarded*/
            !0
          );
        }
        function ks(we) {
          return t.updateExpressionStatement(we, $e(we.expression, bi, lt));
        }
        function ta(we, mt) {
          return t.updateParenthesizedExpression(we, $e(we.expression, mt ? bi : Wn, lt));
        }
        function gr(we, mt) {
          return t.updatePartiallyEmittedExpression(we, $e(we.expression, mt ? bi : Wn, lt));
        }
        function ms(we) {
          const mt = $x(t, we, k, _, c, o), _e = $e(Xc(we.arguments), Wn, lt), M = mt && (!_e || !la(_e) || _e.text !== mt.text) ? mt : _e;
          return t.createCallExpression(
            t.createPropertyAccessExpression(
              A,
              t.createIdentifier("import")
            ),
            /*typeArguments*/
            void 0,
            M ? [M] : []
          );
        }
        function He(we, mt) {
          return Et(we.left) ? qS(
            we,
            Wn,
            e,
            0,
            !mt
          ) : yr(we, Wn, e);
        }
        function Et(we) {
          if (wl(
            we,
            /*excludeCompoundAssignment*/
            !0
          ))
            return Et(we.left);
          if (op(we))
            return Et(we.expression);
          if (ua(we))
            return at(we.properties, Et);
          if (Ql(we))
            return at(we.elements, Et);
          if (_u(we))
            return Et(we.name);
          if (tl(we))
            return Et(we.initializer);
          if (Fe(we)) {
            const mt = c.getReferencedExportContainer(we);
            return mt !== void 0 && mt.kind === 307;
          } else
            return !1;
        }
        function ne(we, mt) {
          if ((we.operator === 46 || we.operator === 47) && Fe(we.operand) && !Mo(we.operand) && !Rh(we.operand) && !oJ(we.operand)) {
            const _e = kt(we.operand);
            if (_e) {
              let M, ye = $e(we.operand, Wn, lt);
              sv(we) ? ye = t.updatePrefixUnaryExpression(we, ye) : (ye = t.updatePostfixUnaryExpression(we, ye), mt || (M = t.createTempVariable(s), ye = t.createAssignment(M, ye), ot(ye, we)), ye = t.createComma(ye, t.cloneNode(we.operand)), ot(ye, we));
              for (const X of _e)
                ye = St(X, Rt(ye));
              return M && (ye = t.createComma(ye, M), ot(ye, we)), ye;
            }
          }
          return yr(we, Wn, e);
        }
        function rt(we) {
          switch (we.kind) {
            case 95:
            case 90:
              return;
          }
          return we;
        }
        function Q(we, mt, _e) {
          if (mt.kind === 307) {
            const M = e_(mt);
            k = mt, D = m[M], w = h[M], j = S[M], A = T[M], j && delete S[M], g(we, mt, _e), k = void 0, D = void 0, w = void 0, A = void 0, j = void 0;
          } else
            g(we, mt, _e);
        }
        function Ne(we, mt) {
          return mt = u(we, mt), Zr(mt) ? mt : we === 1 ? bt(mt) : we === 4 ? qe(mt) : mt;
        }
        function qe(we) {
          switch (we.kind) {
            case 304:
              return Ze(we);
          }
          return we;
        }
        function Ze(we) {
          var mt, _e;
          const M = we.name;
          if (!Mo(M) && !Rh(M)) {
            const ye = c.getReferencedImportDeclaration(M);
            if (ye) {
              if (Qp(ye))
                return ot(
                  t.createPropertyAssignment(
                    t.cloneNode(M),
                    t.createPropertyAccessExpression(
                      t.getGeneratedNameForNode(ye.parent),
                      t.createIdentifier("default")
                    )
                  ),
                  /*location*/
                  we
                );
              if (Bu(ye)) {
                const X = ye.propertyName || ye.name, pt = t.getGeneratedNameForNode(((_e = (mt = ye.parent) == null ? void 0 : mt.parent) == null ? void 0 : _e.parent) || ye);
                return ot(
                  t.createPropertyAssignment(
                    t.cloneNode(M),
                    X.kind === 11 ? t.createElementAccessExpression(pt, t.cloneNode(X)) : t.createPropertyAccessExpression(pt, t.cloneNode(X))
                  ),
                  /*location*/
                  we
                );
              }
            }
          }
          return we;
        }
        function bt(we) {
          switch (we.kind) {
            case 80:
              return Ie(we);
            case 226:
              return ft(we);
            case 236:
              return _t(we);
          }
          return we;
        }
        function Ie(we) {
          var mt, _e;
          if (ka(we) & 8192) {
            const M = ON(k);
            return M ? t.createPropertyAccessExpression(M, we) : we;
          }
          if (!Mo(we) && !Rh(we)) {
            const M = c.getReferencedImportDeclaration(we);
            if (M) {
              if (Qp(M))
                return ot(
                  t.createPropertyAccessExpression(
                    t.getGeneratedNameForNode(M.parent),
                    t.createIdentifier("default")
                  ),
                  /*location*/
                  we
                );
              if (Bu(M)) {
                const ye = M.propertyName || M.name, X = t.getGeneratedNameForNode(((_e = (mt = M.parent) == null ? void 0 : mt.parent) == null ? void 0 : _e.parent) || M);
                return ot(
                  ye.kind === 11 ? t.createElementAccessExpression(X, t.cloneNode(ye)) : t.createPropertyAccessExpression(X, t.cloneNode(ye)),
                  /*location*/
                  we
                );
              }
            }
          }
          return we;
        }
        function ft(we) {
          if (Ah(we.operatorToken.kind) && Fe(we.left) && (!Mo(we.left) || $P(we.left)) && !Rh(we.left)) {
            const mt = kt(we.left);
            if (mt) {
              let _e = we;
              for (const M of mt)
                _e = St(M, Rt(_e));
              return _e;
            }
          }
          return we;
        }
        function _t(we) {
          return JC(we) ? t.createPropertyAccessExpression(A, t.createIdentifier("meta")) : we;
        }
        function kt(we) {
          let mt;
          const _e = Ve(we);
          if (_e) {
            const M = c.getReferencedExportContainer(
              we,
              /*prefixLocals*/
              !1
            );
            M && M.kind === 307 && (mt = Dr(mt, t.getDeclarationName(_e))), mt = wn(mt, D?.exportedBindings[e_(_e)]);
          } else if (Mo(we) && $P(we)) {
            const M = D?.exportSpecifiers.get(we);
            if (M) {
              const ye = [];
              for (const X of M)
                ye.push(X.name);
              return ye;
            }
          }
          return mt;
        }
        function Ve(we) {
          if (!Mo(we)) {
            const mt = c.getReferencedImportDeclaration(we);
            if (mt) return mt;
            const _e = c.getReferencedValueDeclaration(we);
            if (_e && D?.exportedBindings[e_(_e)]) return _e;
            const M = c.getReferencedValueDeclarations(we);
            if (M) {
              for (const ye of M)
                if (ye !== _e && D?.exportedBindings[e_(ye)]) return ye;
            }
            return _e;
          }
        }
        function Rt(we) {
          return j === void 0 && (j = []), j[Oa(we)] = !0, we;
        }
        function Zr(we) {
          return j && we.id && j[we.id];
        }
      }
      function zW(e) {
        const {
          factory: t,
          getEmitHelperFactory: n
        } = e, i = e.getEmitHost(), s = e.getEmitResolver(), o = e.getCompilerOptions(), c = ga(o), _ = e.onEmitNode, u = e.onSubstituteNode;
        e.onEmitNode = W, e.onSubstituteNode = pe, e.enableEmitNotification(
          307
          /* SourceFile */
        ), e.enableSubstitution(
          80
          /* Identifier */
        );
        const g = /* @__PURE__ */ new Set();
        let m, h, S, T;
        return Sd(e, k);
        function k(U) {
          if (U.isDeclarationFile)
            return U;
          if (ol(U) || Np(o)) {
            S = U, T = void 0, o.rewriteRelativeImportExtensions && (S.flags & 4194304 || tn(U)) && lF(
              U,
              /*includeTypeSpaceImports*/
              !1,
              /*requireStringLiteralLikeArgument*/
              !1,
              (te) => {
                (!Ba(te.arguments[0]) || F3(te.arguments[0].text, o)) && (m = Dr(m, te));
              }
            );
            let ee = D(U);
            return qg(ee, e.readEmitHelpers()), S = void 0, T && (ee = t.updateSourceFile(
              ee,
              ot(t.createNodeArray(Yj(ee.statements.slice(), T)), ee.statements)
            )), !ol(U) || Mu(o) === 200 || at(ee.statements, e3) ? ee : t.updateSourceFile(
              ee,
              ot(t.createNodeArray([...ee.statements, AN(t)]), ee.statements)
            );
          }
          return U;
        }
        function D(U) {
          const ee = Cz(t, n(), U, o);
          if (ee) {
            const te = [], ie = t.copyPrologue(U.statements, te);
            return wn(te, QD([ee], w, yi)), wn(te, Lr(U.statements, w, yi, ie)), t.updateSourceFile(
              U,
              ot(t.createNodeArray(te), U.statements)
            );
          } else
            return yr(U, w, e);
        }
        function w(U) {
          switch (U.kind) {
            case 271:
              return Mu(o) >= 100 ? j(U) : void 0;
            case 277:
              return V(U);
            case 278:
              return G(U);
            case 272:
              return A(U);
            case 213:
              if (U === m?.[0])
                return O(m.shift());
            // fallthrough
            default:
              if (m?.length && d_(U, m[0]))
                return yr(U, w, e);
          }
          return U;
        }
        function A(U) {
          if (!o.rewriteRelativeImportExtensions)
            return U;
          const ee = tk(U.moduleSpecifier, o);
          return ee === U.moduleSpecifier ? U : t.updateImportDeclaration(
            U,
            U.modifiers,
            U.importClause,
            ee,
            U.attributes
          );
        }
        function O(U) {
          return t.updateCallExpression(
            U,
            U.expression,
            U.typeArguments,
            [
              Ba(U.arguments[0]) ? tk(U.arguments[0], o) : n().createRewriteRelativeImportExtensionsHelper(U.arguments[0]),
              ...U.arguments.slice(1)
            ]
          );
        }
        function F(U) {
          const ee = $x(t, U, E.checkDefined(S), i, s, o), te = [];
          if (ee && te.push(tk(ee, o)), Mu(o) === 200)
            return t.createCallExpression(
              t.createIdentifier("require"),
              /*typeArguments*/
              void 0,
              te
            );
          if (!T) {
            const fe = t.createUniqueName(
              "_createRequire",
              48
              /* FileLevel */
            ), me = t.createImportDeclaration(
              /*modifiers*/
              void 0,
              t.createImportClause(
                /*isTypeOnly*/
                !1,
                /*name*/
                void 0,
                t.createNamedImports([
                  t.createImportSpecifier(
                    /*isTypeOnly*/
                    !1,
                    t.createIdentifier("createRequire"),
                    fe
                  )
                ])
              ),
              t.createStringLiteral("module"),
              /*attributes*/
              void 0
            ), q = t.createUniqueName(
              "__require",
              48
              /* FileLevel */
            ), he = t.createVariableStatement(
              /*modifiers*/
              void 0,
              t.createVariableDeclarationList(
                [
                  t.createVariableDeclaration(
                    q,
                    /*exclamationToken*/
                    void 0,
                    /*type*/
                    void 0,
                    t.createCallExpression(
                      t.cloneNode(fe),
                      /*typeArguments*/
                      void 0,
                      [
                        t.createPropertyAccessExpression(t.createMetaProperty(102, t.createIdentifier("meta")), t.createIdentifier("url"))
                      ]
                    )
                  )
                ],
                /*flags*/
                c >= 2 ? 2 : 0
                /* None */
              )
            );
            T = [me, he];
          }
          const ie = T[1].declarationList.declarations[0].name;
          return E.assertNode(ie, Fe), t.createCallExpression(
            t.cloneNode(ie),
            /*typeArguments*/
            void 0,
            te
          );
        }
        function j(U) {
          E.assert(G1(U), "import= for internal module references should be handled in an earlier transformer.");
          let ee;
          return ee = Dr(
            ee,
            xn(
              ot(
                t.createVariableStatement(
                  /*modifiers*/
                  void 0,
                  t.createVariableDeclarationList(
                    [
                      t.createVariableDeclaration(
                        t.cloneNode(U.name),
                        /*exclamationToken*/
                        void 0,
                        /*type*/
                        void 0,
                        F(U)
                      )
                    ],
                    /*flags*/
                    c >= 2 ? 2 : 0
                    /* None */
                  )
                ),
                U
              ),
              U
            )
          ), ee = z(ee, U), Wm(ee);
        }
        function z(U, ee) {
          return qn(
            ee,
            32
            /* Export */
          ) && (U = Dr(
            U,
            t.createExportDeclaration(
              /*modifiers*/
              void 0,
              ee.isTypeOnly,
              t.createNamedExports([t.createExportSpecifier(
                /*isTypeOnly*/
                !1,
                /*propertyName*/
                void 0,
                Pn(ee.name)
              )])
            )
          )), U;
        }
        function V(U) {
          return U.isExportEquals ? Mu(o) === 200 ? xn(
            t.createExpressionStatement(
              t.createAssignment(
                t.createPropertyAccessExpression(
                  t.createIdentifier("module"),
                  "exports"
                ),
                U.expression
              )
            ),
            U
          ) : void 0 : U;
        }
        function G(U) {
          const ee = tk(U.moduleSpecifier, o);
          if (o.module !== void 0 && o.module > 5 || !U.exportClause || !Zm(U.exportClause) || !U.moduleSpecifier)
            return !U.moduleSpecifier || ee === U.moduleSpecifier ? U : t.updateExportDeclaration(
              U,
              U.modifiers,
              U.isTypeOnly,
              U.exportClause,
              ee,
              U.attributes
            );
          const te = U.exportClause.name, ie = t.getGeneratedNameForNode(te), fe = t.createImportDeclaration(
            /*modifiers*/
            void 0,
            t.createImportClause(
              /*isTypeOnly*/
              !1,
              /*name*/
              void 0,
              t.createNamespaceImport(
                ie
              )
            ),
            ee,
            U.attributes
          );
          xn(fe, U.exportClause);
          const me = R7(U) ? t.createExportDefault(ie) : t.createExportDeclaration(
            /*modifiers*/
            void 0,
            /*isTypeOnly*/
            !1,
            t.createNamedExports([t.createExportSpecifier(
              /*isTypeOnly*/
              !1,
              ie,
              te
            )])
          );
          return xn(me, U), [fe, me];
        }
        function W(U, ee, te) {
          xi(ee) ? ((ol(ee) || Np(o)) && o.importHelpers && (h = /* @__PURE__ */ new Map()), S = ee, _(U, ee, te), S = void 0, h = void 0) : _(U, ee, te);
        }
        function pe(U, ee) {
          return ee = u(U, ee), ee.id && g.has(ee.id) ? ee : Fe(ee) && ka(ee) & 8192 ? K(ee) : ee;
        }
        function K(U) {
          const ee = S && ON(S);
          if (ee)
            return g.add(Oa(U)), t.createPropertyAccessExpression(ee, U);
          if (h) {
            const te = Pn(U);
            let ie = h.get(te);
            return ie || h.set(te, ie = t.createUniqueName(
              te,
              48
              /* FileLevel */
            )), ie;
          }
          return U;
        }
      }
      function tie(e) {
        const t = e.onSubstituteNode, n = e.onEmitNode, i = zW(e), s = e.onSubstituteNode, o = e.onEmitNode;
        e.onSubstituteNode = t, e.onEmitNode = n;
        const c = JW(e), _ = e.onSubstituteNode, u = e.onEmitNode, g = (A) => e.getEmitHost().getEmitModuleFormatOfFile(A);
        e.onSubstituteNode = h, e.onEmitNode = S, e.enableSubstitution(
          307
          /* SourceFile */
        ), e.enableEmitNotification(
          307
          /* SourceFile */
        );
        let m;
        return D;
        function h(A, O) {
          return xi(O) ? (m = O, t(A, O)) : m ? g(m) >= 5 ? s(A, O) : _(A, O) : t(A, O);
        }
        function S(A, O, F) {
          return xi(O) && (m = O), m ? g(m) >= 5 ? o(A, O, F) : u(A, O, F) : n(A, O, F);
        }
        function T(A) {
          return g(A) >= 5 ? i : c;
        }
        function k(A) {
          if (A.isDeclarationFile)
            return A;
          m = A;
          const O = T(A)(A);
          return m = void 0, E.assert(xi(O)), O;
        }
        function D(A) {
          return A.kind === 307 ? k(A) : w(A);
        }
        function w(A) {
          return e.factory.createBundle(fr(A.sourceFiles, k));
        }
      }
      function iA(e) {
        return Zn(e) || is(e) || ju(e) || ya(e) || $d(e) || Ag(e) || CN(e) || Bx(e) || uc(e) || Xp(e) || Tc(e) || Ni(e) || Fo(e) || Lh(e) || bl(e) || Ap(e) || Xo(e) || r1(e) || kn(e) || fo(e) || _n(e) || Dp(e);
      }
      function rie(e) {
        if ($d(e) || Ag(e))
          return t;
        return Xp(e) || uc(e) ? i : gv(e);
        function t(o) {
          const c = n(o);
          return c !== void 0 ? {
            diagnosticMessage: c,
            errorNode: e,
            typeName: e.name
          } : void 0;
        }
        function n(o) {
          return zs(e) ? o.errorModuleName ? o.accessibility === 2 ? p.Public_static_property_0_of_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named : p.Public_static_property_0_of_exported_class_has_or_is_using_name_1_from_private_module_2 : p.Public_static_property_0_of_exported_class_has_or_is_using_private_name_1 : e.parent.kind === 263 ? o.errorModuleName ? o.accessibility === 2 ? p.Public_property_0_of_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named : p.Public_property_0_of_exported_class_has_or_is_using_name_1_from_private_module_2 : p.Public_property_0_of_exported_class_has_or_is_using_private_name_1 : o.errorModuleName ? p.Property_0_of_exported_interface_has_or_is_using_name_1_from_private_module_2 : p.Property_0_of_exported_interface_has_or_is_using_private_name_1;
        }
        function i(o) {
          const c = s(o);
          return c !== void 0 ? {
            diagnosticMessage: c,
            errorNode: e,
            typeName: e.name
          } : void 0;
        }
        function s(o) {
          return zs(e) ? o.errorModuleName ? o.accessibility === 2 ? p.Public_static_method_0_of_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named : p.Public_static_method_0_of_exported_class_has_or_is_using_name_1_from_private_module_2 : p.Public_static_method_0_of_exported_class_has_or_is_using_private_name_1 : e.parent.kind === 263 ? o.errorModuleName ? o.accessibility === 2 ? p.Public_method_0_of_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named : p.Public_method_0_of_exported_class_has_or_is_using_name_1_from_private_module_2 : p.Public_method_0_of_exported_class_has_or_is_using_private_name_1 : o.errorModuleName ? p.Method_0_of_exported_interface_has_or_is_using_name_1_from_private_module_2 : p.Method_0_of_exported_interface_has_or_is_using_private_name_1;
        }
      }
      function gv(e) {
        if (Zn(e) || is(e) || ju(e) || kn(e) || fo(e) || _n(e) || ya(e) || Xo(e))
          return n;
        return $d(e) || Ag(e) ? i : CN(e) || Bx(e) || uc(e) || Xp(e) || Tc(e) || r1(e) ? s : Ni(e) ? U_(e, e.parent) && qn(
          e.parent,
          2
          /* Private */
        ) ? n : o : Fo(e) ? _ : Lh(e) ? u : bl(e) ? g : Ap(e) || Dp(e) ? m : E.assertNever(e, `Attempted to set a declaration diagnostic context for unhandled node kind: ${E.formatSyntaxKind(e.kind)}`);
        function t(h) {
          if (e.kind === 260 || e.kind === 208)
            return h.errorModuleName ? h.accessibility === 2 ? p.Exported_variable_0_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named : p.Exported_variable_0_has_or_is_using_name_1_from_private_module_2 : p.Exported_variable_0_has_or_is_using_private_name_1;
          if (e.kind === 172 || e.kind === 211 || e.kind === 212 || e.kind === 226 || e.kind === 171 || e.kind === 169 && qn(
            e.parent,
            2
            /* Private */
          ))
            return zs(e) ? h.errorModuleName ? h.accessibility === 2 ? p.Public_static_property_0_of_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named : p.Public_static_property_0_of_exported_class_has_or_is_using_name_1_from_private_module_2 : p.Public_static_property_0_of_exported_class_has_or_is_using_private_name_1 : e.parent.kind === 263 || e.kind === 169 ? h.errorModuleName ? h.accessibility === 2 ? p.Public_property_0_of_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named : p.Public_property_0_of_exported_class_has_or_is_using_name_1_from_private_module_2 : p.Public_property_0_of_exported_class_has_or_is_using_private_name_1 : h.errorModuleName ? p.Property_0_of_exported_interface_has_or_is_using_name_1_from_private_module_2 : p.Property_0_of_exported_interface_has_or_is_using_private_name_1;
        }
        function n(h) {
          const S = t(h);
          return S !== void 0 ? {
            diagnosticMessage: S,
            errorNode: e,
            typeName: e.name
          } : void 0;
        }
        function i(h) {
          let S;
          return e.kind === 178 ? zs(e) ? S = h.errorModuleName ? p.Parameter_type_of_public_static_setter_0_from_exported_class_has_or_is_using_name_1_from_private_module_2 : p.Parameter_type_of_public_static_setter_0_from_exported_class_has_or_is_using_private_name_1 : S = h.errorModuleName ? p.Parameter_type_of_public_setter_0_from_exported_class_has_or_is_using_name_1_from_private_module_2 : p.Parameter_type_of_public_setter_0_from_exported_class_has_or_is_using_private_name_1 : zs(e) ? S = h.errorModuleName ? h.accessibility === 2 ? p.Return_type_of_public_static_getter_0_from_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named : p.Return_type_of_public_static_getter_0_from_exported_class_has_or_is_using_name_1_from_private_module_2 : p.Return_type_of_public_static_getter_0_from_exported_class_has_or_is_using_private_name_1 : S = h.errorModuleName ? h.accessibility === 2 ? p.Return_type_of_public_getter_0_from_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named : p.Return_type_of_public_getter_0_from_exported_class_has_or_is_using_name_1_from_private_module_2 : p.Return_type_of_public_getter_0_from_exported_class_has_or_is_using_private_name_1, {
            diagnosticMessage: S,
            errorNode: e.name,
            typeName: e.name
          };
        }
        function s(h) {
          let S;
          switch (e.kind) {
            case 180:
              S = h.errorModuleName ? p.Return_type_of_constructor_signature_from_exported_interface_has_or_is_using_name_0_from_private_module_1 : p.Return_type_of_constructor_signature_from_exported_interface_has_or_is_using_private_name_0;
              break;
            case 179:
              S = h.errorModuleName ? p.Return_type_of_call_signature_from_exported_interface_has_or_is_using_name_0_from_private_module_1 : p.Return_type_of_call_signature_from_exported_interface_has_or_is_using_private_name_0;
              break;
            case 181:
              S = h.errorModuleName ? p.Return_type_of_index_signature_from_exported_interface_has_or_is_using_name_0_from_private_module_1 : p.Return_type_of_index_signature_from_exported_interface_has_or_is_using_private_name_0;
              break;
            case 174:
            case 173:
              zs(e) ? S = h.errorModuleName ? h.accessibility === 2 ? p.Return_type_of_public_static_method_from_exported_class_has_or_is_using_name_0_from_external_module_1_but_cannot_be_named : p.Return_type_of_public_static_method_from_exported_class_has_or_is_using_name_0_from_private_module_1 : p.Return_type_of_public_static_method_from_exported_class_has_or_is_using_private_name_0 : e.parent.kind === 263 ? S = h.errorModuleName ? h.accessibility === 2 ? p.Return_type_of_public_method_from_exported_class_has_or_is_using_name_0_from_external_module_1_but_cannot_be_named : p.Return_type_of_public_method_from_exported_class_has_or_is_using_name_0_from_private_module_1 : p.Return_type_of_public_method_from_exported_class_has_or_is_using_private_name_0 : S = h.errorModuleName ? p.Return_type_of_method_from_exported_interface_has_or_is_using_name_0_from_private_module_1 : p.Return_type_of_method_from_exported_interface_has_or_is_using_private_name_0;
              break;
            case 262:
              S = h.errorModuleName ? h.accessibility === 2 ? p.Return_type_of_exported_function_has_or_is_using_name_0_from_external_module_1_but_cannot_be_named : p.Return_type_of_exported_function_has_or_is_using_name_0_from_private_module_1 : p.Return_type_of_exported_function_has_or_is_using_private_name_0;
              break;
            default:
              return E.fail("This is unknown kind for signature: " + e.kind);
          }
          return {
            diagnosticMessage: S,
            errorNode: e.name || e
          };
        }
        function o(h) {
          const S = c(h);
          return S !== void 0 ? {
            diagnosticMessage: S,
            errorNode: e,
            typeName: e.name
          } : void 0;
        }
        function c(h) {
          switch (e.parent.kind) {
            case 176:
              return h.errorModuleName ? h.accessibility === 2 ? p.Parameter_0_of_constructor_from_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named : p.Parameter_0_of_constructor_from_exported_class_has_or_is_using_name_1_from_private_module_2 : p.Parameter_0_of_constructor_from_exported_class_has_or_is_using_private_name_1;
            case 180:
            case 185:
              return h.errorModuleName ? p.Parameter_0_of_constructor_signature_from_exported_interface_has_or_is_using_name_1_from_private_module_2 : p.Parameter_0_of_constructor_signature_from_exported_interface_has_or_is_using_private_name_1;
            case 179:
              return h.errorModuleName ? p.Parameter_0_of_call_signature_from_exported_interface_has_or_is_using_name_1_from_private_module_2 : p.Parameter_0_of_call_signature_from_exported_interface_has_or_is_using_private_name_1;
            case 181:
              return h.errorModuleName ? p.Parameter_0_of_index_signature_from_exported_interface_has_or_is_using_name_1_from_private_module_2 : p.Parameter_0_of_index_signature_from_exported_interface_has_or_is_using_private_name_1;
            case 174:
            case 173:
              return zs(e.parent) ? h.errorModuleName ? h.accessibility === 2 ? p.Parameter_0_of_public_static_method_from_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named : p.Parameter_0_of_public_static_method_from_exported_class_has_or_is_using_name_1_from_private_module_2 : p.Parameter_0_of_public_static_method_from_exported_class_has_or_is_using_private_name_1 : e.parent.parent.kind === 263 ? h.errorModuleName ? h.accessibility === 2 ? p.Parameter_0_of_public_method_from_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named : p.Parameter_0_of_public_method_from_exported_class_has_or_is_using_name_1_from_private_module_2 : p.Parameter_0_of_public_method_from_exported_class_has_or_is_using_private_name_1 : h.errorModuleName ? p.Parameter_0_of_method_from_exported_interface_has_or_is_using_name_1_from_private_module_2 : p.Parameter_0_of_method_from_exported_interface_has_or_is_using_private_name_1;
            case 262:
            case 184:
              return h.errorModuleName ? h.accessibility === 2 ? p.Parameter_0_of_exported_function_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named : p.Parameter_0_of_exported_function_has_or_is_using_name_1_from_private_module_2 : p.Parameter_0_of_exported_function_has_or_is_using_private_name_1;
            case 178:
            case 177:
              return h.errorModuleName ? h.accessibility === 2 ? p.Parameter_0_of_accessor_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named : p.Parameter_0_of_accessor_has_or_is_using_name_1_from_private_module_2 : p.Parameter_0_of_accessor_has_or_is_using_private_name_1;
            default:
              return E.fail(`Unknown parent for parameter: ${E.formatSyntaxKind(e.parent.kind)}`);
          }
        }
        function _() {
          let h;
          switch (e.parent.kind) {
            case 263:
              h = p.Type_parameter_0_of_exported_class_has_or_is_using_private_name_1;
              break;
            case 264:
              h = p.Type_parameter_0_of_exported_interface_has_or_is_using_private_name_1;
              break;
            case 200:
              h = p.Type_parameter_0_of_exported_mapped_object_type_is_using_private_name_1;
              break;
            case 185:
            case 180:
              h = p.Type_parameter_0_of_constructor_signature_from_exported_interface_has_or_is_using_private_name_1;
              break;
            case 179:
              h = p.Type_parameter_0_of_call_signature_from_exported_interface_has_or_is_using_private_name_1;
              break;
            case 174:
            case 173:
              zs(e.parent) ? h = p.Type_parameter_0_of_public_static_method_from_exported_class_has_or_is_using_private_name_1 : e.parent.parent.kind === 263 ? h = p.Type_parameter_0_of_public_method_from_exported_class_has_or_is_using_private_name_1 : h = p.Type_parameter_0_of_method_from_exported_interface_has_or_is_using_private_name_1;
              break;
            case 184:
            case 262:
              h = p.Type_parameter_0_of_exported_function_has_or_is_using_private_name_1;
              break;
            case 195:
              h = p.Extends_clause_for_inferred_type_0_has_or_is_using_private_name_1;
              break;
            case 265:
              h = p.Type_parameter_0_of_exported_type_alias_has_or_is_using_private_name_1;
              break;
            default:
              return E.fail("This is unknown parent for type parameter: " + e.parent.kind);
          }
          return {
            diagnosticMessage: h,
            errorNode: e,
            typeName: e.name
          };
        }
        function u() {
          let h;
          return el(e.parent.parent) ? h = Q_(e.parent) && e.parent.token === 119 ? p.Implements_clause_of_exported_class_0_has_or_is_using_private_name_1 : e.parent.parent.name ? p.extends_clause_of_exported_class_0_has_or_is_using_private_name_1 : p.extends_clause_of_exported_class_has_or_is_using_private_name_0 : h = p.extends_clause_of_exported_interface_0_has_or_is_using_private_name_1, {
            diagnosticMessage: h,
            errorNode: e,
            typeName: ls(e.parent.parent)
          };
        }
        function g() {
          return {
            diagnosticMessage: p.Import_declaration_0_is_using_private_name_1,
            errorNode: e,
            typeName: e.name
          };
        }
        function m(h) {
          return {
            diagnosticMessage: h.errorModuleName ? p.Exported_type_alias_0_has_or_is_using_private_name_1_from_module_2 : p.Exported_type_alias_0_has_or_is_using_private_name_1,
            errorNode: Dp(e) ? E.checkDefined(e.typeExpression) : e.type,
            typeName: Dp(e) ? ls(e) : e.name
          };
        }
      }
      function nie(e) {
        const t = {
          219: p.Add_a_return_type_to_the_function_expression,
          218: p.Add_a_return_type_to_the_function_expression,
          174: p.Add_a_return_type_to_the_method,
          177: p.Add_a_return_type_to_the_get_accessor_declaration,
          178: p.Add_a_type_to_parameter_of_the_set_accessor_declaration,
          262: p.Add_a_return_type_to_the_function_declaration,
          180: p.Add_a_return_type_to_the_function_declaration,
          169: p.Add_a_type_annotation_to_the_parameter_0,
          260: p.Add_a_type_annotation_to_the_variable_0,
          172: p.Add_a_type_annotation_to_the_property_0,
          171: p.Add_a_type_annotation_to_the_property_0,
          277: p.Move_the_expression_in_default_export_to_a_variable_and_add_a_type_annotation_to_it
        }, n = {
          218: p.Function_must_have_an_explicit_return_type_annotation_with_isolatedDeclarations,
          262: p.Function_must_have_an_explicit_return_type_annotation_with_isolatedDeclarations,
          219: p.Function_must_have_an_explicit_return_type_annotation_with_isolatedDeclarations,
          174: p.Method_must_have_an_explicit_return_type_annotation_with_isolatedDeclarations,
          180: p.Method_must_have_an_explicit_return_type_annotation_with_isolatedDeclarations,
          177: p.At_least_one_accessor_must_have_an_explicit_type_annotation_with_isolatedDeclarations,
          178: p.At_least_one_accessor_must_have_an_explicit_type_annotation_with_isolatedDeclarations,
          169: p.Parameter_must_have_an_explicit_type_annotation_with_isolatedDeclarations,
          260: p.Variable_must_have_an_explicit_type_annotation_with_isolatedDeclarations,
          172: p.Property_must_have_an_explicit_type_annotation_with_isolatedDeclarations,
          171: p.Property_must_have_an_explicit_type_annotation_with_isolatedDeclarations,
          167: p.Computed_property_names_on_class_or_object_literals_cannot_be_inferred_with_isolatedDeclarations,
          305: p.Objects_that_contain_spread_assignments_can_t_be_inferred_with_isolatedDeclarations,
          304: p.Objects_that_contain_shorthand_properties_can_t_be_inferred_with_isolatedDeclarations,
          209: p.Only_const_arrays_can_be_inferred_with_isolatedDeclarations,
          277: p.Default_exports_can_t_be_inferred_with_isolatedDeclarations,
          230: p.Arrays_with_spread_elements_can_t_inferred_with_isolatedDeclarations
        };
        return i;
        function i(w) {
          if (_r(w, Q_))
            return Kr(w, p.Extends_clause_can_t_contain_an_expression_with_isolatedDeclarations);
          if ((Yd(w) || Vb(w.parent)) && (Gu(w) || to(w)))
            return k(w);
          switch (E.type(w), w.kind) {
            case 177:
            case 178:
              return o(w);
            case 167:
            case 304:
            case 305:
              return _(w);
            case 209:
            case 230:
              return u(w);
            case 174:
            case 180:
            case 218:
            case 219:
            case 262:
              return g(w);
            case 208:
              return m(w);
            case 172:
            case 260:
              return h(w);
            case 169:
              return S(w);
            case 303:
              return D(w.initializer);
            case 231:
              return T(w);
            default:
              return D(w);
          }
        }
        function s(w) {
          const A = _r(w, (O) => Oo(O) || yi(O) || Zn(O) || is(O) || Ni(O));
          if (A)
            return Oo(A) ? A : gf(A) ? _r(A, (O) => uo(O) && !Xo(O)) : yi(A) ? void 0 : A;
        }
        function o(w) {
          const { getAccessor: A, setAccessor: O } = Mb(w.symbol.declarations, w), F = ($d(w) ? w.parameters[0] : w) ?? w, j = Kr(F, n[w.kind]);
          return O && Ws(j, Kr(O, t[O.kind])), A && Ws(j, Kr(A, t[A.kind])), j;
        }
        function c(w, A) {
          const O = s(w);
          if (O) {
            const F = Oo(O) || !O.name ? "" : Go(
              O.name,
              /*includeTrivia*/
              !1
            );
            Ws(A, Kr(O, t[O.kind], F));
          }
          return A;
        }
        function _(w) {
          const A = Kr(w, n[w.kind]);
          return c(w, A), A;
        }
        function u(w) {
          const A = Kr(w, n[w.kind]);
          return c(w, A), A;
        }
        function g(w) {
          const A = Kr(w, n[w.kind]);
          return c(w, A), Ws(A, Kr(w, t[w.kind])), A;
        }
        function m(w) {
          return Kr(w, p.Binding_elements_can_t_be_exported_directly_with_isolatedDeclarations);
        }
        function h(w) {
          const A = Kr(w, n[w.kind]), O = Go(
            w.name,
            /*includeTrivia*/
            !1
          );
          return Ws(A, Kr(w, t[w.kind], O)), A;
        }
        function S(w) {
          if ($d(w.parent))
            return o(w.parent);
          const A = e.requiresAddingImplicitUndefined(w, w.parent);
          if (!A && w.initializer)
            return D(w.initializer);
          const O = A ? p.Declaration_emit_for_this_parameter_requires_implicitly_adding_undefined_to_its_type_This_is_not_supported_with_isolatedDeclarations : n[w.kind], F = Kr(w, O), j = Go(
            w.name,
            /*includeTrivia*/
            !1
          );
          return Ws(F, Kr(w, t[w.kind], j)), F;
        }
        function T(w) {
          return D(w, p.Inference_from_class_expressions_is_not_supported_with_isolatedDeclarations);
        }
        function k(w) {
          const A = Kr(w, p.Type_containing_private_name_0_can_t_be_used_with_isolatedDeclarations, Go(
            w,
            /*includeTrivia*/
            !1
          ));
          return c(w, A), A;
        }
        function D(w, A) {
          const O = s(w);
          let F;
          if (O) {
            const j = Oo(O) || !O.name ? "" : Go(
              O.name,
              /*includeTrivia*/
              !1
            ), z = _r(w.parent, (V) => Oo(V) || (yi(V) ? "quit" : !Zu(V) && !TF(V) && !p6(V)));
            O === z ? (F = Kr(w, A ?? n[O.kind]), Ws(F, Kr(O, t[O.kind], j))) : (F = Kr(w, A ?? p.Expression_type_can_t_be_inferred_with_isolatedDeclarations), Ws(F, Kr(O, t[O.kind], j)), Ws(F, Kr(w, p.Add_satisfies_and_a_type_assertion_to_this_expression_satisfies_T_as_T_to_make_the_type_explicit)));
          } else
            F = Kr(w, A ?? p.Expression_type_can_t_be_inferred_with_isolatedDeclarations);
          return F;
        }
      }
      function iie(e, t, n) {
        const i = e.getCompilerOptions(), s = Tn(v5(e, n), r5);
        return _s(s, n) ? cA(
          t,
          e,
          N,
          i,
          [n],
          [WW],
          /*allowDtsFiles*/
          !1
        ).diagnostics : void 0;
      }
      var sA = 531469, aA = 8;
      function WW(e) {
        const t = () => E.fail("Diagnostic emitted without context");
        let n = t, i = !0, s = !1, o = !1, c = !1, _ = !1, u, g, m, h;
        const { factory: S } = e, T = e.getEmitHost();
        let k = () => {
        };
        const D = {
          trackSymbol: ie,
          reportInaccessibleThisError: Me,
          reportInaccessibleUniqueSymbolError: q,
          reportCyclicStructureError: he,
          reportPrivateInBaseOfClassExpression: fe,
          reportLikelyUnsafeImportRequiredError: De,
          reportTruncationError: re,
          moduleResolverHost: T,
          reportNonlocalAugmentation: xe,
          reportNonSerializableProperty: ue,
          reportInferenceFallback: ee,
          pushErrorFallbackNode(ne) {
            const rt = A, Q = k;
            k = () => {
              k = Q, A = rt;
            }, A = ne;
          },
          popErrorFallbackNode() {
            k();
          }
        };
        let w, A, O, F, j, z;
        const V = e.getEmitResolver(), G = e.getCompilerOptions(), W = nie(V), { stripInternal: pe, isolatedDeclarations: K } = G;
        return nt;
        function U(ne) {
          V.getPropertiesOfContainerFunction(ne).forEach((rt) => {
            if (Ix(rt.valueDeclaration)) {
              const Q = _n(rt.valueDeclaration) ? rt.valueDeclaration.left : rt.valueDeclaration;
              e.addDiagnostic(Kr(
                Q,
                p.Assigning_properties_to_functions_without_declaring_them_is_not_supported_with_isolatedDeclarations_Add_an_explicit_declaration_for_the_properties_assigned_to_this_function
              ));
            }
          });
        }
        function ee(ne) {
          !K || $u(O) || Er(ne) === O && (Zn(ne) && V.isExpandoFunctionDeclaration(ne) ? U(ne) : e.addDiagnostic(W(ne)));
        }
        function te(ne) {
          if (ne.accessibility === 0) {
            if (ne.aliasesToMakeVisible)
              if (!g)
                g = ne.aliasesToMakeVisible;
              else
                for (const rt of ne.aliasesToMakeVisible)
                  $f(g, rt);
          } else if (ne.accessibility !== 3) {
            const rt = n(ne);
            if (rt)
              return rt.typeName ? e.addDiagnostic(Kr(ne.errorNode || rt.errorNode, rt.diagnosticMessage, Go(rt.typeName), ne.errorSymbolName, ne.errorModuleName)) : e.addDiagnostic(Kr(ne.errorNode || rt.errorNode, rt.diagnosticMessage, ne.errorSymbolName, ne.errorModuleName)), !0;
          }
          return !1;
        }
        function ie(ne, rt, Q) {
          return ne.flags & 262144 ? !1 : te(V.isSymbolAccessible(
            ne,
            rt,
            Q,
            /*shouldComputeAliasToMarkVisible*/
            !0
          ));
        }
        function fe(ne) {
          (w || A) && e.addDiagnostic(
            Ws(
              Kr(w || A, p.Property_0_of_exported_anonymous_class_type_may_not_be_private_or_protected, ne),
              ...Zn((w || A).parent) ? [Kr(w || A, p.Add_a_type_annotation_to_the_variable_0, me())] : []
            )
          );
        }
        function me() {
          return w ? _o(w) : A && ls(A) ? _o(ls(A)) : A && Oo(A) ? A.isExportEquals ? "export=" : "default" : "(Missing)";
        }
        function q() {
          (w || A) && e.addDiagnostic(Kr(w || A, p.The_inferred_type_of_0_references_an_inaccessible_1_type_A_type_annotation_is_necessary, me(), "unique symbol"));
        }
        function he() {
          (w || A) && e.addDiagnostic(Kr(w || A, p.The_inferred_type_of_0_references_a_type_with_a_cyclic_structure_which_cannot_be_trivially_serialized_A_type_annotation_is_necessary, me()));
        }
        function Me() {
          (w || A) && e.addDiagnostic(Kr(w || A, p.The_inferred_type_of_0_references_an_inaccessible_1_type_A_type_annotation_is_necessary, me(), "this"));
        }
        function De(ne) {
          (w || A) && e.addDiagnostic(Kr(w || A, p.The_inferred_type_of_0_cannot_be_named_without_a_reference_to_1_This_is_likely_not_portable_A_type_annotation_is_necessary, me(), ne));
        }
        function re() {
          (w || A) && e.addDiagnostic(Kr(w || A, p.The_inferred_type_of_this_node_exceeds_the_maximum_length_the_compiler_will_serialize_An_explicit_type_annotation_is_needed));
        }
        function xe(ne, rt, Q) {
          var Ne;
          const qe = (Ne = rt.declarations) == null ? void 0 : Ne.find((bt) => Er(bt) === ne), Ze = Tn(Q.declarations, (bt) => Er(bt) !== ne);
          if (qe && Ze)
            for (const bt of Ze)
              e.addDiagnostic(Ws(
                Kr(bt, p.Declaration_augments_declaration_in_another_file_This_cannot_be_serialized),
                Kr(qe, p.This_is_the_declaration_being_augmented_Consider_moving_the_augmenting_declaration_into_the_same_file)
              ));
        }
        function ue(ne) {
          (w || A) && e.addDiagnostic(Kr(w || A, p.The_type_of_this_node_cannot_be_serialized_because_its_property_0_cannot_be_serialized, ne));
        }
        function Xe(ne) {
          const rt = n;
          n = (Ne) => Ne.errorNode && iA(Ne.errorNode) ? gv(Ne.errorNode)(Ne) : {
            diagnosticMessage: Ne.errorModuleName ? p.Declaration_emit_for_this_file_requires_using_private_name_0_from_module_1_An_explicit_type_annotation_may_unblock_declaration_emit : p.Declaration_emit_for_this_file_requires_using_private_name_0_An_explicit_type_annotation_may_unblock_declaration_emit,
            errorNode: Ne.errorNode || ne
          };
          const Q = V.getDeclarationStatementsForSourceFile(ne, sA, aA, D);
          return n = rt, Q;
        }
        function nt(ne) {
          if (ne.kind === 307 && ne.isDeclarationFile)
            return ne;
          if (ne.kind === 308) {
            s = !0, F = [], j = [], z = [];
            let ft = !1;
            const _t = S.createBundle(
              fr(ne.sourceFiles, (Ve) => {
                if (Ve.isDeclarationFile) return;
                if (ft = ft || Ve.hasNoDefaultLib, O = Ve, u = Ve, g = void 0, h = !1, m = /* @__PURE__ */ new Map(), n = t, c = !1, _ = !1, Ne(Ve), H_(Ve) || Kf(Ve)) {
                  o = !1, i = !1;
                  const Zr = $u(Ve) ? S.createNodeArray(Xe(Ve)) : Lr(Ve.statements, ci, yi);
                  return S.updateSourceFile(
                    Ve,
                    [S.createModuleDeclaration(
                      [S.createModifier(
                        138
                        /* DeclareKeyword */
                      )],
                      S.createStringLiteral(WB(e.getEmitHost(), Ve)),
                      S.createModuleBlock(ot(S.createNodeArray(ii(Zr)), Ve.statements))
                    )],
                    /*isDeclarationFile*/
                    !0,
                    /*referencedFiles*/
                    [],
                    /*typeReferences*/
                    [],
                    /*hasNoDefaultLib*/
                    !1,
                    /*libReferences*/
                    []
                  );
                }
                i = !0;
                const Rt = $u(Ve) ? S.createNodeArray(Xe(Ve)) : Lr(Ve.statements, ci, yi);
                return S.updateSourceFile(
                  Ve,
                  ii(Rt),
                  /*isDeclarationFile*/
                  !0,
                  /*referencedFiles*/
                  [],
                  /*typeReferences*/
                  [],
                  /*hasNoDefaultLib*/
                  !1,
                  /*libReferences*/
                  []
                );
              })
            ), kt = Un(Bl(iw(
              ne,
              T,
              /*forceDtsPaths*/
              !0
            ).declarationFilePath));
            return _t.syntheticFileReferences = Ie(kt), _t.syntheticTypeReferences = Ze(), _t.syntheticLibReferences = bt(), _t.hasNoDefaultLib = ft, _t;
          }
          i = !0, c = !1, _ = !1, u = ne, O = ne, n = t, s = !1, o = !1, h = !1, g = void 0, m = /* @__PURE__ */ new Map(), F = [], j = [], z = [], Ne(O);
          let rt;
          if ($u(O))
            rt = S.createNodeArray(Xe(ne));
          else {
            const ft = Lr(ne.statements, ci, yi);
            rt = ot(S.createNodeArray(ii(ft)), ne.statements), ol(ne) && (!o || c && !_) && (rt = ot(S.createNodeArray([...rt, AN(S)]), rt));
          }
          const Q = Un(Bl(iw(
            ne,
            T,
            /*forceDtsPaths*/
            !0
          ).declarationFilePath));
          return S.updateSourceFile(
            ne,
            rt,
            /*isDeclarationFile*/
            !0,
            Ie(Q),
            Ze(),
            ne.hasNoDefaultLib,
            bt()
          );
          function Ne(ft) {
            F = Ji(F, fr(ft.referencedFiles, (_t) => [ft, _t])), j = Ji(j, ft.typeReferenceDirectives), z = Ji(z, ft.libReferenceDirectives);
          }
          function qe(ft) {
            const _t = { ...ft };
            return _t.pos = -1, _t.end = -1, _t;
          }
          function Ze() {
            return Oi(j, (ft) => {
              if (ft.preserve)
                return qe(ft);
            });
          }
          function bt() {
            return Oi(z, (ft) => {
              if (ft.preserve)
                return qe(ft);
            });
          }
          function Ie(ft) {
            return Oi(F, ([_t, kt]) => {
              if (!kt.preserve) return;
              const Ve = T.getSourceFileFromReference(_t, kt);
              if (!Ve)
                return;
              let Rt;
              if (Ve.isDeclarationFile)
                Rt = Ve.fileName;
              else {
                if (s && _s(ne.sourceFiles, Ve)) return;
                const mt = iw(
                  Ve,
                  T,
                  /*forceDtsPaths*/
                  !0
                );
                Rt = mt.declarationFilePath || mt.jsFilePath || Ve.fileName;
              }
              if (!Rt) return;
              const Zr = YT(
                ft,
                Rt,
                T.getCurrentDirectory(),
                T.getCanonicalFileName,
                /*isAbsolutePathAnUrl*/
                !1
              ), we = qe(kt);
              return we.fileName = Zr, we;
            });
          }
        }
        function oe(ne) {
          if (ne.kind === 80)
            return ne;
          return ne.kind === 207 ? S.updateArrayBindingPattern(ne, Lr(ne.elements, rt, S7)) : S.updateObjectBindingPattern(ne, Lr(ne.elements, rt, ya));
          function rt(Q) {
            return Q.kind === 232 ? Q : (Q.propertyName && ia(Q.propertyName) && to(Q.propertyName.expression) && Wt(Q.propertyName.expression, u), S.updateBindingElement(
              Q,
              Q.dotDotDotToken,
              Q.propertyName,
              oe(Q.name),
              /*initializer*/
              void 0
            ));
          }
        }
        function ve(ne, rt) {
          let Q;
          h || (Q = n, n = gv(ne));
          const Ne = S.updateParameterDeclaration(
            ne,
            yje(S, ne, rt),
            ne.dotDotDotToken,
            oe(ne.name),
            V.isOptionalParameter(ne) ? ne.questionToken || S.createToken(
              58
              /* QuestionToken */
            ) : void 0,
            Ee(
              ne,
              /*ignorePrivate*/
              !0
            ),
            // Ignore private param props, since this type is going straight back into a param
            Pe(ne)
          );
          return h || (n = Q), Ne;
        }
        function se(ne) {
          return Q1e(ne) && !!ne.initializer && V.isLiteralConstDeclaration(ds(ne));
        }
        function Pe(ne) {
          if (se(ne)) {
            const rt = Hee(ne.initializer);
            return aF(rt) || ee(ne), V.createLiteralConstValue(ds(ne, Q1e), D);
          }
        }
        function Ee(ne, rt) {
          if (!rt && $_(
            ne,
            2
            /* Private */
          ) || se(ne))
            return;
          if (!Oo(ne) && !ya(ne) && ne.type && (!Ni(ne) || !V.requiresAddingImplicitUndefined(ne, u)))
            return $e(ne.type, li, si);
          const Q = w;
          w = ne.name;
          let Ne;
          h || (Ne = n, iA(ne) && (n = gv(ne)));
          let qe;
          return oF(ne) ? qe = V.createTypeOfDeclaration(ne, u, sA, aA, D) : Ts(ne) ? qe = V.createReturnTypeOfSignatureDeclaration(ne, u, sA, aA, D) : E.assertNever(ne), w = Q, h || (n = Ne), qe ?? S.createKeywordTypeNode(
            133
            /* AnyKeyword */
          );
        }
        function Ce(ne) {
          switch (ne = ds(ne), ne.kind) {
            case 262:
            case 267:
            case 264:
            case 263:
            case 265:
            case 266:
              return !V.isDeclarationVisible(ne);
            // The following should be doing their own visibility checks based on filtering their members
            case 260:
              return !St(ne);
            case 271:
            case 272:
            case 278:
            case 277:
              return !1;
            case 175:
              return !0;
          }
          return !1;
        }
        function ze(ne) {
          var rt;
          if (ne.body)
            return !0;
          const Q = (rt = ne.symbol.declarations) == null ? void 0 : rt.filter((Ne) => Tc(Ne) && !Ne.body);
          return !Q || Q.indexOf(ne) === Q.length - 1;
        }
        function St(ne) {
          return vl(ne) ? !1 : Ps(ne.name) ? at(ne.name.elements, St) : V.isDeclarationVisible(ne);
        }
        function Bt(ne, rt, Q) {
          if ($_(
            ne,
            2
            /* Private */
          ))
            return S.createNodeArray();
          const Ne = fr(rt, (qe) => ve(qe, Q));
          return Ne ? S.createNodeArray(Ne, rt.hasTrailingComma) : S.createNodeArray();
        }
        function tr(ne, rt) {
          let Q;
          if (!rt) {
            const Ne = Ob(ne);
            Ne && (Q = [ve(Ne)]);
          }
          if (P_(ne)) {
            let Ne;
            if (!rt) {
              const qe = K4(ne);
              qe && (Ne = ve(qe));
            }
            Ne || (Ne = S.createParameterDeclaration(
              /*modifiers*/
              void 0,
              /*dotDotDotToken*/
              void 0,
              "value"
            )), Q = Dr(Q, Ne);
          }
          return S.createNodeArray(Q || Ue);
        }
        function Fr(ne, rt) {
          return $_(
            ne,
            2
            /* Private */
          ) ? void 0 : Lr(rt, li, Fo);
        }
        function it(ne) {
          return xi(ne) || Ap(ne) || zc(ne) || el(ne) || Yl(ne) || Ts(ne) || r1(ne) || IS(ne);
        }
        function Wt(ne, rt) {
          const Q = V.isEntityNameVisible(ne, rt);
          te(Q);
        }
        function Wr(ne, rt) {
          return pf(ne) && pf(rt) && (ne.jsDoc = rt.jsDoc), Zc(ne, sm(rt));
        }
        function ai(ne, rt) {
          if (rt) {
            if (o = o || ne.kind !== 267 && ne.kind !== 205, Ba(rt) && s) {
              const Q = OK(e.getEmitHost(), V, ne);
              if (Q)
                return S.createStringLiteral(Q);
            }
            return rt;
          }
        }
        function zi(ne) {
          if (V.isDeclarationVisible(ne))
            if (ne.moduleReference.kind === 283) {
              const rt = J4(ne);
              return S.updateImportEqualsDeclaration(
                ne,
                ne.modifiers,
                ne.isTypeOnly,
                ne.name,
                S.updateExternalModuleReference(ne.moduleReference, ai(ne, rt))
              );
            } else {
              const rt = n;
              return n = gv(ne), Wt(ne.moduleReference, u), n = rt, ne;
            }
        }
        function Pt(ne) {
          if (!ne.importClause)
            return S.updateImportDeclaration(
              ne,
              ne.modifiers,
              ne.importClause,
              ai(ne, ne.moduleSpecifier),
              Fn(ne.attributes)
            );
          const rt = ne.importClause && ne.importClause.name && V.isDeclarationVisible(ne.importClause) ? ne.importClause.name : void 0;
          if (!ne.importClause.namedBindings)
            return rt && S.updateImportDeclaration(
              ne,
              ne.modifiers,
              S.updateImportClause(
                ne.importClause,
                ne.importClause.isTypeOnly,
                rt,
                /*namedBindings*/
                void 0
              ),
              ai(ne, ne.moduleSpecifier),
              Fn(ne.attributes)
            );
          if (ne.importClause.namedBindings.kind === 274) {
            const Ne = V.isDeclarationVisible(ne.importClause.namedBindings) ? ne.importClause.namedBindings : (
              /*namedBindings*/
              void 0
            );
            return rt || Ne ? S.updateImportDeclaration(
              ne,
              ne.modifiers,
              S.updateImportClause(
                ne.importClause,
                ne.importClause.isTypeOnly,
                rt,
                Ne
              ),
              ai(ne, ne.moduleSpecifier),
              Fn(ne.attributes)
            ) : void 0;
          }
          const Q = Oi(ne.importClause.namedBindings.elements, (Ne) => V.isDeclarationVisible(Ne) ? Ne : void 0);
          if (Q && Q.length || rt)
            return S.updateImportDeclaration(
              ne,
              ne.modifiers,
              S.updateImportClause(
                ne.importClause,
                ne.importClause.isTypeOnly,
                rt,
                Q && Q.length ? S.updateNamedImports(ne.importClause.namedBindings, Q) : void 0
              ),
              ai(ne, ne.moduleSpecifier),
              Fn(ne.attributes)
            );
          if (V.isImportRequiredByAugmentation(ne))
            return K && e.addDiagnostic(Kr(ne, p.Declaration_emit_for_this_file_requires_preserving_this_import_for_augmentations_This_is_not_supported_with_isolatedDeclarations)), S.updateImportDeclaration(
              ne,
              ne.modifiers,
              /*importClause*/
              void 0,
              ai(ne, ne.moduleSpecifier),
              Fn(ne.attributes)
            );
        }
        function Fn(ne) {
          const rt = R6(ne);
          return ne && rt !== void 0 ? ne : void 0;
        }
        function ii(ne) {
          for (; Ar(g); ) {
            const Q = g.shift();
            if (!B7(Q))
              return E.fail(`Late replaced statement was found which is not handled by the declaration transformer!: ${E.formatSyntaxKind(Q.kind)}`);
            const Ne = i;
            i = Q.parent && xi(Q.parent) && !(ol(Q.parent) && s);
            const qe = er(Q);
            i = Ne, m.set(e_(Q), qe);
          }
          return Lr(ne, rt, yi);
          function rt(Q) {
            if (B7(Q)) {
              const Ne = e_(Q);
              if (m.has(Ne)) {
                const qe = m.get(Ne);
                return m.delete(Ne), qe && ((fs(qe) ? at(qe, T7) : T7(qe)) && (c = !0), xi(Q.parent) && (fs(qe) ? at(qe, e3) : e3(qe)) && (o = !0)), qe;
              }
            }
            return Q;
          }
        }
        function li(ne) {
          if (ks(ne)) return;
          if (Dl(ne)) {
            if (Ce(ne)) return;
            if (Ph(ne)) {
              if (K) {
                if (!V.isDefinitelyReferenceToGlobalSymbolObject(ne.name.expression)) {
                  if (el(ne.parent) || ua(ne.parent)) {
                    e.addDiagnostic(Kr(ne, p.Computed_property_names_on_class_or_object_literals_cannot_be_inferred_with_isolatedDeclarations));
                    return;
                  } else if (
                    // Type declarations just need to double-check that the input computed name is an entity name expression
                    (Yl(ne.parent) || Yu(ne.parent)) && !to(ne.name.expression)
                  ) {
                    e.addDiagnostic(Kr(ne, p.Computed_properties_must_be_number_or_string_literals_variables_or_dotted_expressions_with_isolatedDeclarations));
                    return;
                  }
                }
              } else if (!V.isLateBound(ds(ne)) || !to(ne.name.expression))
                return;
            }
          }
          if (Ts(ne) && V.isImplementationOfOverload(ne) || wte(ne)) return;
          let rt;
          it(ne) && (rt = u, u = ne);
          const Q = n, Ne = iA(ne), qe = h;
          let Ze = (ne.kind === 187 || ne.kind === 200) && ne.parent.kind !== 265;
          if ((uc(ne) || Xp(ne)) && $_(
            ne,
            2
            /* Private */
          ))
            return ne.symbol && ne.symbol.declarations && ne.symbol.declarations[0] !== ne ? void 0 : bt(S.createPropertyDeclaration(
              ms(ne),
              ne.name,
              /*questionOrExclamationToken*/
              void 0,
              /*type*/
              void 0,
              /*initializer*/
              void 0
            ));
          if (Ne && !h && (n = gv(ne)), Vb(ne) && Wt(ne.exprName, u), Ze && (h = !0), bje(ne))
            switch (ne.kind) {
              case 233: {
                (Gu(ne.expression) || to(ne.expression)) && Wt(ne.expression, u);
                const Ie = yr(ne, li, e);
                return bt(S.updateExpressionWithTypeArguments(Ie, Ie.expression, Ie.typeArguments));
              }
              case 183: {
                Wt(ne.typeName, u);
                const Ie = yr(ne, li, e);
                return bt(S.updateTypeReferenceNode(Ie, Ie.typeName, Ie.typeArguments));
              }
              case 180:
                return bt(S.updateConstructSignature(
                  ne,
                  Fr(ne, ne.typeParameters),
                  Bt(ne, ne.parameters),
                  Ee(ne)
                ));
              case 176: {
                const Ie = S.createConstructorDeclaration(
                  /*modifiers*/
                  ms(ne),
                  Bt(
                    ne,
                    ne.parameters,
                    0
                    /* None */
                  ),
                  /*body*/
                  void 0
                );
                return bt(Ie);
              }
              case 174: {
                if (Di(ne.name))
                  return bt(
                    /*returnValue*/
                    void 0
                  );
                const Ie = S.createMethodDeclaration(
                  ms(ne),
                  /*asteriskToken*/
                  void 0,
                  ne.name,
                  ne.questionToken,
                  Fr(ne, ne.typeParameters),
                  Bt(ne, ne.parameters),
                  Ee(ne),
                  /*body*/
                  void 0
                );
                return bt(Ie);
              }
              case 177:
                return Di(ne.name) ? bt(
                  /*returnValue*/
                  void 0
                ) : bt(S.updateGetAccessorDeclaration(
                  ne,
                  ms(ne),
                  ne.name,
                  tr(ne, $_(
                    ne,
                    2
                    /* Private */
                  )),
                  Ee(ne),
                  /*body*/
                  void 0
                ));
              case 178:
                return Di(ne.name) ? bt(
                  /*returnValue*/
                  void 0
                ) : bt(S.updateSetAccessorDeclaration(
                  ne,
                  ms(ne),
                  ne.name,
                  tr(ne, $_(
                    ne,
                    2
                    /* Private */
                  )),
                  /*body*/
                  void 0
                ));
              case 172:
                return Di(ne.name) ? bt(
                  /*returnValue*/
                  void 0
                ) : bt(S.updatePropertyDeclaration(
                  ne,
                  ms(ne),
                  ne.name,
                  ne.questionToken,
                  Ee(ne),
                  Pe(ne)
                ));
              case 171:
                return Di(ne.name) ? bt(
                  /*returnValue*/
                  void 0
                ) : bt(S.updatePropertySignature(
                  ne,
                  ms(ne),
                  ne.name,
                  ne.questionToken,
                  Ee(ne)
                ));
              case 173:
                return Di(ne.name) ? bt(
                  /*returnValue*/
                  void 0
                ) : bt(S.updateMethodSignature(
                  ne,
                  ms(ne),
                  ne.name,
                  ne.questionToken,
                  Fr(ne, ne.typeParameters),
                  Bt(ne, ne.parameters),
                  Ee(ne)
                ));
              case 179:
                return bt(
                  S.updateCallSignature(
                    ne,
                    Fr(ne, ne.typeParameters),
                    Bt(ne, ne.parameters),
                    Ee(ne)
                  )
                );
              case 181:
                return bt(S.updateIndexSignature(
                  ne,
                  ms(ne),
                  Bt(ne, ne.parameters),
                  $e(ne.type, li, si) || S.createKeywordTypeNode(
                    133
                    /* AnyKeyword */
                  )
                ));
              case 260:
                return Ps(ne.name) ? zn(ne.name) : (Ze = !0, h = !0, bt(S.updateVariableDeclaration(
                  ne,
                  ne.name,
                  /*exclamationToken*/
                  void 0,
                  Ee(ne),
                  Pe(ne)
                )));
              case 168:
                return cn(ne) && (ne.default || ne.constraint) ? bt(S.updateTypeParameterDeclaration(
                  ne,
                  ne.modifiers,
                  ne.name,
                  /*constraint*/
                  void 0,
                  /*defaultType*/
                  void 0
                )) : bt(yr(ne, li, e));
              case 194: {
                const Ie = $e(ne.checkType, li, si), ft = $e(ne.extendsType, li, si), _t = u;
                u = ne.trueType;
                const kt = $e(ne.trueType, li, si);
                u = _t;
                const Ve = $e(ne.falseType, li, si);
                return E.assert(Ie), E.assert(ft), E.assert(kt), E.assert(Ve), bt(S.updateConditionalTypeNode(ne, Ie, ft, kt, Ve));
              }
              case 184:
                return bt(S.updateFunctionTypeNode(
                  ne,
                  Lr(ne.typeParameters, li, Fo),
                  Bt(ne, ne.parameters),
                  E.checkDefined($e(ne.type, li, si))
                ));
              case 185:
                return bt(S.updateConstructorTypeNode(
                  ne,
                  ms(ne),
                  Lr(ne.typeParameters, li, Fo),
                  Bt(ne, ne.parameters),
                  E.checkDefined($e(ne.type, li, si))
                ));
              case 205:
                return Dh(ne) ? bt(S.updateImportTypeNode(
                  ne,
                  S.updateLiteralTypeNode(ne.argument, ai(ne, ne.argument.literal)),
                  ne.attributes,
                  ne.qualifier,
                  Lr(ne.typeArguments, li, si),
                  ne.isTypeOf
                )) : bt(ne);
              default:
                E.assertNever(ne, `Attempted to process unhandled node kind: ${E.formatSyntaxKind(ne.kind)}`);
            }
          return zx(ne) && Js(O, ne.pos).line === Js(O, ne.end).line && an(
            ne,
            1
            /* SingleLine */
          ), bt(yr(ne, li, e));
          function bt(Ie) {
            return Ie && Ne && Ph(ne) && bi(ne), it(ne) && (u = rt), Ne && !h && (n = Q), Ze && (h = qe), Ie === ne ? Ie : Ie && xn(Wr(Ie, ne), ne);
          }
        }
        function cn(ne) {
          return ne.parent.kind === 174 && $_(
            ne.parent,
            2
            /* Private */
          );
        }
        function ci(ne) {
          if (!vje(ne) || ks(ne)) return;
          switch (ne.kind) {
            case 278:
              return xi(ne.parent) && (o = !0), _ = !0, S.updateExportDeclaration(
                ne,
                ne.modifiers,
                ne.isTypeOnly,
                ne.exportClause,
                ai(ne, ne.moduleSpecifier),
                Fn(ne.attributes)
              );
            case 277: {
              if (xi(ne.parent) && (o = !0), _ = !0, ne.expression.kind === 80)
                return ne;
              {
                const Q = S.createUniqueName(
                  "_default",
                  16
                  /* Optimistic */
                );
                n = () => ({
                  diagnosticMessage: p.Default_export_of_the_module_has_or_is_using_private_name_0,
                  errorNode: ne
                }), A = ne;
                const Ne = Ee(ne), qe = S.createVariableDeclaration(
                  Q,
                  /*exclamationToken*/
                  void 0,
                  Ne,
                  /*initializer*/
                  void 0
                );
                A = void 0;
                const Ze = S.createVariableStatement(i ? [S.createModifier(
                  138
                  /* DeclareKeyword */
                )] : [], S.createVariableDeclarationList(
                  [qe],
                  2
                  /* Const */
                ));
                return Wr(Ze, ne), vN(ne), [Ze, S.updateExportAssignment(ne, ne.modifiers, Q)];
              }
            }
          }
          const rt = er(ne);
          return m.set(e_(ne), rt), ne;
        }
        function je(ne) {
          if (bl(ne) || $_(
            ne,
            2048
            /* Default */
          ) || !Fp(ne))
            return ne;
          const rt = S.createModifiersFromModifierFlags(Lu(ne) & 131039);
          return S.replaceModifiers(ne, rt);
        }
        function ut(ne, rt, Q, Ne) {
          const qe = S.updateModuleDeclaration(ne, rt, Q, Ne);
          if (Fu(qe) || qe.flags & 32)
            return qe;
          const Ze = S.createModuleDeclaration(
            qe.modifiers,
            qe.name,
            qe.body,
            qe.flags | 32
            /* Namespace */
          );
          return xn(Ze, qe), ot(Ze, qe), Ze;
        }
        function er(ne) {
          if (g)
            for (; i4(g, ne); ) ;
          if (ks(ne)) return;
          switch (ne.kind) {
            case 271:
              return zi(ne);
            case 272:
              return Pt(ne);
          }
          if (Dl(ne) && Ce(ne) || _m(ne) || Ts(ne) && V.isImplementationOfOverload(ne)) return;
          let rt;
          it(ne) && (rt = u, u = ne);
          const Q = iA(ne), Ne = n;
          Q && (n = gv(ne));
          const qe = i;
          switch (ne.kind) {
            case 265: {
              i = !1;
              const bt = Ze(S.updateTypeAliasDeclaration(
                ne,
                ms(ne),
                ne.name,
                Lr(ne.typeParameters, li, Fo),
                E.checkDefined($e(ne.type, li, si))
              ));
              return i = qe, bt;
            }
            case 264:
              return Ze(S.updateInterfaceDeclaration(
                ne,
                ms(ne),
                ne.name,
                Fr(ne, ne.typeParameters),
                Et(ne.heritageClauses),
                Lr(ne.members, li, bb)
              ));
            case 262: {
              const bt = Ze(S.updateFunctionDeclaration(
                ne,
                ms(ne),
                /*asteriskToken*/
                void 0,
                ne.name,
                Fr(ne, ne.typeParameters),
                Bt(ne, ne.parameters),
                Ee(ne),
                /*body*/
                void 0
              ));
              if (bt && V.isExpandoFunctionDeclaration(ne) && ze(ne)) {
                const Ie = V.getPropertiesOfContainerFunction(ne);
                K && U(ne);
                const ft = fv.createModuleDeclaration(
                  /*modifiers*/
                  void 0,
                  bt.name || S.createIdentifier("_default"),
                  S.createModuleBlock([]),
                  32
                  /* Namespace */
                );
                Wa(ft, u), ft.locals = qs(Ie), ft.symbol = Ie[0].parent;
                const _t = [];
                let kt = Oi(Ie, (_e) => {
                  if (!Ix(_e.valueDeclaration))
                    return;
                  const M = Ei(_e.escapedName);
                  if (!C_(
                    M,
                    99
                    /* ESNext */
                  ))
                    return;
                  n = gv(_e.valueDeclaration);
                  const ye = V.createTypeOfDeclaration(_e.valueDeclaration, ft, sA, aA | 2, D);
                  n = Ne;
                  const X = hx(M), pt = X ? S.getGeneratedNameForNode(_e.valueDeclaration) : S.createIdentifier(M);
                  X && _t.push([pt, M]);
                  const jt = S.createVariableDeclaration(
                    pt,
                    /*exclamationToken*/
                    void 0,
                    ye,
                    /*initializer*/
                    void 0
                  );
                  return S.createVariableStatement(X ? void 0 : [S.createToken(
                    95
                    /* ExportKeyword */
                  )], S.createVariableDeclarationList([jt]));
                });
                _t.length ? kt.push(S.createExportDeclaration(
                  /*modifiers*/
                  void 0,
                  /*isTypeOnly*/
                  !1,
                  S.createNamedExports(fr(_t, ([_e, M]) => S.createExportSpecifier(
                    /*isTypeOnly*/
                    !1,
                    _e,
                    M
                  )))
                )) : kt = Oi(kt, (_e) => S.replaceModifiers(
                  _e,
                  0
                  /* None */
                ));
                const Ve = S.createModuleDeclaration(
                  ms(ne),
                  ne.name,
                  S.createModuleBlock(kt),
                  32
                  /* Namespace */
                );
                if (!$_(
                  bt,
                  2048
                  /* Default */
                ))
                  return [bt, Ve];
                const Rt = S.createModifiersFromModifierFlags(
                  Lu(bt) & -2081 | 128
                  /* Ambient */
                ), Zr = S.updateFunctionDeclaration(
                  bt,
                  Rt,
                  /*asteriskToken*/
                  void 0,
                  bt.name,
                  bt.typeParameters,
                  bt.parameters,
                  bt.type,
                  /*body*/
                  void 0
                ), we = S.updateModuleDeclaration(
                  Ve,
                  Rt,
                  Ve.name,
                  Ve.body
                ), mt = S.createExportAssignment(
                  /*modifiers*/
                  void 0,
                  /*isExportEquals*/
                  !1,
                  Ve.name
                );
                return xi(ne.parent) && (o = !0), _ = !0, [Zr, we, mt];
              } else
                return bt;
            }
            case 267: {
              i = !1;
              const bt = ne.body;
              if (bt && bt.kind === 268) {
                const Ie = c, ft = _;
                _ = !1, c = !1;
                const _t = Lr(bt.statements, ci, yi);
                let kt = ii(_t);
                ne.flags & 33554432 && (c = !1), !$m(ne) && !gr(kt) && !_ && (c ? kt = S.createNodeArray([...kt, AN(S)]) : kt = Lr(kt, je, yi));
                const Ve = S.updateModuleBlock(bt, kt);
                i = qe, c = Ie, _ = ft;
                const Rt = ms(ne);
                return Ze(ut(
                  ne,
                  Rt,
                  Cb(ne) ? ai(ne, ne.name) : ne.name,
                  Ve
                ));
              } else {
                i = qe;
                const Ie = ms(ne);
                i = !1, $e(bt, ci);
                const ft = e_(bt), _t = m.get(ft);
                return m.delete(ft), Ze(ut(
                  ne,
                  Ie,
                  ne.name,
                  _t
                ));
              }
            }
            case 263: {
              w = ne.name, A = ne;
              const bt = S.createNodeArray(ms(ne)), Ie = Fr(ne, ne.typeParameters), ft = jg(ne);
              let _t;
              if (ft) {
                const _e = n;
                _t = kP(oa(ft.parameters, (M) => {
                  if (!qn(
                    M,
                    31
                    /* ParameterPropertyModifier */
                  ) || ks(M)) return;
                  if (n = gv(M), M.name.kind === 80)
                    return Wr(
                      S.createPropertyDeclaration(
                        ms(M),
                        M.name,
                        M.questionToken,
                        Ee(M),
                        Pe(M)
                      ),
                      M
                    );
                  return ye(M.name);
                  function ye(X) {
                    let pt;
                    for (const jt of X.elements)
                      vl(jt) || (Ps(jt.name) && (pt = Ji(pt, ye(jt.name))), pt = pt || [], pt.push(S.createPropertyDeclaration(
                        ms(M),
                        jt.name,
                        /*questionOrExclamationToken*/
                        void 0,
                        Ee(jt),
                        /*initializer*/
                        void 0
                      )));
                    return pt;
                  }
                })), n = _e;
              }
              const Ve = at(ne.members, (_e) => !!_e.name && Di(_e.name)) ? [
                S.createPropertyDeclaration(
                  /*modifiers*/
                  void 0,
                  S.createPrivateIdentifier("#private"),
                  /*questionOrExclamationToken*/
                  void 0,
                  /*type*/
                  void 0,
                  /*initializer*/
                  void 0
                )
              ] : void 0, Rt = V.createLateBoundIndexSignatures(ne, u, sA, aA, D), Zr = Ji(Ji(Ji(Ve, Rt), _t), Lr(ne.members, li, Jc)), we = S.createNodeArray(Zr), mt = Zd(ne);
              if (mt && !to(mt.expression) && mt.expression.kind !== 106) {
                const _e = ne.name ? Ei(ne.name.escapedText) : "default", M = S.createUniqueName(
                  `${_e}_base`,
                  16
                  /* Optimistic */
                );
                n = () => ({
                  diagnosticMessage: p.extends_clause_of_exported_class_0_has_or_is_using_private_name_1,
                  errorNode: mt,
                  typeName: ne.name
                });
                const ye = S.createVariableDeclaration(
                  M,
                  /*exclamationToken*/
                  void 0,
                  V.createTypeOfExpression(mt.expression, ne, sA, aA, D),
                  /*initializer*/
                  void 0
                ), X = S.createVariableStatement(i ? [S.createModifier(
                  138
                  /* DeclareKeyword */
                )] : [], S.createVariableDeclarationList(
                  [ye],
                  2
                  /* Const */
                )), pt = S.createNodeArray(fr(ne.heritageClauses, (jt) => {
                  if (jt.token === 96) {
                    const ke = n;
                    n = gv(jt.types[0]);
                    const st = S.updateHeritageClause(jt, fr(jt.types, (At) => S.updateExpressionWithTypeArguments(At, M, Lr(At.typeArguments, li, si))));
                    return n = ke, st;
                  }
                  return S.updateHeritageClause(jt, Lr(S.createNodeArray(Tn(
                    jt.types,
                    (ke) => to(ke.expression) || ke.expression.kind === 106
                    /* NullKeyword */
                  )), li, Lh));
                }));
                return [
                  X,
                  Ze(S.updateClassDeclaration(
                    ne,
                    bt,
                    ne.name,
                    Ie,
                    pt,
                    we
                  ))
                ];
              } else {
                const _e = Et(ne.heritageClauses);
                return Ze(S.updateClassDeclaration(
                  ne,
                  bt,
                  ne.name,
                  Ie,
                  _e,
                  we
                ));
              }
            }
            case 243:
              return Ze(Vr(ne));
            case 266:
              return Ze(S.updateEnumDeclaration(
                ne,
                S.createNodeArray(ms(ne)),
                ne.name,
                S.createNodeArray(Oi(ne.members, (bt) => {
                  if (ks(bt)) return;
                  const Ie = V.getEnumMemberValue(bt), ft = Ie?.value;
                  K && bt.initializer && Ie?.hasExternalReferences && // This will be its own compiler error instead, so don't report.
                  !ia(bt.name) && e.addDiagnostic(Kr(bt, p.Enum_member_initializers_must_be_computable_without_references_to_external_symbols_with_isolatedDeclarations));
                  const _t = ft === void 0 ? void 0 : typeof ft == "string" ? S.createStringLiteral(ft) : ft < 0 ? S.createPrefixUnaryExpression(41, S.createNumericLiteral(-ft)) : S.createNumericLiteral(ft);
                  return Wr(S.updateEnumMember(bt, bt.name, _t), bt);
                }))
              ));
          }
          return E.assertNever(ne, `Unhandled top-level node in declaration emit: ${E.formatSyntaxKind(ne.kind)}`);
          function Ze(bt) {
            return it(ne) && (u = rt), Q && (n = Ne), ne.kind === 267 && (i = qe), bt === ne ? bt : (A = void 0, w = void 0, bt && xn(Wr(bt, ne), ne));
          }
        }
        function Vr(ne) {
          if (!ar(ne.declarationList.declarations, St)) return;
          const rt = Lr(ne.declarationList.declarations, li, Zn);
          if (!Ar(rt)) return;
          const Q = S.createNodeArray(ms(ne));
          let Ne;
          return d3(ne.declarationList) || p3(ne.declarationList) ? (Ne = S.createVariableDeclarationList(
            rt,
            2
            /* Const */
          ), xn(Ne, ne.declarationList), ot(Ne, ne.declarationList), Zc(Ne, ne.declarationList)) : Ne = S.updateVariableDeclarationList(ne.declarationList, rt), S.updateVariableStatement(ne, Q, Ne);
        }
        function zn(ne) {
          return Sp(Oi(ne.elements, (rt) => Wn(rt)));
        }
        function Wn(ne) {
          if (ne.kind !== 232 && ne.name)
            return St(ne) ? Ps(ne.name) ? zn(ne.name) : S.createVariableDeclaration(
              ne.name,
              /*exclamationToken*/
              void 0,
              Ee(ne),
              /*initializer*/
              void 0
            ) : void 0;
        }
        function bi(ne) {
          let rt;
          h || (rt = n, n = rie(ne)), w = ne.name, E.assert(Ph(ne));
          const Ne = ne.name.expression;
          Wt(Ne, u), h || (n = rt), w = void 0;
        }
        function ks(ne) {
          return !!pe && !!ne && NZ(ne, O);
        }
        function ta(ne) {
          return Oo(ne) || Oc(ne);
        }
        function gr(ne) {
          return at(ne, ta);
        }
        function ms(ne) {
          const rt = Lu(ne), Q = He(ne);
          return rt === Q ? QD(ne.modifiers, (Ne) => Mn(Ne, Ks), Ks) : S.createModifiersFromModifierFlags(Q);
        }
        function He(ne) {
          let rt = 130030, Q = i && !hje(ne) ? 128 : 0;
          const Ne = ne.parent.kind === 307;
          return (!Ne || s && Ne && ol(ne.parent)) && (rt ^= 128, Q = 0), X1e(ne, rt, Q);
        }
        function Et(ne) {
          return S.createNodeArray(Tn(
            fr(ne, (rt) => S.updateHeritageClause(
              rt,
              Lr(
                S.createNodeArray(Tn(rt.types, (Q) => to(Q.expression) || rt.token === 96 && Q.expression.kind === 106)),
                li,
                Lh
              )
            )),
            (rt) => rt.types && !!rt.types.length
          ));
        }
      }
      function hje(e) {
        return e.kind === 264;
      }
      function yje(e, t, n, i) {
        return e.createModifiersFromModifierFlags(X1e(t, n, i));
      }
      function X1e(e, t = 131070, n = 0) {
        let i = Lu(e) & t | n;
        return i & 2048 && !(i & 32) && (i ^= 32), i & 2048 && i & 128 && (i ^= 128), i;
      }
      function Q1e(e) {
        switch (e.kind) {
          case 172:
          case 171:
            return !$_(
              e,
              2
              /* Private */
            );
          case 169:
          case 260:
            return !0;
        }
        return !1;
      }
      function vje(e) {
        switch (e.kind) {
          case 262:
          case 267:
          case 271:
          case 264:
          case 263:
          case 265:
          case 266:
          case 243:
          case 272:
          case 278:
          case 277:
            return !0;
        }
        return !1;
      }
      function bje(e) {
        switch (e.kind) {
          case 180:
          case 176:
          case 174:
          case 177:
          case 178:
          case 172:
          case 171:
          case 173:
          case 179:
          case 181:
          case 260:
          case 168:
          case 233:
          case 183:
          case 194:
          case 184:
          case 185:
          case 205:
            return !0;
        }
        return !1;
      }
      function Sje(e) {
        switch (e) {
          case 200:
            return zW;
          case 99:
          case 7:
          case 6:
          case 5:
          case 100:
          case 101:
          case 199:
          case 1:
            return tie;
          case 4:
            return eie;
          default:
            return JW;
        }
      }
      var sie = { scriptTransformers: Ue, declarationTransformers: Ue };
      function aie(e, t, n) {
        return {
          scriptTransformers: Tje(e, t, n),
          declarationTransformers: xje(t)
        };
      }
      function Tje(e, t, n) {
        if (n) return Ue;
        const i = ga(e), s = Mu(e), o = sN(e), c = [];
        return wn(c, t && fr(t.before, Z1e)), c.push(Rne), e.experimentalDecorators && c.push(Jne), z5(e) && c.push(Qne), i < 99 && c.push(Gne), !e.experimentalDecorators && (i < 99 || !o) && c.push(zne), c.push(jne), i < 8 && c.push(Hne), i < 7 && c.push(qne), i < 6 && c.push(Une), i < 5 && c.push(Vne), i < 4 && c.push(Wne), i < 3 && c.push(Yne), i < 2 && (c.push(Zne), c.push(Kne)), c.push(Sje(s)), wn(c, t && fr(t.after, Z1e)), c;
      }
      function xje(e) {
        const t = [];
        return t.push(WW), wn(t, e && fr(e.afterDeclarations, Cje)), t;
      }
      function kje(e) {
        return (t) => Ote(t) ? e.transformBundle(t) : e.transformSourceFile(t);
      }
      function Y1e(e, t) {
        return (n) => {
          const i = e(n);
          return typeof i == "function" ? t(n, i) : kje(i);
        };
      }
      function Z1e(e) {
        return Y1e(e, Sd);
      }
      function Cje(e) {
        return Y1e(e, (t, n) => n);
      }
      function nw(e, t) {
        return t;
      }
      function oA(e, t, n) {
        n(e, t);
      }
      function cA(e, t, n, i, s, o, c) {
        var _, u;
        const g = new Array(
          358
          /* Count */
        );
        let m, h, S, T = 0, k = [], D = [], w = [], A = [], O = 0, F = !1, j = [], z = 0, V, G, W = nw, pe = oA, K = 0;
        const U = [], ee = {
          factory: n,
          getCompilerOptions: () => i,
          getEmitResolver: () => e,
          // TODO: GH#18217
          getEmitHost: () => t,
          // TODO: GH#18217
          getEmitHelperFactory: Au(() => pte(ee)),
          startLexicalEnvironment: oe,
          suspendLexicalEnvironment: ve,
          resumeLexicalEnvironment: se,
          endLexicalEnvironment: Pe,
          setLexicalEnvironmentFlags: Ee,
          getLexicalEnvironmentFlags: Ce,
          hoistVariableDeclaration: ue,
          hoistFunctionDeclaration: Xe,
          addInitializationStatement: nt,
          startBlockScope: ze,
          endBlockScope: St,
          addBlockScopedVariable: Bt,
          requestEmitHelper: tr,
          readEmitHelpers: Fr,
          enableSubstitution: q,
          enableEmitNotification: De,
          isSubstitutionEnabled: he,
          isEmitNotificationEnabled: re,
          get onSubstituteNode() {
            return W;
          },
          set onSubstituteNode(Wt) {
            E.assert(K < 1, "Cannot modify transformation hooks after initialization has completed."), E.assert(Wt !== void 0, "Value must not be 'undefined'"), W = Wt;
          },
          get onEmitNode() {
            return pe;
          },
          set onEmitNode(Wt) {
            E.assert(K < 1, "Cannot modify transformation hooks after initialization has completed."), E.assert(Wt !== void 0, "Value must not be 'undefined'"), pe = Wt;
          },
          addDiagnostic(Wt) {
            U.push(Wt);
          }
        };
        for (const Wt of s)
          XJ(Er(ds(Wt)));
        Zo("beforeTransform");
        const te = o.map((Wt) => Wt(ee)), ie = (Wt) => {
          for (const Wr of te)
            Wt = Wr(Wt);
          return Wt;
        };
        K = 1;
        const fe = [];
        for (const Wt of s)
          (_ = rn) == null || _.push(rn.Phase.Emit, "transformNodes", Wt.kind === 307 ? { path: Wt.path } : { kind: Wt.kind, pos: Wt.pos, end: Wt.end }), fe.push((c ? ie : me)(Wt)), (u = rn) == null || u.pop();
        return K = 2, Zo("afterTransform"), Xf("transformTime", "beforeTransform", "afterTransform"), {
          transformed: fe,
          substituteNode: Me,
          emitNodeWithNotification: xe,
          isEmitNotificationEnabled: re,
          dispose: it,
          diagnostics: U
        };
        function me(Wt) {
          return Wt && (!xi(Wt) || !Wt.isDeclarationFile) ? ie(Wt) : Wt;
        }
        function q(Wt) {
          E.assert(K < 2, "Cannot modify the transformation context after transformation has completed."), g[Wt] |= 1;
        }
        function he(Wt) {
          return (g[Wt.kind] & 1) !== 0 && (ka(Wt) & 8) === 0;
        }
        function Me(Wt, Wr) {
          return E.assert(K < 3, "Cannot substitute a node after the result is disposed."), Wr && he(Wr) && W(Wt, Wr) || Wr;
        }
        function De(Wt) {
          E.assert(K < 2, "Cannot modify the transformation context after transformation has completed."), g[Wt] |= 2;
        }
        function re(Wt) {
          return (g[Wt.kind] & 2) !== 0 || (ka(Wt) & 4) !== 0;
        }
        function xe(Wt, Wr, ai) {
          E.assert(K < 3, "Cannot invoke TransformationResult callbacks after the result is disposed."), Wr && (re(Wr) ? pe(Wt, Wr, ai) : ai(Wt, Wr));
        }
        function ue(Wt) {
          E.assert(K > 0, "Cannot modify the lexical environment during initialization."), E.assert(K < 2, "Cannot modify the lexical environment after transformation has completed.");
          const Wr = an(
            n.createVariableDeclaration(Wt),
            128
            /* NoNestedSourceMaps */
          );
          m ? m.push(Wr) : m = [Wr], T & 1 && (T |= 2);
        }
        function Xe(Wt) {
          E.assert(K > 0, "Cannot modify the lexical environment during initialization."), E.assert(K < 2, "Cannot modify the lexical environment after transformation has completed."), an(
            Wt,
            2097152
            /* CustomPrologue */
          ), h ? h.push(Wt) : h = [Wt];
        }
        function nt(Wt) {
          E.assert(K > 0, "Cannot modify the lexical environment during initialization."), E.assert(K < 2, "Cannot modify the lexical environment after transformation has completed."), an(
            Wt,
            2097152
            /* CustomPrologue */
          ), S ? S.push(Wt) : S = [Wt];
        }
        function oe() {
          E.assert(K > 0, "Cannot modify the lexical environment during initialization."), E.assert(K < 2, "Cannot modify the lexical environment after transformation has completed."), E.assert(!F, "Lexical environment is suspended."), k[O] = m, D[O] = h, w[O] = S, A[O] = T, O++, m = void 0, h = void 0, S = void 0, T = 0;
        }
        function ve() {
          E.assert(K > 0, "Cannot modify the lexical environment during initialization."), E.assert(K < 2, "Cannot modify the lexical environment after transformation has completed."), E.assert(!F, "Lexical environment is already suspended."), F = !0;
        }
        function se() {
          E.assert(K > 0, "Cannot modify the lexical environment during initialization."), E.assert(K < 2, "Cannot modify the lexical environment after transformation has completed."), E.assert(F, "Lexical environment is not suspended."), F = !1;
        }
        function Pe() {
          E.assert(K > 0, "Cannot modify the lexical environment during initialization."), E.assert(K < 2, "Cannot modify the lexical environment after transformation has completed."), E.assert(!F, "Lexical environment is suspended.");
          let Wt;
          if (m || h || S) {
            if (h && (Wt = [...h]), m) {
              const Wr = n.createVariableStatement(
                /*modifiers*/
                void 0,
                n.createVariableDeclarationList(m)
              );
              an(
                Wr,
                2097152
                /* CustomPrologue */
              ), Wt ? Wt.push(Wr) : Wt = [Wr];
            }
            S && (Wt ? Wt = [...Wt, ...S] : Wt = [...S]);
          }
          return O--, m = k[O], h = D[O], S = w[O], T = A[O], O === 0 && (k = [], D = [], w = [], A = []), Wt;
        }
        function Ee(Wt, Wr) {
          T = Wr ? T | Wt : T & ~Wt;
        }
        function Ce() {
          return T;
        }
        function ze() {
          E.assert(K > 0, "Cannot start a block scope during initialization."), E.assert(K < 2, "Cannot start a block scope after transformation has completed."), j[z] = V, z++, V = void 0;
        }
        function St() {
          E.assert(K > 0, "Cannot end a block scope during initialization."), E.assert(K < 2, "Cannot end a block scope after transformation has completed.");
          const Wt = at(V) ? [
            n.createVariableStatement(
              /*modifiers*/
              void 0,
              n.createVariableDeclarationList(
                V.map((Wr) => n.createVariableDeclaration(Wr)),
                1
                /* Let */
              )
            )
          ] : void 0;
          return z--, V = j[z], z === 0 && (j = []), Wt;
        }
        function Bt(Wt) {
          E.assert(z > 0, "Cannot add a block scoped variable outside of an iteration body."), (V || (V = [])).push(Wt);
        }
        function tr(Wt) {
          if (E.assert(K > 0, "Cannot modify the transformation context during initialization."), E.assert(K < 2, "Cannot modify the transformation context after transformation has completed."), E.assert(!Wt.scoped, "Cannot request a scoped emit helper."), Wt.dependencies)
            for (const Wr of Wt.dependencies)
              tr(Wr);
          G = Dr(G, Wt);
        }
        function Fr() {
          E.assert(K > 0, "Cannot modify the transformation context during initialization."), E.assert(K < 2, "Cannot modify the transformation context after transformation has completed.");
          const Wt = G;
          return G = void 0, Wt;
        }
        function it() {
          if (K < 3) {
            for (const Wt of s)
              XJ(Er(ds(Wt)));
            m = void 0, k = void 0, h = void 0, D = void 0, W = void 0, pe = void 0, G = void 0, K = 3;
          }
        }
      }
      var lA = {
        factory: N,
        // eslint-disable-line object-shorthand
        getCompilerOptions: () => ({}),
        getEmitResolver: Hs,
        getEmitHost: Hs,
        getEmitHelperFactory: Hs,
        startLexicalEnvironment: Ua,
        resumeLexicalEnvironment: Ua,
        suspendLexicalEnvironment: Ua,
        endLexicalEnvironment: mb,
        setLexicalEnvironmentFlags: Ua,
        getLexicalEnvironmentFlags: () => 0,
        hoistVariableDeclaration: Ua,
        hoistFunctionDeclaration: Ua,
        addInitializationStatement: Ua,
        startBlockScope: Ua,
        endBlockScope: mb,
        addBlockScopedVariable: Ua,
        requestEmitHelper: Ua,
        readEmitHelpers: Hs,
        enableSubstitution: Ua,
        enableEmitNotification: Ua,
        isSubstitutionEnabled: Hs,
        isEmitNotificationEnabled: Hs,
        onSubstituteNode: nw,
        onEmitNode: oA,
        addDiagnostic: Ua
      }, K1e = Dje();
      function oie(e) {
        return Wo(
          e,
          ".tsbuildinfo"
          /* TsBuildInfo */
        );
      }
      function VW(e, t, n, i = !1, s, o) {
        const c = fs(n) ? n : v5(e, n, i), _ = e.getCompilerOptions();
        if (!s)
          if (_.outFile) {
            if (c.length) {
              const u = N.createBundle(c), g = t(iw(u, e, i), u);
              if (g)
                return g;
            }
          } else
            for (const u of c) {
              const g = t(iw(u, e, i), u);
              if (g)
                return g;
            }
        if (o) {
          const u = hv(_);
          if (u) return t(
            { buildInfoPath: u },
            /*sourceFileOrBundle*/
            void 0
          );
        }
      }
      function hv(e) {
        const t = e.configFilePath;
        if (!Eje(e)) return;
        if (e.tsBuildInfoFile) return e.tsBuildInfoFile;
        const n = e.outFile;
        let i;
        if (n)
          i = Ru(n);
        else {
          if (!t) return;
          const s = Ru(t);
          i = e.outDir ? e.rootDir ? Ay(e.outDir, Ef(
            e.rootDir,
            s,
            /*ignoreCase*/
            !0
          )) : An(e.outDir, Qc(s)) : s;
        }
        return i + ".tsbuildinfo";
      }
      function Eje(e) {
        return Bb(e) || !!e.tscBuild;
      }
      function cie(e, t) {
        const n = e.outFile, i = e.emitDeclarationOnly ? void 0 : n, s = i && eve(i, e), o = t || w_(e) ? Ru(n) + ".d.ts" : void 0, c = o && R5(e) ? o + ".map" : void 0;
        return { jsFilePath: i, sourceMapFilePath: s, declarationFilePath: o, declarationMapPath: c };
      }
      function iw(e, t, n) {
        const i = t.getCompilerOptions();
        if (e.kind === 308)
          return cie(i, n);
        {
          const s = LK(e.fileName, t, uA(e.fileName, i)), o = Kf(e), c = o && xh(e.fileName, s, t.getCurrentDirectory(), !t.useCaseSensitiveFileNames()) === 0, _ = i.emitDeclarationOnly || c ? void 0 : s, u = !_ || Kf(e) ? void 0 : eve(_, i), g = n || w_(i) && !o ? MK(e.fileName, t) : void 0, m = g && R5(i) ? g + ".map" : void 0;
          return { jsFilePath: _, sourceMapFilePath: u, declarationFilePath: g, declarationMapPath: m };
        }
      }
      function eve(e, t) {
        return t.sourceMap && !t.inlineSourceMap ? e + ".map" : void 0;
      }
      function uA(e, t) {
        return Wo(
          e,
          ".json"
          /* Json */
        ) ? ".json" : t.jsx === 1 && Dc(e, [
          ".jsx",
          ".tsx"
          /* Tsx */
        ]) ? ".jsx" : Dc(e, [
          ".mts",
          ".mjs"
          /* Mjs */
        ]) ? ".mjs" : Dc(e, [
          ".cts",
          ".cjs"
          /* Cjs */
        ]) ? ".cjs" : ".js";
      }
      function tve(e, t, n, i) {
        return n ? Ay(
          n,
          Ef(i(), e, t)
        ) : e;
      }
      function M6(e, t, n, i = () => HS(t, n)) {
        return UW(e, t.options, n, i);
      }
      function UW(e, t, n, i) {
        return Oh(
          tve(e, n, t.declarationDir || t.outDir, i),
          h5(e)
        );
      }
      function rve(e, t, n, i = () => HS(t, n)) {
        if (t.options.emitDeclarationOnly) return;
        const s = Wo(
          e,
          ".json"
          /* Json */
        ), o = qW(e, t.options, n, i);
        return !s || xh(e, o, E.checkDefined(t.options.configFilePath), n) !== 0 ? o : void 0;
      }
      function qW(e, t, n, i) {
        return Oh(
          tve(e, n, t.outDir, i),
          uA(e, t)
        );
      }
      function nve() {
        let e;
        return { addOutput: t, getOutputs: n };
        function t(i) {
          i && (e || (e = [])).push(i);
        }
        function n() {
          return e || Ue;
        }
      }
      function ive(e, t) {
        const { jsFilePath: n, sourceMapFilePath: i, declarationFilePath: s, declarationMapPath: o } = cie(
          e.options,
          /*forceDtsPaths*/
          !1
        );
        t(n), t(i), t(s), t(o);
      }
      function sve(e, t, n, i, s) {
        if (Sl(t)) return;
        const o = rve(t, e, n, s);
        if (i(o), !Wo(
          t,
          ".json"
          /* Json */
        ) && (o && e.options.sourceMap && i(`${o}.map`), w_(e.options))) {
          const c = M6(t, e, n, s);
          i(c), e.options.declarationMap && i(`${c}.map`);
        }
      }
      function sw(e, t, n, i, s) {
        let o;
        return e.rootDir ? (o = Xi(e.rootDir, n), s?.(e.rootDir)) : e.composite && e.configFilePath ? (o = Un(Bl(e.configFilePath)), s?.(o)) : o = gie(t(), n, i), o && o[o.length - 1] !== xo && (o += xo), o;
      }
      function HS({ options: e, fileNames: t }, n) {
        return sw(
          e,
          () => Tn(t, (i) => !(e.noEmitForJsFiles && Dc(i, s6)) && !Sl(i)),
          Un(Bl(E.checkDefined(e.configFilePath))),
          Hl(!n)
        );
      }
      function EO(e, t) {
        const { addOutput: n, getOutputs: i } = nve();
        if (e.options.outFile)
          ive(e, n);
        else {
          const s = Au(() => HS(e, t));
          for (const o of e.fileNames)
            sve(e, o, t, n, s);
        }
        return n(hv(e.options)), i();
      }
      function ave(e, t, n) {
        t = Gs(t), E.assert(_s(e.fileNames, t), "Expected fileName to be present in command line");
        const { addOutput: i, getOutputs: s } = nve();
        return e.options.outFile ? ive(e, i) : sve(e, t, n, i), s();
      }
      function HW(e, t) {
        if (e.options.outFile) {
          const { jsFilePath: s, declarationFilePath: o } = cie(
            e.options,
            /*forceDtsPaths*/
            !1
          );
          return E.checkDefined(s || o, `project ${e.options.configFilePath} expected to have at least one output`);
        }
        const n = Au(() => HS(e, t));
        for (const s of e.fileNames) {
          if (Sl(s)) continue;
          const o = rve(s, e, t, n);
          if (o) return o;
          if (!Wo(
            s,
            ".json"
            /* Json */
          ) && w_(e.options))
            return M6(s, e, t, n);
        }
        const i = hv(e.options);
        return i || E.fail(`project ${e.options.configFilePath} expected to have at least one output`);
      }
      function GW(e, t) {
        return !!t && !!e;
      }
      function $W(e, t, n, { scriptTransformers: i, declarationTransformers: s }, o, c, _, u) {
        var g = t.getCompilerOptions(), m = g.sourceMap || g.inlineSourceMap || R5(g) ? [] : void 0, h = g.listEmittedFiles ? [] : void 0, S = Y4(), T = x0(g), k = G3(T), { enter: D, exit: w } = zR("printTime", "beforePrint", "afterPrint"), A = !1;
        return D(), VW(
          t,
          O,
          v5(t, n, _),
          _,
          c,
          !n && !u
        ), w(), {
          emitSkipped: A,
          diagnostics: S.getDiagnostics(),
          emittedFiles: h,
          sourceMaps: m
        };
        function O({ jsFilePath: te, sourceMapFilePath: ie, declarationFilePath: fe, declarationMapPath: me, buildInfoPath: q }, he) {
          var Me, De, re, xe, ue, Xe;
          (Me = rn) == null || Me.push(rn.Phase.Emit, "emitJsFileOrBundle", { jsFilePath: te }), j(he, te, ie), (De = rn) == null || De.pop(), (re = rn) == null || re.push(rn.Phase.Emit, "emitDeclarationFileOrBundle", { declarationFilePath: fe }), z(he, fe, me), (xe = rn) == null || xe.pop(), (ue = rn) == null || ue.push(rn.Phase.Emit, "emitBuildInfo", { buildInfoPath: q }), F(q), (Xe = rn) == null || Xe.pop();
        }
        function F(te) {
          if (!te || n) return;
          if (t.isEmitBlocked(te)) {
            A = !0;
            return;
          }
          const ie = t.getBuildInfo() || { version: Gf };
          S5(
            t,
            S,
            te,
            lie(ie),
            /*writeByteOrderMark*/
            !1,
            /*sourceFiles*/
            void 0,
            { buildInfo: ie }
          ), h?.push(te);
        }
        function j(te, ie, fe) {
          if (!te || o || !ie)
            return;
          if (t.isEmitBlocked(ie) || g.noEmit) {
            A = !0;
            return;
          }
          (xi(te) ? [te] : Tn(te.sourceFiles, r5)).forEach(
            (Me) => {
              (g.noCheck || !dD(Me, g)) && G(Me);
            }
          );
          const me = cA(
            e,
            t,
            N,
            g,
            [te],
            i,
            /*allowDtsFiles*/
            !1
          ), q = {
            removeComments: g.removeComments,
            newLine: g.newLine,
            noEmitHelpers: g.noEmitHelpers,
            module: Mu(g),
            moduleResolution: vu(g),
            target: ga(g),
            sourceMap: g.sourceMap,
            inlineSourceMap: g.inlineSourceMap,
            inlineSources: g.inlineSources,
            extendedDiagnostics: g.extendedDiagnostics
          }, he = u1(q, {
            // resolver hooks
            hasGlobalName: e.hasGlobalName,
            // transform hooks
            onEmitNode: me.emitNodeWithNotification,
            isEmitNotificationEnabled: me.isEmitNotificationEnabled,
            substituteNode: me.substituteNode
          });
          E.assert(me.transformed.length === 1, "Should only see one output from the transform"), W(ie, fe, me, he, g), me.dispose(), h && (h.push(ie), fe && h.push(fe));
        }
        function z(te, ie, fe) {
          if (!te || o === 0) return;
          if (!ie) {
            (o || g.emitDeclarationOnly) && (A = !0);
            return;
          }
          const me = xi(te) ? [te] : te.sourceFiles, q = _ ? me : Tn(me, r5), he = g.outFile ? [N.createBundle(q)] : q;
          q.forEach((re) => {
            (o && !w_(g) || g.noCheck || GW(o, _) || !dD(re, g)) && V(re);
          });
          const Me = cA(
            e,
            t,
            N,
            g,
            he,
            s,
            /*allowDtsFiles*/
            !1
          );
          if (Ar(Me.diagnostics))
            for (const re of Me.diagnostics)
              S.add(re);
          const De = !!Me.diagnostics && !!Me.diagnostics.length || !!t.isEmitBlocked(ie) || !!g.noEmit;
          if (A = A || De, !De || _) {
            E.assert(Me.transformed.length === 1, "Should only see one output from the decl transform");
            const re = {
              removeComments: g.removeComments,
              newLine: g.newLine,
              noEmitHelpers: !0,
              module: g.module,
              moduleResolution: g.moduleResolution,
              target: g.target,
              sourceMap: o !== 2 && g.declarationMap,
              inlineSourceMap: g.inlineSourceMap,
              extendedDiagnostics: g.extendedDiagnostics,
              onlyPrintJsDocStyle: !0,
              omitBraceSourceMapPositions: !0
            }, xe = u1(re, {
              // resolver hooks
              hasGlobalName: e.hasGlobalName,
              // transform hooks
              onEmitNode: Me.emitNodeWithNotification,
              isEmitNotificationEnabled: Me.isEmitNotificationEnabled,
              substituteNode: Me.substituteNode
            }), ue = W(
              ie,
              fe,
              Me,
              xe,
              {
                sourceMap: re.sourceMap,
                sourceRoot: g.sourceRoot,
                mapRoot: g.mapRoot,
                extendedDiagnostics: g.extendedDiagnostics
                // Explicitly do not passthru either `inline` option
              }
            );
            h && (ue && h.push(ie), fe && h.push(fe));
          }
          Me.dispose();
        }
        function V(te) {
          if (Oo(te)) {
            te.expression.kind === 80 && e.collectLinkedAliases(
              te.expression,
              /*setVisibility*/
              !0
            );
            return;
          } else if (bu(te)) {
            e.collectLinkedAliases(
              te.propertyName || te.name,
              /*setVisibility*/
              !0
            );
            return;
          }
          Ss(te, V);
        }
        function G(te) {
          $u(te) || Xx(te, (ie) => {
            if (bl(ie) && !(S0(ie) & 32) || Uo(ie)) return "skip";
            e.markLinkedReferences(ie);
          });
        }
        function W(te, ie, fe, me, q) {
          const he = fe.transformed[0], Me = he.kind === 308 ? he : void 0, De = he.kind === 307 ? he : void 0, re = Me ? Me.sourceFiles : [De];
          let xe;
          pe(q, he) && (xe = vne(
            t,
            Qc(Bl(te)),
            K(q),
            U(q, te, De),
            q
          )), Me ? me.writeBundle(Me, k, xe) : me.writeFile(De, k, xe);
          let ue;
          if (xe) {
            m && m.push({
              inputSourceFileNames: xe.getSources(),
              sourceMap: xe.toJSON()
            });
            const oe = ee(
              q,
              xe,
              te,
              ie,
              De
            );
            if (oe && (k.isAtStartOfLine() || k.rawWrite(T), ue = k.getTextPos(), k.writeComment(`//# sourceMappingURL=${oe}`)), ie) {
              const ve = xe.toString();
              S5(
                t,
                S,
                ie,
                ve,
                /*writeByteOrderMark*/
                !1,
                re
              );
            }
          } else
            k.writeLine();
          const Xe = k.getText(), nt = { sourceMapUrlPos: ue, diagnostics: fe.diagnostics };
          return S5(t, S, te, Xe, !!g.emitBOM, re, nt), k.clear(), !nt.skippedDtsWrite;
        }
        function pe(te, ie) {
          return (te.sourceMap || te.inlineSourceMap) && (ie.kind !== 307 || !Wo(
            ie.fileName,
            ".json"
            /* Json */
          ));
        }
        function K(te) {
          const ie = Bl(te.sourceRoot || "");
          return ie && ml(ie);
        }
        function U(te, ie, fe) {
          if (te.sourceRoot) return t.getCommonSourceDirectory();
          if (te.mapRoot) {
            let me = Bl(te.mapRoot);
            return fe && (me = Un(b5(fe.fileName, t, me))), ud(me) === 0 && (me = An(t.getCommonSourceDirectory(), me)), me;
          }
          return Un(Gs(ie));
        }
        function ee(te, ie, fe, me, q) {
          if (te.inlineSourceMap) {
            const Me = ie.toString();
            return `data:application/json;base64,${ZK(dl, Me)}`;
          }
          const he = Qc(Bl(E.checkDefined(me)));
          if (te.mapRoot) {
            let Me = Bl(te.mapRoot);
            return q && (Me = Un(b5(q.fileName, t, Me))), ud(Me) === 0 ? (Me = An(t.getCommonSourceDirectory(), Me), encodeURI(
              YT(
                Un(Gs(fe)),
                // get the relative sourceMapDir path based on jsFilePath
                An(Me, he),
                // this is where user expects to see sourceMap
                t.getCurrentDirectory(),
                t.getCanonicalFileName,
                /*isAbsolutePathAnUrl*/
                !0
              )
            )) : encodeURI(An(Me, he));
          }
          return encodeURI(he);
        }
      }
      function lie(e) {
        return JSON.stringify(e);
      }
      function XW(e, t) {
        return nJ(e, t);
      }
      var uie = {
        hasGlobalName: Hs,
        getReferencedExportContainer: Hs,
        getReferencedImportDeclaration: Hs,
        getReferencedDeclarationWithCollidingName: Hs,
        isDeclarationWithCollidingName: Hs,
        isValueAliasDeclaration: Hs,
        isReferencedAliasDeclaration: Hs,
        isTopLevelValueImportEqualsWithEntityName: Hs,
        hasNodeCheckFlag: Hs,
        isDeclarationVisible: Hs,
        isLateBound: (e) => !1,
        collectLinkedAliases: Hs,
        markLinkedReferences: Hs,
        isImplementationOfOverload: Hs,
        requiresAddingImplicitUndefined: Hs,
        isExpandoFunctionDeclaration: Hs,
        getPropertiesOfContainerFunction: Hs,
        createTypeOfDeclaration: Hs,
        createReturnTypeOfSignatureDeclaration: Hs,
        createTypeOfExpression: Hs,
        createLiteralConstValue: Hs,
        isSymbolAccessible: Hs,
        isEntityNameVisible: Hs,
        // Returns the constant value this property access resolves to: notImplemented, or 'undefined' for a non-constant
        getConstantValue: Hs,
        getEnumMemberValue: Hs,
        getReferencedValueDeclaration: Hs,
        getReferencedValueDeclarations: Hs,
        getTypeReferenceSerializationKind: Hs,
        isOptionalParameter: Hs,
        isArgumentsLocalBinding: Hs,
        getExternalModuleFileFromDeclaration: Hs,
        isLiteralConstDeclaration: Hs,
        getJsxFactoryEntity: Hs,
        getJsxFragmentFactoryEntity: Hs,
        isBindingCapturedByNode: Hs,
        getDeclarationStatementsForSourceFile: Hs,
        isImportRequiredByAugmentation: Hs,
        isDefinitelyReferenceToGlobalSymbolObject: Hs,
        createLateBoundIndexSignatures: Hs
      }, _ie = /* @__PURE__ */ Au(() => u1({})), r2 = /* @__PURE__ */ Au(() => u1({ removeComments: !0 })), fie = /* @__PURE__ */ Au(() => u1({ removeComments: !0, neverAsciiEscape: !0 })), QW = /* @__PURE__ */ Au(() => u1({ removeComments: !0, omitTrailingSemicolon: !0 }));
      function u1(e = {}, t = {}) {
        var {
          hasGlobalName: n,
          onEmitNode: i = oA,
          isEmitNotificationEnabled: s,
          substituteNode: o = nw,
          onBeforeEmitNode: c,
          onAfterEmitNode: _,
          onBeforeEmitNodeArray: u,
          onAfterEmitNodeArray: g,
          onBeforeEmitToken: m,
          onAfterEmitToken: h
        } = t, S = !!e.extendedDiagnostics, T = !!e.omitBraceSourceMapPositions, k = x0(e), D = Mu(e), w = /* @__PURE__ */ new Map(), A, O, F, j, z, V, G, W, pe, K, U, ee, te, ie, fe, me = e.preserveSourceNewlines, q, he, Me, De = Nd, re, xe = !0, ue, Xe, nt = -1, oe, ve = -1, se = -1, Pe = -1, Ee = -1, Ce, ze, St = !1, Bt = !!e.removeComments, tr, Fr, { enter: it, exit: Wt } = mge(S, "commentTime", "beforeComment", "afterComment"), Wr = N.parenthesizer, ai = {
          select: (C) => C === 0 ? Wr.parenthesizeLeadingTypeArgument : void 0
        }, zi = Ac();
        return ks(), {
          // public API
          printNode: Pt,
          printList: Fn,
          printFile: li,
          printBundle: ii,
          // internal API
          writeNode: cn,
          writeList: ci,
          writeFile: ut,
          writeBundle: je
        };
        function Pt(C, ce, dt) {
          switch (C) {
            case 0:
              E.assert(xi(ce), "Expected a SourceFile node.");
              break;
            case 2:
              E.assert(Fe(ce), "Expected an Identifier node.");
              break;
            case 1:
              E.assert(lt(ce), "Expected an Expression node.");
              break;
          }
          switch (ce.kind) {
            case 307:
              return li(ce);
            case 308:
              return ii(ce);
          }
          return cn(C, ce, dt, er()), Vr();
        }
        function Fn(C, ce, dt) {
          return ci(C, ce, dt, er()), Vr();
        }
        function ii(C) {
          return je(
            C,
            er(),
            /*sourceMapGenerator*/
            void 0
          ), Vr();
        }
        function li(C) {
          return ut(
            C,
            er(),
            /*sourceMapGenerator*/
            void 0
          ), Vr();
        }
        function cn(C, ce, dt, ir) {
          const Yn = he;
          bi(
            ir,
            /*_sourceMapGenerator*/
            void 0
          ), zn(C, ce, dt), ks(), he = Yn;
        }
        function ci(C, ce, dt, ir) {
          const Yn = he;
          bi(
            ir,
            /*_sourceMapGenerator*/
            void 0
          ), dt && Wn(dt), po(
            /*parentNode*/
            void 0,
            ce,
            C
          ), ks(), he = Yn;
        }
        function je(C, ce, dt) {
          re = !1;
          const ir = he;
          bi(ce, dt), Dk(C), cg(C), Rt(C), Be(C);
          for (const Yn of C.sourceFiles)
            zn(0, Yn, Yn);
          ks(), he = ir;
        }
        function ut(C, ce, dt) {
          re = !0;
          const ir = he;
          bi(ce, dt), Dk(C), cg(C), zn(0, C, C), ks(), he = ir;
        }
        function er() {
          return Me || (Me = G3(k));
        }
        function Vr() {
          const C = Me.getText();
          return Me.clear(), C;
        }
        function zn(C, ce, dt) {
          dt && Wn(dt), Q(
            C,
            ce,
            /*parenthesizerRule*/
            void 0
          );
        }
        function Wn(C) {
          A = C, Ce = void 0, ze = void 0, C && Fd(C);
        }
        function bi(C, ce) {
          C && e.omitTrailingSemicolon && (C = zB(C)), he = C, ue = ce, xe = !he || !ue;
        }
        function ks() {
          O = [], F = [], j = [], z = /* @__PURE__ */ new Set(), V = [], G = /* @__PURE__ */ new Map(), W = [], pe = 0, K = [], U = 0, ee = [], te = void 0, ie = [], fe = void 0, A = void 0, Ce = void 0, ze = void 0, bi(
            /*output*/
            void 0,
            /*_sourceMapGenerator*/
            void 0
          );
        }
        function ta() {
          return Ce || (Ce = Eg(E.checkDefined(A)));
        }
        function gr(C, ce) {
          C !== void 0 && Q(4, C, ce);
        }
        function ms(C) {
          C !== void 0 && Q(
            2,
            C,
            /*parenthesizerRule*/
            void 0
          );
        }
        function He(C, ce) {
          C !== void 0 && Q(1, C, ce);
        }
        function Et(C) {
          Q(la(C) ? 6 : 4, C);
        }
        function ne(C) {
          me && Hp(C) & 4 && (me = !1);
        }
        function rt(C) {
          me = C;
        }
        function Q(C, ce, dt) {
          Fr = dt, Ze(0, C, ce)(C, ce), Fr = void 0;
        }
        function Ne(C) {
          return !Bt && !xi(C);
        }
        function qe(C) {
          return !xe && !xi(C) && !t5(C);
        }
        function Ze(C, ce, dt) {
          switch (C) {
            case 0:
              if (i !== oA && (!s || s(dt)))
                return Ie;
            // falls through
            case 1:
              if (o !== nw && (tr = o(ce, dt) || dt) !== dt)
                return Fr && (tr = Fr(tr)), Ve;
            // falls through
            case 2:
              if (Ne(dt))
                return gT;
            // falls through
            case 3:
              if (qe(dt))
                return k1;
            // falls through
            case 4:
              return ft;
            default:
              return E.assertNever(C);
          }
        }
        function bt(C, ce, dt) {
          return Ze(C + 1, ce, dt);
        }
        function Ie(C, ce) {
          const dt = bt(0, C, ce);
          i(C, ce, dt);
        }
        function ft(C, ce) {
          if (c?.(ce), me) {
            const dt = me;
            ne(ce), _t(C, ce), rt(dt);
          } else
            _t(C, ce);
          _?.(ce), Fr = void 0;
        }
        function _t(C, ce, dt = !0) {
          if (dt) {
            const ir = YJ(ce);
            if (ir)
              return _e(C, ce, ir);
          }
          if (C === 0) return b2(Us(ce, xi));
          if (C === 2) return X(Us(ce, Fe));
          if (C === 6) return mt(
            Us(ce, la),
            /*jsxAttributeEscape*/
            !0
          );
          if (C === 3) return kt(Us(ce, Fo));
          if (C === 7) return af(Us(ce, LS));
          if (C === 5)
            return E.assertNode(ce, oz), vm(
              /*isEmbeddedStatement*/
              !0
            );
          if (C === 4) {
            switch (ce.kind) {
              // Pseudo-literals
              case 16:
              case 17:
              case 18:
                return mt(
                  ce,
                  /*jsxAttributeEscape*/
                  !1
                );
              // Identifiers
              case 80:
                return X(ce);
              // PrivateIdentifiers
              case 81:
                return pt(ce);
              // Parse tree nodes
              // Names
              case 166:
                return jt(ce);
              case 167:
                return st(ce);
              // Signature elements
              case 168:
                return At(ce);
              case 169:
                return Yr(ce);
              case 170:
                return Mr(ce);
              // Type members
              case 171:
                return Rr(ce);
              case 172:
                return Ye(ce);
              case 173:
                return gt(ce);
              case 174:
                return Jt(ce);
              case 175:
                return wt(ce);
              case 176:
                return dr(ce);
              case 177:
              case 178:
                return Kt(ce);
              case 179:
                return Mt(ce);
              case 180:
                return cr(ce);
              case 181:
                return lr(ce);
              // Types
              case 182:
                return Qn(ce);
              case 183:
                return Ns(ce);
              case 184:
                return $s(ce);
              case 185:
                return Wc(ce);
              case 186:
                return Lo(ce);
              case 187:
                return Pa(ce);
              case 188:
                return Bo(ce);
              case 189:
                return ss(ce);
              case 190:
                return Aa(ce);
              // SyntaxKind.RestType is handled below
              case 192:
                return Ca(ce);
              case 193:
                return zt(ce);
              case 194:
                return Ka(ce);
              case 195:
                return Vc(ce);
              case 196:
                return tc(ce);
              case 233:
                return nf(ce);
              case 197:
                return eu();
              case 198:
                return yo(ce);
              case 199:
                return ge(ce);
              case 200:
                return H(ce);
              case 201:
                return et(ce);
              case 202:
                return Vs(ce);
              case 203:
                return Ot(ce);
              case 204:
                return br(ce);
              case 205:
                return Zt(ce);
              // Binding patterns
              case 206:
                return Ur(ce);
              case 207:
                return Vn(ce);
              case 208:
                return sn(ce);
              // Misc
              case 239:
                return Qg(ce);
              case 240:
                return $t();
              // Statements
              case 241:
                return jf(ce);
              case 243:
                return Ju(ce);
              case 242:
                return vm(
                  /*isEmbeddedStatement*/
                  !1
                );
              case 244:
                return yf(ce);
              case 245:
                return Yg(ce);
              case 246:
                return Ke(ce);
              case 247:
                return Vt(ce);
              case 248:
                return Ut(ce);
              case 249:
                return vr(ce);
              case 250:
                return qr(ce);
              case 251:
                return ti(ce);
              case 252:
                return Ii(ce);
              case 253:
                return fi(ce);
              case 254:
                return Vi(ce);
              case 255:
                return as(ce);
              case 256:
                return Ao(ce);
              case 257:
                return ra(ce);
              case 258:
                return nl(ce);
              case 259:
                return sf(ce);
              // Declarations
              case 260:
                return up(ce);
              case 261:
                return Ed(ce);
              case 262:
                return qh(ce);
              case 263:
                return z0(ce);
              case 264:
                return Qe(ce);
              case 265:
                return Nt(ce);
              case 266:
                return rr(ce);
              case 267:
                return jr(ce);
              case 268:
                return pn(ce);
              case 269:
                return Pr(ce);
              case 270:
                return ig(ce);
              case 271:
                return fn(ce);
              case 272:
                return ts(ce);
              case 273:
                return Hn(ce);
              case 274:
                return Mi(ce);
              case 280:
                return W0(ce);
              case 275:
                return Ds(ce);
              case 276:
                return Al(ce);
              case 277:
                return Bf(ce);
              case 278:
                return Jf(ce);
              case 279:
                return sg(ce);
              case 281:
                return V0(ce);
              case 300:
                return ng(ce);
              case 301:
                return td(ce);
              case 282:
                return;
              // Module references
              case 283:
                return Vw(ce);
              // JSX (non-expression)
              case 12:
                return nT(ce);
              case 286:
              case 289:
                return dE(ce);
              case 287:
              case 290:
                return kk(ce);
              case 291:
                return mE(ce);
              case 292:
                return h2(ce);
              case 293:
                return iT(ce);
              case 294:
                return U0(ce);
              case 295:
                return Hh(ce);
              // Clauses
              case 296:
                return Nv(ce);
              case 297:
                return h1(ce);
              case 298:
                return v2(ce);
              case 299:
                return q0(ce);
              // Property assignments
              case 303:
                return Ia(ce);
              case 304:
                return Av(ce);
              case 305:
                return Uw(ce);
              // Enum
              case 306:
                return y1(ce);
              // Top-level nodes
              case 307:
                return b2(ce);
              case 308:
                return E.fail("Bundles should be printed using printBundle");
              // JSDoc nodes (only used in codefixes currently)
              case 309:
                return og(ce);
              case 310:
                return I_(ce);
              case 312:
                return dn("*");
              case 313:
                return dn("?");
              case 314:
                return kc(ce);
              case 315:
                return gi(ce);
              case 316:
                return ps(ce);
              case 317:
                return qo(ce);
              case 191:
              case 318:
                return rf(ce);
              case 319:
                return;
              case 320:
                return Kg(ce);
              case 322:
                return Vl(ce);
              case 323:
                return th(ce);
              case 327:
              case 332:
              case 337:
                return v1(ce);
              case 328:
              case 329:
                return of(ce);
              case 330:
              case 331:
                return;
              // SyntaxKind.JSDocClassTag (see JSDocTag, above)
              case 333:
              case 334:
              case 335:
              case 336:
                return;
              case 338:
                return aT(ce);
              case 339:
                return wd(ce);
              // SyntaxKind.JSDocEnumTag (see below)
              case 341:
              case 348:
                return F_(ce);
              case 340:
              case 342:
              case 343:
              case 344:
              case 349:
              case 350:
                return eh(ce);
              case 345:
                return il(ce);
              case 346:
                return H0(ce);
              case 347:
                return _p(ce);
              case 351:
                return v_(ce);
              // SyntaxKind.JSDocPropertyTag (see JSDocParameterTag, above)
              // Transformation nodes
              case 353:
              case 354:
                return;
            }
            if (lt(ce) && (C = 1, o !== nw)) {
              const ir = o(C, ce) || ce;
              ir !== ce && (ce = ir, Fr && (ce = Fr(ce)));
            }
          }
          if (C === 1)
            switch (ce.kind) {
              // Literals
              case 9:
              case 10:
                return we(ce);
              case 11:
              case 14:
              case 15:
                return mt(
                  ce,
                  /*jsxAttributeEscape*/
                  !1
                );
              // Identifiers
              case 80:
                return X(ce);
              case 81:
                return pt(ce);
              // Expressions
              case 209:
                return xr(ce);
              case 210:
                return Li(ce);
              case 211:
                return Qi(ce);
              case 212:
                return da(ce);
              case 213:
                return vo(ce);
              case 214:
                return fc(ce);
              case 215:
                return Lc(ce);
              case 216:
                return bo(ce);
              case 217:
                return pc(ce);
              case 218:
                return Cd(ce);
              case 219:
                return tu(ce);
              case 220:
                return Ae(ce);
              case 221:
                return It(ce);
              case 222:
                return Xr(ce);
              case 223:
                return qi(ce);
              case 224:
                return Is(ce);
              case 225:
                return Do(ce);
              case 226:
                return zi(ce);
              case 227:
                return rc(ce);
              case 228:
                return nc(ce);
              case 229:
                return Mc(ce);
              case 230:
                return ll(ce);
              case 231:
                return ul(ce);
              case 232:
                return;
              case 234:
                return n_(ce);
              case 235:
                return ed(ce);
              case 233:
                return nf(ce);
              case 238:
                return hf(ce);
              case 236:
                return ym(ce);
              case 237:
                return E.fail("SyntheticExpression should never be printed.");
              case 282:
                return;
              // JSX
              case 284:
                return xk(ce);
              case 285:
                return pE(ce);
              case 288:
                return g2(ce);
              // Synthesized list
              case 352:
                return E.fail("SyntaxList should not be printed");
              // Transformation nodes
              case 353:
                return;
              case 355:
                return Ek(ce);
              case 356:
                return X0(ce);
              case 357:
                return E.fail("SyntheticReferenceExpression should not be printed");
            }
          if (p_(ce.kind)) return zf(ce, gs);
          if (Fj(ce.kind)) return zf(ce, dn);
          E.fail(`Unhandled SyntaxKind: ${E.formatSyntaxKind(ce.kind)}.`);
        }
        function kt(C) {
          gr(C.name), ln(), gs("in"), ln(), gr(C.constraint);
        }
        function Ve(C, ce) {
          const dt = bt(1, C, ce);
          E.assertIsDefined(tr), ce = tr, tr = void 0, dt(C, ce);
        }
        function Rt(C) {
          let ce = !1;
          const dt = C.kind === 308 ? C : void 0;
          if (dt && D === 0)
            return;
          const ir = dt ? dt.sourceFiles.length : 1;
          for (let Yn = 0; Yn < ir; Yn++) {
            const hi = dt ? dt.sourceFiles[Yn] : C, Gi = xi(hi) ? hi : A, us = e.noEmitHelpers || !!Gi && Qte(Gi), ma = xi(hi) && !re, i_ = Zr(hi);
            if (i_)
              for (const ic of i_) {
                if (ic.scoped) {
                  if (dt)
                    continue;
                } else {
                  if (us) continue;
                  if (ma) {
                    if (w.get(ic.name))
                      continue;
                    w.set(ic.name, !0);
                  }
                }
                typeof ic.text == "string" ? Ad(ic.text) : Ad(ic.text(bE)), ce = !0;
              }
          }
          return ce;
        }
        function Zr(C) {
          const ce = QJ(C);
          return ce && J_(ce, dte);
        }
        function we(C) {
          mt(
            C,
            /*jsxAttributeEscape*/
            !1
          );
        }
        function mt(C, ce) {
          const dt = T2(
            C,
            /*sourceFile*/
            void 0,
            e.neverAsciiEscape,
            ce
          );
          (e.sourceMap || e.inlineSourceMap) && (C.kind === 11 || My(C.kind)) ? wk(dt) : T1(dt);
        }
        function _e(C, ce, dt) {
          switch (dt.kind) {
            case 1:
              M(C, ce, dt);
              break;
            case 0:
              ye(C, ce, dt);
              break;
          }
        }
        function M(C, ce, dt) {
          Pk(`\${${dt.order}:`), _t(
            C,
            ce,
            /*allowSnippets*/
            !1
          ), Pk("}");
        }
        function ye(C, ce, dt) {
          E.assert(ce.kind === 242, `A tab stop cannot be attached to a node of kind ${E.formatSyntaxKind(ce.kind)}.`), E.assert(C !== 5, "A tab stop cannot be attached to an embedded statement."), Pk(`$${dt.order}`);
        }
        function X(C) {
          (C.symbol ? gE : De)(ey(
            C,
            /*includeTrivia*/
            !1
          ), C.symbol), po(
            C,
            wS(C),
            53776
            /* TypeParameters */
          );
        }
        function pt(C) {
          De(ey(
            C,
            /*includeTrivia*/
            !1
          ));
        }
        function jt(C) {
          ke(C.left), dn("."), gr(C.right);
        }
        function ke(C) {
          C.kind === 80 ? He(C) : gr(C);
        }
        function st(C) {
          dn("["), He(C.expression, Wr.parenthesizeExpressionOfComputedPropertyName), dn("]");
        }
        function At(C) {
          ih(C, C.modifiers), gr(C.name), C.constraint && (ln(), gs("extends"), ln(), gr(C.constraint)), C.default && (ln(), Y0("="), ln(), gr(C.default));
        }
        function Yr(C) {
          Il(
            C,
            C.modifiers,
            /*allowDecorators*/
            !0
          ), gr(C.dotDotDotToken), sa(C.name, uT), gr(C.questionToken), C.parent && C.parent.kind === 317 && !C.name ? gr(C.type) : sh(C.type), b1(C.initializer, C.type ? C.type.end : C.questionToken ? C.questionToken.end : C.name ? C.name.end : C.modifiers ? C.modifiers.end : C.pos, C, Wr.parenthesizeExpressionForDisallowedComma);
        }
        function Mr(C) {
          dn("@"), He(C.expression, Wr.parenthesizeLeftSideOfAccess);
        }
        function Rr(C) {
          ih(C, C.modifiers), sa(C.name, hE), gr(C.questionToken), sh(C.type), Eu();
        }
        function Ye(C) {
          Il(
            C,
            C.modifiers,
            /*allowDecorators*/
            !0
          ), gr(C.name), gr(C.questionToken), gr(C.exclamationToken), sh(C.type), b1(C.initializer, C.type ? C.type.end : C.questionToken ? C.questionToken.end : C.name.end, C), Eu();
        }
        function gt(C) {
          ih(C, C.modifiers), gr(C.name), gr(C.questionToken), A_(C, Rp, bm);
        }
        function Jt(C) {
          Il(
            C,
            C.modifiers,
            /*allowDecorators*/
            !0
          ), gr(C.asteriskToken), gr(C.name), gr(C.questionToken), A_(C, Rp, Dd);
        }
        function wt(C) {
          gs("static"), Cm(C), vf(C.body), Xh(C);
        }
        function dr(C) {
          Il(
            C,
            C.modifiers,
            /*allowDecorators*/
            !1
          ), gs("constructor"), A_(C, Rp, Dd);
        }
        function Kt(C) {
          const ce = Il(
            C,
            C.modifiers,
            /*allowDecorators*/
            !0
          ), dt = C.kind === 177 ? 139 : 153;
          L(dt, ce, gs, C), ln(), gr(C.name), A_(C, Rp, Dd);
        }
        function Mt(C) {
          A_(C, Rp, bm);
        }
        function cr(C) {
          gs("new"), ln(), A_(C, Rp, bm);
        }
        function lr(C) {
          Il(
            C,
            C.modifiers,
            /*allowDecorators*/
            !1
          ), cT(C, C.parameters), sh(C.type), Eu();
        }
        function br(C) {
          gr(C.type), gr(C.literal);
        }
        function $t() {
          Eu();
        }
        function Qn(C) {
          C.assertsModifier && (gr(C.assertsModifier), ln()), gr(C.parameterName), C.type && (ln(), gs("is"), ln(), gr(C.type));
        }
        function Ns(C) {
          gr(C.typeName), lg(C, C.typeArguments);
        }
        function $s(C) {
          A_(C, Es, Nc);
        }
        function Es(C) {
          S1(C, C.typeParameters), zu(C, C.parameters), ln(), dn("=>");
        }
        function Nc(C) {
          ln(), gr(C.type);
        }
        function qo(C) {
          gs("function"), Ri(C, C.parameters), dn(":"), gr(C.type);
        }
        function kc(C) {
          dn("?"), gr(C.type);
        }
        function gi(C) {
          dn("!"), gr(C.type);
        }
        function ps(C) {
          gr(C.type), dn("=");
        }
        function Wc(C) {
          ih(C, C.modifiers), gs("new"), ln(), A_(C, Es, Nc);
        }
        function Lo(C) {
          gs("typeof"), ln(), gr(C.exprName), lg(C, C.typeArguments);
        }
        function Pa(C) {
          Cm(C), ar(C.members, pT), dn("{");
          const ce = ka(C) & 1 ? 768 : 32897;
          po(
            C,
            C.members,
            ce | 524288
            /* NoSpaceIfEmpty */
          ), dn("}"), Xh(C);
        }
        function Bo(C) {
          gr(C.elementType, Wr.parenthesizeNonArrayTypeOfPostfixType), dn("["), dn("]");
        }
        function rf(C) {
          dn("..."), gr(C.type);
        }
        function ss(C) {
          L(23, C.pos, dn, C);
          const ce = ka(C) & 1 ? 528 : 657;
          po(C, C.elements, ce | 524288, Wr.parenthesizeElementTypeOfTupleType), L(24, C.elements.end, dn, C);
        }
        function Vs(C) {
          gr(C.dotDotDotToken), gr(C.name), gr(C.questionToken), L(59, C.name.end, dn, C), ln(), gr(C.type);
        }
        function Aa(C) {
          gr(C.type, Wr.parenthesizeTypeOfOptionalType), dn("?");
        }
        function Ca(C) {
          po(C, C.types, 516, Wr.parenthesizeConstituentTypeOfUnionType);
        }
        function zt(C) {
          po(C, C.types, 520, Wr.parenthesizeConstituentTypeOfIntersectionType);
        }
        function Ka(C) {
          gr(C.checkType, Wr.parenthesizeCheckTypeOfConditionalType), ln(), gs("extends"), ln(), gr(C.extendsType, Wr.parenthesizeExtendsTypeOfConditionalType), ln(), dn("?"), ln(), gr(C.trueType), ln(), dn(":"), ln(), gr(C.falseType);
        }
        function Vc(C) {
          gs("infer"), ln(), gr(C.typeParameter);
        }
        function tc(C) {
          dn("("), gr(C.type), dn(")");
        }
        function eu() {
          gs("this");
        }
        function yo(C) {
          ah(C.operator, gs), ln();
          const ce = C.operator === 148 ? Wr.parenthesizeOperandOfReadonlyTypeOperator : Wr.parenthesizeOperandOfTypeOperator;
          gr(C.type, ce);
        }
        function ge(C) {
          gr(C.objectType, Wr.parenthesizeNonArrayTypeOfPostfixType), dn("["), gr(C.indexType), dn("]");
        }
        function H(C) {
          const ce = ka(C);
          dn("{"), ce & 1 ? ln() : (Wu(), ug()), C.readonlyToken && (gr(C.readonlyToken), C.readonlyToken.kind !== 148 && gs("readonly"), ln()), dn("["), Q(3, C.typeParameter), C.nameType && (ln(), gs("as"), ln(), gr(C.nameType)), dn("]"), C.questionToken && (gr(C.questionToken), C.questionToken.kind !== 58 && dn("?")), dn(":"), ln(), gr(C.type), Eu(), ce & 1 ? ln() : (Wu(), rd()), po(
            C,
            C.members,
            2
            /* PreserveLines */
          ), dn("}");
        }
        function et(C) {
          He(C.literal);
        }
        function Ot(C) {
          gr(C.head), po(
            C,
            C.templateSpans,
            262144
            /* TemplateExpressionSpans */
          );
        }
        function Zt(C) {
          C.isTypeOf && (gs("typeof"), ln()), gs("import"), dn("("), gr(C.argument), C.attributes && (dn(","), ln(), Q(7, C.attributes)), dn(")"), C.qualifier && (dn("."), gr(C.qualifier)), lg(C, C.typeArguments);
        }
        function Ur(C) {
          dn("{"), po(
            C,
            C.elements,
            525136
            /* ObjectBindingPatternElements */
          ), dn("}");
        }
        function Vn(C) {
          dn("["), po(
            C,
            C.elements,
            524880
            /* ArrayBindingPatternElements */
          ), dn("]");
        }
        function sn(C) {
          gr(C.dotDotDotToken), C.propertyName && (gr(C.propertyName), dn(":"), ln()), gr(C.name), b1(C.initializer, C.name.end, C, Wr.parenthesizeExpressionForDisallowedComma);
        }
        function xr(C) {
          const ce = C.elements, dt = C.multiLine ? 65536 : 0;
          Fv(C, ce, 8914 | dt, Wr.parenthesizeExpressionForDisallowedComma);
        }
        function Li(C) {
          Cm(C), ar(C.properties, pT);
          const ce = ka(C) & 131072;
          ce && ug();
          const dt = C.multiLine ? 65536 : 0, ir = A && A.languageVersion >= 1 && !Kf(A) ? 64 : 0;
          po(C, C.properties, 526226 | ir | dt), ce && rd(), Xh(C);
        }
        function Qi(C) {
          He(C.expression, Wr.parenthesizeLeftSideOfAccess);
          const ce = C.questionDotToken || hd(N.createToken(
            25
            /* DotToken */
          ), C.expression.end, C.name.pos), dt = nd(C, C.expression, ce), ir = nd(C, ce, C.name);
          jp(
            dt,
            /*writeSpaceIfNotIndenting*/
            !1
          ), ce.kind !== 29 && no(C.expression) && !he.hasTrailingComment() && !he.hasTrailingWhitespace() && dn("."), C.questionDotToken ? gr(ce) : L(ce.kind, C.expression.end, dn, C), jp(
            ir,
            /*writeSpaceIfNotIndenting*/
            !1
          ), gr(C.name), _g(dt, ir);
        }
        function no(C) {
          if (C = qp(C), m_(C)) {
            const ce = T2(
              C,
              /*sourceFile*/
              void 0,
              /*neverAsciiEscape*/
              !0,
              /*jsxAttributeEscape*/
              !1
            );
            return !(C.numericLiteralFlags & 448) && !ce.includes(Qs(
              25
              /* DotToken */
            )) && !ce.includes("E") && !ce.includes("e");
          } else if (ko(C)) {
            const ce = ste(C);
            return typeof ce == "number" && isFinite(ce) && ce >= 0 && Math.floor(ce) === ce;
          }
        }
        function da(C) {
          He(C.expression, Wr.parenthesizeLeftSideOfAccess), gr(C.questionDotToken), L(23, C.expression.end, dn, C), He(C.argumentExpression), L(24, C.argumentExpression.end, dn, C);
        }
        function vo(C) {
          const ce = Hp(C) & 16;
          ce && (dn("("), wk("0"), dn(","), ln()), He(C.expression, Wr.parenthesizeLeftSideOfAccess), ce && dn(")"), gr(C.questionDotToken), lg(C, C.typeArguments), Fv(C, C.arguments, 2576, Wr.parenthesizeExpressionForDisallowedComma);
        }
        function fc(C) {
          L(105, C.pos, gs, C), ln(), He(C.expression, Wr.parenthesizeExpressionOfNew), lg(C, C.typeArguments), Fv(C, C.arguments, 18960, Wr.parenthesizeExpressionForDisallowedComma);
        }
        function Lc(C) {
          const ce = Hp(C) & 16;
          ce && (dn("("), wk("0"), dn(","), ln()), He(C.tag, Wr.parenthesizeLeftSideOfAccess), ce && dn(")"), lg(C, C.typeArguments), ln(), He(C.template);
        }
        function bo(C) {
          dn("<"), gr(C.type), dn(">"), He(C.expression, Wr.parenthesizeOperandOfPrefixUnary);
        }
        function pc(C) {
          const ce = L(21, C.pos, dn, C), dt = _T(C.expression, C);
          He(
            C.expression,
            /*parenthesizerRule*/
            void 0
          ), Ak(C.expression, C), _g(dt), L(22, C.expression ? C.expression.end : ce, dn, C);
        }
        function Cd(C) {
          ch(C.name), Zg(C);
        }
        function tu(C) {
          ih(C, C.modifiers), A_(C, Rf, r_);
        }
        function Rf(C) {
          S1(C, C.typeParameters), zu(C, C.parameters), sh(C.type), ln(), gr(C.equalsGreaterThanToken);
        }
        function r_(C) {
          Cs(C.body) ? vf(C.body) : (ln(), He(C.body, Wr.parenthesizeConciseBodyOfArrowFunction));
        }
        function Ae(C) {
          L(91, C.pos, gs, C), ln(), He(C.expression, Wr.parenthesizeOperandOfPrefixUnary);
        }
        function It(C) {
          L(114, C.pos, gs, C), ln(), He(C.expression, Wr.parenthesizeOperandOfPrefixUnary);
        }
        function Xr(C) {
          L(116, C.pos, gs, C), ln(), He(C.expression, Wr.parenthesizeOperandOfPrefixUnary);
        }
        function qi(C) {
          L(135, C.pos, gs, C), ln(), He(C.expression, Wr.parenthesizeOperandOfPrefixUnary);
        }
        function Is(C) {
          ah(C.operator, Y0), Ea(C) && ln(), He(C.operand, Wr.parenthesizeOperandOfPrefixUnary);
        }
        function Ea(C) {
          const ce = C.operand;
          return ce.kind === 224 && (C.operator === 40 && (ce.operator === 40 || ce.operator === 46) || C.operator === 41 && (ce.operator === 41 || ce.operator === 47));
        }
        function Do(C) {
          He(C.operand, Wr.parenthesizeOperandOfPostfixUnary), ah(C.operator, Y0);
        }
        function Ac() {
          return RF(
            C,
            ce,
            dt,
            ir,
            Yn,
            /*foldState*/
            void 0
          );
          function C(Gi, us) {
            if (us) {
              us.stackIndex++, us.preserveSourceNewlinesStack[us.stackIndex] = me, us.containerPosStack[us.stackIndex] = se, us.containerEndStack[us.stackIndex] = Pe, us.declarationListContainerEndStack[us.stackIndex] = Ee;
              const ma = us.shouldEmitCommentsStack[us.stackIndex] = Ne(Gi), i_ = us.shouldEmitSourceMapsStack[us.stackIndex] = qe(Gi);
              c?.(Gi), ma && mc(Gi), i_ && vT(Gi), ne(Gi);
            } else
              us = {
                stackIndex: 0,
                preserveSourceNewlinesStack: [void 0],
                containerPosStack: [-1],
                containerEndStack: [-1],
                declarationListContainerEndStack: [-1],
                shouldEmitCommentsStack: [!1],
                shouldEmitSourceMapsStack: [!1]
              };
            return us;
          }
          function ce(Gi, us, ma) {
            return hi(Gi, ma, "left");
          }
          function dt(Gi, us, ma) {
            const i_ = Gi.kind !== 28, ic = nd(ma, ma.left, Gi), Jo = nd(ma, Gi, ma.right);
            jp(ic, i_), zv(Gi.pos), zf(Gi, Gi.kind === 103 ? gs : Y0), pg(
              Gi.end,
              /*prefixSpace*/
              !0
            ), jp(
              Jo,
              /*writeSpaceIfNotIndenting*/
              !0
            );
          }
          function ir(Gi, us, ma) {
            return hi(Gi, ma, "right");
          }
          function Yn(Gi, us) {
            const ma = nd(Gi, Gi.left, Gi.operatorToken), i_ = nd(Gi, Gi.operatorToken, Gi.right);
            if (_g(ma, i_), us.stackIndex > 0) {
              const ic = us.preserveSourceNewlinesStack[us.stackIndex], Jo = us.containerPosStack[us.stackIndex], zk = us.containerEndStack[us.stackIndex], s_ = us.declarationListContainerEndStack[us.stackIndex], Dm = us.shouldEmitCommentsStack[us.stackIndex], C1 = us.shouldEmitSourceMapsStack[us.stackIndex];
              rt(ic), C1 && Bk(Gi), Dm && Rv(Gi, Jo, zk, s_), _?.(Gi), us.stackIndex--;
            }
          }
          function hi(Gi, us, ma) {
            const i_ = ma === "left" ? Wr.getParenthesizeLeftSideOfBinaryForOperator(us.operatorToken.kind) : Wr.getParenthesizeRightSideOfBinaryForOperator(us.operatorToken.kind);
            let ic = Ze(0, 1, Gi);
            if (ic === Ve && (E.assertIsDefined(tr), Gi = i_(Us(tr, lt)), ic = bt(1, 1, Gi), tr = void 0), (ic === gT || ic === k1 || ic === ft) && _n(Gi))
              return Gi;
            Fr = i_, ic(1, Gi);
          }
        }
        function rc(C) {
          const ce = nd(C, C.condition, C.questionToken), dt = nd(C, C.questionToken, C.whenTrue), ir = nd(C, C.whenTrue, C.colonToken), Yn = nd(C, C.colonToken, C.whenFalse);
          He(C.condition, Wr.parenthesizeConditionOfConditionalExpression), jp(
            ce,
            /*writeSpaceIfNotIndenting*/
            !0
          ), gr(C.questionToken), jp(
            dt,
            /*writeSpaceIfNotIndenting*/
            !0
          ), He(C.whenTrue, Wr.parenthesizeBranchOfConditionalExpression), _g(ce, dt), jp(
            ir,
            /*writeSpaceIfNotIndenting*/
            !0
          ), gr(C.colonToken), jp(
            Yn,
            /*writeSpaceIfNotIndenting*/
            !0
          ), He(C.whenFalse, Wr.parenthesizeBranchOfConditionalExpression), _g(ir, Yn);
        }
        function nc(C) {
          gr(C.head), po(
            C,
            C.templateSpans,
            262144
            /* TemplateExpressionSpans */
          );
        }
        function Mc(C) {
          L(127, C.pos, gs, C), gr(C.asteriskToken), $h(C.expression && Sr(C.expression), Zi);
        }
        function ll(C) {
          L(26, C.pos, dn, C), He(C.expression, Wr.parenthesizeExpressionForDisallowedComma);
        }
        function ul(C) {
          ch(C.name), Le(C);
        }
        function nf(C) {
          He(C.expression, Wr.parenthesizeLeftSideOfAccess), lg(C, C.typeArguments);
        }
        function n_(C) {
          He(
            C.expression,
            /*parenthesizerRule*/
            void 0
          ), C.type && (ln(), gs("as"), ln(), gr(C.type));
        }
        function ed(C) {
          He(C.expression, Wr.parenthesizeLeftSideOfAccess), Y0("!");
        }
        function hf(C) {
          He(
            C.expression,
            /*parenthesizerRule*/
            void 0
          ), C.type && (ln(), gs("satisfies"), ln(), gr(C.type));
        }
        function ym(C) {
          Z0(C.keywordToken, C.pos, dn), dn("."), gr(C.name);
        }
        function Qg(C) {
          He(C.expression), gr(C.literal);
        }
        function jf(C) {
          y_(
            C,
            /*forceSingleLine*/
            !C.multiLine && Ik(C)
          );
        }
        function y_(C, ce) {
          L(
            19,
            C.pos,
            dn,
            /*contextNode*/
            C
          );
          const dt = ce || ka(C) & 1 ? 768 : 129;
          po(C, C.statements, dt), L(
            20,
            C.statements.end,
            dn,
            /*contextNode*/
            C,
            /*indentLeading*/
            !!(dt & 1)
          );
        }
        function Ju(C) {
          Il(
            C,
            C.modifiers,
            /*allowDecorators*/
            !1
          ), gr(C.declarationList), Eu();
        }
        function vm(C) {
          C ? dn(";") : Eu();
        }
        function yf(C) {
          He(C.expression, Wr.parenthesizeExpressionOfExpressionStatement), (!A || !Kf(A) || oo(C.expression)) && Eu();
        }
        function Yg(C) {
          const ce = L(101, C.pos, gs, C);
          ln(), L(21, ce, dn, C), He(C.expression), L(22, C.expression.end, dn, C), Q0(C, C.thenStatement), C.elseStatement && (bf(C, C.thenStatement, C.elseStatement), L(93, C.thenStatement.end, gs, C), C.elseStatement.kind === 245 ? (ln(), gr(C.elseStatement)) : Q0(C, C.elseStatement));
        }
        function Z(C, ce) {
          const dt = L(117, ce, gs, C);
          ln(), L(21, dt, dn, C), He(C.expression), L(22, C.expression.end, dn, C);
        }
        function Ke(C) {
          L(92, C.pos, gs, C), Q0(C, C.statement), Cs(C.statement) && !me ? ln() : bf(C, C.statement, C.expression), Z(C, C.statement.end), Eu();
        }
        function Vt(C) {
          Z(C, C.pos), Q0(C, C.statement);
        }
        function Ut(C) {
          const ce = L(99, C.pos, gs, C);
          ln();
          let dt = L(
            21,
            ce,
            dn,
            /*contextNode*/
            C
          );
          On(C.initializer), dt = L(27, C.initializer ? C.initializer.end : dt, dn, C), $h(C.condition), dt = L(27, C.condition ? C.condition.end : dt, dn, C), $h(C.incrementor), L(22, C.incrementor ? C.incrementor.end : dt, dn, C), Q0(C, C.statement);
        }
        function vr(C) {
          const ce = L(99, C.pos, gs, C);
          ln(), L(21, ce, dn, C), On(C.initializer), ln(), L(103, C.initializer.end, gs, C), ln(), He(C.expression), L(22, C.expression.end, dn, C), Q0(C, C.statement);
        }
        function qr(C) {
          const ce = L(99, C.pos, gs, C);
          ln(), oT(C.awaitModifier), L(21, ce, dn, C), On(C.initializer), ln(), L(165, C.initializer.end, gs, C), ln(), He(C.expression), L(22, C.expression.end, dn, C), Q0(C, C.statement);
        }
        function On(C) {
          C !== void 0 && (C.kind === 261 ? gr(C) : He(C));
        }
        function ti(C) {
          L(88, C.pos, gs, C), Tm(C.label), Eu();
        }
        function Ii(C) {
          L(83, C.pos, gs, C), Tm(C.label), Eu();
        }
        function L(C, ce, dt, ir, Yn) {
          const hi = ds(ir), Gi = hi && hi.kind === ir.kind, us = ce;
          if (Gi && A && (ce = ca(A.text, ce)), Gi && ir.pos !== us) {
            const ma = Yn && A && !rp(us, ce, A);
            ma && ug(), zv(us), ma && rd();
          }
          if (!T && (C === 19 || C === 20) ? ce = Z0(C, ce, dt, ir) : ce = ah(C, dt, ce), Gi && ir.end !== ce) {
            const ma = ir.kind === 294;
            pg(
              ce,
              /*prefixSpace*/
              !ma,
              /*forceNoNewline*/
              ma
            );
          }
          return ce;
        }
        function Re(C) {
          return C.kind === 2 || !!C.hasTrailingNewLine;
        }
        function Ct(C) {
          if (!A) return !1;
          const ce = wg(A.text, C.pos);
          if (ce) {
            const dt = ds(C);
            if (dt && Zu(dt.parent))
              return !0;
          }
          return at(ce, Re) || at(l6(C), Re) ? !0 : Dte(C) ? C.pos !== C.expression.pos && at(Iy(A.text, C.expression.pos), Re) ? !0 : Ct(C.expression) : !1;
        }
        function Sr(C) {
          if (!Bt)
            switch (C.kind) {
              case 355:
                if (Ct(C)) {
                  const ce = ds(C);
                  if (ce && Zu(ce)) {
                    const dt = N.createParenthesizedExpression(C.expression);
                    return xn(dt, C), ot(dt, ce), dt;
                  }
                  return N.createParenthesizedExpression(C);
                }
                return N.updatePartiallyEmittedExpression(
                  C,
                  Sr(C.expression)
                );
              case 211:
                return N.updatePropertyAccessExpression(
                  C,
                  Sr(C.expression),
                  C.name
                );
              case 212:
                return N.updateElementAccessExpression(
                  C,
                  Sr(C.expression),
                  C.argumentExpression
                );
              case 213:
                return N.updateCallExpression(
                  C,
                  Sr(C.expression),
                  C.typeArguments,
                  C.arguments
                );
              case 215:
                return N.updateTaggedTemplateExpression(
                  C,
                  Sr(C.tag),
                  C.typeArguments,
                  C.template
                );
              case 225:
                return N.updatePostfixUnaryExpression(
                  C,
                  Sr(C.operand)
                );
              case 226:
                return N.updateBinaryExpression(
                  C,
                  Sr(C.left),
                  C.operatorToken,
                  C.right
                );
              case 227:
                return N.updateConditionalExpression(
                  C,
                  Sr(C.condition),
                  C.questionToken,
                  C.whenTrue,
                  C.colonToken,
                  C.whenFalse
                );
              case 234:
                return N.updateAsExpression(
                  C,
                  Sr(C.expression),
                  C.type
                );
              case 238:
                return N.updateSatisfiesExpression(
                  C,
                  Sr(C.expression),
                  C.type
                );
              case 235:
                return N.updateNonNullExpression(
                  C,
                  Sr(C.expression)
                );
            }
          return C;
        }
        function Zi(C) {
          return Sr(Wr.parenthesizeExpressionForDisallowedComma(C));
        }
        function fi(C) {
          L(
            107,
            C.pos,
            gs,
            /*contextNode*/
            C
          ), $h(C.expression && Sr(C.expression), Sr), Eu();
        }
        function Vi(C) {
          const ce = L(118, C.pos, gs, C);
          ln(), L(21, ce, dn, C), He(C.expression), L(22, C.expression.end, dn, C), Q0(C, C.statement);
        }
        function as(C) {
          const ce = L(109, C.pos, gs, C);
          ln(), L(21, ce, dn, C), He(C.expression), L(22, C.expression.end, dn, C), ln(), gr(C.caseBlock);
        }
        function Ao(C) {
          gr(C.label), L(59, C.label.end, dn, C), ln(), gr(C.statement);
        }
        function ra(C) {
          L(111, C.pos, gs, C), $h(Sr(C.expression), Sr), Eu();
        }
        function nl(C) {
          L(113, C.pos, gs, C), ln(), gr(C.tryBlock), C.catchClause && (bf(C, C.tryBlock, C.catchClause), gr(C.catchClause)), C.finallyBlock && (bf(C, C.catchClause || C.tryBlock, C.finallyBlock), L(98, (C.catchClause || C.tryBlock).end, gs, C), ln(), gr(C.finallyBlock));
        }
        function sf(C) {
          Z0(89, C.pos, gs), Eu();
        }
        function up(C) {
          var ce, dt, ir;
          gr(C.name), gr(C.exclamationToken), sh(C.type), b1(C.initializer, ((ce = C.type) == null ? void 0 : ce.end) ?? ((ir = (dt = C.name.emitNode) == null ? void 0 : dt.typeNode) == null ? void 0 : ir.end) ?? C.name.end, C, Wr.parenthesizeExpressionForDisallowedComma);
        }
        function Ed(C) {
          if (p3(C))
            gs("await"), ln(), gs("using");
          else {
            const ce = W7(C) ? "let" : BC(C) ? "const" : d3(C) ? "using" : "var";
            gs(ce);
          }
          ln(), po(
            C,
            C.declarations,
            528
            /* VariableDeclarationList */
          );
        }
        function qh(C) {
          Zg(C);
        }
        function Zg(C) {
          Il(
            C,
            C.modifiers,
            /*allowDecorators*/
            !1
          ), gs("function"), gr(C.asteriskToken), ln(), ms(C.name), A_(C, Rp, Dd);
        }
        function A_(C, ce, dt) {
          const ir = ka(C) & 131072;
          ir && ug(), Cm(C), ar(C.parameters, Fl), ce(C), dt(C), Xh(C), ir && rd();
        }
        function Dd(C) {
          const ce = C.body;
          ce ? vf(ce) : Eu();
        }
        function bm(C) {
          Eu();
        }
        function Rp(C) {
          S1(C, C.typeParameters), Ri(C, C.parameters), sh(C.type);
        }
        function m1(C) {
          if (ka(C) & 1)
            return !0;
          if (C.multiLine || !oo(C) && A && !kS(C, A) || S2(
            C,
            Xc(C.statements),
            2
            /* PreserveLines */
          ) || Nk(C, Po(C.statements), 2, C.statements))
            return !1;
          let ce;
          for (const dt of C.statements) {
            if (K0(
              ce,
              dt,
              2
              /* PreserveLines */
            ) > 0)
              return !1;
            ce = dt;
          }
          return !0;
        }
        function vf(C) {
          Fl(C), c?.(C), ln(), dn("{"), ug();
          const ce = m1(C) ? J0 : g1;
          hT(C, C.statements, ce), rd(), Z0(20, C.statements.end, dn, C), _?.(C);
        }
        function J0(C) {
          g1(
            C,
            /*emitBlockFunctionBodyOnSingleLine*/
            !0
          );
        }
        function g1(C, ce) {
          const dt = Gh(C.statements), ir = he.getTextPos();
          Rt(C), dt === 0 && ir === he.getTextPos() && ce ? (rd(), po(
            C,
            C.statements,
            768
            /* SingleLineFunctionBodyStatements */
          ), ug()) : po(
            C,
            C.statements,
            1,
            /*parenthesizerRule*/
            void 0,
            dt
          );
        }
        function z0(C) {
          Le(C);
        }
        function Le(C) {
          Il(
            C,
            C.modifiers,
            /*allowDecorators*/
            !0
          ), L(86, nm(C).pos, gs, C), C.name && (ln(), ms(C.name));
          const ce = ka(C) & 131072;
          ce && ug(), S1(C, C.typeParameters), po(
            C,
            C.heritageClauses,
            0
            /* ClassHeritageClauses */
          ), ln(), dn("{"), Cm(C), ar(C.members, pT), po(
            C,
            C.members,
            129
            /* ClassMembers */
          ), Xh(C), dn("}"), ce && rd();
        }
        function Qe(C) {
          Il(
            C,
            C.modifiers,
            /*allowDecorators*/
            !1
          ), gs("interface"), ln(), gr(C.name), S1(C, C.typeParameters), po(
            C,
            C.heritageClauses,
            512
            /* HeritageClauses */
          ), ln(), dn("{"), Cm(C), ar(C.members, pT), po(
            C,
            C.members,
            129
            /* InterfaceMembers */
          ), Xh(C), dn("}");
        }
        function Nt(C) {
          Il(
            C,
            C.modifiers,
            /*allowDecorators*/
            !1
          ), gs("type"), ln(), gr(C.name), S1(C, C.typeParameters), ln(), dn("="), ln(), gr(C.type), Eu();
        }
        function rr(C) {
          Il(
            C,
            C.modifiers,
            /*allowDecorators*/
            !1
          ), gs("enum"), ln(), gr(C.name), ln(), dn("{"), po(
            C,
            C.members,
            145
            /* EnumMembers */
          ), dn("}");
        }
        function jr(C) {
          Il(
            C,
            C.modifiers,
            /*allowDecorators*/
            !1
          ), ~C.flags & 2048 && (gs(C.flags & 32 ? "namespace" : "module"), ln()), gr(C.name);
          let ce = C.body;
          if (!ce) return Eu();
          for (; ce && zc(ce); )
            dn("."), gr(ce.name), ce = ce.body;
          ln(), gr(ce);
        }
        function pn(C) {
          Cm(C), ar(C.statements, Fl), y_(
            C,
            /*forceSingleLine*/
            Ik(C)
          ), Xh(C);
        }
        function Pr(C) {
          L(19, C.pos, dn, C), po(
            C,
            C.clauses,
            129
            /* CaseBlockClauses */
          ), L(
            20,
            C.clauses.end,
            dn,
            C,
            /*indentLeading*/
            !0
          );
        }
        function fn(C) {
          Il(
            C,
            C.modifiers,
            /*allowDecorators*/
            !1
          ), L(102, C.modifiers ? C.modifiers.end : C.pos, gs, C), ln(), C.isTypeOnly && (L(156, C.pos, gs, C), ln()), gr(C.name), ln(), L(64, C.name.end, dn, C), ln(), vi(C.moduleReference), Eu();
        }
        function vi(C) {
          C.kind === 80 ? He(C) : gr(C);
        }
        function ts(C) {
          Il(
            C,
            C.modifiers,
            /*allowDecorators*/
            !1
          ), L(102, C.modifiers ? C.modifiers.end : C.pos, gs, C), ln(), C.importClause && (gr(C.importClause), ln(), L(161, C.importClause.end, gs, C), ln()), He(C.moduleSpecifier), C.attributes && Tm(C.attributes), Eu();
        }
        function Hn(C) {
          C.isTypeOnly && (L(156, C.pos, gs, C), ln()), gr(C.name), C.name && C.namedBindings && (L(28, C.name.end, dn, C), ln()), gr(C.namedBindings);
        }
        function Mi(C) {
          const ce = L(42, C.pos, dn, C);
          ln(), L(130, ce, gs, C), ln(), gr(C.name);
        }
        function Ds(C) {
          Pv(C);
        }
        function Al(C) {
          m2(C);
        }
        function Bf(C) {
          const ce = L(95, C.pos, gs, C);
          ln(), C.isExportEquals ? L(64, ce, Y0, C) : L(90, ce, gs, C), ln(), He(
            C.expression,
            C.isExportEquals ? Wr.getParenthesizeRightSideOfBinaryForOperator(
              64
              /* EqualsToken */
            ) : Wr.parenthesizeExpressionOfExportDefault
          ), Eu();
        }
        function Jf(C) {
          Il(
            C,
            C.modifiers,
            /*allowDecorators*/
            !1
          );
          let ce = L(95, C.pos, gs, C);
          if (ln(), C.isTypeOnly && (ce = L(156, ce, gs, C), ln()), C.exportClause ? gr(C.exportClause) : ce = L(42, ce, dn, C), C.moduleSpecifier) {
            ln();
            const dt = C.exportClause ? C.exportClause.end : ce;
            L(161, dt, gs, C), ln(), He(C.moduleSpecifier);
          }
          C.attributes && Tm(C.attributes), Eu();
        }
        function af(C) {
          dn("{"), ln(), gs(C.token === 132 ? "assert" : "with"), dn(":"), ln();
          const ce = C.elements;
          po(
            C,
            ce,
            526226
            /* ImportAttributes */
          ), ln(), dn("}");
        }
        function ng(C) {
          L(C.token, C.pos, gs, C), ln();
          const ce = C.elements;
          po(
            C,
            ce,
            526226
            /* ImportAttributes */
          );
        }
        function td(C) {
          gr(C.name), dn(":"), ln();
          const ce = C.value;
          if ((ka(ce) & 1024) === 0) {
            const dt = sm(ce);
            pg(dt.pos);
          }
          gr(ce);
        }
        function ig(C) {
          let ce = L(95, C.pos, gs, C);
          ln(), ce = L(130, ce, gs, C), ln(), ce = L(145, ce, gs, C), ln(), gr(C.name), Eu();
        }
        function W0(C) {
          const ce = L(42, C.pos, dn, C);
          ln(), L(130, ce, gs, C), ln(), gr(C.name);
        }
        function sg(C) {
          Pv(C);
        }
        function V0(C) {
          m2(C);
        }
        function Pv(C) {
          dn("{"), po(
            C,
            C.elements,
            525136
            /* NamedImportsOrExportsElements */
          ), dn("}");
        }
        function m2(C) {
          C.isTypeOnly && (gs("type"), ln()), C.propertyName && (gr(C.propertyName), ln(), L(130, C.propertyName.end, gs, C), ln()), gr(C.name);
        }
        function Vw(C) {
          gs("require"), dn("("), He(C.expression), dn(")");
        }
        function xk(C) {
          gr(C.openingElement), po(
            C,
            C.children,
            262144
            /* JsxElementOrFragmentChildren */
          ), gr(C.closingElement);
        }
        function pE(C) {
          dn("<"), ag(C.tagName), lg(C, C.typeArguments), ln(), gr(C.attributes), dn("/>");
        }
        function g2(C) {
          gr(C.openingFragment), po(
            C,
            C.children,
            262144
            /* JsxElementOrFragmentChildren */
          ), gr(C.closingFragment);
        }
        function dE(C) {
          if (dn("<"), yd(C)) {
            const ce = _T(C.tagName, C);
            ag(C.tagName), lg(C, C.typeArguments), C.attributes.properties && C.attributes.properties.length > 0 && ln(), gr(C.attributes), Ak(C.attributes, C), _g(ce);
          }
          dn(">");
        }
        function nT(C) {
          he.writeLiteral(C.text);
        }
        function kk(C) {
          dn("</"), $b(C) && ag(C.tagName), dn(">");
        }
        function h2(C) {
          po(
            C,
            C.properties,
            262656
            /* JsxElementAttributes */
          );
        }
        function mE(C) {
          gr(C.name), Iv("=", dn, C.initializer, Et);
        }
        function iT(C) {
          dn("{..."), He(C.expression), dn("}");
        }
        function Ck(C) {
          let ce = !1;
          return RP(A?.text || "", C + 1, () => ce = !0), ce;
        }
        function sT(C) {
          let ce = !1;
          return MP(A?.text || "", C + 1, () => ce = !0), ce;
        }
        function Sm(C) {
          return Ck(C) || sT(C);
        }
        function U0(C) {
          var ce;
          if (C.expression || !Bt && !oo(C) && Sm(C.pos)) {
            const dt = A && !oo(C) && Js(A, C.pos).line !== Js(A, C.end).line;
            dt && he.increaseIndent();
            const ir = L(19, C.pos, dn, C);
            gr(C.dotDotDotToken), He(C.expression), L(20, ((ce = C.expression) == null ? void 0 : ce.end) || ir, dn, C), dt && he.decreaseIndent();
          }
        }
        function Hh(C) {
          ms(C.namespace), dn(":"), ms(C.name);
        }
        function ag(C) {
          C.kind === 80 ? He(C) : gr(C);
        }
        function Nv(C) {
          L(84, C.pos, gs, C), ln(), He(C.expression, Wr.parenthesizeExpressionForDisallowedComma), y2(C, C.statements, C.expression.end);
        }
        function h1(C) {
          const ce = L(90, C.pos, gs, C);
          y2(C, C.statements, ce);
        }
        function y2(C, ce, dt) {
          const ir = ce.length === 1 && // treat synthesized nodes as located on the same line for emit purposes
          (!A || oo(C) || oo(ce[0]) || N5(C, ce[0], A));
          let Yn = 163969;
          ir ? (Z0(59, dt, dn, C), ln(), Yn &= -130) : L(59, dt, dn, C), po(C, ce, Yn);
        }
        function v2(C) {
          ln(), ah(C.token, gs), ln(), po(
            C,
            C.types,
            528
            /* HeritageClauseTypes */
          );
        }
        function q0(C) {
          const ce = L(85, C.pos, gs, C);
          ln(), C.variableDeclaration && (L(21, ce, dn, C), gr(C.variableDeclaration), L(22, C.variableDeclaration.end, dn, C), ln()), gr(C.block);
        }
        function Ia(C) {
          gr(C.name), dn(":"), ln();
          const ce = C.initializer;
          if ((ka(ce) & 1024) === 0) {
            const dt = sm(ce);
            pg(dt.pos);
          }
          He(ce, Wr.parenthesizeExpressionForDisallowedComma);
        }
        function Av(C) {
          gr(C.name), C.objectAssignmentInitializer && (ln(), dn("="), ln(), He(C.objectAssignmentInitializer, Wr.parenthesizeExpressionForDisallowedComma));
        }
        function Uw(C) {
          C.expression && (L(26, C.pos, dn, C), He(C.expression, Wr.parenthesizeExpressionForDisallowedComma));
        }
        function y1(C) {
          gr(C.name), b1(C.initializer, C.name.end, C, Wr.parenthesizeExpressionForDisallowedComma);
        }
        function Kg(C) {
          if (De("/**"), C.comment) {
            const ce = HP(C.comment);
            if (ce) {
              const dt = ce.split(/\r\n?|\n/);
              for (const ir of dt)
                Wu(), ln(), dn("*"), ln(), De(ir);
            }
          }
          C.tags && (C.tags.length === 1 && C.tags[0].kind === 344 && !C.comment ? (ln(), gr(C.tags[0])) : po(
            C,
            C.tags,
            33
            /* JSDocComment */
          )), ln(), De("*/");
        }
        function eh(C) {
          rh(C.tagName), og(C.typeExpression), nh(C.comment);
        }
        function _p(C) {
          rh(C.tagName), gr(C.name), nh(C.comment);
        }
        function v_(C) {
          rh(C.tagName), ln(), C.importClause && (gr(C.importClause), ln(), L(161, C.importClause.end, gs, C), ln()), He(C.moduleSpecifier), C.attributes && Tm(C.attributes), nh(C.comment);
        }
        function I_(C) {
          ln(), dn("{"), gr(C.name), dn("}");
        }
        function of(C) {
          rh(C.tagName), ln(), dn("{"), gr(C.class), dn("}"), nh(C.comment);
        }
        function il(C) {
          rh(C.tagName), og(C.constraint), ln(), po(
            C,
            C.typeParameters,
            528
            /* CommaListElements */
          ), nh(C.comment);
        }
        function H0(C) {
          rh(C.tagName), C.typeExpression && (C.typeExpression.kind === 309 ? og(C.typeExpression) : (ln(), dn("{"), De("Object"), C.typeExpression.isArrayType && (dn("["), dn("]")), dn("}"))), C.fullName && (ln(), gr(C.fullName)), nh(C.comment), C.typeExpression && C.typeExpression.kind === 322 && Vl(C.typeExpression);
        }
        function aT(C) {
          rh(C.tagName), C.name && (ln(), gr(C.name)), nh(C.comment), th(C.typeExpression);
        }
        function wd(C) {
          nh(C.comment), th(C.typeExpression);
        }
        function v1(C) {
          rh(C.tagName), nh(C.comment);
        }
        function Vl(C) {
          po(
            C,
            N.createNodeArray(C.jsDocPropertyTags),
            33
            /* JSDocComment */
          );
        }
        function th(C) {
          C.typeParameters && po(
            C,
            N.createNodeArray(C.typeParameters),
            33
            /* JSDocComment */
          ), C.parameters && po(
            C,
            N.createNodeArray(C.parameters),
            33
            /* JSDocComment */
          ), C.type && (Wu(), ln(), dn("*"), ln(), gr(C.type));
        }
        function F_(C) {
          rh(C.tagName), og(C.typeExpression), ln(), C.isBracketed && dn("["), gr(C.name), C.isBracketed && dn("]"), nh(C.comment);
        }
        function rh(C) {
          dn("@"), gr(C);
        }
        function nh(C) {
          const ce = HP(C);
          ce && (ln(), De(ce));
        }
        function og(C) {
          C && (ln(), dn("{"), gr(C.type), dn("}"));
        }
        function b2(C) {
          Wu();
          const ce = C.statements;
          if (ce.length === 0 || !Qd(ce[0]) || oo(ce[0])) {
            hT(C, ce, $0);
            return;
          }
          $0(C);
        }
        function Be(C) {
          Pd(!!C.hasNoDefaultLib, C.syntheticFileReferences || [], C.syntheticTypeReferences || [], C.syntheticLibReferences || []);
        }
        function G0(C) {
          C.isDeclarationFile && Pd(C.hasNoDefaultLib, C.referencedFiles, C.typeReferenceDirectives, C.libReferenceDirectives);
        }
        function Pd(C, ce, dt, ir) {
          if (C && (Lv('/// <reference no-default-lib="true"/>'), Wu()), A && A.moduleName && (Lv(`/// <amd-module name="${A.moduleName}" />`), Wu()), A && A.amdDependencies)
            for (const hi of A.amdDependencies)
              hi.name ? Lv(`/// <amd-dependency name="${hi.name}" path="${hi.path}" />`) : Lv(`/// <amd-dependency path="${hi.path}" />`), Wu();
          function Yn(hi, Gi) {
            for (const us of Gi) {
              const ma = us.resolutionMode ? `resolution-mode="${us.resolutionMode === 99 ? "import" : "require"}" ` : "", i_ = us.preserve ? 'preserve="true" ' : "";
              Lv(`/// <reference ${hi}="${us.fileName}" ${ma}${i_}/>`), Wu();
            }
          }
          Yn("path", ce), Yn("types", dt), Yn("lib", ir);
        }
        function $0(C) {
          const ce = C.statements;
          Cm(C), ar(C.statements, Fl), Rt(C);
          const dt = oc(ce, (ir) => !Qd(ir));
          G0(C), po(
            C,
            ce,
            1,
            /*parenthesizerRule*/
            void 0,
            dt === -1 ? ce.length : dt
          ), Xh(C);
        }
        function Ek(C) {
          const ce = ka(C);
          !(ce & 1024) && C.pos !== C.expression.pos && pg(C.expression.pos), He(C.expression), !(ce & 2048) && C.end !== C.expression.end && zv(C.expression.end);
        }
        function X0(C) {
          Fv(
            C,
            C.elements,
            528,
            /*parenthesizerRule*/
            void 0
          );
        }
        function Gh(C, ce, dt) {
          let ir = !!ce;
          for (let Yn = 0; Yn < C.length; Yn++) {
            const hi = C[Yn];
            if (Qd(hi))
              (dt ? !dt.has(hi.expression.text) : !0) && (ir && (ir = !1, Wn(ce)), Wu(), gr(hi), dt && dt.add(hi.expression.text));
            else
              return Yn;
          }
          return C.length;
        }
        function cg(C) {
          if (xi(C))
            Gh(C.statements, C);
          else {
            const ce = /* @__PURE__ */ new Set();
            for (const dt of C.sourceFiles)
              Gh(dt.statements, dt, ce);
            Wn(void 0);
          }
        }
        function Dk(C) {
          if (xi(C)) {
            const ce = c7(C.text);
            if (ce)
              return Lv(ce), Wu(), !0;
          } else
            for (const ce of C.sourceFiles)
              if (Dk(ce))
                return !0;
        }
        function sa(C, ce) {
          if (!C) return;
          const dt = De;
          De = ce, gr(C), De = dt;
        }
        function Il(C, ce, dt) {
          if (ce?.length) {
            if (Pi(ce, Ks))
              return ih(C, ce);
            if (Pi(ce, yl))
              return dt ? xm(C, ce) : C.pos;
            u?.(ce);
            let ir, Yn, hi = 0, Gi = 0, us;
            for (; hi < ce.length; ) {
              for (; Gi < ce.length; ) {
                if (us = ce[Gi], Yn = yl(us) ? "decorators" : "modifiers", ir === void 0)
                  ir = Yn;
                else if (Yn !== ir)
                  break;
                Gi++;
              }
              const ma = { pos: -1, end: -1 };
              hi === 0 && (ma.pos = ce.pos), Gi === ce.length - 1 && (ma.end = ce.end), (ir === "modifiers" || dt) && lT(
                gr,
                C,
                ce,
                ir === "modifiers" ? 2359808 : 2146305,
                /*parenthesizerRule*/
                void 0,
                hi,
                Gi - hi,
                /*hasTrailingComma*/
                !1,
                ma
              ), hi = Gi, ir = Yn, Gi++;
            }
            if (g?.(ce), us && !gd(us.end))
              return us.end;
          }
          return C.pos;
        }
        function ih(C, ce) {
          po(
            C,
            ce,
            2359808
            /* Modifiers */
          );
          const dt = Po(ce);
          return dt && !gd(dt.end) ? dt.end : C.pos;
        }
        function sh(C) {
          C && (dn(":"), ln(), gr(C));
        }
        function b1(C, ce, dt, ir) {
          C && (ln(), L(64, ce, Y0, dt), ln(), He(C, ir));
        }
        function Iv(C, ce, dt, ir) {
          dt && (ce(C), ir(dt));
        }
        function Tm(C) {
          C && (ln(), gr(C));
        }
        function $h(C, ce) {
          C && (ln(), He(C, ce));
        }
        function oT(C) {
          C && (gr(C), ln());
        }
        function Q0(C, ce) {
          Cs(ce) || ka(C) & 1 || me && !S2(
            C,
            ce,
            0
            /* None */
          ) ? (ln(), gr(ce)) : (Wu(), ug(), oz(ce) ? Q(5, ce) : gr(ce), rd());
        }
        function xm(C, ce) {
          po(
            C,
            ce,
            2146305
            /* Decorators */
          );
          const dt = Po(ce);
          return dt && !gd(dt.end) ? dt.end : C.pos;
        }
        function lg(C, ce) {
          po(C, ce, 53776, ai);
        }
        function S1(C, ce) {
          if (Ts(C) && C.typeArguments)
            return lg(C, C.typeArguments);
          po(C, ce, 53776 | (Co(C) ? 64 : 0));
        }
        function Ri(C, ce) {
          po(
            C,
            ce,
            2576
            /* Parameters */
          );
        }
        function yn(C, ce) {
          const dt = zm(ce);
          return dt && dt.pos === C.pos && Co(C) && !C.type && !at(C.modifiers) && !at(C.typeParameters) && !at(dt.modifiers) && !dt.dotDotDotToken && !dt.questionToken && !dt.type && !dt.initializer && Fe(dt.name);
        }
        function zu(C, ce) {
          yn(C, ce) ? po(
            C,
            ce,
            528
            /* Parenthesis */
          ) : Ri(C, ce);
        }
        function cT(C, ce) {
          po(
            C,
            ce,
            8848
            /* IndexSignatureParameters */
          );
        }
        function km(C) {
          switch (C & 60) {
            case 0:
              break;
            case 16:
              dn(",");
              break;
            case 4:
              ln(), dn("|");
              break;
            case 32:
              ln(), dn("*"), ln();
              break;
            case 8:
              ln(), dn("&");
              break;
          }
        }
        function po(C, ce, dt, ir, Yn, hi) {
          Ov(
            gr,
            C,
            ce,
            dt | (C && ka(C) & 2 ? 65536 : 0),
            ir,
            Yn,
            hi
          );
        }
        function Fv(C, ce, dt, ir, Yn, hi) {
          Ov(He, C, ce, dt, ir, Yn, hi);
        }
        function Ov(C, ce, dt, ir, Yn, hi = 0, Gi = dt ? dt.length - hi : 0) {
          if (dt === void 0 && ir & 16384)
            return;
          const ma = dt === void 0 || hi >= dt.length || Gi === 0;
          if (ma && ir & 32768) {
            u?.(dt), g?.(dt);
            return;
          }
          ir & 15360 && (dn(wje(ir)), ma && dt && pg(
            dt.pos,
            /*prefixSpace*/
            !0
          )), u?.(dt), ma ? ir & 1 && !(me && (!ce || A && kS(ce, A))) ? Wu() : ir & 256 && !(ir & 524288) && ln() : lT(C, ce, dt, ir, Yn, hi, Gi, dt.hasTrailingComma, dt), g?.(dt), ir & 15360 && (ma && dt && zv(dt.end), dn(Pje(ir)));
        }
        function lT(C, ce, dt, ir, Yn, hi, Gi, us, ma) {
          const i_ = (ir & 262144) === 0;
          let ic = i_;
          const Jo = S2(ce, dt[hi], ir);
          Jo ? (Wu(Jo), ic = !1) : ir & 256 && ln(), ir & 128 && ug();
          const zk = Fje(C, Yn);
          let s_, Dm = !1;
          for (let ny = 0; ny < Gi; ny++) {
            const iy = dt[hi + ny];
            if (ir & 32)
              Wu(), km(ir);
            else if (s_) {
              ir & 60 && s_.end !== (ce ? ce.end : -1) && (ka(s_) & 2048 || zv(s_.end)), km(ir);
              const w2 = K0(s_, iy, ir);
              if (w2 > 0) {
                if ((ir & 131) === 0 && (ug(), Dm = !0), ic && ir & 60 && !gd(iy.pos)) {
                  const wm = sm(iy);
                  pg(
                    wm.pos,
                    /*prefixSpace*/
                    !!(ir & 512),
                    /*forceNoNewline*/
                    !0
                  );
                }
                Wu(w2), ic = !1;
              } else s_ && ir & 512 && ln();
            }
            if (ic) {
              const w2 = sm(iy);
              pg(w2.pos);
            } else
              ic = i_;
            q = iy.pos, zk(iy, C, Yn, ny), Dm && (rd(), Dm = !1), s_ = iy;
          }
          const C1 = s_ ? ka(s_) : 0, Vv = Bt || !!(C1 & 2048), Wk = us && ir & 64 && ir & 16;
          Wk && (s_ && !Vv ? L(28, s_.end, dn, s_) : dn(",")), s_ && (ce ? ce.end : -1) !== s_.end && ir & 60 && !Vv && zv(Wk && ma?.end ? ma.end : s_.end), ir & 128 && rd();
          const Vk = Nk(ce, dt[hi + Gi - 1], ir, ma);
          Vk ? Wu(Vk) : ir & 2097408 && ln();
        }
        function wk(C) {
          he.writeLiteral(C);
        }
        function T1(C) {
          he.writeStringLiteral(C);
        }
        function Nd(C) {
          he.write(C);
        }
        function gE(C, ce) {
          he.writeSymbol(C, ce);
        }
        function dn(C) {
          he.writePunctuation(C);
        }
        function Eu() {
          he.writeTrailingSemicolon(";");
        }
        function gs(C) {
          he.writeKeyword(C);
        }
        function Y0(C) {
          he.writeOperator(C);
        }
        function uT(C) {
          he.writeParameter(C);
        }
        function Lv(C) {
          he.writeComment(C);
        }
        function ln() {
          he.writeSpace(" ");
        }
        function hE(C) {
          he.writeProperty(C);
        }
        function Pk(C) {
          he.nonEscapingWrite ? he.nonEscapingWrite(C) : he.write(C);
        }
        function Wu(C = 1) {
          for (let ce = 0; ce < C; ce++)
            he.writeLine(ce > 0);
        }
        function ug() {
          he.increaseIndent();
        }
        function rd() {
          he.decreaseIndent();
        }
        function Z0(C, ce, dt, ir) {
          return xe ? ah(C, dt, ce) : L_(ir, C, dt, ce, ah);
        }
        function zf(C, ce) {
          m && m(C), ce(Qs(C.kind)), h && h(C);
        }
        function ah(C, ce, dt) {
          const ir = Qs(C);
          return ce(ir), dt < 0 ? dt : dt + ir.length;
        }
        function bf(C, ce, dt) {
          if (ka(C) & 1)
            ln();
          else if (me) {
            const ir = nd(C, ce, dt);
            ir ? Wu(ir) : ln();
          } else
            Wu();
        }
        function Ad(C) {
          const ce = C.split(/\r\n?|\n/), dt = PZ(ce);
          for (const ir of ce) {
            const Yn = dt ? ir.slice(dt) : ir;
            Yn.length && (Wu(), De(Yn));
          }
        }
        function jp(C, ce) {
          C ? (ug(), Wu(C)) : ce && ln();
        }
        function _g(C, ce) {
          C && rd(), ce && rd();
        }
        function S2(C, ce, dt) {
          if (dt & 2 || me) {
            if (dt & 65536)
              return 1;
            if (ce === void 0)
              return !C || A && kS(C, A) ? 0 : 1;
            if (ce.pos === q || ce.kind === 12)
              return 0;
            if (A && C && !gd(C.pos) && !oo(ce) && (!ce.parent || Vo(ce.parent) === Vo(C)))
              return me ? oh(
                (ir) => nee(
                  ce.pos,
                  C.pos,
                  A,
                  ir
                )
              ) : N5(C, ce, A) ? 0 : 1;
            if (x1(ce, dt))
              return 1;
          }
          return dt & 1 ? 1 : 0;
        }
        function K0(C, ce, dt) {
          if (dt & 2 || me) {
            if (C === void 0 || ce === void 0 || ce.kind === 12)
              return 0;
            if (A && !oo(C) && !oo(ce))
              return me && Jp(C, ce) ? oh(
                (ir) => sJ(
                  C,
                  ce,
                  A,
                  ir
                )
              ) : !me && b_(C, ce) ? K3(C, ce, A) ? 0 : 1 : dt & 65536 ? 1 : 0;
            if (x1(C, dt) || x1(ce, dt))
              return 1;
          } else if (xD(ce))
            return 1;
          return dt & 1 ? 1 : 0;
        }
        function Nk(C, ce, dt, ir) {
          if (dt & 2 || me) {
            if (dt & 65536)
              return 1;
            if (ce === void 0)
              return !C || A && kS(C, A) ? 0 : 1;
            if (A && C && !gd(C.pos) && !oo(ce) && (!ce.parent || ce.parent === C)) {
              if (me) {
                const Yn = ir && !gd(ir.end) ? ir.end : ce.end;
                return oh(
                  (hi) => iee(
                    Yn,
                    C.end,
                    A,
                    hi
                  )
                );
              }
              return eee(C, ce, A) ? 0 : 1;
            }
            if (x1(ce, dt))
              return 1;
          }
          return dt & 1 && !(dt & 131072) ? 1 : 0;
        }
        function oh(C) {
          E.assert(!!me);
          const ce = C(
            /*includeComments*/
            !0
          );
          return ce === 0 ? C(
            /*includeComments*/
            !1
          ) : ce;
        }
        function _T(C, ce) {
          const dt = me && S2(
            ce,
            C,
            0
            /* None */
          );
          return dt && jp(
            dt,
            /*writeSpaceIfNotIndenting*/
            !1
          ), !!dt;
        }
        function Ak(C, ce) {
          const dt = me && Nk(
            ce,
            C,
            0,
            /*childrenTextRange*/
            void 0
          );
          dt && Wu(dt);
        }
        function x1(C, ce) {
          if (oo(C)) {
            const dt = xD(C);
            return dt === void 0 ? (ce & 65536) !== 0 : dt;
          }
          return (ce & 65536) !== 0;
        }
        function nd(C, ce, dt) {
          return ka(C) & 262144 ? 0 : (C = fT(C), ce = fT(ce), dt = fT(dt), xD(dt) ? 1 : A && !oo(C) && !oo(ce) && !oo(dt) ? me ? oh(
            (ir) => sJ(
              ce,
              dt,
              A,
              ir
            )
          ) : K3(ce, dt, A) ? 0 : 1 : 0);
        }
        function Ik(C) {
          return C.statements.length === 0 && (!A || K3(C, C, A));
        }
        function fT(C) {
          for (; C.kind === 217 && oo(C); )
            C = C.expression;
          return C;
        }
        function ey(C, ce) {
          if (Mo(C) || cS(C))
            return x2(C);
          if (la(C) && C.textSourceNode)
            return ey(C.textSourceNode, ce);
          const dt = A, ir = !!dt && !!C.parent && !oo(C);
          if (Ng(C)) {
            if (!ir || Er(C) !== Vo(dt))
              return Pn(C);
          } else if (vd(C)) {
            if (!ir || Er(C) !== Vo(dt))
              return SD(C);
          } else if (E.assertNode(C, oS), !ir)
            return C.text;
          return xb(dt, C, ce);
        }
        function T2(C, ce = A, dt, ir) {
          if (C.kind === 11 && C.textSourceNode) {
            const hi = C.textSourceNode;
            if (Fe(hi) || Di(hi) || m_(hi) || vd(hi)) {
              const Gi = m_(hi) ? hi.text : ey(hi);
              return ir ? `"${JB(Gi)}"` : dt || ka(C) & 16777216 ? `"${Qm(Gi)}"` : `"${d5(Gi)}"`;
            } else
              return T2(hi, Er(hi), dt, ir);
          }
          const Yn = (dt ? 1 : 0) | (ir ? 2 : 0) | (e.terminateUnterminatedLiterals ? 4 : 0) | (e.target && e.target >= 8 ? 8 : 0);
          return zZ(C, ce, Yn);
        }
        function Cm(C) {
          W.push(pe), pe = 0, ie.push(fe), !(C && ka(C) & 1048576) && (K.push(U), U = 0, V.push(G), G = void 0, ee.push(te));
        }
        function Xh(C) {
          pe = W.pop(), fe = ie.pop(), !(C && ka(C) & 1048576) && (U = K.pop(), G = V.pop(), te = ee.pop());
        }
        function Em(C) {
          (!te || te === Po(ee)) && (te = /* @__PURE__ */ new Set()), te.add(C);
        }
        function ty(C) {
          (!fe || fe === Po(ie)) && (fe = /* @__PURE__ */ new Set()), fe.add(C);
        }
        function Fl(C) {
          if (C)
            switch (C.kind) {
              case 241:
                ar(C.statements, Fl);
                break;
              case 256:
              case 254:
              case 246:
              case 247:
                Fl(C.statement);
                break;
              case 245:
                Fl(C.thenStatement), Fl(C.elseStatement);
                break;
              case 248:
              case 250:
              case 249:
                Fl(C.initializer), Fl(C.statement);
                break;
              case 255:
                Fl(C.caseBlock);
                break;
              case 269:
                ar(C.clauses, Fl);
                break;
              case 296:
              case 297:
                ar(C.statements, Fl);
                break;
              case 258:
                Fl(C.tryBlock), Fl(C.catchClause), Fl(C.finallyBlock);
                break;
              case 299:
                Fl(C.variableDeclaration), Fl(C.block);
                break;
              case 243:
                Fl(C.declarationList);
                break;
              case 261:
                ar(C.declarations, Fl);
                break;
              case 260:
              case 169:
              case 208:
              case 263:
                ch(C.name);
                break;
              case 262:
                ch(C.name), ka(C) & 1048576 && (ar(C.parameters, Fl), Fl(C.body));
                break;
              case 206:
              case 207:
                ar(C.elements, Fl);
                break;
              case 272:
                Fl(C.importClause);
                break;
              case 273:
                ch(C.name), Fl(C.namedBindings);
                break;
              case 274:
                ch(C.name);
                break;
              case 280:
                ch(C.name);
                break;
              case 275:
                ar(C.elements, Fl);
                break;
              case 276:
                ch(C.propertyName || C.name);
                break;
            }
        }
        function pT(C) {
          if (C)
            switch (C.kind) {
              case 303:
              case 304:
              case 172:
              case 171:
              case 174:
              case 173:
              case 177:
              case 178:
                ch(C.name);
                break;
            }
        }
        function ch(C) {
          C && (Mo(C) || cS(C) ? x2(C) : Ps(C) && Fl(C));
        }
        function x2(C) {
          const ce = C.emitNode.autoGenerate;
          if ((ce.flags & 7) === 4)
            return Fk(jN(C), Di(C), ce.flags, ce.prefix, ce.suffix);
          {
            const dt = ce.id;
            return j[dt] || (j[dt] = SE(C));
          }
        }
        function Fk(C, ce, dt, ir, Yn) {
          const hi = Oa(C), Gi = ce ? F : O;
          return Gi[hi] || (Gi[hi] = Qh(C, ce, dt ?? 0, C6(ir, x2), C6(Yn)));
        }
        function fg(C, ce) {
          return k2(C) && !yE(C, ce) && !z.has(C);
        }
        function yE(C, ce) {
          let dt, ir;
          if (ce ? (dt = fe, ir = ie) : (dt = te, ir = ee), dt?.has(C))
            return !0;
          for (let Yn = ir.length - 1; Yn >= 0; Yn--)
            if (dt !== ir[Yn] && (dt = ir[Yn], dt?.has(C)))
              return !0;
          return !1;
        }
        function k2(C, ce) {
          return A ? L7(A, C, n) : !0;
        }
        function vE(C, ce) {
          for (let dt = ce; dt && Ab(dt, ce); dt = dt.nextContainer)
            if (qm(dt) && dt.locals) {
              const ir = dt.locals.get(ec(C));
              if (ir && ir.flags & 3257279)
                return !1;
            }
          return !0;
        }
        function Mv(C) {
          switch (C) {
            case "":
              return U;
            case "#":
              return pe;
            default:
              return G?.get(C) ?? 0;
          }
        }
        function dT(C, ce) {
          switch (C) {
            case "":
              U = ce;
              break;
            case "#":
              pe = ce;
              break;
            default:
              G ?? (G = /* @__PURE__ */ new Map()), G.set(C, ce);
              break;
          }
        }
        function dc(C, ce, dt, ir, Yn) {
          ir.length > 0 && ir.charCodeAt(0) === 35 && (ir = ir.slice(1));
          const hi = _v(dt, ir, "", Yn);
          let Gi = Mv(hi);
          if (C && !(Gi & C)) {
            const ma = _v(dt, ir, C === 268435456 ? "_i" : "_n", Yn);
            if (fg(ma, dt))
              return Gi |= C, dt ? ty(ma) : ce && Em(ma), dT(hi, Gi), ma;
          }
          for (; ; ) {
            const us = Gi & 268435455;
            if (Gi++, us !== 8 && us !== 13) {
              const ma = us < 26 ? "_" + String.fromCharCode(97 + us) : "_" + (us - 26), i_ = _v(dt, ir, ma, Yn);
              if (fg(i_, dt))
                return dt ? ty(i_) : ce && Em(i_), dT(hi, Gi), i_;
            }
          }
        }
        function Uc(C, ce = fg, dt, ir, Yn, hi, Gi) {
          if (C.length > 0 && C.charCodeAt(0) === 35 && (C = C.slice(1)), hi.length > 0 && hi.charCodeAt(0) === 35 && (hi = hi.slice(1)), dt) {
            const ma = _v(Yn, hi, C, Gi);
            if (ce(ma, Yn))
              return Yn ? ty(ma) : ir ? Em(ma) : z.add(ma), ma;
          }
          C.charCodeAt(C.length - 1) !== 95 && (C += "_");
          let us = 1;
          for (; ; ) {
            const ma = _v(Yn, hi, C + us, Gi);
            if (ce(ma, Yn))
              return Yn ? ty(ma) : ir ? Em(ma) : z.add(ma), ma;
            us++;
          }
        }
        function bE(C) {
          return Uc(
            C,
            k2,
            /*optimistic*/
            !0,
            /*scoped*/
            !1,
            /*privateName*/
            !1,
            /*prefix*/
            "",
            /*suffix*/
            ""
          );
        }
        function cf(C) {
          const ce = ey(C.name);
          return vE(ce, Mn(C, qm)) ? ce : Uc(
            ce,
            fg,
            /*optimistic*/
            !1,
            /*scoped*/
            !1,
            /*privateName*/
            !1,
            /*prefix*/
            "",
            /*suffix*/
            ""
          );
        }
        function Bp(C) {
          const ce = px(C), dt = la(ce) ? VZ(ce.text) : "module";
          return Uc(
            dt,
            fg,
            /*optimistic*/
            !1,
            /*scoped*/
            !1,
            /*privateName*/
            !1,
            /*prefix*/
            "",
            /*suffix*/
            ""
          );
        }
        function Ok() {
          return Uc(
            "default",
            fg,
            /*optimistic*/
            !1,
            /*scoped*/
            !1,
            /*privateName*/
            !1,
            /*prefix*/
            "",
            /*suffix*/
            ""
          );
        }
        function Id() {
          return Uc(
            "class",
            fg,
            /*optimistic*/
            !1,
            /*scoped*/
            !1,
            /*privateName*/
            !1,
            /*prefix*/
            "",
            /*suffix*/
            ""
          );
        }
        function mT(C, ce, dt, ir) {
          return Fe(C.name) ? Fk(C.name, ce) : dc(
            0,
            /*reservedInNestedScopes*/
            !1,
            ce,
            dt,
            ir
          );
        }
        function Qh(C, ce, dt, ir, Yn) {
          switch (C.kind) {
            case 80:
            case 81:
              return Uc(
                ey(C),
                fg,
                !!(dt & 16),
                !!(dt & 8),
                ce,
                ir,
                Yn
              );
            case 267:
            case 266:
              return E.assert(!ir && !Yn && !ce), cf(C);
            case 272:
            case 278:
              return E.assert(!ir && !Yn && !ce), Bp(C);
            case 262:
            case 263: {
              E.assert(!ir && !Yn && !ce);
              const hi = C.name;
              return hi && !Mo(hi) ? Qh(
                hi,
                /*privateName*/
                !1,
                dt,
                ir,
                Yn
              ) : Ok();
            }
            case 277:
              return E.assert(!ir && !Yn && !ce), Ok();
            case 231:
              return E.assert(!ir && !Yn && !ce), Id();
            case 174:
            case 177:
            case 178:
              return mT(C, ce, ir, Yn);
            case 167:
              return dc(
                0,
                /*reservedInNestedScopes*/
                !0,
                ce,
                ir,
                Yn
              );
            default:
              return dc(
                0,
                /*reservedInNestedScopes*/
                !1,
                ce,
                ir,
                Yn
              );
          }
        }
        function SE(C) {
          const ce = C.emitNode.autoGenerate, dt = C6(ce.prefix, x2), ir = C6(ce.suffix);
          switch (ce.flags & 7) {
            case 1:
              return dc(0, !!(ce.flags & 8), Di(C), dt, ir);
            case 2:
              return E.assertNode(C, Fe), dc(
                268435456,
                !!(ce.flags & 8),
                /*privateName*/
                !1,
                dt,
                ir
              );
            case 3:
              return Uc(
                Pn(C),
                ce.flags & 32 ? k2 : fg,
                !!(ce.flags & 16),
                !!(ce.flags & 8),
                Di(C),
                dt,
                ir
              );
          }
          return E.fail(`Unsupported GeneratedIdentifierKind: ${E.formatEnum(
            ce.flags & 7,
            $R,
            /*isFlags*/
            !0
          )}.`);
        }
        function gT(C, ce) {
          const dt = bt(2, C, ce), ir = se, Yn = Pe, hi = Ee;
          mc(ce), dt(C, ce), Rv(ce, ir, Yn, hi);
        }
        function mc(C) {
          const ce = ka(C), dt = sm(C);
          TE(C, ce, dt.pos, dt.end), ce & 4096 && (Bt = !0);
        }
        function Rv(C, ce, dt, ir) {
          const Yn = ka(C), hi = sm(C);
          Yn & 4096 && (Bt = !1), C2(C, Yn, hi.pos, hi.end, ce, dt, ir);
          const Gi = lte(C);
          Gi && C2(C, Yn, Gi.pos, Gi.end, ce, dt, ir);
        }
        function TE(C, ce, dt, ir) {
          it(), St = !1;
          const Yn = dt < 0 || (ce & 1024) !== 0 || C.kind === 12, hi = ir < 0 || (ce & 2048) !== 0 || C.kind === 12;
          (dt > 0 || ir > 0) && dt !== ir && (Yn || ry(
            dt,
            /*isEmittedNode*/
            C.kind !== 353
            /* NotEmittedStatement */
          ), (!Yn || dt >= 0 && (ce & 1024) !== 0) && (se = dt), (!hi || ir >= 0 && (ce & 2048) !== 0) && (Pe = ir, C.kind === 261 && (Ee = ir))), ar(l6(C), qw), Wt();
        }
        function C2(C, ce, dt, ir, Yn, hi, Gi) {
          it();
          const us = ir < 0 || (ce & 2048) !== 0 || C.kind === 12;
          ar(SN(C), Vu), (dt > 0 || ir > 0) && dt !== ir && (se = Yn, Pe = hi, Ee = Gi, !us && C.kind !== 353 && Rk(ir)), Wt();
        }
        function qw(C) {
          (C.hasLeadingNewline || C.kind === 2) && he.writeLine(), jv(C), C.hasTrailingNewLine || C.kind === 2 ? he.writeLine() : he.writeSpace(" ");
        }
        function Vu(C) {
          he.isAtStartOfLine() || he.writeSpace(" "), jv(C), C.hasTrailingNewLine && he.writeLine();
        }
        function jv(C) {
          const ce = E2(C), dt = C.kind === 3 ? ZT(ce) : void 0;
          KC(ce, dt, he, 0, ce.length, k);
        }
        function E2(C) {
          return C.kind === 3 ? `/*${C.text}*/` : `//${C.text}`;
        }
        function hT(C, ce, dt) {
          it();
          const { pos: ir, end: Yn } = ce, hi = ka(C), Gi = ir < 0 || (hi & 1024) !== 0, us = Bt || Yn < 0 || (hi & 2048) !== 0;
          Gi || Sf(ce), Wt(), hi & 4096 && !Bt ? (Bt = !0, dt(C), Bt = !1) : dt(C), it(), us || (ry(
            ce.end,
            /*isEmittedNode*/
            !0
          ), St && !he.isAtStartOfLine() && he.writeLine()), Wt();
        }
        function b_(C, ce) {
          return C = Vo(C), C.parent && C.parent === Vo(ce).parent;
        }
        function Jp(C, ce) {
          if (ce.pos < C.end)
            return !1;
          C = Vo(C), ce = Vo(ce);
          const dt = C.parent;
          if (!dt || dt !== ce.parent)
            return !1;
          const ir = jee(C), Yn = ir?.indexOf(C);
          return Yn !== void 0 && Yn > -1 && ir.indexOf(ce) === Yn + 1;
        }
        function ry(C, ce) {
          St = !1, ce ? C === 0 && A?.isDeclarationFile ? yT(C, Bv) : yT(C, Mk) : C === 0 && yT(C, Lk);
        }
        function Lk(C, ce, dt, ir, Yn) {
          jk(C, ce) && Mk(C, ce, dt, ir, Yn);
        }
        function Bv(C, ce, dt, ir, Yn) {
          jk(C, ce) || Mk(C, ce, dt, ir, Yn);
        }
        function Jv(C, ce) {
          return e.onlyPrintJsDocStyle ? Iz(C, ce) || M7(C, ce) : !0;
        }
        function Mk(C, ce, dt, ir, Yn) {
          !A || !Jv(A.text, C) || (St || (JK(ta(), he, Yn, C), St = !0), Wf(C), KC(A.text, ta(), he, C, ce, k), Wf(ce), ir ? he.writeLine() : dt === 3 && he.writeSpace(" "));
        }
        function zv(C) {
          Bt || C === -1 || ry(
            C,
            /*isEmittedNode*/
            !0
          );
        }
        function Rk(C) {
          Wv(C, D2);
        }
        function D2(C, ce, dt, ir) {
          !A || !Jv(A.text, C) || (he.isAtStartOfLine() || he.writeSpace(" "), Wf(C), KC(A.text, ta(), he, C, ce, k), Wf(ce), ir && he.writeLine());
        }
        function pg(C, ce, dt) {
          Bt || (it(), Wv(C, ce ? D2 : dt ? lf : lh), Wt());
        }
        function lf(C, ce, dt) {
          A && (Wf(C), KC(A.text, ta(), he, C, ce, k), Wf(ce), dt === 2 && he.writeLine());
        }
        function lh(C, ce, dt, ir) {
          A && (Wf(C), KC(A.text, ta(), he, C, ce, k), Wf(ce), ir ? he.writeLine() : he.writeSpace(" "));
        }
        function yT(C, ce) {
          A && (se === -1 || C !== se) && (La(C) ? vn(ce) : MP(
            A.text,
            C,
            ce,
            /*state*/
            C
          ));
        }
        function Wv(C, ce) {
          A && (Pe === -1 || C !== Pe && C !== Ee) && RP(A.text, C, ce);
        }
        function La(C) {
          return ze !== void 0 && pa(ze).nodePos === C;
        }
        function vn(C) {
          if (!A) return;
          const ce = pa(ze).detachedCommentEndPos;
          ze.length - 1 ? ze.pop() : ze = void 0, MP(
            A.text,
            ce,
            C,
            /*state*/
            ce
          );
        }
        function Sf(C) {
          const ce = A && zK(A.text, ta(), he, O_, C, k, Bt);
          ce && (ze ? ze.push(ce) : ze = [ce]);
        }
        function O_(C, ce, dt, ir, Yn, hi) {
          !A || !Jv(A.text, ir) || (Wf(ir), KC(C, ce, dt, ir, Yn, hi), Wf(Yn));
        }
        function jk(C, ce) {
          return !!A && Zj(A.text, C, ce);
        }
        function k1(C, ce) {
          const dt = bt(3, C, ce);
          vT(ce), dt(C, ce), Bk(ce);
        }
        function vT(C) {
          const ce = ka(C), dt = E0(C), ir = dt.source || Xe;
          C.kind !== 353 && (ce & 32) === 0 && dt.pos >= 0 && Vf(dt.source || Xe, Jk(ir, dt.pos)), ce & 128 && (xe = !0);
        }
        function Bk(C) {
          const ce = ka(C), dt = E0(C);
          ce & 128 && (xe = !1), C.kind !== 353 && (ce & 64) === 0 && dt.end >= 0 && Vf(dt.source || Xe, dt.end);
        }
        function Jk(C, ce) {
          return C.skipTrivia ? C.skipTrivia(ce) : ca(C.text, ce);
        }
        function Wf(C) {
          if (xe || gd(C) || uh(Xe))
            return;
          const { line: ce, character: dt } = Js(Xe, C);
          ue.addMapping(
            he.getLine(),
            he.getColumn(),
            nt,
            ce,
            dt,
            /*nameIndex*/
            void 0
          );
        }
        function Vf(C, ce) {
          if (C !== Xe) {
            const dt = Xe, ir = nt;
            Fd(C), Wf(ce), Yh(dt, ir);
          } else
            Wf(ce);
        }
        function L_(C, ce, dt, ir, Yn) {
          if (xe || C && t5(C))
            return Yn(ce, dt, ir);
          const hi = C && C.emitNode, Gi = hi && hi.flags || 0, us = hi && hi.tokenSourceMapRanges && hi.tokenSourceMapRanges[ce], ma = us && us.source || Xe;
          return ir = Jk(ma, us ? us.pos : ir), (Gi & 256) === 0 && ir >= 0 && Vf(ma, ir), ir = Yn(ce, dt, ir), us && (ir = us.end), (Gi & 512) === 0 && ir >= 0 && Vf(ma, ir), ir;
        }
        function Fd(C) {
          if (!xe) {
            if (Xe = C, C === oe) {
              nt = ve;
              return;
            }
            uh(C) || (nt = ue.addSource(C.fileName), e.inlineSources && ue.setSourceContent(nt, C.text), oe = C, ve = nt);
          }
        }
        function Yh(C, ce) {
          Xe = C, nt = ce;
        }
        function uh(C) {
          return Wo(
            C.fileName,
            ".json"
            /* Json */
          );
        }
      }
      function Dje() {
        const e = [];
        return e[
          1024
          /* Braces */
        ] = ["{", "}"], e[
          2048
          /* Parenthesis */
        ] = ["(", ")"], e[
          4096
          /* AngleBrackets */
        ] = ["<", ">"], e[
          8192
          /* SquareBrackets */
        ] = ["[", "]"], e;
      }
      function wje(e) {
        return K1e[
          e & 15360
          /* BracketsMask */
        ][0];
      }
      function Pje(e) {
        return K1e[
          e & 15360
          /* BracketsMask */
        ][1];
      }
      function Nje(e, t, n, i) {
        t(e);
      }
      function Aje(e, t, n, i) {
        t(e, n.select(i));
      }
      function Ije(e, t, n, i) {
        t(e, n);
      }
      function Fje(e, t) {
        return e.length === 1 ? Nje : typeof t == "object" ? Aje : Ije;
      }
      function DO(e, t, n) {
        if (!e.getDirectories || !e.readDirectory)
          return;
        const i = /* @__PURE__ */ new Map(), s = Hl(n);
        return {
          useCaseSensitiveFileNames: n,
          fileExists: T,
          readFile: (W, pe) => e.readFile(W, pe),
          directoryExists: e.directoryExists && k,
          getDirectories: w,
          readDirectory: A,
          createDirectory: e.createDirectory && D,
          writeFile: e.writeFile && S,
          addOrDeleteFileOrDirectory: j,
          addOrDeleteFile: z,
          clearCache: G,
          realpath: e.realpath && O
        };
        function o(W) {
          return lo(W, t, s);
        }
        function c(W) {
          return i.get(ml(W));
        }
        function _(W) {
          const pe = c(Un(W));
          return pe && (pe.sortedAndCanonicalizedFiles || (pe.sortedAndCanonicalizedFiles = pe.files.map(s).sort(), pe.sortedAndCanonicalizedDirectories = pe.directories.map(s).sort()), pe);
        }
        function u(W) {
          return Qc(Gs(W));
        }
        function g(W, pe) {
          var K;
          if (!e.realpath || ml(o(e.realpath(W))) === pe) {
            const U = {
              files: fr(e.readDirectory(
                W,
                /*extensions*/
                void 0,
                /*exclude*/
                void 0,
                /*include*/
                ["*.*"]
              ), u) || [],
              directories: e.getDirectories(W) || []
            };
            return i.set(ml(pe), U), U;
          }
          if ((K = e.directoryExists) != null && K.call(e, W))
            return i.set(pe, !1), !1;
        }
        function m(W, pe) {
          pe = ml(pe);
          const K = c(pe);
          if (K)
            return K;
          try {
            return g(W, pe);
          } catch {
            E.assert(!i.has(ml(pe)));
            return;
          }
        }
        function h(W, pe) {
          return ky(W, pe, mo, au) >= 0;
        }
        function S(W, pe, K) {
          const U = o(W), ee = _(U);
          return ee && V(
            ee,
            u(W),
            /*fileExists*/
            !0
          ), e.writeFile(W, pe, K);
        }
        function T(W) {
          const pe = o(W), K = _(pe);
          return K && h(K.sortedAndCanonicalizedFiles, s(u(W))) || e.fileExists(W);
        }
        function k(W) {
          const pe = o(W);
          return i.has(ml(pe)) || e.directoryExists(W);
        }
        function D(W) {
          const pe = o(W), K = _(pe);
          if (K) {
            const U = u(W), ee = s(U), te = K.sortedAndCanonicalizedDirectories;
            Ty(te, ee, au) && K.directories.push(U);
          }
          e.createDirectory(W);
        }
        function w(W) {
          const pe = o(W), K = m(W, pe);
          return K ? K.directories.slice() : e.getDirectories(W);
        }
        function A(W, pe, K, U, ee) {
          const te = o(W), ie = m(W, te);
          let fe;
          if (ie !== void 0)
            return xJ(W, pe, K, U, n, t, ee, me, O);
          return e.readDirectory(W, pe, K, U, ee);
          function me(he) {
            const Me = o(he);
            if (Me === te)
              return ie || q(he, Me);
            const De = m(he, Me);
            return De !== void 0 ? De || q(he, Me) : DJ;
          }
          function q(he, Me) {
            if (fe && Me === te) return fe;
            const De = {
              files: fr(e.readDirectory(
                he,
                /*extensions*/
                void 0,
                /*exclude*/
                void 0,
                /*include*/
                ["*.*"]
              ), u) || Ue,
              directories: e.getDirectories(he) || Ue
            };
            return Me === te && (fe = De), De;
          }
        }
        function O(W) {
          return e.realpath ? e.realpath(W) : W;
        }
        function F(W) {
          m4(
            Un(W),
            (pe) => i.delete(ml(pe)) ? !0 : void 0
          );
        }
        function j(W, pe) {
          if (c(pe) !== void 0) {
            G();
            return;
          }
          const U = _(pe);
          if (!U) {
            F(pe);
            return;
          }
          if (!e.directoryExists) {
            G();
            return;
          }
          const ee = u(W), te = {
            fileExists: e.fileExists(W),
            directoryExists: e.directoryExists(W)
          };
          return te.directoryExists || h(U.sortedAndCanonicalizedDirectories, s(ee)) ? G() : V(U, ee, te.fileExists), te;
        }
        function z(W, pe, K) {
          if (K === 1)
            return;
          const U = _(pe);
          U ? V(
            U,
            u(W),
            K === 0
            /* Created */
          ) : F(pe);
        }
        function V(W, pe, K) {
          const U = W.sortedAndCanonicalizedFiles, ee = s(pe);
          if (K)
            Ty(U, ee, au) && W.files.push(pe);
          else {
            const te = ky(U, ee, mo, au);
            if (te >= 0) {
              U.splice(te, 1);
              const ie = W.files.findIndex((fe) => s(fe) === ee);
              W.files.splice(ie, 1);
            }
          }
        }
        function G() {
          i.clear();
        }
      }
      var pie = /* @__PURE__ */ ((e) => (e[e.Update = 0] = "Update", e[e.RootNamesAndUpdate = 1] = "RootNamesAndUpdate", e[e.Full = 2] = "Full", e))(pie || {});
      function wO(e, t, n, i, s) {
        var o;
        const c = hC(((o = t?.configFile) == null ? void 0 : o.extendedSourceFiles) || Ue, s);
        n.forEach((_, u) => {
          c.has(u) || (_.projects.delete(e), _.close());
        }), c.forEach((_, u) => {
          const g = n.get(u);
          g ? g.projects.add(e) : n.set(u, {
            projects: /* @__PURE__ */ new Set([e]),
            watcher: i(_, u),
            close: () => {
              const m = n.get(u);
              !m || m.projects.size !== 0 || (m.watcher.close(), n.delete(u));
            }
          });
        });
      }
      function YW(e, t) {
        t.forEach((n) => {
          n.projects.delete(e) && n.close();
        });
      }
      function PO(e, t, n) {
        e.delete(t) && e.forEach(({ extendedResult: i }, s) => {
          var o;
          (o = i.extendedSourceFiles) != null && o.some((c) => n(c) === t) && PO(e, s, n);
        });
      }
      function ZW(e, t, n) {
        aD(
          t,
          e.getMissingFilePaths(),
          {
            // Watch the missing files
            createNewValue: n,
            // Files that are no longer missing (e.g. because they are no longer required)
            // should no longer be watched.
            onDeleteValue: $p
          }
        );
      }
      function _A(e, t, n) {
        t ? aD(
          e,
          new Map(Object.entries(t)),
          {
            // Create new watch and recursive info
            createNewValue: i,
            // Close existing watch thats not needed any more
            onDeleteValue: lp,
            // Close existing watch that doesnt match in the flags
            onExistingValue: s
          }
        ) : D_(e, lp);
        function i(o, c) {
          return {
            watcher: n(o, c),
            flags: c
          };
        }
        function s(o, c, _) {
          o.flags !== c && (o.watcher.close(), e.set(_, i(_, c)));
        }
      }
      function fA({
        watchedDirPath: e,
        fileOrDirectory: t,
        fileOrDirectoryPath: n,
        configFileName: i,
        options: s,
        program: o,
        extraFileExtensions: c,
        currentDirectory: _,
        useCaseSensitiveFileNames: u,
        writeLog: g,
        toPath: m,
        getScriptKind: h
      }) {
        const S = WO(n);
        if (!S)
          return g(`Project: ${i} Detected ignored path: ${t}`), !0;
        if (n = S, n === e) return !1;
        if (xC(n) && !(EJ(t, s, c) || A()))
          return g(`Project: ${i} Detected file add/remove of non supported extension: ${t}`), !0;
        if (Lre(t, s.configFile.configFileSpecs, Xi(Un(i), _), u, _))
          return g(`Project: ${i} Detected excluded file: ${t}`), !0;
        if (!o || s.outFile || s.outDir) return !1;
        if (Sl(n)) {
          if (s.declarationDir) return !1;
        } else if (!Dc(n, s6))
          return !1;
        const T = Ru(n), k = fs(o) ? void 0 : wV(o) ? o.getProgramOrUndefined() : o, D = !k && !fs(o) ? o : void 0;
        if (w(
          T + ".ts"
          /* Ts */
        ) || w(
          T + ".tsx"
          /* Tsx */
        ))
          return g(`Project: ${i} Detected output file: ${t}`), !0;
        return !1;
        function w(O) {
          return k ? !!k.getSourceFileByPath(O) : D ? D.state.fileInfos.has(O) : !!Dn(o, (F) => m(F) === O);
        }
        function A() {
          if (!h) return !1;
          switch (h(t)) {
            case 3:
            case 4:
            case 7:
            case 5:
              return !0;
            case 1:
            case 2:
              return Zy(s);
            case 6:
              return jb(s);
            case 0:
              return !1;
          }
        }
      }
      function die(e, t) {
        return e ? e.isEmittedFile(t) : !1;
      }
      var mie = /* @__PURE__ */ ((e) => (e[e.None = 0] = "None", e[e.TriggerOnly = 1] = "TriggerOnly", e[e.Verbose = 2] = "Verbose", e))(mie || {});
      function KW(e, t, n, i) {
        SY(t === 2 ? n : Ua);
        const s = {
          watchFile: (D, w, A, O) => e.watchFile(D, w, A, O),
          watchDirectory: (D, w, A, O) => e.watchDirectory(D, w, (A & 1) !== 0, O)
        }, o = t !== 0 ? {
          watchFile: T("watchFile"),
          watchDirectory: T("watchDirectory")
        } : void 0, c = t === 2 ? {
          watchFile: h,
          watchDirectory: S
        } : o || s, _ = t === 2 ? m : uw;
        return {
          watchFile: u("watchFile"),
          watchDirectory: u("watchDirectory")
        };
        function u(D) {
          return (w, A, O, F, j, z) => {
            var V;
            return eO(w, D === "watchFile" ? F?.excludeFiles : F?.excludeDirectories, g(), ((V = e.getCurrentDirectory) == null ? void 0 : V.call(e)) || "") ? _(w, O, F, j, z) : c[D].call(
              /*thisArgs*/
              void 0,
              w,
              A,
              O,
              F,
              j,
              z
            );
          };
        }
        function g() {
          return typeof e.useCaseSensitiveFileNames == "boolean" ? e.useCaseSensitiveFileNames : e.useCaseSensitiveFileNames();
        }
        function m(D, w, A, O, F) {
          return n(`ExcludeWatcher:: Added:: ${k(D, w, A, O, F, i)}`), {
            close: () => n(`ExcludeWatcher:: Close:: ${k(D, w, A, O, F, i)}`)
          };
        }
        function h(D, w, A, O, F, j) {
          n(`FileWatcher:: Added:: ${k(D, A, O, F, j, i)}`);
          const z = o.watchFile(D, w, A, O, F, j);
          return {
            close: () => {
              n(`FileWatcher:: Close:: ${k(D, A, O, F, j, i)}`), z.close();
            }
          };
        }
        function S(D, w, A, O, F, j) {
          const z = `DirectoryWatcher:: Added:: ${k(D, A, O, F, j, i)}`;
          n(z);
          const V = co(), G = o.watchDirectory(D, w, A, O, F, j), W = co() - V;
          return n(`Elapsed:: ${W}ms ${z}`), {
            close: () => {
              const pe = `DirectoryWatcher:: Close:: ${k(D, A, O, F, j, i)}`;
              n(pe);
              const K = co();
              G.close();
              const U = co() - K;
              n(`Elapsed:: ${U}ms ${pe}`);
            }
          };
        }
        function T(D) {
          return (w, A, O, F, j, z) => s[D].call(
            /*thisArgs*/
            void 0,
            w,
            (...V) => {
              const G = `${D === "watchFile" ? "FileWatcher" : "DirectoryWatcher"}:: Triggered with ${V[0]} ${V[1] !== void 0 ? V[1] : ""}:: ${k(w, O, F, j, z, i)}`;
              n(G);
              const W = co();
              A.call(
                /*thisArg*/
                void 0,
                ...V
              );
              const pe = co() - W;
              n(`Elapsed:: ${pe}ms ${G}`);
            },
            O,
            F,
            j,
            z
          );
        }
        function k(D, w, A, O, F, j) {
          return `WatchInfo: ${D} ${w} ${JSON.stringify(A)} ${j ? j(O, F) : F === void 0 ? O : `${O} ${F}`}`;
        }
      }
      function pA(e) {
        const t = e?.fallbackPolling;
        return {
          watchFile: t !== void 0 ? t : 1
          /* PriorityPollingInterval */
        };
      }
      function lp(e) {
        e.watcher.close();
      }
      function eV(e, t, n = "tsconfig.json") {
        return m4(e, (i) => {
          const s = An(i, n);
          return t(s) ? s : void 0;
        });
      }
      function tV(e, t) {
        const n = Un(t), i = V_(e) ? e : An(n, e);
        return Gs(i);
      }
      function gie(e, t, n) {
        let i;
        return ar(e, (o) => {
          const c = r7(o, t);
          if (c.pop(), !i) {
            i = c;
            return;
          }
          const _ = Math.min(i.length, c.length);
          for (let u = 0; u < _; u++)
            if (n(i[u]) !== n(c[u])) {
              if (u === 0)
                return !0;
              i.length = u;
              break;
            }
          c.length < i.length && (i.length = c.length);
        }) ? "" : i ? z1(i) : t;
      }
      function hie(e, t) {
        return NO(e, t);
      }
      function rV(e, t) {
        return (n, i, s) => {
          let o;
          try {
            Zo("beforeIORead"), o = e(n), Zo("afterIORead"), Xf("I/O Read", "beforeIORead", "afterIORead");
          } catch (c) {
            s && s(c.message), o = "";
          }
          return o !== void 0 ? Qx(n, o, i, t) : void 0;
        };
      }
      function nV(e, t, n) {
        return (i, s, o, c) => {
          try {
            Zo("beforeIOWrite"), HB(
              i,
              s,
              o,
              e,
              t,
              n
            ), Zo("afterIOWrite"), Xf("I/O Write", "beforeIOWrite", "afterIOWrite");
          } catch (_) {
            c && c(_.message);
          }
        };
      }
      function NO(e, t, n = dl) {
        const i = /* @__PURE__ */ new Map(), s = Hl(n.useCaseSensitiveFileNames);
        function o(m) {
          return i.has(m) ? !0 : (g.directoryExists || n.directoryExists)(m) ? (i.set(m, !0), !0) : !1;
        }
        function c() {
          return Un(Gs(n.getExecutingFilePath()));
        }
        const _ = x0(e), u = n.realpath && ((m) => n.realpath(m)), g = {
          getSourceFile: rV((m) => g.readFile(m), t),
          getDefaultLibLocation: c,
          getDefaultLibFileName: (m) => An(c(), BP(m)),
          writeFile: nV(
            (m, h, S) => n.writeFile(m, h, S),
            (m) => (g.createDirectory || n.createDirectory)(m),
            (m) => o(m)
          ),
          getCurrentDirectory: Au(() => n.getCurrentDirectory()),
          useCaseSensitiveFileNames: () => n.useCaseSensitiveFileNames,
          getCanonicalFileName: s,
          getNewLine: () => _,
          fileExists: (m) => n.fileExists(m),
          readFile: (m) => n.readFile(m),
          trace: (m) => n.write(m + _),
          directoryExists: (m) => n.directoryExists(m),
          getEnvironmentVariable: (m) => n.getEnvironmentVariable ? n.getEnvironmentVariable(m) : "",
          getDirectories: (m) => n.getDirectories(m),
          realpath: u,
          readDirectory: (m, h, S, T, k) => n.readDirectory(m, h, S, T, k),
          createDirectory: (m) => n.createDirectory(m),
          createHash: Ls(n, n.createHash)
        };
        return g;
      }
      function aw(e, t, n) {
        const i = e.readFile, s = e.fileExists, o = e.directoryExists, c = e.createDirectory, _ = e.writeFile, u = /* @__PURE__ */ new Map(), g = /* @__PURE__ */ new Map(), m = /* @__PURE__ */ new Map(), h = /* @__PURE__ */ new Map(), S = (D) => {
          const w = t(D), A = u.get(w);
          return A !== void 0 ? A !== !1 ? A : void 0 : T(w, D);
        }, T = (D, w) => {
          const A = i.call(e, w);
          return u.set(D, A !== void 0 ? A : !1), A;
        };
        e.readFile = (D) => {
          const w = t(D), A = u.get(w);
          return A !== void 0 ? A !== !1 ? A : void 0 : !Wo(
            D,
            ".json"
            /* Json */
          ) && !oie(D) ? i.call(e, D) : T(w, D);
        };
        const k = n ? (D, w, A, O) => {
          const F = t(D), j = typeof w == "object" ? w.impliedNodeFormat : void 0, z = h.get(j), V = z?.get(F);
          if (V) return V;
          const G = n(D, w, A, O);
          return G && (Sl(D) || Wo(
            D,
            ".json"
            /* Json */
          )) && h.set(j, (z || /* @__PURE__ */ new Map()).set(F, G)), G;
        } : void 0;
        return e.fileExists = (D) => {
          const w = t(D), A = g.get(w);
          if (A !== void 0) return A;
          const O = s.call(e, D);
          return g.set(w, !!O), O;
        }, _ && (e.writeFile = (D, w, ...A) => {
          const O = t(D);
          g.delete(O);
          const F = u.get(O);
          F !== void 0 && F !== w ? (u.delete(O), h.forEach((j) => j.delete(O))) : k && h.forEach((j) => {
            const z = j.get(O);
            z && z.text !== w && j.delete(O);
          }), _.call(e, D, w, ...A);
        }), o && (e.directoryExists = (D) => {
          const w = t(D), A = m.get(w);
          if (A !== void 0) return A;
          const O = o.call(e, D);
          return m.set(w, !!O), O;
        }, c && (e.createDirectory = (D) => {
          const w = t(D);
          m.delete(w), c.call(e, D);
        })), {
          originalReadFile: i,
          originalFileExists: s,
          originalDirectoryExists: o,
          originalCreateDirectory: c,
          originalWriteFile: _,
          getSourceFileWithCache: k,
          readFileWithCache: S
        };
      }
      function ove(e, t, n) {
        let i;
        return i = wn(i, e.getConfigFileParsingDiagnostics()), i = wn(i, e.getOptionsDiagnostics(n)), i = wn(i, e.getSyntacticDiagnostics(t, n)), i = wn(i, e.getGlobalDiagnostics(n)), i = wn(i, e.getSemanticDiagnostics(t, n)), w_(e.getCompilerOptions()) && (i = wn(i, e.getDeclarationDiagnostics(t, n))), DC(i || Ue);
      }
      function cve(e, t) {
        let n = "";
        for (const i of e)
          n += iV(i, t);
        return n;
      }
      function iV(e, t) {
        const n = `${rS(e)} TS${e.code}: ${fm(e.messageText, t.getNewLine())}${t.getNewLine()}`;
        if (e.file) {
          const { line: i, character: s } = Js(e.file, e.start), o = e.file.fileName;
          return `${d4(o, t.getCurrentDirectory(), (_) => t.getCanonicalFileName(_))}(${i + 1},${s + 1}): ` + n;
        }
        return n;
      }
      var yie = /* @__PURE__ */ ((e) => (e.Grey = "\x1B[90m", e.Red = "\x1B[91m", e.Yellow = "\x1B[93m", e.Blue = "\x1B[94m", e.Cyan = "\x1B[96m", e))(yie || {}), vie = "\x1B[7m", bie = " ", lve = "\x1B[0m", uve = "...", Oje = "  ", _ve = "    ";
      function fve(e) {
        switch (e) {
          case 1:
            return "\x1B[91m";
          case 0:
            return "\x1B[93m";
          case 2:
            return E.fail("Should never get an Info diagnostic on the command line.");
          case 3:
            return "\x1B[94m";
        }
      }
      function n2(e, t) {
        return t + e + lve;
      }
      function pve(e, t, n, i, s, o) {
        const { line: c, character: _ } = Js(e, t), { line: u, character: g } = Js(e, t + n), m = Js(e, e.text.length).line, h = u - c >= 4;
        let S = (u + 1 + "").length;
        h && (S = Math.max(uve.length, S));
        let T = "";
        for (let k = c; k <= u; k++) {
          T += o.getNewLine(), h && c + 1 < k && k < u - 1 && (T += i + n2(uve.padStart(S), vie) + bie + o.getNewLine(), k = u - 1);
          const D = OP(e, k, 0), w = k < m ? OP(e, k + 1, 0) : e.text.length;
          let A = e.text.slice(D, w);
          if (A = A.trimEnd(), A = A.replace(/\t/g, " "), T += i + n2((k + 1 + "").padStart(S), vie) + bie, T += A + o.getNewLine(), T += i + n2("".padStart(S), vie) + bie, T += s, k === c) {
            const O = k === u ? g : void 0;
            T += A.slice(0, _).replace(/\S/g, " "), T += A.slice(_, O).replace(/./g, "~");
          } else k === u ? T += A.slice(0, g).replace(/./g, "~") : T += A.replace(/./g, "~");
          T += lve;
        }
        return T;
      }
      function sV(e, t, n, i = n2) {
        const { line: s, character: o } = Js(e, t), c = n ? d4(e.fileName, n.getCurrentDirectory(), (u) => n.getCanonicalFileName(u)) : e.fileName;
        let _ = "";
        return _ += i(
          c,
          "\x1B[96m"
          /* Cyan */
        ), _ += ":", _ += i(
          `${s + 1}`,
          "\x1B[93m"
          /* Yellow */
        ), _ += ":", _ += i(
          `${o + 1}`,
          "\x1B[93m"
          /* Yellow */
        ), _;
      }
      function Sie(e, t) {
        let n = "";
        for (const i of e) {
          if (i.file) {
            const { file: s, start: o } = i;
            n += sV(s, o, t), n += " - ";
          }
          if (n += n2(rS(i), fve(i.category)), n += n2(
            ` TS${i.code}: `,
            "\x1B[90m"
            /* Grey */
          ), n += fm(i.messageText, t.getNewLine()), i.file && i.code !== p.File_appears_to_be_binary.code && (n += t.getNewLine(), n += pve(i.file, i.start, i.length, "", fve(i.category), t)), i.relatedInformation) {
            n += t.getNewLine();
            for (const { file: s, start: o, length: c, messageText: _ } of i.relatedInformation)
              s && (n += t.getNewLine(), n += Oje + sV(s, o, t), n += pve(s, o, c, _ve, "\x1B[96m", t)), n += t.getNewLine(), n += _ve + fm(_, t.getNewLine());
          }
          n += t.getNewLine();
        }
        return n;
      }
      function fm(e, t, n = 0) {
        if (cs(e))
          return e;
        if (e === void 0)
          return "";
        let i = "";
        if (n) {
          i += t;
          for (let s = 0; s < n; s++)
            i += "  ";
        }
        if (i += e.messageText, n++, e.next)
          for (const s of e.next)
            i += fm(s, t, n);
        return i;
      }
      function Tie(e, t) {
        return (cs(e) ? t : e.resolutionMode) || t;
      }
      function dve(e, t, n) {
        return AO(e, hA(e, t), n);
      }
      function aV(e) {
        var t;
        return Oc(e) ? e.isTypeOnly : !!((t = e.importClause) != null && t.isTypeOnly);
      }
      function oV(e, t, n) {
        return AO(e, t, n);
      }
      function AO(e, t, n) {
        if ((Uo(t.parent) || Oc(t.parent) || _m(t.parent)) && aV(t.parent)) {
          const s = R6(t.parent.attributes);
          if (s)
            return s;
        }
        if (t.parent.parent && am(t.parent.parent)) {
          const i = R6(t.parent.parent.attributes);
          if (i)
            return i;
        }
        if (n && gJ(n))
          return mve(e, t, n);
      }
      function mve(e, t, n) {
        var i;
        if (!n)
          return;
        const s = (i = Gp(t.parent)) == null ? void 0 : i.parent;
        if (s && bl(s) || f_(
          t.parent,
          /*requireStringLiteralLikeArgument*/
          !1
        ))
          return 1;
        if (df(Gp(t.parent)))
          return vve(e, n) ? 1 : 99;
        const o = lw(e, n);
        return o === 1 ? 1 : aN(o) || o === 200 ? 99 : void 0;
      }
      function R6(e, t) {
        if (!e) return;
        if (Ar(e.elements) !== 1) {
          t?.(
            e,
            e.token === 118 ? p.Type_import_attributes_should_have_exactly_one_key_resolution_mode_with_value_import_or_require : p.Type_import_assertions_should_have_exactly_one_key_resolution_mode_with_value_import_or_require
          );
          return;
        }
        const n = e.elements[0];
        if (Ba(n.name)) {
          if (n.name.text !== "resolution-mode") {
            t?.(
              n.name,
              e.token === 118 ? p.resolution_mode_is_the_only_valid_key_for_type_import_attributes : p.resolution_mode_is_the_only_valid_key_for_type_import_assertions
            );
            return;
          }
          if (Ba(n.value)) {
            if (n.value.text !== "import" && n.value.text !== "require") {
              t?.(n.value, p.resolution_mode_should_be_either_require_or_import);
              return;
            }
            return n.value.text === "import" ? 99 : 1;
          }
        }
      }
      var gve = {
        resolvedModule: void 0,
        resolvedTypeReferenceDirective: void 0
      };
      function xie(e) {
        return e.text;
      }
      var IO = {
        getName: xie,
        getMode: (e, t, n) => oV(t, e, n)
      };
      function cV(e, t, n, i, s) {
        return {
          nameAndMode: IO,
          resolve: (o, c) => WS(
            o,
            e,
            n,
            i,
            s,
            t,
            c
          )
        };
      }
      function kie(e) {
        return cs(e) ? e : e.fileName;
      }
      var hve = {
        getName: kie,
        getMode: (e, t, n) => Tie(e, t && MO(t, n))
      };
      function FO(e, t, n, i, s) {
        return {
          nameAndMode: hve,
          resolve: (o, c) => qre(
            o,
            e,
            n,
            i,
            t,
            s,
            c
          )
        };
      }
      function dA(e, t, n, i, s, o, c, _) {
        if (e.length === 0) return Ue;
        const u = [], g = /* @__PURE__ */ new Map(), m = _(t, n, i, o, c);
        for (const h of e) {
          const S = m.nameAndMode.getName(h), T = m.nameAndMode.getMode(h, s, n?.commandLine.options || i), k = HD(S, T);
          let D = g.get(k);
          D || g.set(k, D = m.resolve(S, T)), u.push(D);
        }
        return u;
      }
      var ow = "__inferred type names__.ts";
      function OO(e, t, n) {
        const i = e.configFilePath ? Un(e.configFilePath) : t;
        return An(i, `__lib_node_modules_lookup_${n}__.ts`);
      }
      function lV(e) {
        const t = e.split(".");
        let n = t[1], i = 2;
        for (; t[i] && t[i] !== "d"; )
          n += (i === 2 ? "/" : "-") + t[i], i++;
        return "@typescript/lib-" + n;
      }
      function yv(e) {
        switch (e?.kind) {
          case 3:
          case 4:
          case 5:
          case 7:
            return !0;
          default:
            return !1;
        }
      }
      function j6(e) {
        return e.pos !== void 0;
      }
      function cw(e, t) {
        var n, i, s, o;
        const c = E.checkDefined(e.getSourceFileByPath(t.file)), { kind: _, index: u } = t;
        let g, m, h;
        switch (_) {
          case 3:
            const S = hA(c, u);
            if (h = (i = (n = e.getResolvedModuleFromModuleSpecifier(S, c)) == null ? void 0 : n.resolvedModule) == null ? void 0 : i.packageId, S.pos === -1) return { file: c, packageId: h, text: S.text };
            g = ca(c.text, S.pos), m = S.end;
            break;
          case 4:
            ({ pos: g, end: m } = c.referencedFiles[u]);
            break;
          case 5:
            ({ pos: g, end: m } = c.typeReferenceDirectives[u]), h = (o = (s = e.getResolvedTypeReferenceDirectiveFromTypeReferenceDirective(c.typeReferenceDirectives[u], c)) == null ? void 0 : s.resolvedTypeReferenceDirective) == null ? void 0 : o.packageId;
            break;
          case 7:
            ({ pos: g, end: m } = c.libReferenceDirectives[u]);
            break;
          default:
            return E.assertNever(_);
        }
        return { file: c, pos: g, end: m, packageId: h };
      }
      function uV(e, t, n, i, s, o, c, _, u, g) {
        if (!e || _?.() || !Cf(e.getRootFileNames(), t)) return !1;
        let m;
        if (!Cf(e.getProjectReferences(), g, D) || e.getSourceFiles().some(T)) return !1;
        const h = e.getMissingFilePaths();
        if (h && gl(h, s)) return !1;
        const S = e.getCompilerOptions();
        if (!lJ(S, n) || e.resolvedLibReferences && gl(e.resolvedLibReferences, (A, O) => c(O))) return !1;
        if (S.configFile && n.configFile) return S.configFile.text === n.configFile.text;
        return !0;
        function T(A) {
          return !k(A) || o(A.path);
        }
        function k(A) {
          return A.version === i(A.resolvedPath, A.fileName);
        }
        function D(A, O, F) {
          return $j(A, O) && w(e.getResolvedProjectReferences()[F], A);
        }
        function w(A, O) {
          if (A) {
            if (_s(m, A)) return !0;
            const j = ik(O), z = u(j);
            return !z || A.commandLine.options.configFile !== z.options.configFile || !Cf(A.commandLine.fileNames, z.fileNames) ? !1 : ((m || (m = [])).push(A), !ar(
              A.references,
              (V, G) => !w(
                V,
                A.commandLine.projectReferences[G]
              )
            ));
          }
          const F = ik(O);
          return !u(F);
        }
      }
      function i2(e) {
        return e.options.configFile ? [...e.options.configFile.parseDiagnostics, ...e.errors] : e.errors;
      }
      function mA(e, t, n, i) {
        const s = LO(e, t, n, i);
        return typeof s == "object" ? s.impliedNodeFormat : s;
      }
      function LO(e, t, n, i) {
        const s = vu(i), o = 3 <= s && s <= 99 || c1(e);
        return Dc(e, [
          ".d.mts",
          ".mts",
          ".mjs"
          /* Mjs */
        ]) ? 99 : Dc(e, [
          ".d.cts",
          ".cts",
          ".cjs"
          /* Cjs */
        ]) ? 1 : o && Dc(e, [
          ".d.ts",
          ".ts",
          ".tsx",
          ".js",
          ".jsx"
          /* Jsx */
        ]) ? c() : void 0;
        function c() {
          const _ = GD(t, n, i), u = [];
          _.failedLookupLocations = u, _.affectingLocations = u;
          const g = $D(Un(e), _);
          return { impliedNodeFormat: g?.contents.packageJsonContent.type === "module" ? 99 : 1, packageJsonLocations: u, packageJsonScope: g };
        }
      }
      var yve = /* @__PURE__ */ new Set([
        // binder errors
        p.Cannot_redeclare_block_scoped_variable_0.code,
        p.A_module_cannot_have_multiple_default_exports.code,
        p.Another_export_default_is_here.code,
        p.The_first_export_default_is_here.code,
        p.Identifier_expected_0_is_a_reserved_word_at_the_top_level_of_a_module.code,
        p.Identifier_expected_0_is_a_reserved_word_in_strict_mode_Modules_are_automatically_in_strict_mode.code,
        p.Identifier_expected_0_is_a_reserved_word_that_cannot_be_used_here.code,
        p.constructor_is_a_reserved_word.code,
        p.delete_cannot_be_called_on_an_identifier_in_strict_mode.code,
        p.Code_contained_in_a_class_is_evaluated_in_JavaScript_s_strict_mode_which_does_not_allow_this_use_of_0_For_more_information_see_https_Colon_Slash_Slashdeveloper_mozilla_org_Slashen_US_Slashdocs_SlashWeb_SlashJavaScript_SlashReference_SlashStrict_mode.code,
        p.Invalid_use_of_0_Modules_are_automatically_in_strict_mode.code,
        p.Invalid_use_of_0_in_strict_mode.code,
        p.A_label_is_not_allowed_here.code,
        p.with_statements_are_not_allowed_in_strict_mode.code,
        // grammar errors
        p.A_break_statement_can_only_be_used_within_an_enclosing_iteration_or_switch_statement.code,
        p.A_break_statement_can_only_jump_to_a_label_of_an_enclosing_statement.code,
        p.A_class_declaration_without_the_default_modifier_must_have_a_name.code,
        p.A_class_member_cannot_have_the_0_keyword.code,
        p.A_comma_expression_is_not_allowed_in_a_computed_property_name.code,
        p.A_continue_statement_can_only_be_used_within_an_enclosing_iteration_statement.code,
        p.A_continue_statement_can_only_jump_to_a_label_of_an_enclosing_iteration_statement.code,
        p.A_continue_statement_can_only_jump_to_a_label_of_an_enclosing_iteration_statement.code,
        p.A_default_clause_cannot_appear_more_than_once_in_a_switch_statement.code,
        p.A_default_export_must_be_at_the_top_level_of_a_file_or_module_declaration.code,
        p.A_definite_assignment_assertion_is_not_permitted_in_this_context.code,
        p.A_destructuring_declaration_must_have_an_initializer.code,
        p.A_get_accessor_cannot_have_parameters.code,
        p.A_rest_element_cannot_contain_a_binding_pattern.code,
        p.A_rest_element_cannot_have_a_property_name.code,
        p.A_rest_element_cannot_have_an_initializer.code,
        p.A_rest_element_must_be_last_in_a_destructuring_pattern.code,
        p.A_rest_parameter_cannot_have_an_initializer.code,
        p.A_rest_parameter_must_be_last_in_a_parameter_list.code,
        p.A_rest_parameter_or_binding_pattern_may_not_have_a_trailing_comma.code,
        p.A_return_statement_cannot_be_used_inside_a_class_static_block.code,
        p.A_set_accessor_cannot_have_rest_parameter.code,
        p.A_set_accessor_must_have_exactly_one_parameter.code,
        p.An_export_declaration_can_only_be_used_at_the_top_level_of_a_module.code,
        p.An_export_declaration_cannot_have_modifiers.code,
        p.An_import_declaration_can_only_be_used_at_the_top_level_of_a_module.code,
        p.An_import_declaration_cannot_have_modifiers.code,
        p.An_object_member_cannot_be_declared_optional.code,
        p.Argument_of_dynamic_import_cannot_be_spread_element.code,
        p.Cannot_assign_to_private_method_0_Private_methods_are_not_writable.code,
        p.Cannot_redeclare_identifier_0_in_catch_clause.code,
        p.Catch_clause_variable_cannot_have_an_initializer.code,
        p.Class_decorators_can_t_be_used_with_static_private_identifier_Consider_removing_the_experimental_decorator.code,
        p.Classes_can_only_extend_a_single_class.code,
        p.Classes_may_not_have_a_field_named_constructor.code,
        p.Did_you_mean_to_use_a_Colon_An_can_only_follow_a_property_name_when_the_containing_object_literal_is_part_of_a_destructuring_pattern.code,
        p.Duplicate_label_0.code,
        p.Dynamic_imports_can_only_accept_a_module_specifier_and_an_optional_set_of_attributes_as_arguments.code,
        p.for_await_loops_cannot_be_used_inside_a_class_static_block.code,
        p.JSX_attributes_must_only_be_assigned_a_non_empty_expression.code,
        p.JSX_elements_cannot_have_multiple_attributes_with_the_same_name.code,
        p.JSX_expressions_may_not_use_the_comma_operator_Did_you_mean_to_write_an_array.code,
        p.JSX_property_access_expressions_cannot_include_JSX_namespace_names.code,
        p.Jump_target_cannot_cross_function_boundary.code,
        p.Line_terminator_not_permitted_before_arrow.code,
        p.Modifiers_cannot_appear_here.code,
        p.Only_a_single_variable_declaration_is_allowed_in_a_for_in_statement.code,
        p.Only_a_single_variable_declaration_is_allowed_in_a_for_of_statement.code,
        p.Private_identifiers_are_not_allowed_outside_class_bodies.code,
        p.Private_identifiers_are_only_allowed_in_class_bodies_and_may_only_be_used_as_part_of_a_class_member_declaration_property_access_or_on_the_left_hand_side_of_an_in_expression.code,
        p.Property_0_is_not_accessible_outside_class_1_because_it_has_a_private_identifier.code,
        p.Tagged_template_expressions_are_not_permitted_in_an_optional_chain.code,
        p.The_left_hand_side_of_a_for_of_statement_may_not_be_async.code,
        p.The_variable_declaration_of_a_for_in_statement_cannot_have_an_initializer.code,
        p.The_variable_declaration_of_a_for_of_statement_cannot_have_an_initializer.code,
        p.Trailing_comma_not_allowed.code,
        p.Variable_declaration_list_cannot_be_empty.code,
        p._0_and_1_operations_cannot_be_mixed_without_parentheses.code,
        p._0_expected.code,
        p._0_is_not_a_valid_meta_property_for_keyword_1_Did_you_mean_2.code,
        p._0_list_cannot_be_empty.code,
        p._0_modifier_already_seen.code,
        p._0_modifier_cannot_appear_on_a_constructor_declaration.code,
        p._0_modifier_cannot_appear_on_a_module_or_namespace_element.code,
        p._0_modifier_cannot_appear_on_a_parameter.code,
        p._0_modifier_cannot_appear_on_class_elements_of_this_kind.code,
        p._0_modifier_cannot_be_used_here.code,
        p._0_modifier_must_precede_1_modifier.code,
        p._0_declarations_can_only_be_declared_inside_a_block.code,
        p._0_declarations_must_be_initialized.code,
        p.extends_clause_already_seen.code,
        p.let_is_not_allowed_to_be_used_as_a_name_in_let_or_const_declarations.code,
        p.Class_constructor_may_not_be_a_generator.code,
        p.Class_constructor_may_not_be_an_accessor.code,
        p.await_expressions_are_only_allowed_within_async_functions_and_at_the_top_levels_of_modules.code,
        p.await_using_statements_are_only_allowed_within_async_functions_and_at_the_top_levels_of_modules.code,
        p.Private_field_0_must_be_declared_in_an_enclosing_class.code,
        // Type errors
        p.This_condition_will_always_return_0_since_JavaScript_compares_objects_by_reference_not_value.code
      ]);
      function Lje(e, t) {
        return e ? ax(e.getCompilerOptions(), t, Jz) : !1;
      }
      function Mje(e, t, n, i, s, o) {
        return {
          rootNames: e,
          options: t,
          host: n,
          oldProgram: i,
          configFileParsingDiagnostics: s,
          typeScriptVersion: o
        };
      }
      function gA(e, t, n, i, s) {
        var o, c, _, u, g, m, h, S, T, k, D, w, A, O, F, j;
        let z = fs(e) ? Mje(e, t, n, i, s) : e;
        const { rootNames: V, options: G, configFileParsingDiagnostics: W, projectReferences: pe, typeScriptVersion: K, host: U } = z;
        let { oldProgram: ee } = z;
        z = void 0, e = void 0;
        for (const Le of Tre)
          if (ao(G, Le.name) && typeof G[Le.name] == "string")
            throw new Error(`${Le.name} is a string value; tsconfig JSON must be parsed with parseJsonSourceFileConfigFileContent or getParsedCommandLineOfConfigFile before passing to createProgram`);
        const te = Au(() => Vi("ignoreDeprecations", p.Invalid_value_for_ignoreDeprecations));
        let ie, fe, me, q, he, Me, De, re, xe;
        const ue = Cie(nl);
        let Xe, nt, oe, ve, se, Pe, Ee, Ce, ze;
        const St = typeof G.maxNodeModuleJsDepth == "number" ? G.maxNodeModuleJsDepth : 0;
        let Bt = 0;
        const tr = /* @__PURE__ */ new Map(), Fr = /* @__PURE__ */ new Map();
        (o = rn) == null || o.push(
          rn.Phase.Program,
          "createProgram",
          { configFilePath: G.configFilePath, rootDir: G.rootDir },
          /*separateBeginAndEnd*/
          !0
        ), Zo("beforeProgram");
        const it = U || hie(G), Wt = jO(it);
        let Wr = G.noLib;
        const ai = Au(() => it.getDefaultLibFileName(G)), zi = it.getDefaultLibLocation ? it.getDefaultLibLocation() : Un(ai());
        let Pt = !1;
        const Fn = it.getCurrentDirectory(), ii = uD(G), li = lN(G, ii), cn = /* @__PURE__ */ new Map();
        let ci, je, ut, er;
        const Vr = it.hasInvalidatedResolutions || Th;
        it.resolveModuleNameLiterals ? (er = it.resolveModuleNameLiterals.bind(it), ut = (c = it.getModuleResolutionCache) == null ? void 0 : c.call(it)) : it.resolveModuleNames ? (er = (Le, Qe, Nt, rr, jr, pn) => it.resolveModuleNames(
          Le.map(xie),
          Qe,
          pn?.map(xie),
          Nt,
          rr,
          jr
        ).map(
          (Pr) => Pr ? Pr.extension !== void 0 ? { resolvedModule: Pr } : (
            // An older host may have omitted extension, in which case we should infer it from the file extension of resolvedFileName.
            { resolvedModule: { ...Pr, extension: fD(Pr.resolvedFileName) } }
          ) : gve
        ), ut = (_ = it.getModuleResolutionCache) == null ? void 0 : _.call(it)) : (ut = N6(Fn, Z, G), er = (Le, Qe, Nt, rr, jr) => dA(
          Le,
          Qe,
          Nt,
          rr,
          jr,
          it,
          ut,
          cV
        ));
        let zn;
        if (it.resolveTypeReferenceDirectiveReferences)
          zn = it.resolveTypeReferenceDirectiveReferences.bind(it);
        else if (it.resolveTypeReferenceDirectives)
          zn = (Le, Qe, Nt, rr, jr) => it.resolveTypeReferenceDirectives(
            Le.map(kie),
            Qe,
            Nt,
            rr,
            jr?.impliedNodeFormat
          ).map((pn) => ({ resolvedTypeReferenceDirective: pn }));
        else {
          const Le = aO(
            Fn,
            Z,
            /*options*/
            void 0,
            ut?.getPackageJsonInfoCache(),
            ut?.optionsToRedirectsKey
          );
          zn = (Qe, Nt, rr, jr, pn) => dA(
            Qe,
            Nt,
            rr,
            jr,
            pn,
            it,
            Le,
            FO
          );
        }
        const Wn = it.hasInvalidatedLibResolutions || Th;
        let bi;
        if (it.resolveLibrary)
          bi = it.resolveLibrary.bind(it);
        else {
          const Le = N6(Fn, Z, G, ut?.getPackageJsonInfoCache());
          bi = (Qe, Nt, rr) => oO(Qe, Nt, rr, it, Le);
        }
        const ks = /* @__PURE__ */ new Map();
        let ta = /* @__PURE__ */ new Map(), gr = Tp(), ms;
        const He = /* @__PURE__ */ new Map();
        let Et = /* @__PURE__ */ new Map();
        const ne = it.useCaseSensitiveFileNames() ? /* @__PURE__ */ new Map() : void 0;
        let rt, Q, Ne, qe;
        const Ze = !!((u = it.useSourceOfProjectReferenceRedirect) != null && u.call(it)) && !G.disableSourceOfProjectReferenceRedirect, { onProgramCreateComplete: bt, fileExists: Ie, directoryExists: ft } = Rje({
          compilerHost: it,
          getSymlinkCache: A_,
          useSourceOfProjectReferenceRedirect: Ze,
          toPath: wt,
          getResolvedProjectReferences: Es,
          getSourceOfProjectReferenceRedirect: n_,
          forEachResolvedProjectReference: nf
        }), _t = it.readFile.bind(it);
        (g = rn) == null || g.push(rn.Phase.Program, "shouldProgramCreateNewSourceFiles", { hasOldProgram: !!ee });
        const kt = Lje(ee, G);
        (m = rn) == null || m.pop();
        let Ve;
        if ((h = rn) == null || h.push(rn.Phase.Program, "tryReuseStructureFromOldProgram", {}), Ve = $t(), (S = rn) == null || S.pop(), Ve !== 2) {
          if (ie = [], fe = [], pe && (rt || (rt = pe.map(Ut)), V.length && rt?.forEach((Le, Qe) => {
            if (!Le) return;
            const Nt = Le.commandLine.options.outFile;
            if (Ze) {
              if (Nt || Mu(Le.commandLine.options) === 0)
                for (const rr of Le.commandLine.fileNames)
                  Ae(rr, { kind: 1, index: Qe });
            } else if (Nt)
              Ae(Oh(Nt, ".d.ts"), { kind: 2, index: Qe });
            else if (Mu(Le.commandLine.options) === 0) {
              const rr = Au(() => HS(Le.commandLine, !it.useCaseSensitiveFileNames()));
              for (const jr of Le.commandLine.fileNames)
                !Sl(jr) && !Wo(
                  jr,
                  ".json"
                  /* Json */
                ) && Ae(M6(jr, Le.commandLine, !it.useCaseSensitiveFileNames(), rr), { kind: 2, index: Qe });
            }
          })), (T = rn) == null || T.push(rn.Phase.Program, "processRootFiles", { count: V.length }), ar(V, (Le, Qe) => vo(
            Le,
            /*isDefaultLib*/
            !1,
            /*ignoreNoDefaultLib*/
            !1,
            { kind: 0, index: Qe }
          )), (k = rn) == null || k.pop(), Xe ?? (Xe = V.length ? iO(G, it) : Ue), nt = P6(), Xe.length) {
            (D = rn) == null || D.push(rn.Phase.Program, "processTypeReferences", { count: Xe.length });
            const Le = G.configFilePath ? Un(G.configFilePath) : Fn, Qe = An(Le, ow), Nt = cr(Xe, Qe);
            for (let rr = 0; rr < Xe.length; rr++)
              nt.set(
                Xe[rr],
                /*mode*/
                void 0,
                Nt[rr]
              ), y_(
                Xe[rr],
                /*mode*/
                void 0,
                Nt[rr],
                {
                  kind: 8,
                  typeReference: Xe[rr],
                  packageId: (A = (w = Nt[rr]) == null ? void 0 : w.resolvedTypeReferenceDirective) == null ? void 0 : A.packageId
                }
              );
            (O = rn) == null || O.pop();
          }
          if (V.length && !Wr) {
            const Le = ai();
            !G.lib && Le ? vo(
              Le,
              /*isDefaultLib*/
              !0,
              /*ignoreNoDefaultLib*/
              !1,
              {
                kind: 6
                /* LibFile */
              }
            ) : ar(G.lib, (Qe, Nt) => {
              vo(
                vm(Qe),
                /*isDefaultLib*/
                !0,
                /*ignoreNoDefaultLib*/
                !1,
                { kind: 6, index: Nt }
              );
            });
          }
          me = J_(ie, gt).concat(fe), ie = void 0, fe = void 0, De = void 0;
        }
        if (ee && it.onReleaseOldSourceFile) {
          const Le = ee.getSourceFiles();
          for (const Qe of Le) {
            const Nt = Bo(Qe.resolvedPath);
            (kt || !Nt || Nt.impliedNodeFormat !== Qe.impliedNodeFormat || // old file wasn't redirect but new file is
            Qe.resolvedPath === Qe.path && Nt.resolvedPath !== Qe.path) && it.onReleaseOldSourceFile(Qe, ee.getCompilerOptions(), !!Bo(Qe.path), Nt);
          }
          it.getParsedCommandLine || ee.forEachResolvedProjectReference((Qe) => {
            hf(Qe.sourceFile.path) || it.onReleaseOldSourceFile(
              Qe.sourceFile,
              ee.getCompilerOptions(),
              /*hasSourceFileByPath*/
              !1,
              /*newSourceFileByResolvedPath*/
              void 0
            );
          });
        }
        ee && it.onReleaseParsedCommandLine && TD(
          ee.getProjectReferences(),
          ee.getResolvedProjectReferences(),
          (Le, Qe, Nt) => {
            const rr = Qe?.commandLine.projectReferences[Nt] || ee.getProjectReferences()[Nt], jr = ik(rr);
            Q?.has(wt(jr)) || it.onReleaseParsedCommandLine(jr, Le, ee.getCompilerOptions());
          }
        ), ee = void 0, ve = void 0, Pe = void 0, Ce = void 0;
        const Rt = {
          getRootFileNames: () => V,
          getSourceFile: Pa,
          getSourceFileByPath: Bo,
          getSourceFiles: () => me,
          getMissingFilePaths: () => Et,
          getModuleResolutionCache: () => ut,
          getFilesByNameMap: () => He,
          getCompilerOptions: () => G,
          getSyntacticDiagnostics: ss,
          getOptionsDiagnostics: Li,
          getGlobalDiagnostics: no,
          getSemanticDiagnostics: Vs,
          getCachedSemanticDiagnostics: Aa,
          getSuggestionDiagnostics: Ot,
          getDeclarationDiagnostics: Ka,
          getBindAndCheckDiagnostics: Ca,
          getProgramDiagnostics: zt,
          getTypeChecker: gi,
          getClassifiableNames: Kt,
          getCommonSourceDirectory: dr,
          emit: ps,
          getCurrentDirectory: () => Fn,
          getNodeCount: () => gi().getNodeCount(),
          getIdentifierCount: () => gi().getIdentifierCount(),
          getSymbolCount: () => gi().getSymbolCount(),
          getTypeCount: () => gi().getTypeCount(),
          getInstantiationCount: () => gi().getInstantiationCount(),
          getRelationCacheSizes: () => gi().getRelationCacheSizes(),
          getFileProcessingDiagnostics: () => ue.getFileProcessingDiagnostics(),
          getAutomaticTypeDirectiveNames: () => Xe,
          getAutomaticTypeDirectiveResolutions: () => nt,
          isSourceFileFromExternalLibrary: qo,
          isSourceFileDefaultLibrary: kc,
          getModeForUsageLocation: Dd,
          getEmitSyntaxForUsageLocation: bm,
          getModeForResolutionAtIndex: Rp,
          getSourceFileFromReference: tu,
          getLibFileFromReference: Cd,
          sourceFileToPackageName: ta,
          redirectTargetsMap: gr,
          usesUriStyleNodeCoreModules: ms,
          resolvedModules: se,
          resolvedTypeReferenceDirectiveNames: Ee,
          resolvedLibReferences: oe,
          getProgramDiagnosticsContainer: () => ue,
          getResolvedModule: Zr,
          getResolvedModuleFromModuleSpecifier: we,
          getResolvedTypeReferenceDirective: mt,
          getResolvedTypeReferenceDirectiveFromTypeReferenceDirective: _e,
          forEachResolvedModule: M,
          forEachResolvedTypeReferenceDirective: ye,
          getCurrentPackagesMap: () => ze,
          typesPackageExists: jt,
          packageBundlesTypes: ke,
          isEmittedFile: qh,
          getConfigFileParsingDiagnostics: da,
          getProjectReferences: Nc,
          getResolvedProjectReferences: Es,
          getProjectReferenceRedirect: nc,
          getResolvedProjectReferenceToRedirect: ul,
          getResolvedProjectReferenceByPath: hf,
          forEachResolvedProjectReference: nf,
          isSourceOfProjectReferenceRedirect: ed,
          getRedirectReferenceForResolutionFromSourceOfProject: Ye,
          getCompilerOptionsForFile: jf,
          getDefaultResolutionModeForFile: m1,
          getEmitModuleFormatOfFile: J0,
          getImpliedNodeFormatForEmit: vf,
          shouldTransformImportCall: g1,
          emitBuildInfo: $s,
          fileExists: Ie,
          readFile: _t,
          directoryExists: ft,
          getSymlinkCache: A_,
          realpath: (F = it.realpath) == null ? void 0 : F.bind(it),
          useCaseSensitiveFileNames: () => it.useCaseSensitiveFileNames(),
          getCanonicalFileName: Z,
          getFileIncludeReasons: () => ue.getFileReasons(),
          structureIsReused: Ve,
          writeFile: Ns,
          getGlobalTypingsCacheLocation: Ls(it, it.getGlobalTypingsCacheLocation)
        };
        return bt(), Pt || vr(), Zo("afterProgram"), Xf("Program", "beforeProgram", "afterProgram"), (j = rn) == null || j.pop(), Rt;
        function Zr(Le, Qe, Nt) {
          var rr;
          return (rr = se?.get(Le.path)) == null ? void 0 : rr.get(Qe, Nt);
        }
        function we(Le, Qe) {
          return Qe ?? (Qe = Er(Le)), E.assertIsDefined(Qe, "`moduleSpecifier` must have a `SourceFile` ancestor. Use `program.getResolvedModule` instead to provide the containing file and resolution mode."), Zr(Qe, Le.text, Dd(Qe, Le));
        }
        function mt(Le, Qe, Nt) {
          var rr;
          return (rr = Ee?.get(Le.path)) == null ? void 0 : rr.get(Qe, Nt);
        }
        function _e(Le, Qe) {
          return mt(
            Qe,
            Le.fileName,
            z0(Le, Qe)
          );
        }
        function M(Le, Qe) {
          X(se, Le, Qe);
        }
        function ye(Le, Qe) {
          X(Ee, Le, Qe);
        }
        function X(Le, Qe, Nt) {
          var rr;
          Nt ? (rr = Le?.get(Nt.path)) == null || rr.forEach((jr, pn, Pr) => Qe(jr, pn, Pr, Nt.path)) : Le?.forEach((jr, pn) => jr.forEach((Pr, fn, vi) => Qe(Pr, fn, vi, pn)));
        }
        function pt() {
          return ze || (ze = /* @__PURE__ */ new Map(), M(({ resolvedModule: Le }) => {
            Le?.packageId && ze.set(Le.packageId.name, Le.extension === ".d.ts" || !!ze.get(Le.packageId.name));
          }), ze);
        }
        function jt(Le) {
          return pt().has(uO(Le));
        }
        function ke(Le) {
          return !!pt().get(Le);
        }
        function st(Le) {
          var Qe;
          (Qe = Le.resolutionDiagnostics) != null && Qe.length && ue.addFileProcessingDiagnostic({
            kind: 2,
            diagnostics: Le.resolutionDiagnostics
          });
        }
        function At(Le, Qe, Nt, rr) {
          if (it.resolveModuleNameLiterals || !it.resolveModuleNames) return st(Nt);
          if (!ut || Cl(Qe)) return;
          const jr = Xi(Le.originalFileName, Fn), pn = Un(jr), Pr = Rr(Le), fn = ut.getFromNonRelativeNameCache(Qe, rr, pn, Pr);
          fn && st(fn);
        }
        function Yr(Le, Qe, Nt) {
          var rr, jr;
          const pn = Xi(Qe.originalFileName, Fn), Pr = Rr(Qe);
          (rr = rn) == null || rr.push(rn.Phase.Program, "resolveModuleNamesWorker", { containingFileName: pn }), Zo("beforeResolveModule");
          const fn = er(
            Le,
            pn,
            Pr,
            G,
            Qe,
            Nt
          );
          return Zo("afterResolveModule"), Xf("ResolveModule", "beforeResolveModule", "afterResolveModule"), (jr = rn) == null || jr.pop(), fn;
        }
        function Mr(Le, Qe, Nt) {
          var rr, jr;
          const pn = cs(Qe) ? void 0 : Qe, Pr = cs(Qe) ? Qe : Xi(Qe.originalFileName, Fn), fn = pn && Rr(pn);
          (rr = rn) == null || rr.push(rn.Phase.Program, "resolveTypeReferenceDirectiveNamesWorker", { containingFileName: Pr }), Zo("beforeResolveTypeReference");
          const vi = zn(
            Le,
            Pr,
            fn,
            G,
            pn,
            Nt
          );
          return Zo("afterResolveTypeReference"), Xf("ResolveTypeReference", "beforeResolveTypeReference", "afterResolveTypeReference"), (jr = rn) == null || jr.pop(), vi;
        }
        function Rr(Le) {
          const Qe = ul(Le.originalFileName);
          if (Qe || !Sl(Le.originalFileName)) return Qe;
          const Nt = Ye(Le.path);
          if (Nt) return Nt;
          if (!it.realpath || !G.preserveSymlinks || !Le.originalFileName.includes($g)) return;
          const rr = wt(it.realpath(Le.originalFileName));
          return rr === Le.path ? void 0 : Ye(rr);
        }
        function Ye(Le) {
          const Qe = n_(Le);
          if (cs(Qe)) return ul(Qe);
          if (Qe)
            return nf((Nt) => {
              const rr = Nt.commandLine.options.outFile;
              if (rr)
                return wt(rr) === Le ? Nt : void 0;
            });
        }
        function gt(Le, Qe) {
          return go(Jt(Le), Jt(Qe));
        }
        function Jt(Le) {
          if (Qf(
            zi,
            Le.fileName,
            /*ignoreCase*/
            !1
          )) {
            const Qe = Qc(Le.fileName);
            if (Qe === "lib.d.ts" || Qe === "lib.es6.d.ts") return 0;
            const Nt = bC(s4(Qe, "lib."), ".d.ts"), rr = zF.indexOf(Nt);
            if (rr !== -1) return rr + 1;
          }
          return zF.length + 2;
        }
        function wt(Le) {
          return lo(Le, Fn, Z);
        }
        function dr() {
          let Le = ue.getCommonSourceDirectory();
          if (Le !== void 0)
            return Le;
          const Qe = Tn(me, (Nt) => Fb(Nt, Rt));
          return Le = sw(
            G,
            () => Oi(Qe, (Nt) => Nt.isDeclarationFile ? void 0 : Nt.fileName),
            Fn,
            Z,
            (Nt) => Vt(Qe, Nt)
          ), ue.setCommonSourceDirectory(Le), Le;
        }
        function Kt() {
          var Le;
          if (!Me) {
            gi(), Me = /* @__PURE__ */ new Set();
            for (const Qe of me)
              (Le = Qe.classifiableNames) == null || Le.forEach((Nt) => Me.add(Nt));
          }
          return Me;
        }
        function Mt(Le, Qe) {
          return lr({
            entries: Le,
            containingFile: Qe,
            containingSourceFile: Qe,
            redirectedReference: Rr(Qe),
            nameAndModeGetter: IO,
            resolutionWorker: Yr,
            getResolutionFromOldProgram: (Nt, rr) => ee?.getResolvedModule(Qe, Nt, rr),
            getResolved: ox,
            canReuseResolutionsInFile: () => Qe === ee?.getSourceFile(Qe.fileName) && !Vr(Qe.path),
            resolveToOwnAmbientModule: !0
          });
        }
        function cr(Le, Qe) {
          const Nt = cs(Qe) ? void 0 : Qe;
          return lr({
            entries: Le,
            containingFile: Qe,
            containingSourceFile: Nt,
            redirectedReference: Nt && Rr(Nt),
            nameAndModeGetter: hve,
            resolutionWorker: Mr,
            getResolutionFromOldProgram: (rr, jr) => {
              var pn;
              return Nt ? ee?.getResolvedTypeReferenceDirective(Nt, rr, jr) : (pn = ee?.getAutomaticTypeDirectiveResolutions()) == null ? void 0 : pn.get(rr, jr);
            },
            getResolved: I7,
            canReuseResolutionsInFile: () => Nt ? Nt === ee?.getSourceFile(Nt.fileName) && !Vr(Nt.path) : !Vr(wt(Qe))
          });
        }
        function lr({
          entries: Le,
          containingFile: Qe,
          containingSourceFile: Nt,
          redirectedReference: rr,
          nameAndModeGetter: jr,
          resolutionWorker: pn,
          getResolutionFromOldProgram: Pr,
          getResolved: fn,
          canReuseResolutionsInFile: vi,
          resolveToOwnAmbientModule: ts
        }) {
          if (!Le.length) return Ue;
          if (Ve === 0 && (!ts || !Nt.ambientModuleNames.length))
            return pn(
              Le,
              Qe,
              /*reusedNames*/
              void 0
            );
          let Hn, Mi, Ds, Al;
          const Bf = vi();
          for (let af = 0; af < Le.length; af++) {
            const ng = Le[af];
            if (Bf) {
              const td = jr.getName(ng), ig = jr.getMode(ng, Nt, rr?.commandLine.options ?? G), W0 = Pr(td, ig), sg = W0 && fn(W0);
              if (sg) {
                a1(G, it) && es(
                  it,
                  pn === Yr ? sg.packageId ? p.Reusing_resolution_of_module_0_from_1_of_old_program_it_was_successfully_resolved_to_2_with_Package_ID_3 : p.Reusing_resolution_of_module_0_from_1_of_old_program_it_was_successfully_resolved_to_2 : sg.packageId ? p.Reusing_resolution_of_type_reference_directive_0_from_1_of_old_program_it_was_successfully_resolved_to_2_with_Package_ID_3 : p.Reusing_resolution_of_type_reference_directive_0_from_1_of_old_program_it_was_successfully_resolved_to_2,
                  td,
                  Nt ? Xi(Nt.originalFileName, Fn) : Qe,
                  sg.resolvedFileName,
                  sg.packageId && q1(sg.packageId)
                ), (Ds ?? (Ds = new Array(Le.length)))[af] = W0, (Al ?? (Al = [])).push(ng);
                continue;
              }
            }
            if (ts) {
              const td = jr.getName(ng);
              if (_s(Nt.ambientModuleNames, td)) {
                a1(G, it) && es(
                  it,
                  p.Module_0_was_resolved_as_locally_declared_ambient_module_in_file_1,
                  td,
                  Xi(Nt.originalFileName, Fn)
                ), (Ds ?? (Ds = new Array(Le.length)))[af] = gve;
                continue;
              }
            }
            (Hn ?? (Hn = [])).push(ng), (Mi ?? (Mi = [])).push(af);
          }
          if (!Hn) return Ds;
          const Jf = pn(Hn, Qe, Al);
          return Ds ? (Jf.forEach((af, ng) => Ds[Mi[ng]] = af), Ds) : Jf;
        }
        function br() {
          return !TD(
            ee.getProjectReferences(),
            ee.getResolvedProjectReferences(),
            (Le, Qe, Nt) => {
              const rr = (Qe ? Qe.commandLine.projectReferences : pe)[Nt], jr = Ut(rr);
              return Le ? !jr || jr.sourceFile !== Le.sourceFile || !Cf(Le.commandLine.fileNames, jr.commandLine.fileNames) : jr !== void 0;
            },
            (Le, Qe) => {
              const Nt = Qe ? hf(Qe.sourceFile.path).commandLine.projectReferences : pe;
              return !Cf(Le, Nt, $j);
            }
          );
        }
        function $t() {
          var Le;
          if (!ee)
            return 0;
          const Qe = ee.getCompilerOptions();
          if (N7(Qe, G))
            return 0;
          const Nt = ee.getRootFileNames();
          if (!Cf(Nt, V) || !br())
            return 0;
          pe && (rt = pe.map(Ut));
          const rr = [], jr = [];
          if (Ve = 2, gl(ee.getMissingFilePaths(), (Hn) => it.fileExists(Hn)))
            return 0;
          const pn = ee.getSourceFiles();
          let Pr;
          ((Hn) => {
            Hn[Hn.Exists = 0] = "Exists", Hn[Hn.Modified = 1] = "Modified";
          })(Pr || (Pr = {}));
          const fn = /* @__PURE__ */ new Map();
          for (const Hn of pn) {
            const Mi = Is(Hn.fileName, ut, it, G);
            let Ds = it.getSourceFileByPath ? it.getSourceFileByPath(
              Hn.fileName,
              Hn.resolvedPath,
              Mi,
              /*onError*/
              void 0,
              kt
            ) : it.getSourceFile(
              Hn.fileName,
              Mi,
              /*onError*/
              void 0,
              kt
            );
            if (!Ds)
              return 0;
            Ds.packageJsonLocations = (Le = Mi.packageJsonLocations) != null && Le.length ? Mi.packageJsonLocations : void 0, Ds.packageJsonScope = Mi.packageJsonScope, E.assert(!Ds.redirectInfo, "Host should not return a redirect source file from `getSourceFile`");
            let Al;
            if (Hn.redirectInfo) {
              if (Ds !== Hn.redirectInfo.unredirected)
                return 0;
              Al = !1, Ds = Hn;
            } else if (ee.redirectTargetsMap.has(Hn.path)) {
              if (Ds !== Hn)
                return 0;
              Al = !1;
            } else
              Al = Ds !== Hn;
            Ds.path = Hn.path, Ds.originalFileName = Hn.originalFileName, Ds.resolvedPath = Hn.resolvedPath, Ds.fileName = Hn.fileName;
            const Bf = ee.sourceFileToPackageName.get(Hn.path);
            if (Bf !== void 0) {
              const Jf = fn.get(Bf), af = Al ? 1 : 0;
              if (Jf !== void 0 && af === 1 || Jf === 1)
                return 0;
              fn.set(Bf, af);
            }
            Al ? (Hn.impliedNodeFormat !== Ds.impliedNodeFormat ? Ve = 1 : Cf(Hn.libReferenceDirectives, Ds.libReferenceDirectives, fc) ? Hn.hasNoDefaultLib !== Ds.hasNoDefaultLib ? Ve = 1 : Cf(Hn.referencedFiles, Ds.referencedFiles, fc) ? (pc(Ds), Cf(Hn.imports, Ds.imports, Lc) && Cf(Hn.moduleAugmentations, Ds.moduleAugmentations, Lc) ? (Hn.flags & 12582912) !== (Ds.flags & 12582912) ? Ve = 1 : Cf(Hn.typeReferenceDirectives, Ds.typeReferenceDirectives, fc) || (Ve = 1) : Ve = 1) : Ve = 1 : Ve = 1, jr.push(Ds)) : Vr(Hn.path) && (Ve = 1, jr.push(Ds)), rr.push(Ds);
          }
          if (Ve !== 2)
            return Ve;
          for (const Hn of jr) {
            const Mi = bve(Hn), Ds = Mt(Mi, Hn);
            (Pe ?? (Pe = /* @__PURE__ */ new Map())).set(Hn.path, Ds);
            const Al = jf(Hn);
            Qj(
              Mi,
              Ds,
              (td) => ee.getResolvedModule(Hn, td.text, AO(Hn, td, Al)),
              OZ
            ) && (Ve = 1);
            const Jf = Hn.typeReferenceDirectives, af = cr(Jf, Hn);
            (Ce ?? (Ce = /* @__PURE__ */ new Map())).set(Hn.path, af), Qj(
              Jf,
              af,
              (td) => ee.getResolvedTypeReferenceDirective(
                Hn,
                kie(td),
                z0(td, Hn)
              ),
              LZ
            ) && (Ve = 1);
          }
          if (Ve !== 2)
            return Ve;
          if (IZ(Qe, G) || ee.resolvedLibReferences && gl(ee.resolvedLibReferences, (Hn, Mi) => yf(Mi).actual !== Hn.actual))
            return 1;
          if (it.hasChangedAutomaticTypeDirectiveNames) {
            if (it.hasChangedAutomaticTypeDirectiveNames()) return 1;
          } else if (Xe = iO(G, it), !Cf(ee.getAutomaticTypeDirectiveNames(), Xe)) return 1;
          Et = ee.getMissingFilePaths(), E.assert(rr.length === ee.getSourceFiles().length);
          for (const Hn of rr)
            He.set(Hn.path, Hn);
          ee.getFilesByNameMap().forEach((Hn, Mi) => {
            if (!Hn) {
              He.set(Mi, Hn);
              return;
            }
            if (Hn.path === Mi) {
              ee.isSourceFileFromExternalLibrary(Hn) && Fr.set(Hn.path, !0);
              return;
            }
            He.set(Mi, He.get(Hn.path));
          });
          const ts = Qe.configFile && Qe.configFile === G.configFile || !Qe.configFile && !G.configFile && !ax(Qe, G, Zp);
          return ue.reuseStateFromOldProgram(ee.getProgramDiagnosticsContainer(), ts), Pt = ts, me = rr, Xe = ee.getAutomaticTypeDirectiveNames(), nt = ee.getAutomaticTypeDirectiveResolutions(), ta = ee.sourceFileToPackageName, gr = ee.redirectTargetsMap, ms = ee.usesUriStyleNodeCoreModules, se = ee.resolvedModules, Ee = ee.resolvedTypeReferenceDirectiveNames, oe = ee.resolvedLibReferences, ze = ee.getCurrentPackagesMap(), 2;
        }
        function Qn(Le) {
          return {
            getCanonicalFileName: Z,
            getCommonSourceDirectory: Rt.getCommonSourceDirectory,
            getCompilerOptions: Rt.getCompilerOptions,
            getCurrentDirectory: () => Fn,
            getSourceFile: Rt.getSourceFile,
            getSourceFileByPath: Rt.getSourceFileByPath,
            getSourceFiles: Rt.getSourceFiles,
            isSourceFileFromExternalLibrary: qo,
            getResolvedProjectReferenceToRedirect: ul,
            getProjectReferenceRedirect: nc,
            isSourceOfProjectReferenceRedirect: ed,
            getSymlinkCache: A_,
            writeFile: Le || Ns,
            isEmitBlocked: Wc,
            shouldTransformImportCall: g1,
            getEmitModuleFormatOfFile: J0,
            getDefaultResolutionModeForFile: m1,
            getModeForResolutionAtIndex: Rp,
            readFile: (Qe) => it.readFile(Qe),
            fileExists: (Qe) => {
              const Nt = wt(Qe);
              return Bo(Nt) ? !0 : Et.has(Nt) ? !1 : it.fileExists(Qe);
            },
            realpath: Ls(it, it.realpath),
            useCaseSensitiveFileNames: () => it.useCaseSensitiveFileNames(),
            getBuildInfo: () => {
              var Qe;
              return (Qe = Rt.getBuildInfo) == null ? void 0 : Qe.call(Rt);
            },
            getSourceFileFromReference: (Qe, Nt) => Rt.getSourceFileFromReference(Qe, Nt),
            redirectTargetsMap: gr,
            getFileIncludeReasons: Rt.getFileIncludeReasons,
            createHash: Ls(it, it.createHash),
            getModuleResolutionCache: () => Rt.getModuleResolutionCache(),
            trace: Ls(it, it.trace),
            getGlobalTypingsCacheLocation: Rt.getGlobalTypingsCacheLocation
          };
        }
        function Ns(Le, Qe, Nt, rr, jr, pn) {
          it.writeFile(Le, Qe, Nt, rr, jr, pn);
        }
        function $s(Le) {
          var Qe, Nt;
          (Qe = rn) == null || Qe.push(
            rn.Phase.Emit,
            "emitBuildInfo",
            {},
            /*separateBeginAndEnd*/
            !0
          ), Zo("beforeEmit");
          const rr = $W(
            uie,
            Qn(Le),
            /*targetSourceFile*/
            void 0,
            /*transformers*/
            sie,
            /*emitOnly*/
            !1,
            /*onlyBuildInfo*/
            !0
          );
          return Zo("afterEmit"), Xf("Emit", "beforeEmit", "afterEmit"), (Nt = rn) == null || Nt.pop(), rr;
        }
        function Es() {
          return rt;
        }
        function Nc() {
          return pe;
        }
        function qo(Le) {
          return !!Fr.get(Le.path);
        }
        function kc(Le) {
          if (!Le.isDeclarationFile)
            return !1;
          if (Le.hasNoDefaultLib)
            return !0;
          if (G.noLib)
            return !1;
          const Qe = it.useCaseSensitiveFileNames() ? gb : wy;
          return G.lib ? at(G.lib, (Nt) => {
            const rr = oe.get(Nt);
            return !!rr && Qe(Le.fileName, rr.actual);
          }) : Qe(Le.fileName, ai());
        }
        function gi() {
          return he || (he = hne(Rt));
        }
        function ps(Le, Qe, Nt, rr, jr, pn, Pr) {
          var fn, vi;
          (fn = rn) == null || fn.push(
            rn.Phase.Emit,
            "emit",
            { path: Le?.path },
            /*separateBeginAndEnd*/
            !0
          );
          const ts = tc(
            () => Lo(
              Rt,
              Le,
              Qe,
              Nt,
              rr,
              jr,
              pn,
              Pr
            )
          );
          return (vi = rn) == null || vi.pop(), ts;
        }
        function Wc(Le) {
          return cn.has(wt(Le));
        }
        function Lo(Le, Qe, Nt, rr, jr, pn, Pr, fn) {
          if (!Pr) {
            const Mi = fV(Le, Qe, Nt, rr);
            if (Mi) return Mi;
          }
          const vi = gi(), ts = vi.getEmitResolver(
            G.outFile ? void 0 : Qe,
            rr,
            GW(jr, Pr)
          );
          Zo("beforeEmit");
          const Hn = vi.runWithCancellationToken(
            rr,
            () => $W(
              ts,
              Qn(Nt),
              Qe,
              aie(G, pn, jr),
              jr,
              /*onlyBuildInfo*/
              !1,
              Pr,
              fn
            )
          );
          return Zo("afterEmit"), Xf("Emit", "beforeEmit", "afterEmit"), Hn;
        }
        function Pa(Le) {
          return Bo(wt(Le));
        }
        function Bo(Le) {
          return He.get(Le) || void 0;
        }
        function rf(Le, Qe, Nt) {
          return DC(Le ? Qe(Le, Nt) : oa(Rt.getSourceFiles(), (rr) => (Nt && Nt.throwIfCancellationRequested(), Qe(rr, Nt))));
        }
        function ss(Le, Qe) {
          return rf(Le, Vc, Qe);
        }
        function Vs(Le, Qe, Nt) {
          return rf(
            Le,
            (rr, jr) => eu(rr, jr, Nt),
            Qe
          );
        }
        function Aa(Le) {
          return re?.get(Le.path);
        }
        function Ca(Le, Qe) {
          return yo(
            Le,
            Qe,
            /*nodesToCheck*/
            void 0
          );
        }
        function zt(Le) {
          var Qe;
          if (a6(Le, G, Rt))
            return Ue;
          const Nt = ue.getCombinedDiagnostics(Rt).getDiagnostics(Le.fileName);
          return (Qe = Le.commentDirectives) != null && Qe.length ? et(Le, Le.commentDirectives, Nt).diagnostics : Nt;
        }
        function Ka(Le, Qe) {
          return rf(Le, xr, Qe);
        }
        function Vc(Le) {
          return $u(Le) ? (Le.additionalSyntacticDiagnostics || (Le.additionalSyntacticDiagnostics = Ur(Le)), Ji(Le.additionalSyntacticDiagnostics, Le.parseDiagnostics)) : Le.parseDiagnostics;
        }
        function tc(Le) {
          try {
            return Le();
          } catch (Qe) {
            throw Qe instanceof _4 && (he = void 0), Qe;
          }
        }
        function eu(Le, Qe, Nt) {
          return Ji(
            RO(yo(Le, Qe, Nt), G),
            zt(Le)
          );
        }
        function yo(Le, Qe, Nt) {
          if (Nt)
            return ge(Le, Qe, Nt);
          let rr = re?.get(Le.path);
          return rr || (re ?? (re = /* @__PURE__ */ new Map())).set(
            Le.path,
            rr = ge(Le, Qe)
          ), rr;
        }
        function ge(Le, Qe, Nt) {
          return tc(() => {
            if (a6(Le, G, Rt))
              return Ue;
            const rr = gi();
            E.assert(!!Le.bindDiagnostics);
            const jr = Le.scriptKind === 1 || Le.scriptKind === 2, pn = F4(Le, G.checkJs), Pr = jr && pD(Le, G);
            let fn = Le.bindDiagnostics, vi = rr.getDiagnostics(Le, Qe, Nt);
            return pn && (fn = Tn(fn, (ts) => yve.has(ts.code)), vi = Tn(vi, (ts) => yve.has(ts.code))), H(
              Le,
              !pn,
              !!Nt,
              fn,
              vi,
              Pr ? Le.jsDocDiagnostics : void 0
            );
          });
        }
        function H(Le, Qe, Nt, ...rr) {
          var jr;
          const pn = Sp(rr);
          if (!Qe || !((jr = Le.commentDirectives) != null && jr.length))
            return pn;
          const { diagnostics: Pr, directives: fn } = et(Le, Le.commentDirectives, pn);
          if (Nt)
            return Pr;
          for (const vi of fn.getUnusedExpectations())
            Pr.push(ZZ(Le, vi.range, p.Unused_ts_expect_error_directive));
          return Pr;
        }
        function et(Le, Qe, Nt) {
          const rr = jZ(Le, Qe);
          return { diagnostics: Nt.filter((pn) => Zt(pn, rr) === -1), directives: rr };
        }
        function Ot(Le, Qe) {
          return tc(() => gi().getSuggestionDiagnostics(Le, Qe));
        }
        function Zt(Le, Qe) {
          const { file: Nt, start: rr } = Le;
          if (!Nt)
            return -1;
          const jr = Eg(Nt);
          let pn = CC(jr, rr).line - 1;
          for (; pn >= 0; ) {
            if (Qe.markUsed(pn))
              return pn;
            const Pr = Nt.text.slice(jr[pn], jr[pn + 1]).trim();
            if (Pr !== "" && !/^\s*\/\/.*$/.test(Pr))
              return -1;
            pn--;
          }
          return -1;
        }
        function Ur(Le) {
          return tc(() => {
            const Qe = [];
            return Nt(Le, Le), Xx(Le, Nt, rr), Qe;
            function Nt(fn, vi) {
              switch (vi.kind) {
                case 169:
                case 172:
                case 174:
                  if (vi.questionToken === fn)
                    return Qe.push(Pr(fn, p.The_0_modifier_can_only_be_used_in_TypeScript_files, "?")), "skip";
                // falls through
                case 173:
                case 176:
                case 177:
                case 178:
                case 218:
                case 262:
                case 219:
                case 260:
                  if (vi.type === fn)
                    return Qe.push(Pr(fn, p.Type_annotations_can_only_be_used_in_TypeScript_files)), "skip";
              }
              switch (fn.kind) {
                case 273:
                  if (fn.isTypeOnly)
                    return Qe.push(Pr(vi, p._0_declarations_can_only_be_used_in_TypeScript_files, "import type")), "skip";
                  break;
                case 278:
                  if (fn.isTypeOnly)
                    return Qe.push(Pr(fn, p._0_declarations_can_only_be_used_in_TypeScript_files, "export type")), "skip";
                  break;
                case 276:
                case 281:
                  if (fn.isTypeOnly)
                    return Qe.push(Pr(fn, p._0_declarations_can_only_be_used_in_TypeScript_files, Bu(fn) ? "import...type" : "export...type")), "skip";
                  break;
                case 271:
                  return Qe.push(Pr(fn, p.import_can_only_be_used_in_TypeScript_files)), "skip";
                case 277:
                  if (fn.isExportEquals)
                    return Qe.push(Pr(fn, p.export_can_only_be_used_in_TypeScript_files)), "skip";
                  break;
                case 298:
                  if (fn.token === 119)
                    return Qe.push(Pr(fn, p.implements_clauses_can_only_be_used_in_TypeScript_files)), "skip";
                  break;
                case 264:
                  const Hn = Qs(
                    120
                    /* InterfaceKeyword */
                  );
                  return E.assertIsDefined(Hn), Qe.push(Pr(fn, p._0_declarations_can_only_be_used_in_TypeScript_files, Hn)), "skip";
                case 267:
                  const Mi = fn.flags & 32 ? Qs(
                    145
                    /* NamespaceKeyword */
                  ) : Qs(
                    144
                    /* ModuleKeyword */
                  );
                  return E.assertIsDefined(Mi), Qe.push(Pr(fn, p._0_declarations_can_only_be_used_in_TypeScript_files, Mi)), "skip";
                case 265:
                  return Qe.push(Pr(fn, p.Type_aliases_can_only_be_used_in_TypeScript_files)), "skip";
                case 176:
                case 174:
                case 262:
                  return fn.body ? void 0 : (Qe.push(Pr(fn, p.Signature_declarations_can_only_be_used_in_TypeScript_files)), "skip");
                case 266:
                  const Ds = E.checkDefined(Qs(
                    94
                    /* EnumKeyword */
                  ));
                  return Qe.push(Pr(fn, p._0_declarations_can_only_be_used_in_TypeScript_files, Ds)), "skip";
                case 235:
                  return Qe.push(Pr(fn, p.Non_null_assertions_can_only_be_used_in_TypeScript_files)), "skip";
                case 234:
                  return Qe.push(Pr(fn.type, p.Type_assertion_expressions_can_only_be_used_in_TypeScript_files)), "skip";
                case 238:
                  return Qe.push(Pr(fn.type, p.Type_satisfaction_expressions_can_only_be_used_in_TypeScript_files)), "skip";
                case 216:
                  E.fail();
              }
            }
            function rr(fn, vi) {
              if (wz(vi)) {
                const ts = Dn(vi.modifiers, yl);
                ts && Qe.push(Pr(ts, p.Decorators_are_not_valid_here));
              } else if (Zb(vi) && vi.modifiers) {
                const ts = oc(vi.modifiers, yl);
                if (ts >= 0) {
                  if (Ni(vi) && !G.experimentalDecorators)
                    Qe.push(Pr(vi.modifiers[ts], p.Decorators_are_not_valid_here));
                  else if (el(vi)) {
                    const Hn = oc(vi.modifiers, Rx);
                    if (Hn >= 0) {
                      const Mi = oc(vi.modifiers, vF);
                      if (ts > Hn && Mi >= 0 && ts < Mi)
                        Qe.push(Pr(vi.modifiers[ts], p.Decorators_are_not_valid_here));
                      else if (Hn >= 0 && ts < Hn) {
                        const Ds = oc(vi.modifiers, yl, Hn);
                        Ds >= 0 && Qe.push(Ws(
                          Pr(vi.modifiers[Ds], p.Decorators_may_not_appear_after_export_or_export_default_if_they_also_appear_before_export),
                          Pr(vi.modifiers[ts], p.Decorator_used_before_export_here)
                        ));
                      }
                    }
                  }
                }
              }
              switch (vi.kind) {
                case 263:
                case 231:
                case 174:
                case 176:
                case 177:
                case 178:
                case 218:
                case 262:
                case 219:
                  if (fn === vi.typeParameters)
                    return Qe.push(pn(fn, p.Type_parameter_declarations_can_only_be_used_in_TypeScript_files)), "skip";
                // falls through
                case 243:
                  if (fn === vi.modifiers)
                    return jr(
                      vi.modifiers,
                      vi.kind === 243
                      /* VariableStatement */
                    ), "skip";
                  break;
                case 172:
                  if (fn === vi.modifiers) {
                    for (const ts of fn)
                      Ks(ts) && ts.kind !== 126 && ts.kind !== 129 && Qe.push(Pr(ts, p.The_0_modifier_can_only_be_used_in_TypeScript_files, Qs(ts.kind)));
                    return "skip";
                  }
                  break;
                case 169:
                  if (fn === vi.modifiers && at(fn, Ks))
                    return Qe.push(pn(fn, p.Parameter_modifiers_can_only_be_used_in_TypeScript_files)), "skip";
                  break;
                case 213:
                case 214:
                case 233:
                case 285:
                case 286:
                case 215:
                  if (fn === vi.typeArguments)
                    return Qe.push(pn(fn, p.Type_arguments_can_only_be_used_in_TypeScript_files)), "skip";
                  break;
              }
            }
            function jr(fn, vi) {
              for (const ts of fn)
                switch (ts.kind) {
                  case 87:
                    if (vi)
                      continue;
                  // to report error,
                  // falls through
                  case 125:
                  case 123:
                  case 124:
                  case 148:
                  case 138:
                  case 128:
                  case 164:
                  case 103:
                  case 147:
                    Qe.push(Pr(ts, p.The_0_modifier_can_only_be_used_in_TypeScript_files, Qs(ts.kind)));
                    break;
                  // These are all legal modifiers.
                  case 126:
                  case 95:
                  case 90:
                  case 129:
                }
            }
            function pn(fn, vi, ...ts) {
              const Hn = fn.pos;
              return al(Le, Hn, fn.end - Hn, vi, ...ts);
            }
            function Pr(fn, vi, ...ts) {
              return Zf(Le, fn, vi, ...ts);
            }
          });
        }
        function Vn(Le, Qe) {
          let Nt = xe?.get(Le.path);
          return Nt || (xe ?? (xe = /* @__PURE__ */ new Map())).set(
            Le.path,
            Nt = sn(Le, Qe)
          ), Nt;
        }
        function sn(Le, Qe) {
          return tc(() => {
            const Nt = gi().getEmitResolver(Le, Qe);
            return iie(Qn(Ua), Nt, Le) || Ue;
          });
        }
        function xr(Le, Qe) {
          return Le.isDeclarationFile ? Ue : Vn(Le, Qe);
        }
        function Li() {
          return DC(Ji(
            ue.getCombinedDiagnostics(Rt).getGlobalDiagnostics(),
            Qi()
          ));
        }
        function Qi() {
          if (!G.configFile) return Ue;
          let Le = ue.getCombinedDiagnostics(Rt).getDiagnostics(G.configFile.fileName);
          return nf((Qe) => {
            Le = Ji(Le, ue.getCombinedDiagnostics(Rt).getDiagnostics(Qe.sourceFile.fileName));
          }), Le;
        }
        function no() {
          return V.length ? DC(gi().getGlobalDiagnostics().slice()) : Ue;
        }
        function da() {
          return W || Ue;
        }
        function vo(Le, Qe, Nt, rr) {
          r_(
            Gs(Le),
            Qe,
            Nt,
            /*packageId*/
            void 0,
            rr
          );
        }
        function fc(Le, Qe) {
          return Le.fileName === Qe.fileName;
        }
        function Lc(Le, Qe) {
          return Le.kind === 80 ? Qe.kind === 80 && Le.escapedText === Qe.escapedText : Qe.kind === 11 && Le.text === Qe.text;
        }
        function bo(Le, Qe) {
          const Nt = N.createStringLiteral(Le), rr = N.createImportDeclaration(
            /*modifiers*/
            void 0,
            /*importClause*/
            void 0,
            Nt
          );
          return DS(
            rr,
            2
            /* NeverApplyImportHelper */
          ), Wa(Nt, rr), Wa(rr, Qe), Nt.flags &= -17, rr.flags &= -17, Nt;
        }
        function pc(Le) {
          if (Le.imports)
            return;
          const Qe = $u(Le), Nt = ol(Le);
          let rr, jr, pn;
          if (Qe || !Le.isDeclarationFile && (Np(G) || ol(Le))) {
            G.importHelpers && (rr = [bo(zy, Le)]);
            const fn = W5(oN(G, Le), G);
            fn && (rr || (rr = [])).push(bo(fn, Le));
          }
          for (const fn of Le.statements)
            Pr(
              fn,
              /*inAmbientModule*/
              !1
            );
          (Le.flags & 4194304 || Qe) && lF(
            Le,
            /*includeTypeSpaceImports*/
            !0,
            /*requireStringLiteralLikeArgument*/
            !0,
            (fn, vi) => {
              tv(
                fn,
                /*incremental*/
                !1
              ), rr = Dr(rr, vi);
            }
          ), Le.imports = rr || Ue, Le.moduleAugmentations = jr || Ue, Le.ambientModuleNames = pn || Ue;
          return;
          function Pr(fn, vi) {
            if (l3(fn)) {
              const ts = px(fn);
              ts && la(ts) && ts.text && (!vi || !Cl(ts.text)) && (tv(
                fn,
                /*incremental*/
                !1
              ), rr = Dr(rr, ts), !ms && Bt === 0 && !Le.isDeclarationFile && (Wi(ts.text, "node:") && !cF.has(ts.text) ? ms = !0 : ms === void 0 && $ee.has(ts.text) && (ms = !1)));
            } else if (zc(fn) && Fu(fn) && (vi || qn(
              fn,
              128
              /* Ambient */
            ) || Le.isDeclarationFile)) {
              fn.name.parent = fn;
              const ts = ep(fn.name);
              if (Nt || vi && !Cl(ts))
                (jr || (jr = [])).push(fn.name);
              else if (!vi) {
                Le.isDeclarationFile && (pn || (pn = [])).push(ts);
                const Hn = fn.body;
                if (Hn)
                  for (const Mi of Hn.statements)
                    Pr(
                      Mi,
                      /*inAmbientModule*/
                      !0
                    );
              }
            }
          }
        }
        function Cd(Le) {
          var Qe;
          const Nt = VJ(Le), rr = Nt && ((Qe = oe?.get(Nt)) == null ? void 0 : Qe.actual);
          return rr !== void 0 ? Pa(rr) : void 0;
        }
        function tu(Le, Qe) {
          return Rf(tV(Qe.fileName, Le.fileName), Pa);
        }
        function Rf(Le, Qe, Nt, rr) {
          if (xC(Le)) {
            const jr = it.getCanonicalFileName(Le);
            if (!G.allowNonTsExtensions && !ar(Sp(li), (Pr) => Wo(jr, Pr))) {
              Nt && (Wg(jr) ? Nt(p.File_0_is_a_JavaScript_file_Did_you_mean_to_enable_the_allowJs_option, Le) : Nt(p.File_0_has_an_unsupported_extension_The_only_supported_extensions_are_1, Le, "'" + Sp(ii).join("', '") + "'"));
              return;
            }
            const pn = Qe(Le);
            if (Nt)
              if (pn)
                yv(rr) && jr === it.getCanonicalFileName(Bo(rr.file).fileName) && Nt(p.A_file_cannot_have_a_reference_to_itself);
              else {
                const Pr = nc(Le);
                Pr ? Nt(p.Output_file_0_has_not_been_built_from_source_file_1, Pr, Le) : Nt(p.File_0_not_found, Le);
              }
            return pn;
          } else {
            const jr = G.allowNonTsExtensions && Qe(Le);
            if (jr) return jr;
            if (Nt && G.allowNonTsExtensions) {
              Nt(p.File_0_not_found, Le);
              return;
            }
            const pn = ar(ii[0], (Pr) => Qe(Le + Pr));
            return Nt && !pn && Nt(p.Could_not_resolve_the_path_0_with_the_extensions_Colon_1, Le, "'" + Sp(ii).join("', '") + "'"), pn;
          }
        }
        function r_(Le, Qe, Nt, rr, jr) {
          Rf(
            Le,
            (pn) => qi(pn, Qe, Nt, jr, rr),
            // TODO: GH#18217
            (pn, ...Pr) => L(
              /*file*/
              void 0,
              jr,
              pn,
              Pr
            ),
            jr
          );
        }
        function Ae(Le, Qe) {
          return r_(
            Le,
            /*isDefaultLib*/
            !1,
            /*ignoreNoDefaultLib*/
            !1,
            /*packageId*/
            void 0,
            Qe
          );
        }
        function It(Le, Qe, Nt) {
          !yv(Nt) && at(ue.getFileReasons().get(Qe.path), yv) ? L(Qe, Nt, p.Already_included_file_name_0_differs_from_file_name_1_only_in_casing, [Qe.fileName, Le]) : L(Qe, Nt, p.File_name_0_differs_from_already_included_file_name_1_only_in_casing, [Le, Qe.fileName]);
        }
        function Xr(Le, Qe, Nt, rr, jr, pn, Pr) {
          var fn;
          const vi = fv.createRedirectedSourceFile({ redirectTarget: Le, unredirected: Qe });
          return vi.fileName = Nt, vi.path = rr, vi.resolvedPath = jr, vi.originalFileName = pn, vi.packageJsonLocations = (fn = Pr.packageJsonLocations) != null && fn.length ? Pr.packageJsonLocations : void 0, vi.packageJsonScope = Pr.packageJsonScope, Fr.set(rr, Bt > 0), vi;
        }
        function qi(Le, Qe, Nt, rr, jr) {
          var pn, Pr;
          (pn = rn) == null || pn.push(rn.Phase.Program, "findSourceFile", {
            fileName: Le,
            isDefaultLib: Qe || void 0,
            fileIncludeKind: XR[rr.kind]
          });
          const fn = Ea(Le, Qe, Nt, rr, jr);
          return (Pr = rn) == null || Pr.pop(), fn;
        }
        function Is(Le, Qe, Nt, rr) {
          const jr = LO(Xi(Le, Fn), Qe?.getPackageJsonInfoCache(), Nt, rr), pn = ga(rr), Pr = rN(rr);
          return typeof jr == "object" ? { ...jr, languageVersion: pn, setExternalModuleIndicator: Pr, jsDocParsingMode: Nt.jsDocParsingMode } : { languageVersion: pn, impliedNodeFormat: jr, setExternalModuleIndicator: Pr, jsDocParsingMode: Nt.jsDocParsingMode };
        }
        function Ea(Le, Qe, Nt, rr, jr) {
          var pn;
          const Pr = wt(Le);
          if (Ze) {
            let Mi = n_(Pr);
            if (!Mi && it.realpath && G.preserveSymlinks && Sl(Le) && Le.includes($g)) {
              const Ds = wt(it.realpath(Le));
              Ds !== Pr && (Mi = n_(Ds));
            }
            if (Mi) {
              const Ds = cs(Mi) ? qi(Mi, Qe, Nt, rr, jr) : void 0;
              return Ds && Ac(
                Ds,
                Pr,
                Le,
                /*redirectedPath*/
                void 0
              ), Ds;
            }
          }
          const fn = Le;
          if (He.has(Pr)) {
            const Mi = He.get(Pr), Ds = Do(
              Mi || void 0,
              rr,
              /*checkExisting*/
              !0
            );
            if (Mi && Ds && G.forceConsistentCasingInFileNames !== !1) {
              const Al = Mi.fileName;
              wt(Al) !== wt(Le) && (Le = nc(Le) || Le);
              const Jf = pj(Al, Fn), af = pj(Le, Fn);
              Jf !== af && It(Le, Mi, rr);
            }
            return Mi && Fr.get(Mi.path) && Bt === 0 ? (Fr.set(Mi.path, !1), G.noResolve || (ym(Mi, Qe), Qg(Mi)), G.noLib || Yg(Mi), tr.set(Mi.path, !1), Ke(Mi)) : Mi && tr.get(Mi.path) && Bt < St && (tr.set(Mi.path, !1), Ke(Mi)), Mi || void 0;
          }
          let vi;
          if (!Ze) {
            const Mi = Mc(Le);
            if (Mi) {
              if (Mi.commandLine.options.outFile)
                return;
              const Ds = ll(Mi, Le);
              Le = Ds, vi = wt(Ds);
            }
          }
          const ts = Is(Le, ut, it, G), Hn = it.getSourceFile(
            Le,
            ts,
            (Mi) => L(
              /*file*/
              void 0,
              rr,
              p.Cannot_read_file_0_Colon_1,
              [Le, Mi]
            ),
            kt
          );
          if (jr) {
            const Mi = q1(jr), Ds = ks.get(Mi);
            if (Ds) {
              const Al = Xr(Ds, Hn, Le, Pr, wt(Le), fn, ts);
              return gr.add(Ds.path, Le), Ac(Al, Pr, Le, vi), Do(
                Al,
                rr,
                /*checkExisting*/
                !1
              ), ta.set(Pr, O7(jr)), fe.push(Al), Al;
            } else Hn && (ks.set(Mi, Hn), ta.set(Pr, O7(jr)));
          }
          if (Ac(Hn, Pr, Le, vi), Hn) {
            if (Fr.set(Pr, Bt > 0), Hn.fileName = Le, Hn.path = Pr, Hn.resolvedPath = wt(Le), Hn.originalFileName = fn, Hn.packageJsonLocations = (pn = ts.packageJsonLocations) != null && pn.length ? ts.packageJsonLocations : void 0, Hn.packageJsonScope = ts.packageJsonScope, Do(
              Hn,
              rr,
              /*checkExisting*/
              !1
            ), it.useCaseSensitiveFileNames()) {
              const Mi = Ey(Pr), Ds = ne.get(Mi);
              Ds ? It(Le, Ds, rr) : ne.set(Mi, Hn);
            }
            Wr = Wr || Hn.hasNoDefaultLib && !Nt, G.noResolve || (ym(Hn, Qe), Qg(Hn)), G.noLib || Yg(Hn), Ke(Hn), Qe ? ie.push(Hn) : fe.push(Hn), (De ?? (De = /* @__PURE__ */ new Set())).add(Hn.path);
          }
          return Hn;
        }
        function Do(Le, Qe, Nt) {
          return Le && (!Nt || !yv(Qe) || !De?.has(Qe.file)) ? (ue.getFileReasons().add(Le.path, Qe), !0) : !1;
        }
        function Ac(Le, Qe, Nt, rr) {
          rr ? (rc(Nt, rr, Le), rc(Nt, Qe, Le || !1)) : rc(Nt, Qe, Le);
        }
        function rc(Le, Qe, Nt) {
          He.set(Qe, Nt), Nt !== void 0 ? Et.delete(Qe) : Et.set(Qe, Le);
        }
        function nc(Le) {
          const Qe = Mc(Le);
          return Qe && ll(Qe, Le);
        }
        function Mc(Le) {
          if (!(!rt || !rt.length || Sl(Le) || Wo(
            Le,
            ".json"
            /* Json */
          )))
            return ul(Le);
        }
        function ll(Le, Qe) {
          const Nt = Le.commandLine.options.outFile;
          return Nt ? Oh(
            Nt,
            ".d.ts"
            /* Dts */
          ) : M6(Qe, Le.commandLine, !it.useCaseSensitiveFileNames());
        }
        function ul(Le) {
          Ne === void 0 && (Ne = /* @__PURE__ */ new Map(), nf((Nt) => {
            wt(G.configFilePath) !== Nt.sourceFile.path && Nt.commandLine.fileNames.forEach((rr) => Ne.set(wt(rr), Nt.sourceFile.path));
          }));
          const Qe = Ne.get(wt(Le));
          return Qe && hf(Qe);
        }
        function nf(Le) {
          return UJ(rt, Le);
        }
        function n_(Le) {
          if (Sl(Le))
            return qe === void 0 && (qe = /* @__PURE__ */ new Map(), nf((Qe) => {
              const Nt = Qe.commandLine.options.outFile;
              if (Nt) {
                const rr = Oh(
                  Nt,
                  ".d.ts"
                  /* Dts */
                );
                qe.set(wt(rr), !0);
              } else {
                const rr = Au(() => HS(Qe.commandLine, !it.useCaseSensitiveFileNames()));
                ar(Qe.commandLine.fileNames, (jr) => {
                  if (!Sl(jr) && !Wo(
                    jr,
                    ".json"
                    /* Json */
                  )) {
                    const pn = M6(jr, Qe.commandLine, !it.useCaseSensitiveFileNames(), rr);
                    qe.set(wt(pn), jr);
                  }
                });
              }
            })), qe.get(Le);
        }
        function ed(Le) {
          return Ze && !!ul(Le);
        }
        function hf(Le) {
          if (Q)
            return Q.get(Le) || void 0;
        }
        function ym(Le, Qe) {
          ar(Le.referencedFiles, (Nt, rr) => {
            r_(
              tV(Nt.fileName, Le.fileName),
              Qe,
              /*ignoreNoDefaultLib*/
              !1,
              /*packageId*/
              void 0,
              { kind: 4, file: Le.path, index: rr }
            );
          });
        }
        function Qg(Le) {
          const Qe = Le.typeReferenceDirectives;
          if (!Qe.length) return;
          const Nt = Ce?.get(Le.path) || cr(Qe, Le), rr = P6();
          (Ee ?? (Ee = /* @__PURE__ */ new Map())).set(Le.path, rr);
          for (let jr = 0; jr < Qe.length; jr++) {
            const pn = Le.typeReferenceDirectives[jr], Pr = Nt[jr], fn = pn.fileName, vi = z0(pn, Le);
            rr.set(fn, vi, Pr), y_(fn, vi, Pr, { kind: 5, file: Le.path, index: jr });
          }
        }
        function jf(Le) {
          var Qe;
          return ((Qe = Rr(Le)) == null ? void 0 : Qe.commandLine.options) || G;
        }
        function y_(Le, Qe, Nt, rr) {
          var jr, pn;
          (jr = rn) == null || jr.push(rn.Phase.Program, "processTypeReferenceDirective", { directive: Le, hasResolved: !!Nt.resolvedTypeReferenceDirective, refKind: rr.kind, refPath: yv(rr) ? rr.file : void 0 }), Ju(Le, Qe, Nt, rr), (pn = rn) == null || pn.pop();
        }
        function Ju(Le, Qe, Nt, rr) {
          st(Nt);
          const { resolvedTypeReferenceDirective: jr } = Nt;
          jr ? (jr.isExternalLibraryImport && Bt++, r_(
            jr.resolvedFileName,
            /*isDefaultLib*/
            !1,
            /*ignoreNoDefaultLib*/
            !1,
            jr.packageId,
            rr
          ), jr.isExternalLibraryImport && Bt--) : L(
            /*file*/
            void 0,
            rr,
            p.Cannot_find_type_definition_file_for_0,
            [Le]
          );
        }
        function vm(Le) {
          const Qe = oe?.get(Le);
          if (Qe) return Qe.actual;
          const Nt = yf(Le);
          return (oe ?? (oe = /* @__PURE__ */ new Map())).set(Le, Nt), Nt.actual;
        }
        function yf(Le) {
          var Qe, Nt, rr, jr, pn;
          const Pr = ve?.get(Le);
          if (Pr) return Pr;
          if (G.libReplacement === !1) {
            const Mi = {
              resolution: {
                resolvedModule: void 0
              },
              actual: An(zi, Le)
            };
            return (ve ?? (ve = /* @__PURE__ */ new Map())).set(Le, Mi), Mi;
          }
          if (Ve !== 0 && ee && !Wn(Le)) {
            const Mi = (Qe = ee.resolvedLibReferences) == null ? void 0 : Qe.get(Le);
            if (Mi) {
              if (Mi.resolution && a1(G, it)) {
                const Ds = lV(Le), Al = OO(G, Fn, Le);
                es(
                  it,
                  Mi.resolution.resolvedModule ? Mi.resolution.resolvedModule.packageId ? p.Reusing_resolution_of_module_0_from_1_of_old_program_it_was_successfully_resolved_to_2_with_Package_ID_3 : p.Reusing_resolution_of_module_0_from_1_of_old_program_it_was_successfully_resolved_to_2 : p.Reusing_resolution_of_module_0_from_1_of_old_program_it_was_not_resolved,
                  Ds,
                  Xi(Al, Fn),
                  (Nt = Mi.resolution.resolvedModule) == null ? void 0 : Nt.resolvedFileName,
                  ((rr = Mi.resolution.resolvedModule) == null ? void 0 : rr.packageId) && q1(Mi.resolution.resolvedModule.packageId)
                );
              }
              return (ve ?? (ve = /* @__PURE__ */ new Map())).set(Le, Mi), Mi;
            }
          }
          const fn = lV(Le), vi = OO(G, Fn, Le);
          (jr = rn) == null || jr.push(rn.Phase.Program, "resolveLibrary", { resolveFrom: vi }), Zo("beforeResolveLibrary");
          const ts = bi(fn, vi, G, Le);
          Zo("afterResolveLibrary"), Xf("ResolveLibrary", "beforeResolveLibrary", "afterResolveLibrary"), (pn = rn) == null || pn.pop();
          const Hn = {
            resolution: ts,
            actual: ts.resolvedModule ? ts.resolvedModule.resolvedFileName : An(zi, Le)
          };
          return (ve ?? (ve = /* @__PURE__ */ new Map())).set(Le, Hn), Hn;
        }
        function Yg(Le) {
          ar(Le.libReferenceDirectives, (Qe, Nt) => {
            const rr = VJ(Qe);
            rr ? vo(
              vm(rr),
              /*isDefaultLib*/
              !0,
              /*ignoreNoDefaultLib*/
              !0,
              { kind: 7, file: Le.path, index: Nt }
            ) : ue.addFileProcessingDiagnostic({
              kind: 0,
              reason: { kind: 7, file: Le.path, index: Nt }
            });
          });
        }
        function Z(Le) {
          return it.getCanonicalFileName(Le);
        }
        function Ke(Le) {
          if (pc(Le), Le.imports.length || Le.moduleAugmentations.length) {
            const Qe = bve(Le), Nt = Pe?.get(Le.path) || Mt(Qe, Le);
            E.assert(Nt.length === Qe.length);
            const rr = jf(Le), jr = P6();
            (se ?? (se = /* @__PURE__ */ new Map())).set(Le.path, jr);
            for (let pn = 0; pn < Qe.length; pn++) {
              const Pr = Nt[pn].resolvedModule, fn = Qe[pn].text, vi = AO(Le, Qe[pn], rr);
              if (jr.set(fn, vi, Nt[pn]), At(Le, fn, Nt[pn], vi), !Pr)
                continue;
              const ts = Pr.isExternalLibraryImport, Hn = !_D(Pr.extension) && !Mc(Pr.resolvedFileName), Mi = ts && Hn && (!Pr.originalPath || c1(Pr.resolvedFileName)), Ds = Pr.resolvedFileName;
              ts && Bt++;
              const Al = Mi && Bt > St, Bf = Ds && !pV(rr, Pr, Le) && !rr.noResolve && pn < Le.imports.length && !Al && !(Hn && !Zy(rr)) && (tn(Le.imports[pn]) || !(Le.imports[pn].flags & 16777216));
              Al ? tr.set(Le.path, !0) : Bf && qi(
                Ds,
                /*isDefaultLib*/
                !1,
                /*ignoreNoDefaultLib*/
                !1,
                { kind: 3, file: Le.path, index: pn },
                Pr.packageId
              ), ts && Bt--;
            }
          }
        }
        function Vt(Le, Qe) {
          let Nt = !0;
          const rr = it.getCanonicalFileName(Xi(Qe, Fn));
          for (const jr of Le)
            jr.isDeclarationFile || it.getCanonicalFileName(Xi(jr.fileName, Fn)).indexOf(rr) !== 0 && (ue.addLazyConfigDiagnostic(
              jr,
              p.File_0_is_not_under_rootDir_1_rootDir_is_expected_to_contain_all_source_files,
              jr.fileName,
              Qe
            ), Nt = !1);
          return Nt;
        }
        function Ut(Le) {
          Q || (Q = /* @__PURE__ */ new Map());
          const Qe = ik(Le), Nt = wt(Qe), rr = Q.get(Nt);
          if (rr !== void 0)
            return rr || void 0;
          let jr, pn;
          if (it.getParsedCommandLine) {
            if (jr = it.getParsedCommandLine(Qe), !jr) {
              Ac(
                /*file*/
                void 0,
                Nt,
                Qe,
                /*redirectedPath*/
                void 0
              ), Q.set(Nt, !1);
              return;
            }
            pn = E.checkDefined(jr.options.configFile), E.assert(!pn.path || pn.path === Nt), Ac(
              pn,
              Nt,
              Qe,
              /*redirectedPath*/
              void 0
            );
          } else {
            const fn = Xi(Un(Qe), Fn);
            if (pn = it.getSourceFile(
              Qe,
              100
              /* JSON */
            ), Ac(
              pn,
              Nt,
              Qe,
              /*redirectedPath*/
              void 0
            ), pn === void 0) {
              Q.set(Nt, !1);
              return;
            }
            jr = GN(
              pn,
              Wt,
              fn,
              /*existingOptions*/
              void 0,
              Qe
            );
          }
          pn.fileName = Qe, pn.path = Nt, pn.resolvedPath = Nt, pn.originalFileName = Qe;
          const Pr = { commandLine: jr, sourceFile: pn };
          return Q.set(Nt, Pr), jr.projectReferences && (Pr.references = jr.projectReferences.map(Ut)), Pr;
        }
        function vr() {
          G.strictPropertyInitialization && !lu(G, "strictNullChecks") && fi(p.Option_0_cannot_be_specified_without_specifying_option_1, "strictPropertyInitialization", "strictNullChecks"), G.exactOptionalPropertyTypes && !lu(G, "strictNullChecks") && fi(p.Option_0_cannot_be_specified_without_specifying_option_1, "exactOptionalPropertyTypes", "strictNullChecks"), (G.isolatedModules || G.verbatimModuleSyntax) && G.outFile && fi(p.Option_0_cannot_be_specified_with_option_1, "outFile", G.verbatimModuleSyntax ? "verbatimModuleSyntax" : "isolatedModules"), G.isolatedDeclarations && (Zy(G) && fi(p.Option_0_cannot_be_specified_with_option_1, "allowJs", "isolatedDeclarations"), w_(G) || fi(p.Option_0_cannot_be_specified_without_specifying_option_1_or_option_2, "isolatedDeclarations", "declaration", "composite")), G.inlineSourceMap && (G.sourceMap && fi(p.Option_0_cannot_be_specified_with_option_1, "sourceMap", "inlineSourceMap"), G.mapRoot && fi(p.Option_0_cannot_be_specified_with_option_1, "mapRoot", "inlineSourceMap")), G.composite && (G.declaration === !1 && fi(p.Composite_projects_may_not_disable_declaration_emit, "declaration"), G.incremental === !1 && fi(p.Composite_projects_may_not_disable_incremental_compilation, "declaration"));
          const Le = G.outFile;
          if (!G.tsBuildInfoFile && G.incremental && !Le && !G.configFilePath && ue.addConfigDiagnostic($o(p.Option_incremental_can_only_be_specified_using_tsconfig_emitting_to_single_file_or_when_option_tsBuildInfoFile_is_specified)), ti(), Re(), G.composite) {
            const Pr = new Set(V.map(wt));
            for (const fn of me)
              Fb(fn, Rt) && !Pr.has(fn.path) && ue.addLazyConfigDiagnostic(
                fn,
                p.File_0_is_not_listed_within_the_file_list_of_project_1_Projects_must_list_all_files_or_use_an_include_pattern,
                fn.fileName,
                G.configFilePath || ""
              );
          }
          if (G.paths) {
            for (const Pr in G.paths)
              if (ao(G.paths, Pr))
                if (yJ(Pr) || Sr(
                  /*onKey*/
                  !0,
                  Pr,
                  p.Pattern_0_can_have_at_most_one_Asterisk_character,
                  Pr
                ), fs(G.paths[Pr])) {
                  const fn = G.paths[Pr].length;
                  fn === 0 && Sr(
                    /*onKey*/
                    !1,
                    Pr,
                    p.Substitutions_for_pattern_0_shouldn_t_be_an_empty_array,
                    Pr
                  );
                  for (let vi = 0; vi < fn; vi++) {
                    const ts = G.paths[Pr][vi], Hn = typeof ts;
                    Hn === "string" ? (yJ(ts) || Ct(Pr, vi, p.Substitution_0_in_pattern_1_can_have_at_most_one_Asterisk_character, ts, Pr), !G.baseUrl && !ff(ts) && !p4(ts) && Ct(Pr, vi, p.Non_relative_paths_are_not_allowed_when_baseUrl_is_not_set_Did_you_forget_a_leading_Slash)) : Ct(Pr, vi, p.Substitution_0_for_pattern_1_has_incorrect_type_expected_string_got_2, ts, Pr, Hn);
                  }
                } else
                  Sr(
                    /*onKey*/
                    !1,
                    Pr,
                    p.Substitutions_for_pattern_0_should_be_an_array,
                    Pr
                  );
          }
          !G.sourceMap && !G.inlineSourceMap && (G.inlineSources && fi(p.Option_0_can_only_be_used_when_either_option_inlineSourceMap_or_option_sourceMap_is_provided, "inlineSources"), G.sourceRoot && fi(p.Option_0_can_only_be_used_when_either_option_inlineSourceMap_or_option_sourceMap_is_provided, "sourceRoot")), G.mapRoot && !(G.sourceMap || G.declarationMap) && fi(p.Option_0_cannot_be_specified_without_specifying_option_1_or_option_2, "mapRoot", "sourceMap", "declarationMap"), G.declarationDir && (w_(G) || fi(p.Option_0_cannot_be_specified_without_specifying_option_1_or_option_2, "declarationDir", "declaration", "composite"), Le && fi(p.Option_0_cannot_be_specified_with_option_1, "declarationDir", "outFile")), G.declarationMap && !w_(G) && fi(p.Option_0_cannot_be_specified_without_specifying_option_1_or_option_2, "declarationMap", "declaration", "composite"), G.lib && G.noLib && fi(p.Option_0_cannot_be_specified_with_option_1, "lib", "noLib");
          const Qe = ga(G), Nt = Dn(me, (Pr) => ol(Pr) && !Pr.isDeclarationFile);
          if (G.isolatedModules || G.verbatimModuleSyntax)
            G.module === 0 && Qe < 2 && G.isolatedModules && fi(p.Option_isolatedModules_can_only_be_used_when_either_option_module_is_provided_or_option_target_is_ES2015_or_higher, "isolatedModules", "target"), G.preserveConstEnums === !1 && fi(p.Option_preserveConstEnums_cannot_be_disabled_when_0_is_enabled, G.verbatimModuleSyntax ? "verbatimModuleSyntax" : "isolatedModules", "preserveConstEnums");
          else if (Nt && Qe < 2 && G.module === 0) {
            const Pr = pS(Nt, typeof Nt.externalModuleIndicator == "boolean" ? Nt : Nt.externalModuleIndicator);
            ue.addConfigDiagnostic(al(Nt, Pr.start, Pr.length, p.Cannot_use_imports_exports_or_module_augmentations_when_module_is_none));
          }
          if (Le && !G.emitDeclarationOnly) {
            if (G.module && !(G.module === 2 || G.module === 4))
              fi(p.Only_amd_and_system_modules_are_supported_alongside_0, "outFile", "module");
            else if (G.module === void 0 && Nt) {
              const Pr = pS(Nt, typeof Nt.externalModuleIndicator == "boolean" ? Nt : Nt.externalModuleIndicator);
              ue.addConfigDiagnostic(al(Nt, Pr.start, Pr.length, p.Cannot_compile_modules_using_option_0_unless_the_module_flag_is_amd_or_system, "outFile"));
            }
          }
          if (jb(G) && (vu(G) === 1 ? fi(p.Option_resolveJsonModule_cannot_be_specified_when_moduleResolution_is_set_to_classic, "resolveJsonModule") : j5(G) || fi(p.Option_resolveJsonModule_cannot_be_specified_when_module_is_set_to_none_system_or_umd, "resolveJsonModule", "module")), G.outDir || // there is --outDir specified
          G.rootDir || // there is --rootDir specified
          G.sourceRoot || // there is --sourceRoot specified
          G.mapRoot || // there is --mapRoot specified
          w_(G) && G.declarationDir) {
            const Pr = dr();
            G.outDir && Pr === "" && me.some((fn) => ud(fn.fileName) > 1) && fi(p.Cannot_find_the_common_subdirectory_path_for_the_input_files, "outDir");
          }
          G.checkJs && !Zy(G) && fi(p.Option_0_cannot_be_specified_without_specifying_option_1, "checkJs", "allowJs"), G.emitDeclarationOnly && (w_(G) || fi(p.Option_0_cannot_be_specified_without_specifying_option_1_or_option_2, "emitDeclarationOnly", "declaration", "composite")), G.emitDecoratorMetadata && !G.experimentalDecorators && fi(p.Option_0_cannot_be_specified_without_specifying_option_1, "emitDecoratorMetadata", "experimentalDecorators"), G.jsxFactory ? (G.reactNamespace && fi(p.Option_0_cannot_be_specified_with_option_1, "reactNamespace", "jsxFactory"), (G.jsx === 4 || G.jsx === 5) && fi(p.Option_0_cannot_be_specified_when_option_jsx_is_1, "jsxFactory", WN.get("" + G.jsx)), Yx(G.jsxFactory, Qe) || Vi("jsxFactory", p.Invalid_value_for_jsxFactory_0_is_not_a_valid_identifier_or_qualified_name, G.jsxFactory)) : G.reactNamespace && !C_(G.reactNamespace, Qe) && Vi("reactNamespace", p.Invalid_value_for_reactNamespace_0_is_not_a_valid_identifier, G.reactNamespace), G.jsxFragmentFactory && (G.jsxFactory || fi(p.Option_0_cannot_be_specified_without_specifying_option_1, "jsxFragmentFactory", "jsxFactory"), (G.jsx === 4 || G.jsx === 5) && fi(p.Option_0_cannot_be_specified_when_option_jsx_is_1, "jsxFragmentFactory", WN.get("" + G.jsx)), Yx(G.jsxFragmentFactory, Qe) || Vi("jsxFragmentFactory", p.Invalid_value_for_jsxFragmentFactory_0_is_not_a_valid_identifier_or_qualified_name, G.jsxFragmentFactory)), G.reactNamespace && (G.jsx === 4 || G.jsx === 5) && fi(p.Option_0_cannot_be_specified_when_option_jsx_is_1, "reactNamespace", WN.get("" + G.jsx)), G.jsxImportSource && G.jsx === 2 && fi(p.Option_0_cannot_be_specified_when_option_jsx_is_1, "jsxImportSource", WN.get("" + G.jsx));
          const rr = Mu(G);
          G.verbatimModuleSyntax && (rr === 2 || rr === 3 || rr === 4) && fi(p.Option_verbatimModuleSyntax_cannot_be_used_when_module_is_set_to_UMD_AMD_or_System, "verbatimModuleSyntax"), G.allowImportingTsExtensions && !(G.noEmit || G.emitDeclarationOnly || G.rewriteRelativeImportExtensions) && Vi("allowImportingTsExtensions", p.Option_allowImportingTsExtensions_can_only_be_used_when_either_noEmit_or_emitDeclarationOnly_is_set);
          const jr = vu(G);
          if (G.resolvePackageJsonExports && !i6(jr) && fi(p.Option_0_can_only_be_used_when_moduleResolution_is_set_to_node16_nodenext_or_bundler, "resolvePackageJsonExports"), G.resolvePackageJsonImports && !i6(jr) && fi(p.Option_0_can_only_be_used_when_moduleResolution_is_set_to_node16_nodenext_or_bundler, "resolvePackageJsonImports"), G.customConditions && !i6(jr) && fi(p.Option_0_can_only_be_used_when_moduleResolution_is_set_to_node16_nodenext_or_bundler, "customConditions"), jr === 100 && !aN(rr) && rr !== 200 && Vi("moduleResolution", p.Option_0_can_only_be_used_when_module_is_set_to_preserve_or_to_es2015_or_later, "bundler"), TC[rr] && 100 <= rr && rr <= 199 && !(3 <= jr && jr <= 99)) {
            const Pr = TC[rr], fn = SC[Pr] ? Pr : "Node16";
            Vi("moduleResolution", p.Option_moduleResolution_must_be_set_to_0_or_left_unspecified_when_option_module_is_set_to_1, fn, Pr);
          } else if (SC[jr] && 3 <= jr && jr <= 99 && !(100 <= rr && rr <= 199)) {
            const Pr = SC[jr];
            Vi("module", p.Option_module_must_be_set_to_0_when_option_moduleResolution_is_set_to_1, Pr, Pr);
          }
          if (!G.noEmit && !G.suppressOutputPathCheck) {
            const Pr = Qn(), fn = /* @__PURE__ */ new Set();
            VW(Pr, (vi) => {
              G.emitDeclarationOnly || pn(vi.jsFilePath, fn), pn(vi.declarationFilePath, fn);
            });
          }
          function pn(Pr, fn) {
            if (Pr) {
              const vi = wt(Pr);
              if (He.has(vi)) {
                let Hn;
                G.configFilePath || (Hn = vs(
                  /*details*/
                  void 0,
                  p.Adding_a_tsconfig_json_file_will_help_organize_projects_that_contain_both_TypeScript_and_JavaScript_files_Learn_more_at_https_Colon_Slash_Slashaka_ms_Slashtsconfig
                )), Hn = vs(Hn, p.Cannot_write_file_0_because_it_would_overwrite_input_file, Pr), Ed(Pr, L5(Hn));
              }
              const ts = it.useCaseSensitiveFileNames() ? vi : Ey(vi);
              fn.has(ts) ? Ed(Pr, $o(p.Cannot_write_file_0_because_it_would_be_overwritten_by_multiple_input_files, Pr)) : fn.add(ts);
            }
          }
        }
        function qr() {
          const Le = G.ignoreDeprecations;
          if (Le) {
            if (Le === "5.0")
              return new ld(Le);
            te();
          }
          return ld.zero;
        }
        function On(Le, Qe, Nt, rr) {
          const jr = new ld(Le), pn = new ld(Qe), Pr = new ld(K || K2), fn = qr(), vi = pn.compareTo(Pr) !== 1, ts = !vi && fn.compareTo(jr) === -1;
          (vi || ts) && rr((Hn, Mi, Ds) => {
            vi ? Mi === void 0 ? Nt(Hn, Mi, Ds, p.Option_0_has_been_removed_Please_remove_it_from_your_configuration, Hn) : Nt(Hn, Mi, Ds, p.Option_0_1_has_been_removed_Please_remove_it_from_your_configuration, Hn, Mi) : Mi === void 0 ? Nt(Hn, Mi, Ds, p.Option_0_is_deprecated_and_will_stop_functioning_in_TypeScript_1_Specify_compilerOption_ignoreDeprecations_Colon_2_to_silence_this_error, Hn, Qe, Le) : Nt(Hn, Mi, Ds, p.Option_0_1_is_deprecated_and_will_stop_functioning_in_TypeScript_2_Specify_compilerOption_ignoreDeprecations_Colon_3_to_silence_this_error, Hn, Mi, Qe, Le);
          });
        }
        function ti() {
          function Le(Qe, Nt, rr, jr, ...pn) {
            if (rr) {
              const Pr = vs(
                /*details*/
                void 0,
                p.Use_0_instead,
                rr
              ), fn = vs(Pr, jr, ...pn);
              Ao(
                /*onKey*/
                !Nt,
                Qe,
                /*option2*/
                void 0,
                fn
              );
            } else
              Ao(
                /*onKey*/
                !Nt,
                Qe,
                /*option2*/
                void 0,
                jr,
                ...pn
              );
          }
          On("5.0", "5.5", Le, (Qe) => {
            G.target === 0 && Qe("target", "ES3"), G.noImplicitUseStrict && Qe("noImplicitUseStrict"), G.keyofStringsOnly && Qe("keyofStringsOnly"), G.suppressExcessPropertyErrors && Qe("suppressExcessPropertyErrors"), G.suppressImplicitAnyIndexErrors && Qe("suppressImplicitAnyIndexErrors"), G.noStrictGenericChecks && Qe("noStrictGenericChecks"), G.charset && Qe("charset"), G.out && Qe(
              "out",
              /*value*/
              void 0,
              "outFile"
            ), G.importsNotUsedAsValues && Qe(
              "importsNotUsedAsValues",
              /*value*/
              void 0,
              "verbatimModuleSyntax"
            ), G.preserveValueImports && Qe(
              "preserveValueImports",
              /*value*/
              void 0,
              "verbatimModuleSyntax"
            );
          });
        }
        function Ii(Le, Qe, Nt) {
          function rr(jr, pn, Pr, fn, ...vi) {
            as(Qe, Nt, fn, ...vi);
          }
          On("5.0", "5.5", rr, (jr) => {
            Le.prepend && jr("prepend");
          });
        }
        function L(Le, Qe, Nt, rr) {
          ue.addFileProcessingDiagnostic({
            kind: 1,
            file: Le && Le.path,
            fileProcessingReason: Qe,
            diagnostic: Nt,
            args: rr
          });
        }
        function Re() {
          const Le = G.suppressOutputPathCheck ? void 0 : hv(G);
          TD(
            pe,
            rt,
            (Qe, Nt, rr) => {
              const jr = (Nt ? Nt.commandLine.projectReferences : pe)[rr], pn = Nt && Nt.sourceFile;
              if (Ii(jr, pn, rr), !Qe) {
                as(pn, rr, p.File_0_not_found, jr.path);
                return;
              }
              const Pr = Qe.commandLine.options;
              (!Pr.composite || Pr.noEmit) && (Nt ? Nt.commandLine.fileNames : V).length && (Pr.composite || as(pn, rr, p.Referenced_project_0_must_have_setting_composite_Colon_true, jr.path), Pr.noEmit && as(pn, rr, p.Referenced_project_0_may_not_disable_emit, jr.path)), !Nt && Le && Le === hv(Pr) && (as(pn, rr, p.Cannot_write_file_0_because_it_will_overwrite_tsbuildinfo_file_generated_by_referenced_project_1, Le, jr.path), cn.set(wt(Le), !0));
            }
          );
        }
        function Ct(Le, Qe, Nt, ...rr) {
          let jr = !0;
          Zi((pn) => {
            ua(pn.initializer) && zC(pn.initializer, Le, (Pr) => {
              const fn = Pr.initializer;
              Ql(fn) && fn.elements.length > Qe && (ue.addConfigDiagnostic(Zf(G.configFile, fn.elements[Qe], Nt, ...rr)), jr = !1);
            });
          }), jr && ra(Nt, ...rr);
        }
        function Sr(Le, Qe, Nt, ...rr) {
          let jr = !0;
          Zi((pn) => {
            ua(pn.initializer) && up(
              pn.initializer,
              Le,
              Qe,
              /*key2*/
              void 0,
              Nt,
              ...rr
            ) && (jr = !1);
          }), jr && ra(Nt, ...rr);
        }
        function Zi(Le) {
          return HJ(nl(), "paths", Le);
        }
        function fi(Le, Qe, Nt, rr) {
          Ao(
            /*onKey*/
            !0,
            Qe,
            Nt,
            Le,
            Qe,
            Nt,
            rr
          );
        }
        function Vi(Le, Qe, ...Nt) {
          Ao(
            /*onKey*/
            !1,
            Le,
            /*option2*/
            void 0,
            Qe,
            ...Nt
          );
        }
        function as(Le, Qe, Nt, ...rr) {
          const jr = g3(Le || G.configFile, "references", (pn) => Ql(pn.initializer) ? pn.initializer : void 0);
          jr && jr.elements.length > Qe ? ue.addConfigDiagnostic(Zf(Le || G.configFile, jr.elements[Qe], Nt, ...rr)) : ue.addConfigDiagnostic($o(Nt, ...rr));
        }
        function Ao(Le, Qe, Nt, rr, ...jr) {
          const pn = nl();
          (!pn || !up(pn, Le, Qe, Nt, rr, ...jr)) && ra(rr, ...jr);
        }
        function ra(Le, ...Qe) {
          const Nt = sf();
          Nt ? "messageText" in Le ? ue.addConfigDiagnostic(Lg(G.configFile, Nt.name, Le)) : ue.addConfigDiagnostic(Zf(G.configFile, Nt.name, Le, ...Qe)) : "messageText" in Le ? ue.addConfigDiagnostic(L5(Le)) : ue.addConfigDiagnostic($o(Le, ...Qe));
        }
        function nl() {
          if (ci === void 0) {
            const Le = sf();
            ci = Le && Mn(Le.initializer, ua) || !1;
          }
          return ci || void 0;
        }
        function sf() {
          return je === void 0 && (je = zC(
            j4(G.configFile),
            "compilerOptions",
            mo
          ) || !1), je || void 0;
        }
        function up(Le, Qe, Nt, rr, jr, ...pn) {
          let Pr = !1;
          return zC(Le, Nt, (fn) => {
            "messageText" in jr ? ue.addConfigDiagnostic(Lg(G.configFile, Qe ? fn.name : fn.initializer, jr)) : ue.addConfigDiagnostic(Zf(G.configFile, Qe ? fn.name : fn.initializer, jr, ...pn)), Pr = !0;
          }, rr), Pr;
        }
        function Ed(Le, Qe) {
          cn.set(wt(Le), !0), ue.addConfigDiagnostic(Qe);
        }
        function qh(Le) {
          if (G.noEmit)
            return !1;
          const Qe = wt(Le);
          if (Bo(Qe))
            return !1;
          const Nt = G.outFile;
          if (Nt)
            return Zg(Qe, Nt) || Zg(
              Qe,
              Ru(Nt) + ".d.ts"
              /* Dts */
            );
          if (G.declarationDir && Qf(G.declarationDir, Qe, Fn, !it.useCaseSensitiveFileNames()))
            return !0;
          if (G.outDir)
            return Qf(G.outDir, Qe, Fn, !it.useCaseSensitiveFileNames());
          if (Dc(Qe, s6) || Sl(Qe)) {
            const rr = Ru(Qe);
            return !!Bo(
              rr + ".ts"
              /* Ts */
            ) || !!Bo(
              rr + ".tsx"
              /* Tsx */
            );
          }
          return !1;
        }
        function Zg(Le, Qe) {
          return xh(Le, Qe, Fn, !it.useCaseSensitiveFileNames()) === 0;
        }
        function A_() {
          return it.getSymlinkCache ? it.getSymlinkCache() : (q || (q = vJ(Fn, Z)), me && !q.hasProcessedResolutions() && q.setSymlinksFromResolutions(M, ye, nt), q);
        }
        function Dd(Le, Qe) {
          return AO(Le, Qe, jf(Le));
        }
        function bm(Le, Qe) {
          return mve(Le, Qe, jf(Le));
        }
        function Rp(Le, Qe) {
          return Dd(Le, hA(Le, Qe));
        }
        function m1(Le) {
          return MO(Le, jf(Le));
        }
        function vf(Le) {
          return GS(Le, jf(Le));
        }
        function J0(Le) {
          return lw(Le, jf(Le));
        }
        function g1(Le) {
          return vve(Le, jf(Le));
        }
        function z0(Le, Qe) {
          return Le.resolutionMode || m1(Qe);
        }
      }
      function vve(e, t) {
        const n = Mu(t);
        return 100 <= n && n <= 199 || n === 200 ? !1 : lw(e, t) < 5;
      }
      function lw(e, t) {
        return GS(e, t) ?? Mu(t);
      }
      function GS(e, t) {
        var n, i;
        const s = Mu(t);
        if (100 <= s && s <= 199)
          return e.impliedNodeFormat;
        if (e.impliedNodeFormat === 1 && (((n = e.packageJsonScope) == null ? void 0 : n.contents.packageJsonContent.type) === "commonjs" || Dc(e.fileName, [
          ".cjs",
          ".cts"
          /* Cts */
        ])))
          return 1;
        if (e.impliedNodeFormat === 99 && (((i = e.packageJsonScope) == null ? void 0 : i.contents.packageJsonContent.type) === "module" || Dc(e.fileName, [
          ".mjs",
          ".mts"
          /* Mts */
        ])))
          return 99;
      }
      function MO(e, t) {
        return gJ(t) ? GS(e, t) : void 0;
      }
      function Rje(e) {
        let t;
        const n = e.compilerHost.fileExists, i = e.compilerHost.directoryExists, s = e.compilerHost.getDirectories, o = e.compilerHost.realpath;
        if (!e.useSourceOfProjectReferenceRedirect) return { onProgramCreateComplete: Ua, fileExists: u };
        e.compilerHost.fileExists = u;
        let c;
        return i && (c = e.compilerHost.directoryExists = (T) => i.call(e.compilerHost, T) ? (h(T), !0) : e.getResolvedProjectReferences() ? (t || (t = /* @__PURE__ */ new Set(), e.forEachResolvedProjectReference((k) => {
          const D = k.commandLine.options.outFile;
          if (D)
            t.add(Un(e.toPath(D)));
          else {
            const w = k.commandLine.options.declarationDir || k.commandLine.options.outDir;
            w && t.add(e.toPath(w));
          }
        })), S(
          T,
          /*isFile*/
          !1
        )) : !1), s && (e.compilerHost.getDirectories = (T) => !e.getResolvedProjectReferences() || i && i.call(e.compilerHost, T) ? s.call(e.compilerHost, T) : []), o && (e.compilerHost.realpath = (T) => {
          var k;
          return ((k = e.getSymlinkCache().getSymlinkedFiles()) == null ? void 0 : k.get(e.toPath(T))) || o.call(e.compilerHost, T);
        }), { onProgramCreateComplete: _, fileExists: u, directoryExists: c };
        function _() {
          e.compilerHost.fileExists = n, e.compilerHost.directoryExists = i, e.compilerHost.getDirectories = s;
        }
        function u(T) {
          return n.call(e.compilerHost, T) ? !0 : !e.getResolvedProjectReferences() || !Sl(T) ? !1 : S(
            T,
            /*isFile*/
            !0
          );
        }
        function g(T) {
          const k = e.getSourceOfProjectReferenceRedirect(e.toPath(T));
          return k !== void 0 ? cs(k) ? n.call(e.compilerHost, k) : !0 : void 0;
        }
        function m(T) {
          const k = e.toPath(T), D = `${k}${xo}`;
          return Fg(
            t,
            (w) => k === w || // Any parent directory of declaration dir
            Wi(w, D) || // Any directory inside declaration dir
            Wi(k, `${w}/`)
          );
        }
        function h(T) {
          var k;
          if (!e.getResolvedProjectReferences() || hD(T) || !o || !T.includes($g)) return;
          const D = e.getSymlinkCache(), w = ml(e.toPath(T));
          if ((k = D.getSymlinkedDirectories()) != null && k.has(w)) return;
          const A = Gs(o.call(e.compilerHost, T));
          let O;
          if (A === T || (O = ml(e.toPath(A))) === w) {
            D.setSymlinkedDirectory(w, !1);
            return;
          }
          D.setSymlinkedDirectory(T, {
            real: ml(A),
            realPath: O
          });
        }
        function S(T, k) {
          var D;
          const w = k ? (z) => g(z) : (z) => m(z), A = w(T);
          if (A !== void 0) return A;
          const O = e.getSymlinkCache(), F = O.getSymlinkedDirectories();
          if (!F) return !1;
          const j = e.toPath(T);
          return j.includes($g) ? k && ((D = O.getSymlinkedFiles()) != null && D.has(j)) ? !0 : xP(
            F.entries(),
            ([z, V]) => {
              if (!V || !Wi(j, z)) return;
              const G = w(j.replace(z, V.realPath));
              if (k && G) {
                const W = Xi(T, e.compilerHost.getCurrentDirectory());
                O.setSymlinkedFile(
                  j,
                  `${V.real}${W.replace(new RegExp(z, "i"), "")}`
                );
              }
              return G;
            }
          ) || !1 : !1;
        }
      }
      var _V = { diagnostics: Ue, sourceMaps: void 0, emittedFiles: void 0, emitSkipped: !0 };
      function fV(e, t, n, i) {
        const s = e.getCompilerOptions();
        if (s.noEmit)
          return t ? _V : e.emitBuildInfo(n, i);
        if (!s.noEmitOnError) return;
        let o = [
          ...e.getOptionsDiagnostics(i),
          ...e.getSyntacticDiagnostics(t, i),
          ...e.getGlobalDiagnostics(i),
          ...e.getSemanticDiagnostics(t, i)
        ];
        if (o.length === 0 && w_(e.getCompilerOptions()) && (o = e.getDeclarationDiagnostics(
          /*sourceFile*/
          void 0,
          i
        )), !o.length) return;
        let c;
        if (!t) {
          const _ = e.emitBuildInfo(n, i);
          _.diagnostics && (o = [...o, ..._.diagnostics]), c = _.emittedFiles;
        }
        return { diagnostics: o, sourceMaps: void 0, emittedFiles: c, emitSkipped: !0 };
      }
      function RO(e, t) {
        return Tn(e, (n) => !n.skippedOn || !t[n.skippedOn]);
      }
      function jO(e, t = e) {
        return {
          fileExists: (n) => t.fileExists(n),
          readDirectory(n, i, s, o, c) {
            return E.assertIsDefined(t.readDirectory, "'CompilerHost.readDirectory' must be implemented to correctly process 'projectReferences'"), t.readDirectory(n, i, s, o, c);
          },
          readFile: (n) => t.readFile(n),
          directoryExists: Ls(t, t.directoryExists),
          getDirectories: Ls(t, t.getDirectories),
          realpath: Ls(t, t.realpath),
          useCaseSensitiveFileNames: e.useCaseSensitiveFileNames(),
          getCurrentDirectory: () => e.getCurrentDirectory(),
          onUnRecoverableConfigFileDiagnostic: e.onUnRecoverableConfigFileDiagnostic || mb,
          trace: e.trace ? (n) => e.trace(n) : void 0
        };
      }
      function ik(e) {
        return WV(e.path);
      }
      function pV(e, { extension: t }, { isDeclarationFile: n }) {
        switch (t) {
          case ".ts":
          case ".d.ts":
          case ".mts":
          case ".d.mts":
          case ".cts":
          case ".d.cts":
            return;
          case ".tsx":
            return i();
          case ".jsx":
            return i() || s();
          case ".js":
          case ".mjs":
          case ".cjs":
            return s();
          case ".json":
            return o();
          default:
            return c();
        }
        function i() {
          return e.jsx ? void 0 : p.Module_0_was_resolved_to_1_but_jsx_is_not_set;
        }
        function s() {
          return Zy(e) || !lu(e, "noImplicitAny") ? void 0 : p.Could_not_find_a_declaration_file_for_module_0_1_implicitly_has_an_any_type;
        }
        function o() {
          return jb(e) ? void 0 : p.Module_0_was_resolved_to_1_but_resolveJsonModule_is_not_used;
        }
        function c() {
          return n || e.allowArbitraryExtensions ? void 0 : p.Module_0_was_resolved_to_1_but_allowArbitraryExtensions_is_not_set;
        }
      }
      function bve({ imports: e, moduleAugmentations: t }) {
        const n = e.map((i) => i);
        for (const i of t)
          i.kind === 11 && n.push(i);
        return n;
      }
      function hA({ imports: e, moduleAugmentations: t }, n) {
        if (n < e.length) return e[n];
        let i = e.length;
        for (const s of t)
          if (s.kind === 11) {
            if (n === i) return s;
            i++;
          }
        E.fail("should never ask for module name at index higher than possible module name");
      }
      function Cie(e) {
        let t, n = Tp(), i, s, o, c, _, u;
        return {
          addConfigDiagnostic(T) {
            E.assert(t === void 0, "Cannot modify program diagnostic state after requesting combined diagnostics"), (o ?? (o = Y4())).add(T);
          },
          addLazyConfigDiagnostic(T, k, ...D) {
            E.assert(t === void 0, "Cannot modify program diagnostic state after requesting combined diagnostics"), (c ?? (c = [])).push({ file: T, diagnostic: k, args: D });
          },
          addFileProcessingDiagnostic(T) {
            E.assert(t === void 0, "Cannot modify program diagnostic state after requesting combined diagnostics"), (i ?? (i = [])).push(T);
          },
          setCommonSourceDirectory(T) {
            s = T;
          },
          reuseStateFromOldProgram(T, k) {
            n = T.getFileReasons(), i = T.getFileProcessingDiagnostics(), k && (s = T.getCommonSourceDirectory(), o = T.getConfigDiagnostics(), c = T.getLazyConfigDiagnostics());
          },
          getFileProcessingDiagnostics() {
            return i;
          },
          getFileReasons() {
            return n;
          },
          getCommonSourceDirectory() {
            return s;
          },
          getConfigDiagnostics() {
            return o;
          },
          getLazyConfigDiagnostics() {
            return c;
          },
          getCombinedDiagnostics(T) {
            return t || (t = Y4(), o?.getDiagnostics().forEach((k) => t.add(k)), i?.forEach((k) => {
              switch (k.kind) {
                case 1:
                  return t.add(
                    m(
                      T,
                      k.file && T.getSourceFileByPath(k.file),
                      k.fileProcessingReason,
                      k.diagnostic,
                      k.args || Ue
                    )
                  );
                case 0:
                  return t.add(g(T, k));
                case 2:
                  return k.diagnostics.forEach((D) => t.add(D));
                default:
                  E.assertNever(k);
              }
            }), c?.forEach(
              ({ file: k, diagnostic: D, args: w }) => t.add(
                m(
                  T,
                  k,
                  /*fileProcessingReason*/
                  void 0,
                  D,
                  w
                )
              )
            ), _ = void 0, u = void 0, t);
          }
        };
        function g(T, { reason: k }) {
          const { file: D, pos: w, end: A } = cw(T, k), O = D.libReferenceDirectives[k.index], F = WJ(O), j = bC(s4(F, "lib."), ".d.ts"), z = hb(j, zF, mo);
          return al(
            D,
            E.checkDefined(w),
            E.checkDefined(A) - w,
            z ? p.Cannot_find_lib_definition_for_0_Did_you_mean_1 : p.Cannot_find_lib_definition_for_0,
            F,
            z
          );
        }
        function m(T, k, D, w, A) {
          let O, F, j, z, V, G;
          const W = k && n.get(k.path);
          let pe = yv(D) ? D : void 0, K = k && _?.get(k.path);
          K ? (K.fileIncludeReasonDetails ? (O = new Set(W), W?.forEach(ie)) : W?.forEach(te), V = K.redirectInfo) : (W?.forEach(te), V = k && NV(k, T.getCompilerOptionsForFile(k))), D && te(D);
          const U = O?.size !== W?.length;
          pe && O?.size === 1 && (O = void 0), O && K && (K.details && !U ? G = vs(K.details, w, ...A ?? Ue) : K.fileIncludeReasonDetails && (U ? fe() ? F = Dr(K.fileIncludeReasonDetails.next.slice(0, W.length), F[0]) : F = [...K.fileIncludeReasonDetails.next, F[0]] : fe() ? F = K.fileIncludeReasonDetails.next.slice(0, W.length) : z = K.fileIncludeReasonDetails)), G || (z || (z = O && vs(F, p.The_file_is_in_the_program_because_Colon)), G = vs(
            V ? z ? [z, ...V] : V : z,
            w,
            ...A || Ue
          )), k && (K ? (!K.fileIncludeReasonDetails || !U && z) && (K.fileIncludeReasonDetails = z) : (_ ?? (_ = /* @__PURE__ */ new Map())).set(k.path, K = { fileIncludeReasonDetails: z, redirectInfo: V }), !K.details && !U && (K.details = G.next));
          const ee = pe && cw(T, pe);
          return ee && j6(ee) ? z7(ee.file, ee.pos, ee.end - ee.pos, G, j) : L5(G, j);
          function te(me) {
            O?.has(me) || ((O ?? (O = /* @__PURE__ */ new Set())).add(me), (F ?? (F = [])).push(FV(T, me)), ie(me));
          }
          function ie(me) {
            !pe && yv(me) ? pe = me : pe !== me && (j = Dr(j, h(T, me)));
          }
          function fe() {
            var me;
            return ((me = K.fileIncludeReasonDetails.next) == null ? void 0 : me.length) !== W?.length;
          }
        }
        function h(T, k) {
          let D = u?.get(k);
          return D === void 0 && (u ?? (u = /* @__PURE__ */ new Map())).set(k, D = S(T, k) ?? !1), D || void 0;
        }
        function S(T, k) {
          if (yv(k)) {
            const j = cw(T, k);
            let z;
            switch (k.kind) {
              case 3:
                z = p.File_is_included_via_import_here;
                break;
              case 4:
                z = p.File_is_included_via_reference_here;
                break;
              case 5:
                z = p.File_is_included_via_type_library_reference_here;
                break;
              case 7:
                z = p.File_is_included_via_library_reference_here;
                break;
              default:
                E.assertNever(k);
            }
            return j6(j) ? al(
              j.file,
              j.pos,
              j.end - j.pos,
              z
            ) : void 0;
          }
          const D = T.getCurrentDirectory(), w = T.getRootFileNames(), A = T.getCompilerOptions();
          if (!A.configFile) return;
          let O, F;
          switch (k.kind) {
            case 0:
              if (!A.configFile.configFileSpecs) return;
              const j = Xi(w[k.index], D), z = AV(T, j);
              if (z) {
                O = G7(A.configFile, "files", z), F = p.File_is_matched_by_files_list_specified_here;
                break;
              }
              const V = IV(T, j);
              if (!V || !cs(V)) return;
              O = G7(A.configFile, "include", V), F = p.File_is_matched_by_include_pattern_specified_here;
              break;
            case 1:
            case 2:
              const G = T.getResolvedProjectReferences(), W = T.getProjectReferences(), pe = E.checkDefined(G?.[k.index]), K = TD(
                W,
                G,
                (fe, me, q) => fe === pe ? { sourceFile: me?.sourceFile || A.configFile, index: q } : void 0
              );
              if (!K) return;
              const { sourceFile: U, index: ee } = K, te = g3(U, "references", (fe) => Ql(fe.initializer) ? fe.initializer : void 0);
              return te && te.elements.length > ee ? Zf(
                U,
                te.elements[ee],
                k.kind === 2 ? p.File_is_output_from_referenced_project_specified_here : p.File_is_source_from_referenced_project_specified_here
              ) : void 0;
            case 8:
              if (!A.types) return;
              O = qJ(e(), "types", k.typeReference), F = p.File_is_entry_point_of_type_library_specified_here;
              break;
            case 6:
              if (k.index !== void 0) {
                O = qJ(e(), "lib", A.lib[k.index]), F = p.File_is_library_specified_here;
                break;
              }
              const ie = B5(ga(A));
              O = ie ? Qee(e(), "target", ie) : void 0, F = p.File_is_default_library_for_target_specified_here;
              break;
            default:
              E.assertNever(k);
          }
          return O && Zf(
            A.configFile,
            O,
            F
          );
        }
      }
      function Eie(e, t, n, i, s, o) {
        const c = [], { emitSkipped: _, diagnostics: u } = e.emit(t, g, i, n, s, o);
        return { outputFiles: c, emitSkipped: _, diagnostics: u };
        function g(m, h, S) {
          c.push({ name: m, writeByteOrderMark: S, text: h });
        }
      }
      var Die = /* @__PURE__ */ ((e) => (e[e.ComputedDts = 0] = "ComputedDts", e[e.StoredSignatureAtEmit = 1] = "StoredSignatureAtEmit", e[e.UsedVersion = 2] = "UsedVersion", e))(Die || {}), Td;
      ((e) => {
        function t() {
          function K(U, ee, te) {
            const ie = {
              getKeys: (fe) => ee.get(fe),
              getValues: (fe) => U.get(fe),
              keys: () => U.keys(),
              size: () => U.size,
              deleteKey: (fe) => {
                (te || (te = /* @__PURE__ */ new Set())).add(fe);
                const me = U.get(fe);
                return me ? (me.forEach((q) => i(ee, q, fe)), U.delete(fe), !0) : !1;
              },
              set: (fe, me) => {
                te?.delete(fe);
                const q = U.get(fe);
                return U.set(fe, me), q?.forEach((he) => {
                  me.has(he) || i(ee, he, fe);
                }), me.forEach((he) => {
                  q?.has(he) || n(ee, he, fe);
                }), ie;
              }
            };
            return ie;
          }
          return K(
            /* @__PURE__ */ new Map(),
            /* @__PURE__ */ new Map(),
            /*deleted*/
            void 0
          );
        }
        e.createManyToManyPathMap = t;
        function n(K, U, ee) {
          let te = K.get(U);
          te || (te = /* @__PURE__ */ new Set(), K.set(U, te)), te.add(ee);
        }
        function i(K, U, ee) {
          const te = K.get(U);
          return te?.delete(ee) ? (te.size || K.delete(U), !0) : !1;
        }
        function s(K) {
          return Oi(K.declarations, (U) => {
            var ee;
            return (ee = Er(U)) == null ? void 0 : ee.resolvedPath;
          });
        }
        function o(K, U) {
          const ee = K.getSymbolAtLocation(U);
          return ee && s(ee);
        }
        function c(K, U, ee, te) {
          return lo(K.getProjectReferenceRedirect(U) || U, ee, te);
        }
        function _(K, U, ee) {
          let te;
          if (U.imports && U.imports.length > 0) {
            const q = K.getTypeChecker();
            for (const he of U.imports) {
              const Me = o(q, he);
              Me?.forEach(me);
            }
          }
          const ie = Un(U.resolvedPath);
          if (U.referencedFiles && U.referencedFiles.length > 0)
            for (const q of U.referencedFiles) {
              const he = c(K, q.fileName, ie, ee);
              me(he);
            }
          if (K.forEachResolvedTypeReferenceDirective(({ resolvedTypeReferenceDirective: q }) => {
            if (!q)
              return;
            const he = q.resolvedFileName, Me = c(K, he, ie, ee);
            me(Me);
          }, U), U.moduleAugmentations.length) {
            const q = K.getTypeChecker();
            for (const he of U.moduleAugmentations) {
              if (!la(he)) continue;
              const Me = q.getSymbolAtLocation(he);
              Me && fe(Me);
            }
          }
          for (const q of K.getTypeChecker().getAmbientModules())
            q.declarations && q.declarations.length > 1 && fe(q);
          return te;
          function fe(q) {
            if (q.declarations)
              for (const he of q.declarations) {
                const Me = Er(he);
                Me && Me !== U && me(Me.resolvedPath);
              }
          }
          function me(q) {
            (te || (te = /* @__PURE__ */ new Set())).add(q);
          }
        }
        function u(K, U) {
          return U && !U.referencedMap == !K;
        }
        e.canReuseOldState = u;
        function g(K) {
          return K.module !== 0 && !K.outFile ? t() : void 0;
        }
        e.createReferencedMap = g;
        function m(K, U, ee) {
          var te, ie;
          const fe = /* @__PURE__ */ new Map(), me = K.getCompilerOptions(), q = g(me), he = u(q, U);
          K.getTypeChecker();
          for (const Me of K.getSourceFiles()) {
            const De = E.checkDefined(Me.version, "Program intended to be used with Builder should have source files with versions set"), re = he ? (te = U.oldSignatures) == null ? void 0 : te.get(Me.resolvedPath) : void 0, xe = re === void 0 ? he ? (ie = U.fileInfos.get(Me.resolvedPath)) == null ? void 0 : ie.signature : void 0 : re || void 0;
            if (q) {
              const ue = _(K, Me, K.getCanonicalFileName);
              ue && q.set(Me.resolvedPath, ue);
            }
            fe.set(Me.resolvedPath, {
              version: De,
              signature: xe,
              // No need to calculate affectsGlobalScope with --out since its not used at all
              affectsGlobalScope: me.outFile ? void 0 : V(Me) || void 0,
              impliedFormat: Me.impliedNodeFormat
            });
          }
          return {
            fileInfos: fe,
            referencedMap: q,
            useFileVersionAsSignature: !ee && !he
          };
        }
        e.create = m;
        function h(K) {
          K.allFilesExcludingDefaultLibraryFile = void 0, K.allFileNames = void 0;
        }
        e.releaseCache = h;
        function S(K, U, ee, te, ie) {
          var fe;
          const me = T(
            K,
            U,
            ee,
            te,
            ie
          );
          return (fe = K.oldSignatures) == null || fe.clear(), me;
        }
        e.getFilesAffectedBy = S;
        function T(K, U, ee, te, ie) {
          const fe = U.getSourceFileByPath(ee);
          return fe ? w(K, U, fe, te, ie) ? (K.referencedMap ? pe : W)(K, U, fe, te, ie) : [fe] : Ue;
        }
        e.getFilesAffectedByWithOldState = T;
        function k(K, U, ee) {
          K.fileInfos.get(ee).signature = U, (K.hasCalledUpdateShapeSignature || (K.hasCalledUpdateShapeSignature = /* @__PURE__ */ new Set())).add(ee);
        }
        e.updateSignatureOfFile = k;
        function D(K, U, ee, te, ie) {
          K.emit(
            U,
            (fe, me, q, he, Me, De) => {
              E.assert(Sl(fe), `File extension for signature expected to be dts: Got:: ${fe}`), ie(
                gV(
                  K,
                  U,
                  me,
                  te,
                  De
                ),
                Me
              );
            },
            ee,
            2,
            /*customTransformers*/
            void 0,
            /*forceDtsEmit*/
            !0
          );
        }
        e.computeDtsSignature = D;
        function w(K, U, ee, te, ie, fe = K.useFileVersionAsSignature) {
          var me;
          if ((me = K.hasCalledUpdateShapeSignature) != null && me.has(ee.resolvedPath)) return !1;
          const q = K.fileInfos.get(ee.resolvedPath), he = q.signature;
          let Me;
          return !ee.isDeclarationFile && !fe && D(U, ee, te, ie, (De) => {
            Me = De, ie.storeSignatureInfo && (K.signatureInfo ?? (K.signatureInfo = /* @__PURE__ */ new Map())).set(
              ee.resolvedPath,
              0
              /* ComputedDts */
            );
          }), Me === void 0 && (Me = ee.version, ie.storeSignatureInfo && (K.signatureInfo ?? (K.signatureInfo = /* @__PURE__ */ new Map())).set(
            ee.resolvedPath,
            2
            /* UsedVersion */
          )), (K.oldSignatures || (K.oldSignatures = /* @__PURE__ */ new Map())).set(ee.resolvedPath, he || !1), (K.hasCalledUpdateShapeSignature || (K.hasCalledUpdateShapeSignature = /* @__PURE__ */ new Set())).add(ee.resolvedPath), q.signature = Me, Me !== he;
        }
        e.updateShapeSignature = w;
        function A(K, U, ee) {
          if (U.getCompilerOptions().outFile || !K.referencedMap || V(ee))
            return O(K, U);
          const ie = /* @__PURE__ */ new Set(), fe = [ee.resolvedPath];
          for (; fe.length; ) {
            const me = fe.pop();
            if (!ie.has(me)) {
              ie.add(me);
              const q = K.referencedMap.getValues(me);
              if (q)
                for (const he of q.keys())
                  fe.push(he);
            }
          }
          return rs(Sy(ie.keys(), (me) => {
            var q;
            return ((q = U.getSourceFileByPath(me)) == null ? void 0 : q.fileName) ?? me;
          }));
        }
        e.getAllDependencies = A;
        function O(K, U) {
          if (!K.allFileNames) {
            const ee = U.getSourceFiles();
            K.allFileNames = ee === Ue ? Ue : ee.map((te) => te.fileName);
          }
          return K.allFileNames;
        }
        function F(K, U) {
          const ee = K.referencedMap.getKeys(U);
          return ee ? rs(ee.keys()) : [];
        }
        e.getReferencedByPaths = F;
        function j(K) {
          for (const U of K.statements)
            if (!j7(U))
              return !1;
          return !0;
        }
        function z(K) {
          return at(K.moduleAugmentations, (U) => $m(U.parent));
        }
        function V(K) {
          return z(K) || !H_(K) && !Kf(K) && !j(K);
        }
        function G(K, U, ee) {
          if (K.allFilesExcludingDefaultLibraryFile)
            return K.allFilesExcludingDefaultLibraryFile;
          let te;
          ee && ie(ee);
          for (const fe of U.getSourceFiles())
            fe !== ee && ie(fe);
          return K.allFilesExcludingDefaultLibraryFile = te || Ue, K.allFilesExcludingDefaultLibraryFile;
          function ie(fe) {
            U.isSourceFileDefaultLibrary(fe) || (te || (te = [])).push(fe);
          }
        }
        e.getAllFilesExcludingDefaultLibraryFile = G;
        function W(K, U, ee) {
          const te = U.getCompilerOptions();
          return te && te.outFile ? [ee] : G(K, U, ee);
        }
        function pe(K, U, ee, te, ie) {
          if (V(ee))
            return G(K, U, ee);
          const fe = U.getCompilerOptions();
          if (fe && (Np(fe) || fe.outFile))
            return [ee];
          const me = /* @__PURE__ */ new Map();
          me.set(ee.resolvedPath, ee);
          const q = F(K, ee.resolvedPath);
          for (; q.length > 0; ) {
            const he = q.pop();
            if (!me.has(he)) {
              const Me = U.getSourceFileByPath(he);
              me.set(he, Me), Me && w(K, U, Me, te, ie) && q.push(...F(K, Me.resolvedPath));
            }
          }
          return rs(Sy(me.values(), (he) => he));
        }
      })(Td || (Td = {}));
      var wie = /* @__PURE__ */ ((e) => (e[e.None = 0] = "None", e[e.Js = 1] = "Js", e[e.JsMap = 2] = "JsMap", e[e.JsInlineMap = 4] = "JsInlineMap", e[e.DtsErrors = 8] = "DtsErrors", e[e.DtsEmit = 16] = "DtsEmit", e[e.DtsMap = 32] = "DtsMap", e[e.Dts = 24] = "Dts", e[e.AllJs = 7] = "AllJs", e[e.AllDtsEmit = 48] = "AllDtsEmit", e[e.AllDts = 56] = "AllDts", e[e.All = 63] = "All", e))(wie || {});
      function B6(e) {
        return e.program !== void 0;
      }
      function jje(e) {
        return E.assert(B6(e)), e;
      }
      function _1(e) {
        let t = 1;
        return e.sourceMap && (t = t | 2), e.inlineSourceMap && (t = t | 4), w_(e) && (t = t | 24), e.declarationMap && (t = t | 32), e.emitDeclarationOnly && (t = t & 56), t;
      }
      function BO(e, t) {
        const n = t && (Cy(t) ? t : _1(t)), i = Cy(e) ? e : _1(e);
        if (n === i) return 0;
        if (!n || !i) return i;
        const s = n ^ i;
        let o = 0;
        return s & 7 && (o = i & 7), s & 8 && (o = o | i & 8), s & 48 && (o = o | i & 48), o;
      }
      function Bje(e, t) {
        return e === t || e !== void 0 && t !== void 0 && e.size === t.size && !Fg(e, (n) => !t.has(n));
      }
      function Jje(e, t) {
        var n, i;
        const s = Td.create(
          e,
          t,
          /*disableUseFileVersionAsSignature*/
          !1
        );
        s.program = e;
        const o = e.getCompilerOptions();
        s.compilerOptions = o;
        const c = o.outFile;
        s.semanticDiagnosticsPerFile = /* @__PURE__ */ new Map(), c && o.composite && t?.outSignature && c === t.compilerOptions.outFile && (s.outSignature = t.outSignature && Sve(o, t.compilerOptions, t.outSignature)), s.changedFilesSet = /* @__PURE__ */ new Set(), s.latestChangedDtsFile = o.composite ? t?.latestChangedDtsFile : void 0, s.checkPending = s.compilerOptions.noCheck ? !0 : void 0;
        const _ = Td.canReuseOldState(s.referencedMap, t), u = _ ? t.compilerOptions : void 0;
        let g = _ && !vee(o, u);
        const m = o.composite && t?.emitSignatures && !c && !See(o, t.compilerOptions);
        let h = !0;
        _ ? ((n = t.changedFilesSet) == null || n.forEach((A) => s.changedFilesSet.add(A)), !c && ((i = t.affectedFilesPendingEmit) != null && i.size) && (s.affectedFilesPendingEmit = new Map(t.affectedFilesPendingEmit), s.seenAffectedFiles = /* @__PURE__ */ new Set()), s.programEmitPending = t.programEmitPending, c && s.changedFilesSet.size && (g = !1, h = !1), s.hasErrorsFromOldState = t.hasErrors) : s.buildInfoEmitPending = Bb(o);
        const S = s.referencedMap, T = _ ? t.referencedMap : void 0, k = g && !o.skipLibCheck == !u.skipLibCheck, D = k && !o.skipDefaultLibCheck == !u.skipDefaultLibCheck;
        if (s.fileInfos.forEach((A, O) => {
          var F;
          let j, z;
          if (!_ || // File wasn't present in old state
          !(j = t.fileInfos.get(O)) || // versions dont match
          j.version !== A.version || // Implied formats dont match
          j.impliedFormat !== A.impliedFormat || // Referenced files changed
          !Bje(z = S && S.getValues(O), T && T.getValues(O)) || // Referenced file was deleted in the new program
          z && Fg(z, (V) => !s.fileInfos.has(V) && t.fileInfos.has(V)))
            w(O);
          else {
            const V = e.getSourceFileByPath(O), G = h ? (F = t.emitDiagnosticsPerFile) == null ? void 0 : F.get(O) : void 0;
            if (G && (s.emitDiagnosticsPerFile ?? (s.emitDiagnosticsPerFile = /* @__PURE__ */ new Map())).set(
              O,
              t.hasReusableDiagnostic ? xve(G, O, e) : Tve(G, e)
            ), g) {
              if (V.isDeclarationFile && !k || V.hasNoDefaultLib && !D) return;
              const W = t.semanticDiagnosticsPerFile.get(O);
              W && (s.semanticDiagnosticsPerFile.set(
                O,
                t.hasReusableDiagnostic ? xve(W, O, e) : Tve(W, e)
              ), (s.semanticDiagnosticsFromOldState ?? (s.semanticDiagnosticsFromOldState = /* @__PURE__ */ new Set())).add(O));
            }
          }
          if (m) {
            const V = t.emitSignatures.get(O);
            V && (s.emitSignatures ?? (s.emitSignatures = /* @__PURE__ */ new Map())).set(O, Sve(o, t.compilerOptions, V));
          }
        }), _ && gl(t.fileInfos, (A, O) => s.fileInfos.has(O) ? !1 : A.affectsGlobalScope ? !0 : (s.buildInfoEmitPending = !0, !!c)))
          Td.getAllFilesExcludingDefaultLibraryFile(
            s,
            e,
            /*firstSourceFile*/
            void 0
          ).forEach((A) => w(A.resolvedPath));
        else if (u) {
          const A = bee(o, u) ? _1(o) : BO(o, u);
          A !== 0 && (c ? s.changedFilesSet.size || (s.programEmitPending = s.programEmitPending ? s.programEmitPending | A : A) : (e.getSourceFiles().forEach((O) => {
            s.changedFilesSet.has(O.resolvedPath) || yV(
              s,
              O.resolvedPath,
              A
            );
          }), E.assert(!s.seenAffectedFiles || !s.seenAffectedFiles.size), s.seenAffectedFiles = s.seenAffectedFiles || /* @__PURE__ */ new Set()), s.buildInfoEmitPending = !0);
        }
        return _ && s.semanticDiagnosticsPerFile.size !== s.fileInfos.size && t.checkPending !== s.checkPending && (s.buildInfoEmitPending = !0), s;
        function w(A) {
          s.changedFilesSet.add(A), c && (g = !1, h = !1, s.semanticDiagnosticsFromOldState = void 0, s.semanticDiagnosticsPerFile.clear(), s.emitDiagnosticsPerFile = void 0), s.buildInfoEmitPending = !0, s.programEmitPending = void 0;
        }
      }
      function Sve(e, t, n) {
        return !!e.declarationMap == !!t.declarationMap ? (
          // Use same format of signature
          n
        ) : (
          // Convert to different format
          cs(n) ? [n] : n[0]
        );
      }
      function Tve(e, t) {
        return e.length ? $c(e, (n) => {
          if (cs(n.messageText)) return n;
          const i = Pie(n.messageText, n.file, t, (s) => {
            var o;
            return (o = s.repopulateInfo) == null ? void 0 : o.call(s);
          });
          return i === n.messageText ? n : { ...n, messageText: i };
        }) : e;
      }
      function Pie(e, t, n, i) {
        const s = i(e);
        if (s === !0)
          return {
            ...Xj(t),
            next: Nie(e.next, t, n, i)
          };
        if (s)
          return {
            ...F7(t, n, s.moduleReference, s.mode, s.packageName || s.moduleReference),
            next: Nie(e.next, t, n, i)
          };
        const o = Nie(e.next, t, n, i);
        return o === e.next ? e : { ...e, next: o };
      }
      function Nie(e, t, n, i) {
        return $c(e, (s) => Pie(s, t, n, i));
      }
      function xve(e, t, n) {
        if (!e.length) return Ue;
        let i;
        return e.map((o) => {
          const c = kve(o, t, n, s);
          c.reportsUnnecessary = o.reportsUnnecessary, c.reportsDeprecated = o.reportDeprecated, c.source = o.source, c.skippedOn = o.skippedOn;
          const { relatedInformation: _ } = o;
          return c.relatedInformation = _ ? _.length ? _.map((u) => kve(u, t, n, s)) : [] : void 0, c;
        });
        function s(o) {
          return i ?? (i = Un(Xi(hv(n.getCompilerOptions()), n.getCurrentDirectory()))), lo(o, i, n.getCanonicalFileName);
        }
      }
      function kve(e, t, n, i) {
        const { file: s } = e, o = s !== !1 ? n.getSourceFileByPath(s ? i(s) : t) : void 0;
        return {
          ...e,
          file: o,
          messageText: cs(e.messageText) ? e.messageText : Pie(e.messageText, o, n, (c) => c.info)
        };
      }
      function zje(e) {
        Td.releaseCache(e), e.program = void 0;
      }
      function Aie(e, t) {
        E.assert(!t || !e.affectedFiles || e.affectedFiles[e.affectedFilesIndex - 1] !== t || !e.semanticDiagnosticsPerFile.has(t.resolvedPath));
      }
      function Cve(e, t, n) {
        for (var i; ; ) {
          const { affectedFiles: s } = e;
          if (s) {
            const _ = e.seenAffectedFiles;
            let u = e.affectedFilesIndex;
            for (; u < s.length; ) {
              const g = s[u];
              if (!_.has(g.resolvedPath))
                return e.affectedFilesIndex = u, yV(
                  e,
                  g.resolvedPath,
                  _1(e.compilerOptions)
                ), Uje(
                  e,
                  g,
                  t,
                  n
                ), g;
              u++;
            }
            e.changedFilesSet.delete(e.currentChangedFilePath), e.currentChangedFilePath = void 0, (i = e.oldSignatures) == null || i.clear(), e.affectedFiles = void 0;
          }
          const o = e.changedFilesSet.keys().next();
          if (o.done)
            return;
          if (e.program.getCompilerOptions().outFile) return e.program;
          e.affectedFiles = Td.getFilesAffectedByWithOldState(
            e,
            e.program,
            o.value,
            t,
            n
          ), e.currentChangedFilePath = o.value, e.affectedFilesIndex = 0, e.seenAffectedFiles || (e.seenAffectedFiles = /* @__PURE__ */ new Set());
        }
      }
      function Eve(e, t, n) {
        var i, s;
        if (!(!((i = e.affectedFilesPendingEmit) != null && i.size) && !e.programEmitPending) && (!t && !n && (e.affectedFilesPendingEmit = void 0, e.programEmitPending = void 0), (s = e.affectedFilesPendingEmit) == null || s.forEach((o, c) => {
          const _ = n ? o & 55 : o & 7;
          _ ? e.affectedFilesPendingEmit.set(c, _) : e.affectedFilesPendingEmit.delete(c);
        }), e.programEmitPending)) {
          const o = n ? e.programEmitPending & 55 : e.programEmitPending & 7;
          o ? e.programEmitPending = o : e.programEmitPending = void 0;
        }
      }
      function JO(e, t, n, i) {
        let s = BO(e, t);
        return n && (s = s & 56), i && (s = s & 8), s;
      }
      function dV(e) {
        return e ? 8 : 56;
      }
      function Wje(e, t, n) {
        var i;
        if ((i = e.affectedFilesPendingEmit) != null && i.size)
          return gl(e.affectedFilesPendingEmit, (s, o) => {
            var c;
            const _ = e.program.getSourceFileByPath(o);
            if (!_ || !Fb(_, e.program)) {
              e.affectedFilesPendingEmit.delete(o);
              return;
            }
            const u = (c = e.seenEmittedFiles) == null ? void 0 : c.get(_.resolvedPath), g = JO(
              s,
              u,
              t,
              n
            );
            if (g) return { affectedFile: _, emitKind: g };
          });
      }
      function Vje(e, t) {
        var n;
        if ((n = e.emitDiagnosticsPerFile) != null && n.size)
          return gl(e.emitDiagnosticsPerFile, (i, s) => {
            var o;
            const c = e.program.getSourceFileByPath(s);
            if (!c || !Fb(c, e.program)) {
              e.emitDiagnosticsPerFile.delete(s);
              return;
            }
            const _ = ((o = e.seenEmittedFiles) == null ? void 0 : o.get(c.resolvedPath)) || 0;
            if (!(_ & dV(t))) return { affectedFile: c, diagnostics: i, seenKind: _ };
          });
      }
      function Dve(e) {
        if (!e.cleanedDiagnosticsOfLibFiles) {
          e.cleanedDiagnosticsOfLibFiles = !0;
          const t = e.program.getCompilerOptions();
          ar(e.program.getSourceFiles(), (n) => e.program.isSourceFileDefaultLibrary(n) && !Iee(n, t, e.program) && Fie(e, n.resolvedPath));
        }
      }
      function Uje(e, t, n, i) {
        if (Fie(e, t.resolvedPath), e.allFilesExcludingDefaultLibraryFile === e.affectedFiles) {
          Dve(e), Td.updateShapeSignature(
            e,
            e.program,
            t,
            n,
            i
          );
          return;
        }
        e.compilerOptions.assumeChangesOnlyAffectDirectDependencies || qje(
          e,
          t,
          n,
          i
        );
      }
      function Iie(e, t, n, i, s) {
        if (Fie(e, t), !e.changedFilesSet.has(t)) {
          const o = e.program.getSourceFileByPath(t);
          o && (Td.updateShapeSignature(
            e,
            e.program,
            o,
            i,
            s,
            /*useFileVersionAsSignature*/
            !0
          ), n ? yV(
            e,
            t,
            _1(e.compilerOptions)
          ) : w_(e.compilerOptions) && yV(
            e,
            t,
            e.compilerOptions.declarationMap ? 56 : 24
            /* Dts */
          ));
        }
      }
      function Fie(e, t) {
        return e.semanticDiagnosticsFromOldState ? (e.semanticDiagnosticsFromOldState.delete(t), e.semanticDiagnosticsPerFile.delete(t), !e.semanticDiagnosticsFromOldState.size) : !0;
      }
      function wve(e, t) {
        const n = E.checkDefined(e.oldSignatures).get(t) || void 0;
        return E.checkDefined(e.fileInfos.get(t)).signature !== n;
      }
      function Oie(e, t, n, i, s) {
        var o;
        return (o = e.fileInfos.get(t)) != null && o.affectsGlobalScope ? (Td.getAllFilesExcludingDefaultLibraryFile(
          e,
          e.program,
          /*firstSourceFile*/
          void 0
        ).forEach(
          (c) => Iie(
            e,
            c.resolvedPath,
            n,
            i,
            s
          )
        ), Dve(e), !0) : !1;
      }
      function qje(e, t, n, i) {
        var s, o;
        if (!e.referencedMap || !e.changedFilesSet.has(t.resolvedPath) || !wve(e, t.resolvedPath)) return;
        if (Np(e.compilerOptions)) {
          const u = /* @__PURE__ */ new Map();
          u.set(t.resolvedPath, !0);
          const g = Td.getReferencedByPaths(e, t.resolvedPath);
          for (; g.length > 0; ) {
            const m = g.pop();
            if (!u.has(m)) {
              if (u.set(m, !0), Oie(
                e,
                m,
                /*invalidateJsFiles*/
                !1,
                n,
                i
              )) return;
              if (Iie(
                e,
                m,
                /*invalidateJsFiles*/
                !1,
                n,
                i
              ), wve(e, m)) {
                const h = e.program.getSourceFileByPath(m);
                g.push(...Td.getReferencedByPaths(e, h.resolvedPath));
              }
            }
          }
        }
        const c = /* @__PURE__ */ new Set(), _ = !!((s = t.symbol) != null && s.exports) && !!gl(
          t.symbol.exports,
          (u) => {
            if ((u.flags & 128) !== 0) return !0;
            const g = $l(u, e.program.getTypeChecker());
            return g === u ? !1 : (g.flags & 128) !== 0 && at(g.declarations, (m) => Er(m) === t);
          }
        );
        (o = e.referencedMap.getKeys(t.resolvedPath)) == null || o.forEach((u) => {
          if (Oie(e, u, _, n, i)) return !0;
          const g = e.referencedMap.getKeys(u);
          return g && Fg(g, (m) => Pve(
            e,
            m,
            _,
            c,
            n,
            i
          ));
        });
      }
      function Pve(e, t, n, i, s, o) {
        var c;
        if (m0(i, t)) {
          if (Oie(e, t, n, s, o)) return !0;
          Iie(e, t, n, s, o), (c = e.referencedMap.getKeys(t)) == null || c.forEach(
            (_) => Pve(
              e,
              _,
              n,
              i,
              s,
              o
            )
          );
        }
      }
      function mV(e, t, n, i) {
        return e.compilerOptions.noCheck ? Ue : Ji(
          Hje(e, t, n, i),
          e.program.getProgramDiagnostics(t)
        );
      }
      function Hje(e, t, n, i) {
        i ?? (i = e.semanticDiagnosticsPerFile);
        const s = t.resolvedPath, o = i.get(s);
        if (o)
          return RO(o, e.compilerOptions);
        const c = e.program.getBindAndCheckDiagnostics(t, n);
        return i.set(s, c), e.buildInfoEmitPending = !0, RO(c, e.compilerOptions);
      }
      function Lie(e) {
        var t;
        return !!((t = e.options) != null && t.outFile);
      }
      function yA(e) {
        return !!e.fileNames;
      }
      function Gje(e) {
        return !yA(e) && !!e.root;
      }
      function Nve(e) {
        e.hasErrors === void 0 && (Bb(e.compilerOptions) ? e.hasErrors = !at(e.program.getSourceFiles(), (t) => {
          var n, i;
          const s = e.semanticDiagnosticsPerFile.get(t.resolvedPath);
          return s === void 0 || // Missing semantic diagnostics in cache will be encoded in buildInfo
          !!s.length || // cached semantic diagnostics will be encoded in buildInfo
          !!((i = (n = e.emitDiagnosticsPerFile) == null ? void 0 : n.get(t.resolvedPath)) != null && i.length);
        }) && (Ave(e) || at(e.program.getSourceFiles(), (t) => !!e.program.getProgramDiagnostics(t).length)) : e.hasErrors = at(e.program.getSourceFiles(), (t) => {
          var n, i;
          const s = e.semanticDiagnosticsPerFile.get(t.resolvedPath);
          return !!s?.length || // If has semantic diagnostics
          !!((i = (n = e.emitDiagnosticsPerFile) == null ? void 0 : n.get(t.resolvedPath)) != null && i.length);
        }) || Ave(e));
      }
      function Ave(e) {
        return !!e.program.getConfigFileParsingDiagnostics().length || !!e.program.getSyntacticDiagnostics().length || !!e.program.getOptionsDiagnostics().length || !!e.program.getGlobalDiagnostics().length;
      }
      function Ive(e) {
        return Nve(e), e.buildInfoEmitPending ?? (e.buildInfoEmitPending = !!e.hasErrorsFromOldState != !!e.hasErrors);
      }
      function $je(e) {
        var t, n;
        const i = e.program.getCurrentDirectory(), s = Un(Xi(hv(e.compilerOptions), i)), o = e.latestChangedDtsFile ? O(e.latestChangedDtsFile) : void 0, c = [], _ = /* @__PURE__ */ new Map(), u = new Set(e.program.getRootFileNames().map((q) => lo(q, i, e.program.getCanonicalFileName)));
        if (Nve(e), !Bb(e.compilerOptions))
          return {
            root: rs(u, (he) => F(he)),
            errors: e.hasErrors ? !0 : void 0,
            checkPending: e.checkPending,
            version: Gf
          };
        const g = [];
        if (e.compilerOptions.outFile) {
          const q = rs(e.fileInfos.entries(), ([Me, De]) => {
            const re = j(Me);
            return V(Me, re), De.impliedFormat ? { version: De.version, impliedFormat: De.impliedFormat, signature: void 0, affectsGlobalScope: void 0 } : De.version;
          });
          return {
            fileNames: c,
            fileInfos: q,
            root: g,
            resolvedRoot: G(),
            options: W(e.compilerOptions),
            semanticDiagnosticsPerFile: e.changedFilesSet.size ? void 0 : K(),
            emitDiagnosticsPerFile: U(),
            changeFileSet: me(),
            outSignature: e.outSignature,
            latestChangedDtsFile: o,
            pendingEmit: e.programEmitPending ? (
              // Pending is undefined or None is encoded as undefined
              e.programEmitPending === _1(e.compilerOptions) ? !1 : (
                // Pending emit is same as deteremined by compilerOptions
                e.programEmitPending
              )
            ) : void 0,
            // Actual value
            errors: e.hasErrors ? !0 : void 0,
            checkPending: e.checkPending,
            version: Gf
          };
        }
        let m, h, S;
        const T = rs(e.fileInfos.entries(), ([q, he]) => {
          var Me, De;
          const re = j(q);
          V(q, re), E.assert(c[re - 1] === F(q));
          const xe = (Me = e.oldSignatures) == null ? void 0 : Me.get(q), ue = xe !== void 0 ? xe || void 0 : he.signature;
          if (e.compilerOptions.composite) {
            const Xe = e.program.getSourceFileByPath(q);
            if (!Kf(Xe) && Fb(Xe, e.program)) {
              const nt = (De = e.emitSignatures) == null ? void 0 : De.get(q);
              nt !== ue && (S = Dr(
                S,
                nt === void 0 ? re : (
                  // There is no emit, encode as false
                  // fileId, signature: emptyArray if signature only differs in dtsMap option than our own compilerOptions otherwise EmitSignature
                  [re, !cs(nt) && nt[0] === ue ? Ue : nt]
                )
              ));
            }
          }
          return he.version === ue ? he.affectsGlobalScope || he.impliedFormat ? (
            // If file version is same as signature, dont serialize signature
            { version: he.version, signature: void 0, affectsGlobalScope: he.affectsGlobalScope, impliedFormat: he.impliedFormat }
          ) : (
            // If file info only contains version and signature and both are same we can just write string
            he.version
          ) : ue !== void 0 ? (
            // If signature is not same as version, encode signature in the fileInfo
            xe === void 0 ? (
              // If we havent computed signature, use fileInfo as is
              he
            ) : (
              // Serialize fileInfo with new updated signature
              { version: he.version, signature: ue, affectsGlobalScope: he.affectsGlobalScope, impliedFormat: he.impliedFormat }
            )
          ) : (
            // Signature of the FileInfo is undefined, serialize it as false
            { version: he.version, signature: !1, affectsGlobalScope: he.affectsGlobalScope, impliedFormat: he.impliedFormat }
          );
        });
        let k;
        (t = e.referencedMap) != null && t.size() && (k = rs(e.referencedMap.keys()).sort(au).map((q) => [
          j(q),
          z(e.referencedMap.getValues(q))
        ]));
        const D = K();
        let w;
        if ((n = e.affectedFilesPendingEmit) != null && n.size) {
          const q = _1(e.compilerOptions), he = /* @__PURE__ */ new Set();
          for (const Me of rs(e.affectedFilesPendingEmit.keys()).sort(au))
            if (m0(he, Me)) {
              const De = e.program.getSourceFileByPath(Me);
              if (!De || !Fb(De, e.program)) continue;
              const re = j(Me), xe = e.affectedFilesPendingEmit.get(Me);
              w = Dr(
                w,
                xe === q ? re : (
                  // Pending full emit per options
                  xe === 24 ? [re] : (
                    // Pending on Dts only
                    [re, xe]
                  )
                )
                // Anything else
              );
            }
        }
        return {
          fileNames: c,
          fileIdsList: m,
          fileInfos: T,
          root: g,
          resolvedRoot: G(),
          options: W(e.compilerOptions),
          referencedMap: k,
          semanticDiagnosticsPerFile: D,
          emitDiagnosticsPerFile: U(),
          changeFileSet: me(),
          affectedFilesPendingEmit: w,
          emitSignatures: S,
          latestChangedDtsFile: o,
          errors: e.hasErrors ? !0 : void 0,
          checkPending: e.checkPending,
          version: Gf
        };
        function O(q) {
          return F(Xi(q, i));
        }
        function F(q) {
          return nS(Ef(s, q, e.program.getCanonicalFileName));
        }
        function j(q) {
          let he = _.get(q);
          return he === void 0 && (c.push(F(q)), _.set(q, he = c.length)), he;
        }
        function z(q) {
          const he = rs(q.keys(), j).sort(go), Me = he.join();
          let De = h?.get(Me);
          return De === void 0 && (m = Dr(m, he), (h ?? (h = /* @__PURE__ */ new Map())).set(Me, De = m.length)), De;
        }
        function V(q, he) {
          const Me = e.program.getSourceFile(q);
          if (!e.program.getFileIncludeReasons().get(Me.path).some(
            (ue) => ue.kind === 0
            /* RootFile */
          )) return;
          if (!g.length) return g.push(he);
          const De = g[g.length - 1], re = fs(De);
          if (re && De[1] === he - 1) return De[1] = he;
          if (re || g.length === 1 || De !== he - 1) return g.push(he);
          const xe = g[g.length - 2];
          return !Cy(xe) || xe !== De - 1 ? g.push(he) : (g[g.length - 2] = [xe, he], g.length = g.length - 1);
        }
        function G() {
          let q;
          return u.forEach((he) => {
            const Me = e.program.getSourceFileByPath(he);
            Me && he !== Me.resolvedPath && (q = Dr(q, [j(Me.resolvedPath), j(he)]));
          }), q;
        }
        function W(q) {
          let he;
          const { optionsNameMap: Me } = D6();
          for (const De of Ud(q).sort(au)) {
            const re = Me.get(De.toLowerCase());
            re?.affectsBuildInfo && ((he || (he = {}))[De] = pe(
              re,
              q[De]
            ));
          }
          return he;
        }
        function pe(q, he) {
          if (q) {
            if (E.assert(q.type !== "listOrElement"), q.type === "list") {
              const Me = he;
              if (q.element.isFilePath && Me.length)
                return Me.map(O);
            } else if (q.isFilePath)
              return O(he);
          }
          return he;
        }
        function K() {
          let q;
          return e.fileInfos.forEach((he, Me) => {
            const De = e.semanticDiagnosticsPerFile.get(Me);
            De ? De.length && (q = Dr(q, [
              j(Me),
              ee(De, Me)
            ])) : e.changedFilesSet.has(Me) || (q = Dr(q, j(Me)));
          }), q;
        }
        function U() {
          var q;
          let he;
          if (!((q = e.emitDiagnosticsPerFile) != null && q.size)) return he;
          for (const Me of rs(e.emitDiagnosticsPerFile.keys()).sort(au)) {
            const De = e.emitDiagnosticsPerFile.get(Me);
            he = Dr(he, [
              j(Me),
              ee(De, Me)
            ]);
          }
          return he;
        }
        function ee(q, he) {
          return E.assert(!!q.length), q.map((Me) => {
            const De = te(Me, he);
            De.reportsUnnecessary = Me.reportsUnnecessary, De.reportDeprecated = Me.reportsDeprecated, De.source = Me.source, De.skippedOn = Me.skippedOn;
            const { relatedInformation: re } = Me;
            return De.relatedInformation = re ? re.length ? re.map((xe) => te(xe, he)) : [] : void 0, De;
          });
        }
        function te(q, he) {
          const { file: Me } = q;
          return {
            ...q,
            file: Me ? Me.resolvedPath === he ? void 0 : F(Me.resolvedPath) : !1,
            messageText: cs(q.messageText) ? q.messageText : ie(q.messageText)
          };
        }
        function ie(q) {
          if (q.repopulateInfo)
            return {
              info: q.repopulateInfo(),
              next: fe(q.next)
            };
          const he = fe(q.next);
          return he === q.next ? q : { ...q, next: he };
        }
        function fe(q) {
          return q && (ar(q, (he, Me) => {
            const De = ie(he);
            if (he === De) return;
            const re = Me > 0 ? q.slice(0, Me - 1) : [];
            re.push(De);
            for (let xe = Me + 1; xe < q.length; xe++)
              re.push(ie(q[xe]));
            return re;
          }) || q);
        }
        function me() {
          let q;
          if (e.changedFilesSet.size)
            for (const he of rs(e.changedFilesSet.keys()).sort(au))
              q = Dr(q, j(he));
          return q;
        }
      }
      var Mie = /* @__PURE__ */ ((e) => (e[e.SemanticDiagnosticsBuilderProgram = 0] = "SemanticDiagnosticsBuilderProgram", e[e.EmitAndSemanticDiagnosticsBuilderProgram = 1] = "EmitAndSemanticDiagnosticsBuilderProgram", e))(Mie || {});
      function zO(e, t, n, i, s, o) {
        let c, _, u;
        return e === void 0 ? (E.assert(t === void 0), c = n, u = i, E.assert(!!u), _ = u.getProgram()) : fs(e) ? (u = i, _ = gA({
          rootNames: e,
          options: t,
          host: n,
          oldProgram: u && u.getProgramOrUndefined(),
          configFileParsingDiagnostics: s,
          projectReferences: o
        }), c = n) : (_ = e, c = t, u = n, s = i), { host: c, newProgram: _, oldProgram: u, configFileParsingDiagnostics: s || Ue };
      }
      function Fve(e, t) {
        return t?.sourceMapUrlPos !== void 0 ? e.substring(0, t.sourceMapUrlPos) : e;
      }
      function gV(e, t, n, i, s) {
        var o;
        n = Fve(n, s);
        let c;
        return (o = s?.diagnostics) != null && o.length && (n += s.diagnostics.map((g) => `${u(g)}${QI[g.category]}${g.code}: ${_(g.messageText)}`).join(`
`)), (i.createHash ?? f4)(n);
        function _(g) {
          return cs(g) ? g : g === void 0 ? "" : g.next ? g.messageText + g.next.map(_).join(`
`) : g.messageText;
        }
        function u(g) {
          return g.file.resolvedPath === t.resolvedPath ? `(${g.start},${g.length})` : (c === void 0 && (c = Un(t.resolvedPath)), `${nS(Ef(
            c,
            g.file.resolvedPath,
            e.getCanonicalFileName
          ))}(${g.start},${g.length})`);
        }
      }
      function Xje(e, t, n) {
        return (t.createHash ?? f4)(Fve(e, n));
      }
      function hV(e, { newProgram: t, host: n, oldProgram: i, configFileParsingDiagnostics: s }) {
        let o = i && i.state;
        if (o && t === o.program && s === t.getConfigFileParsingDiagnostics())
          return t = void 0, o = void 0, i;
        const c = Jje(t, o);
        t.getBuildInfo = () => $je(jje(c)), t = void 0, i = void 0, o = void 0;
        const _ = bV(c, s);
        return _.state = c, _.hasChangedEmitSignature = () => !!c.hasChangedEmitSignature, _.getAllDependencies = (O) => Td.getAllDependencies(
          c,
          E.checkDefined(c.program),
          O
        ), _.getSemanticDiagnostics = A, _.getDeclarationDiagnostics = D, _.emit = T, _.releaseProgram = () => zje(c), e === 0 ? _.getSemanticDiagnosticsOfNextAffectedFile = w : e === 1 ? (_.getSemanticDiagnosticsOfNextAffectedFile = w, _.emitNextAffectedFile = h, _.emitBuildInfo = u) : Hs(), _;
        function u(O, F) {
          if (E.assert(B6(c)), Ive(c)) {
            const j = c.program.emitBuildInfo(
              O || Ls(n, n.writeFile),
              F
            );
            return c.buildInfoEmitPending = !1, j;
          }
          return _V;
        }
        function g(O, F, j, z, V) {
          var G, W, pe, K;
          E.assert(B6(c));
          let U = Cve(c, F, n);
          const ee = _1(c.compilerOptions);
          let te = V ? 8 : j ? ee & 56 : ee;
          if (!U) {
            if (c.compilerOptions.outFile) {
              if (c.programEmitPending && (te = JO(
                c.programEmitPending,
                c.seenProgramEmit,
                j,
                V
              ), te && (U = c.program)), !U && ((G = c.emitDiagnosticsPerFile) != null && G.size)) {
                const me = c.seenProgramEmit || 0;
                if (!(me & dV(V))) {
                  c.seenProgramEmit = dV(V) | me;
                  const q = [];
                  return c.emitDiagnosticsPerFile.forEach((he) => wn(q, he)), {
                    result: { emitSkipped: !0, diagnostics: q },
                    affected: c.program
                  };
                }
              }
            } else {
              const me = Wje(
                c,
                j,
                V
              );
              if (me)
                ({ affectedFile: U, emitKind: te } = me);
              else {
                const q = Vje(
                  c,
                  V
                );
                if (q)
                  return (c.seenEmittedFiles ?? (c.seenEmittedFiles = /* @__PURE__ */ new Map())).set(
                    q.affectedFile.resolvedPath,
                    q.seenKind | dV(V)
                  ), {
                    result: { emitSkipped: !0, diagnostics: q.diagnostics },
                    affected: q.affectedFile
                  };
              }
            }
            if (!U) {
              if (V || !Ive(c)) return;
              const me = c.program, q = me.emitBuildInfo(
                O || Ls(n, n.writeFile),
                F
              );
              return c.buildInfoEmitPending = !1, { result: q, affected: me };
            }
          }
          let ie;
          te & 7 && (ie = 0), te & 56 && (ie = ie === void 0 ? 1 : void 0);
          const fe = V ? {
            emitSkipped: !0,
            diagnostics: c.program.getDeclarationDiagnostics(
              U === c.program ? void 0 : U,
              F
            )
          } : c.program.emit(
            U === c.program ? void 0 : U,
            S(O, z),
            F,
            ie,
            z,
            /*forceDtsEmit*/
            void 0,
            /*skipBuildInfo*/
            !0
          );
          if (U !== c.program) {
            const me = U;
            c.seenAffectedFiles.add(me.resolvedPath), c.affectedFilesIndex !== void 0 && c.affectedFilesIndex++, c.buildInfoEmitPending = !0;
            const q = ((W = c.seenEmittedFiles) == null ? void 0 : W.get(me.resolvedPath)) || 0;
            (c.seenEmittedFiles ?? (c.seenEmittedFiles = /* @__PURE__ */ new Map())).set(me.resolvedPath, te | q);
            const he = ((pe = c.affectedFilesPendingEmit) == null ? void 0 : pe.get(me.resolvedPath)) || ee, Me = BO(he, te | q);
            Me ? (c.affectedFilesPendingEmit ?? (c.affectedFilesPendingEmit = /* @__PURE__ */ new Map())).set(me.resolvedPath, Me) : (K = c.affectedFilesPendingEmit) == null || K.delete(me.resolvedPath), fe.diagnostics.length && (c.emitDiagnosticsPerFile ?? (c.emitDiagnosticsPerFile = /* @__PURE__ */ new Map())).set(me.resolvedPath, fe.diagnostics);
          } else
            c.changedFilesSet.clear(), c.programEmitPending = c.changedFilesSet.size ? BO(ee, te) : c.programEmitPending ? BO(c.programEmitPending, te) : void 0, c.seenProgramEmit = te | (c.seenProgramEmit || 0), m(fe.diagnostics), c.buildInfoEmitPending = !0;
          return { result: fe, affected: U };
        }
        function m(O) {
          let F;
          O.forEach((j) => {
            if (!j.file) return;
            let z = F?.get(j.file.resolvedPath);
            z || (F ?? (F = /* @__PURE__ */ new Map())).set(j.file.resolvedPath, z = []), z.push(j);
          }), F && (c.emitDiagnosticsPerFile = F);
        }
        function h(O, F, j, z) {
          return g(
            O,
            F,
            j,
            z,
            /*isForDtsErrors*/
            !1
          );
        }
        function S(O, F) {
          return E.assert(B6(c)), w_(c.compilerOptions) ? (j, z, V, G, W, pe) => {
            var K, U, ee;
            if (Sl(j))
              if (c.compilerOptions.outFile) {
                if (c.compilerOptions.composite) {
                  const ie = te(
                    c.outSignature,
                    /*newSignature*/
                    void 0
                  );
                  if (!ie) return pe.skippedDtsWrite = !0;
                  c.outSignature = ie;
                }
              } else {
                E.assert(W?.length === 1);
                let ie;
                if (!F) {
                  const fe = W[0], me = c.fileInfos.get(fe.resolvedPath);
                  if (me.signature === fe.version) {
                    const q = gV(
                      c.program,
                      fe,
                      z,
                      n,
                      pe
                    );
                    (K = pe?.diagnostics) != null && K.length || (ie = q), q !== fe.version && (n.storeSignatureInfo && (c.signatureInfo ?? (c.signatureInfo = /* @__PURE__ */ new Map())).set(
                      fe.resolvedPath,
                      1
                      /* StoredSignatureAtEmit */
                    ), c.affectedFiles && ((U = c.oldSignatures) == null ? void 0 : U.get(fe.resolvedPath)) === void 0 && (c.oldSignatures ?? (c.oldSignatures = /* @__PURE__ */ new Map())).set(fe.resolvedPath, me.signature || !1), me.signature = q);
                  }
                }
                if (c.compilerOptions.composite) {
                  const fe = W[0].resolvedPath;
                  if (ie = te((ee = c.emitSignatures) == null ? void 0 : ee.get(fe), ie), !ie) return pe.skippedDtsWrite = !0;
                  (c.emitSignatures ?? (c.emitSignatures = /* @__PURE__ */ new Map())).set(fe, ie);
                }
              }
            O ? O(j, z, V, G, W, pe) : n.writeFile ? n.writeFile(j, z, V, G, W, pe) : c.program.writeFile(j, z, V, G, W, pe);
            function te(ie, fe) {
              const me = !ie || cs(ie) ? ie : ie[0];
              if (fe ?? (fe = Xje(z, n, pe)), fe === me) {
                if (ie === me) return;
                pe ? pe.differsOnlyInMap = !0 : pe = { differsOnlyInMap: !0 };
              } else
                c.hasChangedEmitSignature = !0, c.latestChangedDtsFile = j;
              return fe;
            }
          } : O || Ls(n, n.writeFile);
        }
        function T(O, F, j, z, V) {
          E.assert(B6(c)), e === 1 && Aie(c, O);
          const G = fV(_, O, F, j);
          if (G) return G;
          if (!O)
            if (e === 1) {
              let pe = [], K = !1, U, ee = [], te;
              for (; te = h(
                F,
                j,
                z,
                V
              ); )
                K = K || te.result.emitSkipped, U = wn(U, te.result.diagnostics), ee = wn(ee, te.result.emittedFiles), pe = wn(pe, te.result.sourceMaps);
              return {
                emitSkipped: K,
                diagnostics: U || Ue,
                emittedFiles: ee,
                sourceMaps: pe
              };
            } else
              Eve(
                c,
                z,
                /*isForDtsErrors*/
                !1
              );
          const W = c.program.emit(
            O,
            S(F, V),
            j,
            z,
            V
          );
          return k(
            O,
            z,
            /*isForDtsErrors*/
            !1,
            W.diagnostics
          ), W;
        }
        function k(O, F, j, z) {
          !O && e !== 1 && (Eve(c, F, j), m(z));
        }
        function D(O, F) {
          var j;
          if (E.assert(B6(c)), e === 1) {
            Aie(c, O);
            let z, V;
            for (; z = g(
              /*writeFile*/
              void 0,
              F,
              /*emitOnlyDtsFiles*/
              void 0,
              /*customTransformers*/
              void 0,
              /*isForDtsErrors*/
              !0
            ); )
              O || (V = wn(V, z.result.diagnostics));
            return (O ? (j = c.emitDiagnosticsPerFile) == null ? void 0 : j.get(O.resolvedPath) : V) || Ue;
          } else {
            const z = c.program.getDeclarationDiagnostics(O, F);
            return k(
              O,
              /*emitOnlyDtsFiles*/
              void 0,
              /*isForDtsErrors*/
              !0,
              z
            ), z;
          }
        }
        function w(O, F) {
          for (E.assert(B6(c)); ; ) {
            const j = Cve(c, O, n);
            let z;
            if (j)
              if (j !== c.program) {
                const V = j;
                if ((!F || !F(V)) && (z = mV(c, V, O)), c.seenAffectedFiles.add(V.resolvedPath), c.affectedFilesIndex++, c.buildInfoEmitPending = !0, !z) continue;
              } else {
                let V;
                const G = /* @__PURE__ */ new Map();
                c.program.getSourceFiles().forEach(
                  (W) => V = wn(
                    V,
                    mV(
                      c,
                      W,
                      O,
                      G
                    )
                  )
                ), c.semanticDiagnosticsPerFile = G, z = V || Ue, c.changedFilesSet.clear(), c.programEmitPending = _1(c.compilerOptions), c.compilerOptions.noCheck || (c.checkPending = void 0), c.buildInfoEmitPending = !0;
              }
            else {
              c.checkPending && !c.compilerOptions.noCheck && (c.checkPending = void 0, c.buildInfoEmitPending = !0);
              return;
            }
            return { result: z, affected: j };
          }
        }
        function A(O, F) {
          if (E.assert(B6(c)), Aie(c, O), O)
            return mV(c, O, F);
          for (; ; ) {
            const z = w(F);
            if (!z) break;
            if (z.affected === c.program) return z.result;
          }
          let j;
          for (const z of c.program.getSourceFiles())
            j = wn(j, mV(c, z, F));
          return c.checkPending && !c.compilerOptions.noCheck && (c.checkPending = void 0, c.buildInfoEmitPending = !0), j || Ue;
        }
      }
      function yV(e, t, n) {
        var i, s;
        const o = ((i = e.affectedFilesPendingEmit) == null ? void 0 : i.get(t)) || 0;
        (e.affectedFilesPendingEmit ?? (e.affectedFilesPendingEmit = /* @__PURE__ */ new Map())).set(t, o | n), (s = e.emitDiagnosticsPerFile) == null || s.delete(t);
      }
      function Rie(e) {
        return cs(e) ? { version: e, signature: e, affectsGlobalScope: void 0, impliedFormat: void 0 } : cs(e.signature) ? e : { version: e.version, signature: e.signature === !1 ? void 0 : e.version, affectsGlobalScope: e.affectsGlobalScope, impliedFormat: e.impliedFormat };
      }
      function jie(e, t) {
        return Cy(e) ? t : e[1] || 24;
      }
      function Bie(e, t) {
        return e || _1(t || {});
      }
      function Jie(e, t, n) {
        var i, s, o, c;
        const _ = Un(Xi(t, n.getCurrentDirectory())), u = Hl(n.useCaseSensitiveFileNames());
        let g;
        const m = (i = e.fileNames) == null ? void 0 : i.map(D);
        let h;
        const S = e.latestChangedDtsFile ? w(e.latestChangedDtsFile) : void 0, T = /* @__PURE__ */ new Map(), k = new Set(fr(e.changeFileSet, A));
        if (Lie(e))
          e.fileInfos.forEach((V, G) => {
            const W = A(G + 1);
            T.set(W, cs(V) ? { version: V, signature: void 0, affectsGlobalScope: void 0, impliedFormat: void 0 } : V);
          }), g = {
            fileInfos: T,
            compilerOptions: e.options ? QF(e.options, w) : {},
            semanticDiagnosticsPerFile: j(e.semanticDiagnosticsPerFile),
            emitDiagnosticsPerFile: z(e.emitDiagnosticsPerFile),
            hasReusableDiagnostic: !0,
            changedFilesSet: k,
            latestChangedDtsFile: S,
            outSignature: e.outSignature,
            programEmitPending: e.pendingEmit === void 0 ? void 0 : Bie(e.pendingEmit, e.options),
            hasErrors: e.errors,
            checkPending: e.checkPending
          };
        else {
          h = (s = e.fileIdsList) == null ? void 0 : s.map((W) => new Set(W.map(A)));
          const V = (o = e.options) != null && o.composite && !e.options.outFile ? /* @__PURE__ */ new Map() : void 0;
          e.fileInfos.forEach((W, pe) => {
            const K = A(pe + 1), U = Rie(W);
            T.set(K, U), V && U.signature && V.set(K, U.signature);
          }), (c = e.emitSignatures) == null || c.forEach((W) => {
            if (Cy(W)) V.delete(A(W));
            else {
              const pe = A(W[0]);
              V.set(
                pe,
                !cs(W[1]) && !W[1].length ? (
                  // File signature is emit signature but differs in map
                  [V.get(pe)]
                ) : W[1]
              );
            }
          });
          const G = e.affectedFilesPendingEmit ? _1(e.options || {}) : void 0;
          g = {
            fileInfos: T,
            compilerOptions: e.options ? QF(e.options, w) : {},
            referencedMap: F(e.referencedMap, e.options ?? {}),
            semanticDiagnosticsPerFile: j(e.semanticDiagnosticsPerFile),
            emitDiagnosticsPerFile: z(e.emitDiagnosticsPerFile),
            hasReusableDiagnostic: !0,
            changedFilesSet: k,
            affectedFilesPendingEmit: e.affectedFilesPendingEmit && hC(e.affectedFilesPendingEmit, (W) => A(Cy(W) ? W : W[0]), (W) => jie(W, G)),
            latestChangedDtsFile: S,
            emitSignatures: V?.size ? V : void 0,
            hasErrors: e.errors,
            checkPending: e.checkPending
          };
        }
        return {
          state: g,
          getProgram: Hs,
          getProgramOrUndefined: mb,
          releaseProgram: Ua,
          getCompilerOptions: () => g.compilerOptions,
          getSourceFile: Hs,
          getSourceFiles: Hs,
          getOptionsDiagnostics: Hs,
          getGlobalDiagnostics: Hs,
          getConfigFileParsingDiagnostics: Hs,
          getSyntacticDiagnostics: Hs,
          getDeclarationDiagnostics: Hs,
          getSemanticDiagnostics: Hs,
          emit: Hs,
          getAllDependencies: Hs,
          getCurrentDirectory: Hs,
          emitNextAffectedFile: Hs,
          getSemanticDiagnosticsOfNextAffectedFile: Hs,
          emitBuildInfo: Hs,
          close: Ua,
          hasChangedEmitSignature: Th
        };
        function D(V) {
          return lo(V, _, u);
        }
        function w(V) {
          return Xi(V, _);
        }
        function A(V) {
          return m[V - 1];
        }
        function O(V) {
          return h[V - 1];
        }
        function F(V, G) {
          const W = Td.createReferencedMap(G);
          return !W || !V || V.forEach(([pe, K]) => W.set(A(pe), O(K))), W;
        }
        function j(V) {
          const G = new Map(
            Sy(
              T.keys(),
              (W) => k.has(W) ? void 0 : [W, Ue]
            )
          );
          return V?.forEach((W) => {
            Cy(W) ? G.delete(A(W)) : G.set(A(W[0]), W[1]);
          }), G;
        }
        function z(V) {
          return V && hC(V, (G) => A(G[0]), (G) => G[1]);
        }
      }
      function vV(e, t, n) {
        const i = Un(Xi(t, n.getCurrentDirectory())), s = Hl(n.useCaseSensitiveFileNames()), o = /* @__PURE__ */ new Map();
        let c = 0;
        const _ = /* @__PURE__ */ new Map(), u = new Map(e.resolvedRoot);
        return e.fileInfos.forEach((m, h) => {
          const S = lo(e.fileNames[h], i, s), T = cs(m) ? m : m.version;
          if (o.set(S, T), c < e.root.length) {
            const k = e.root[c], D = h + 1;
            fs(k) ? k[0] <= D && D <= k[1] && (g(D, S), k[1] === D && c++) : k === D && (g(D, S), c++);
          }
        }), { fileInfos: o, roots: _ };
        function g(m, h) {
          const S = u.get(m);
          S ? _.set(lo(e.fileNames[S - 1], i, s), h) : _.set(h, void 0);
        }
      }
      function zie(e, t, n) {
        if (!Gje(e)) return;
        const i = Un(Xi(t, n.getCurrentDirectory())), s = Hl(n.useCaseSensitiveFileNames());
        return e.root.map((o) => lo(o, i, s));
      }
      function bV(e, t) {
        return {
          state: void 0,
          getProgram: n,
          getProgramOrUndefined: () => e.program,
          releaseProgram: () => e.program = void 0,
          getCompilerOptions: () => e.compilerOptions,
          getSourceFile: (i) => n().getSourceFile(i),
          getSourceFiles: () => n().getSourceFiles(),
          getOptionsDiagnostics: (i) => n().getOptionsDiagnostics(i),
          getGlobalDiagnostics: (i) => n().getGlobalDiagnostics(i),
          getConfigFileParsingDiagnostics: () => t,
          getSyntacticDiagnostics: (i, s) => n().getSyntacticDiagnostics(i, s),
          getDeclarationDiagnostics: (i, s) => n().getDeclarationDiagnostics(i, s),
          getSemanticDiagnostics: (i, s) => n().getSemanticDiagnostics(i, s),
          emit: (i, s, o, c, _) => n().emit(i, s, o, c, _),
          emitBuildInfo: (i, s) => n().emitBuildInfo(i, s),
          getAllDependencies: Hs,
          getCurrentDirectory: () => n().getCurrentDirectory(),
          close: Ua
        };
        function n() {
          return E.checkDefined(e.program);
        }
      }
      function Ove(e, t, n, i, s, o) {
        return hV(
          0,
          zO(
            e,
            t,
            n,
            i,
            s,
            o
          )
        );
      }
      function SV(e, t, n, i, s, o) {
        return hV(
          1,
          zO(
            e,
            t,
            n,
            i,
            s,
            o
          )
        );
      }
      function Lve(e, t, n, i, s, o) {
        const { newProgram: c, configFileParsingDiagnostics: _ } = zO(
          e,
          t,
          n,
          i,
          s,
          o
        );
        return bV(
          { program: c, compilerOptions: c.getCompilerOptions() },
          _
        );
      }
      function WO(e) {
        return No(e, "/node_modules/.staging") ? bC(e, "/.staging") : at(KI, (t) => e.includes(t)) ? void 0 : e;
      }
      function Wie(e, t) {
        if (t <= 1) return 1;
        let n = 1, i = e[0].search(/[a-z]:/i) === 0;
        if (e[0] !== xo && !i && // Non dos style paths
        e[1].search(/[a-z]\$$/i) === 0) {
          if (t === 2) return 2;
          n = 2, i = !0;
        }
        return i && !e[n].match(/^users$/i) ? n : e[n].match(/^workspaces$/i) ? n + 1 : n + 2;
      }
      function TV(e, t) {
        if (t === void 0 && (t = e.length), t <= 2) return !1;
        const n = Wie(e, t);
        return t > n + 1;
      }
      function vA(e) {
        return TV(ou(e));
      }
      function Vie(e) {
        return Rve(Un(e));
      }
      function Mve(e, t) {
        if (t.length < t.length) return !1;
        for (let n = 0; n < e.length; n++)
          if (t[n] !== e[n]) return !1;
        return !0;
      }
      function Rve(e) {
        return vA(e);
      }
      function Uie(e) {
        return Rve(e);
      }
      function xV(e, t, n, i, s, o, c, _) {
        const u = ou(t);
        e = V_(e) ? Gs(e) : Xi(e, c());
        const g = ou(e), m = Wie(u, u.length);
        if (u.length <= m + 1) return;
        const h = u.indexOf("node_modules");
        if (h !== -1 && h + 1 <= m + 1) return;
        const S = u.lastIndexOf("node_modules");
        return o && Mve(s, u) ? u.length > s.length + 1 ? qie(
          g,
          u,
          Math.max(s.length + 1, m + 1),
          S
        ) : {
          dir: n,
          dirPath: i,
          nonRecursive: !0
        } : jve(
          g,
          u,
          u.length - 1,
          m,
          h,
          s,
          S,
          _
        );
      }
      function jve(e, t, n, i, s, o, c, _) {
        if (s !== -1)
          return qie(
            e,
            t,
            s + 1,
            c
          );
        let u = !0, g = n;
        if (!_) {
          for (let m = 0; m < n; m++)
            if (t[m] !== o[m]) {
              u = !1, g = Math.max(m + 1, i + 1);
              break;
            }
        }
        return qie(
          e,
          t,
          g,
          c,
          u
        );
      }
      function qie(e, t, n, i, s) {
        let o;
        return i !== -1 && i + 1 >= n && i + 2 < t.length && (Wi(t[i + 1], "@") ? i + 3 < t.length && (o = i + 3) : o = i + 2), {
          dir: z1(e, n),
          dirPath: z1(t, n),
          nonRecursive: s,
          packageDir: o !== void 0 ? z1(e, o) : void 0,
          packageDirPath: o !== void 0 ? z1(t, o) : void 0
        };
      }
      function Hie(e, t, n, i, s, o, c, _) {
        const u = ou(t);
        if (s && Mve(i, u))
          return n;
        e = V_(e) ? Gs(e) : Xi(e, o());
        const g = jve(
          ou(e),
          u,
          u.length,
          Wie(u, u.length),
          u.indexOf("node_modules"),
          i,
          u.lastIndexOf("node_modules"),
          c
        );
        return g && _(g.dirPath) ? g.dirPath : void 0;
      }
      function Gie(e, t) {
        const n = Xi(e, t());
        return _j(n) ? n : g0(n);
      }
      function VO(e) {
        var t;
        return ((t = e.getCompilerHost) == null ? void 0 : t.call(e)) || e;
      }
      function $ie(e, t, n, i, s) {
        return {
          nameAndMode: IO,
          resolve: (o, c) => Qje(
            i,
            s,
            o,
            e,
            n,
            t,
            c
          )
        };
      }
      function Qje(e, t, n, i, s, o, c) {
        const _ = VO(e), u = WS(n, i, s, _, t, o, c);
        if (!e.getGlobalTypingsCacheLocation)
          return u;
        const g = e.getGlobalTypingsCacheLocation();
        if (g !== void 0 && !Cl(n) && !(u.resolvedModule && Y5(u.resolvedModule.extension))) {
          const { resolvedModule: m, failedLookupLocations: h, affectingLocations: S, resolutionDiagnostics: T } = sne(
            E.checkDefined(e.globalCacheResolutionModuleName)(n),
            e.projectName,
            s,
            _,
            g,
            t
          );
          if (m)
            return u.resolvedModule = m, u.failedLookupLocations = w6(u.failedLookupLocations, h), u.affectingLocations = w6(u.affectingLocations, S), u.resolutionDiagnostics = w6(u.resolutionDiagnostics, T), u;
        }
        return u;
      }
      function kV(e, t, n) {
        let i, s, o;
        const c = /* @__PURE__ */ new Set(), _ = /* @__PURE__ */ new Set(), u = /* @__PURE__ */ new Set(), g = /* @__PURE__ */ new Map(), m = /* @__PURE__ */ new Map();
        let h = !1, S, T, k, D, w, A = !1;
        const O = Au(() => e.getCurrentDirectory()), F = e.getCachedDirectoryStructureHost(), j = /* @__PURE__ */ new Map(), z = N6(
          O(),
          e.getCanonicalFileName,
          e.getCompilationSettings()
        ), V = /* @__PURE__ */ new Map(), G = aO(
          O(),
          e.getCanonicalFileName,
          e.getCompilationSettings(),
          z.getPackageJsonInfoCache(),
          z.optionsToRedirectsKey
        ), W = /* @__PURE__ */ new Map(), pe = N6(
          O(),
          e.getCanonicalFileName,
          sW(e.getCompilationSettings()),
          z.getPackageJsonInfoCache()
        ), K = /* @__PURE__ */ new Map(), U = /* @__PURE__ */ new Map(), ee = Gie(t, O), te = e.toPath(ee), ie = ou(te), fe = TV(ie), me = /* @__PURE__ */ new Map(), q = /* @__PURE__ */ new Map(), he = /* @__PURE__ */ new Map(), Me = /* @__PURE__ */ new Map();
        return {
          rootDirForResolution: t,
          resolvedModuleNames: j,
          resolvedTypeReferenceDirectives: V,
          resolvedLibraries: W,
          resolvedFileToResolution: g,
          resolutionsWithFailedLookups: _,
          resolutionsWithOnlyAffectingLocations: u,
          directoryWatchesOfFailedLookups: K,
          fileWatchesOfAffectingLocations: U,
          packageDirWatchers: q,
          dirPathToSymlinkPackageRefCount: he,
          watchFailedLookupLocationsOfExternalModuleResolutions: Wt,
          getModuleResolutionCache: () => z,
          startRecordingFilesWithChangedResolutions: xe,
          finishRecordingFilesWithChangedResolutions: ue,
          // perDirectoryResolvedModuleNames and perDirectoryResolvedTypeReferenceDirectives could be non empty if there was exception during program update
          // (between startCachingPerDirectoryResolution and finishCachingPerDirectoryResolution)
          startCachingPerDirectoryResolution: oe,
          finishCachingPerDirectoryResolution: se,
          resolveModuleNameLiterals: Bt,
          resolveTypeReferenceDirectiveReferences: St,
          resolveLibrary: tr,
          resolveSingleModuleNameWithoutWatching: Fr,
          removeResolutionsFromProjectReferenceRedirects: Wn,
          removeResolutionsOfFile: bi,
          hasChangedAutomaticTypeDirectiveNames: () => h,
          invalidateResolutionOfFile: ta,
          invalidateResolutionsOfFailedLookupLocations: Et,
          setFilesWithInvalidatedNonRelativeUnresolvedImports: gr,
          createHasInvalidatedResolutions: nt,
          isFileWithInvalidatedNonRelativeUnresolvedImports: Xe,
          updateTypeRootsWatch: Ze,
          closeTypeRootsWatch: Ne,
          clear: De,
          onChangesAffectModuleResolution: re
        };
        function De() {
          D_(K, lp), D_(U, lp), me.clear(), q.clear(), he.clear(), c.clear(), Ne(), j.clear(), V.clear(), g.clear(), _.clear(), u.clear(), k = void 0, D = void 0, w = void 0, T = void 0, S = void 0, A = !1, z.clear(), G.clear(), z.update(e.getCompilationSettings()), G.update(e.getCompilationSettings()), pe.clear(), m.clear(), W.clear(), h = !1;
        }
        function re() {
          A = !0, z.clearAllExceptPackageJsonInfoCache(), G.clearAllExceptPackageJsonInfoCache(), z.update(e.getCompilationSettings()), G.update(e.getCompilationSettings());
        }
        function xe() {
          i = [];
        }
        function ue() {
          const Ie = i;
          return i = void 0, Ie;
        }
        function Xe(Ie) {
          if (!o)
            return !1;
          const ft = o.get(Ie);
          return !!ft && !!ft.length;
        }
        function nt(Ie, ft) {
          Et();
          const _t = s;
          return s = void 0, {
            hasInvalidatedResolutions: (kt) => Ie(kt) || A || !!_t?.has(kt) || Xe(kt),
            hasInvalidatedLibResolutions: (kt) => {
              var Ve;
              return ft(kt) || !!((Ve = W?.get(kt)) != null && Ve.isInvalidated);
            }
          };
        }
        function oe() {
          z.isReadonly = void 0, G.isReadonly = void 0, pe.isReadonly = void 0, z.getPackageJsonInfoCache().isReadonly = void 0, z.clearAllExceptPackageJsonInfoCache(), G.clearAllExceptPackageJsonInfoCache(), pe.clearAllExceptPackageJsonInfoCache(), ii(), me.clear();
        }
        function ve(Ie) {
          W.forEach((ft, _t) => {
            var kt;
            (kt = Ie?.resolvedLibReferences) != null && kt.has(_t) || (ut(
              ft,
              e.toPath(OO(e.getCompilationSettings(), O(), _t)),
              ox
            ), W.delete(_t));
          });
        }
        function se(Ie, ft) {
          o = void 0, A = !1, ii(), Ie !== ft && (ve(Ie), Ie?.getSourceFiles().forEach((_t) => {
            var kt;
            const Ve = ((kt = _t.packageJsonLocations) == null ? void 0 : kt.length) ?? 0, Rt = m.get(_t.resolvedPath) ?? Ue;
            for (let Zr = Rt.length; Zr < Ve; Zr++)
              Pt(
                _t.packageJsonLocations[Zr],
                /*forResolution*/
                !1
              );
            if (Rt.length > Ve)
              for (let Zr = Ve; Zr < Rt.length; Zr++)
                U.get(Rt[Zr]).files--;
            Ve ? m.set(_t.resolvedPath, _t.packageJsonLocations) : m.delete(_t.resolvedPath);
          }), m.forEach((_t, kt) => {
            const Ve = Ie?.getSourceFileByPath(kt);
            (!Ve || Ve.resolvedPath !== kt) && (_t.forEach((Rt) => U.get(Rt).files--), m.delete(kt));
          })), K.forEach(Ee), U.forEach(Ce), q.forEach(Pe), h = !1, z.isReadonly = !0, G.isReadonly = !0, pe.isReadonly = !0, z.getPackageJsonInfoCache().isReadonly = !0, me.clear();
        }
        function Pe(Ie, ft) {
          Ie.dirPathToWatcher.size === 0 && q.delete(ft);
        }
        function Ee(Ie, ft) {
          Ie.refCount === 0 && (K.delete(ft), Ie.watcher.close());
        }
        function Ce(Ie, ft) {
          var _t;
          Ie.files === 0 && Ie.resolutions === 0 && !((_t = Ie.symlinks) != null && _t.size) && (U.delete(ft), Ie.watcher.close());
        }
        function ze({
          entries: Ie,
          containingFile: ft,
          containingSourceFile: _t,
          redirectedReference: kt,
          options: Ve,
          perFileCache: Rt,
          reusedNames: Zr,
          loader: we,
          getResolutionWithResolvedFileName: mt,
          deferWatchingNonRelativeResolution: _e,
          shouldRetryResolution: M,
          logChanges: ye
        }) {
          const X = e.toPath(ft), pt = Rt.get(X) || Rt.set(X, P6()).get(X), jt = [], ke = ye && Xe(X), st = e.getCurrentProgram(), At = st && st.getResolvedProjectReferenceToRedirect(ft), Yr = At ? !kt || kt.sourceFile.path !== At.sourceFile.path : !!kt, Mr = P6();
          for (const Ye of Ie) {
            const gt = we.nameAndMode.getName(Ye), Jt = we.nameAndMode.getMode(Ye, _t, kt?.commandLine.options || Ve);
            let wt = pt.get(gt, Jt);
            if (!Mr.has(gt, Jt) && (A || Yr || !wt || wt.isInvalidated || // If the name is unresolved import that was invalidated, recalculate
            ke && !Cl(gt) && M(wt))) {
              const dr = wt;
              wt = we.resolve(gt, Jt), e.onDiscoveredSymlink && Yje(wt) && e.onDiscoveredSymlink(), pt.set(gt, Jt, wt), wt !== dr && (Wt(gt, wt, X, mt, _e), dr && ut(dr, X, mt)), ye && i && !Rr(dr, wt) && (i.push(X), ye = !1);
            } else {
              const dr = VO(e);
              if (a1(Ve, dr) && !Mr.has(gt, Jt)) {
                const Kt = mt(wt);
                es(
                  dr,
                  Rt === j ? Kt?.resolvedFileName ? Kt.packageId ? p.Reusing_resolution_of_module_0_from_1_of_old_program_it_was_successfully_resolved_to_2_with_Package_ID_3 : p.Reusing_resolution_of_module_0_from_1_of_old_program_it_was_successfully_resolved_to_2 : p.Reusing_resolution_of_module_0_from_1_of_old_program_it_was_not_resolved : Kt?.resolvedFileName ? Kt.packageId ? p.Reusing_resolution_of_type_reference_directive_0_from_1_of_old_program_it_was_successfully_resolved_to_2_with_Package_ID_3 : p.Reusing_resolution_of_type_reference_directive_0_from_1_of_old_program_it_was_successfully_resolved_to_2 : p.Reusing_resolution_of_type_reference_directive_0_from_1_of_old_program_it_was_not_resolved,
                  gt,
                  ft,
                  Kt?.resolvedFileName,
                  Kt?.packageId && q1(Kt.packageId)
                );
              }
            }
            E.assert(wt !== void 0 && !wt.isInvalidated), Mr.set(gt, Jt, !0), jt.push(wt);
          }
          return Zr?.forEach(
            (Ye) => Mr.set(
              we.nameAndMode.getName(Ye),
              we.nameAndMode.getMode(Ye, _t, kt?.commandLine.options || Ve),
              !0
            )
          ), pt.size() !== Mr.size() && pt.forEach((Ye, gt, Jt) => {
            Mr.has(gt, Jt) || (ut(Ye, X, mt), pt.delete(gt, Jt));
          }), jt;
          function Rr(Ye, gt) {
            if (Ye === gt)
              return !0;
            if (!Ye || !gt)
              return !1;
            const Jt = mt(Ye), wt = mt(gt);
            return Jt === wt ? !0 : !Jt || !wt ? !1 : Jt.resolvedFileName === wt.resolvedFileName;
          }
        }
        function St(Ie, ft, _t, kt, Ve, Rt) {
          return ze({
            entries: Ie,
            containingFile: ft,
            containingSourceFile: Ve,
            redirectedReference: _t,
            options: kt,
            reusedNames: Rt,
            perFileCache: V,
            loader: FO(
              ft,
              _t,
              kt,
              VO(e),
              G
            ),
            getResolutionWithResolvedFileName: I7,
            shouldRetryResolution: (Zr) => Zr.resolvedTypeReferenceDirective === void 0,
            deferWatchingNonRelativeResolution: !1
          });
        }
        function Bt(Ie, ft, _t, kt, Ve, Rt) {
          return ze({
            entries: Ie,
            containingFile: ft,
            containingSourceFile: Ve,
            redirectedReference: _t,
            options: kt,
            reusedNames: Rt,
            perFileCache: j,
            loader: $ie(
              ft,
              _t,
              kt,
              e,
              z
            ),
            getResolutionWithResolvedFileName: ox,
            shouldRetryResolution: (Zr) => !Zr.resolvedModule || !_D(Zr.resolvedModule.extension),
            logChanges: n,
            deferWatchingNonRelativeResolution: !0
            // Defer non relative resolution watch because we could be using ambient modules
          });
        }
        function tr(Ie, ft, _t, kt) {
          const Ve = VO(e);
          let Rt = W?.get(kt);
          if (!Rt || Rt.isInvalidated) {
            const Zr = Rt;
            Rt = oO(Ie, ft, _t, Ve, pe);
            const we = e.toPath(ft);
            Wt(
              Ie,
              Rt,
              we,
              ox,
              /*deferWatchingNonRelativeResolution*/
              !1
            ), W.set(kt, Rt), Zr && ut(Zr, we, ox);
          } else if (a1(_t, Ve)) {
            const Zr = ox(Rt);
            es(
              Ve,
              Zr?.resolvedFileName ? Zr.packageId ? p.Reusing_resolution_of_module_0_from_1_of_old_program_it_was_successfully_resolved_to_2_with_Package_ID_3 : p.Reusing_resolution_of_module_0_from_1_of_old_program_it_was_successfully_resolved_to_2 : p.Reusing_resolution_of_module_0_from_1_of_old_program_it_was_not_resolved,
              Ie,
              ft,
              Zr?.resolvedFileName,
              Zr?.packageId && q1(Zr.packageId)
            );
          }
          return Rt;
        }
        function Fr(Ie, ft) {
          var _t, kt;
          const Ve = e.toPath(ft), Rt = j.get(Ve), Zr = Rt?.get(
            Ie,
            /*mode*/
            void 0
          );
          if (Zr && !Zr.isInvalidated) return Zr;
          const we = (_t = e.beforeResolveSingleModuleNameWithoutWatching) == null ? void 0 : _t.call(e, z), mt = VO(e), _e = WS(
            Ie,
            ft,
            e.getCompilationSettings(),
            mt,
            z
          );
          return (kt = e.afterResolveSingleModuleNameWithoutWatching) == null || kt.call(e, z, Ie, ft, _e, we), _e;
        }
        function it(Ie) {
          return No(Ie, "/node_modules/@types");
        }
        function Wt(Ie, ft, _t, kt, Ve) {
          if ((ft.files ?? (ft.files = /* @__PURE__ */ new Set())).add(_t), ft.files.size !== 1) return;
          !Ve || Cl(Ie) ? ai(ft) : c.add(ft);
          const Rt = kt(ft);
          if (Rt && Rt.resolvedFileName) {
            const Zr = e.toPath(Rt.resolvedFileName);
            let we = g.get(Zr);
            we || g.set(Zr, we = /* @__PURE__ */ new Set()), we.add(ft);
          }
        }
        function Wr(Ie, ft) {
          const _t = e.toPath(Ie), kt = xV(
            Ie,
            _t,
            ee,
            te,
            ie,
            fe,
            O,
            e.preferNonRecursiveWatch
          );
          if (kt) {
            const { dir: Ve, dirPath: Rt, nonRecursive: Zr, packageDir: we, packageDirPath: mt } = kt;
            Rt === te ? (E.assert(Zr), E.assert(!we), ft = !0) : cn(Ve, Rt, we, mt, Zr);
          }
          return ft;
        }
        function ai(Ie) {
          var ft;
          E.assert(!!((ft = Ie.files) != null && ft.size));
          const { failedLookupLocations: _t, affectingLocations: kt, alternateResult: Ve } = Ie;
          if (!_t?.length && !kt?.length && !Ve) return;
          (_t?.length || Ve) && _.add(Ie);
          let Rt = !1;
          if (_t)
            for (const Zr of _t)
              Rt = Wr(Zr, Rt);
          Ve && (Rt = Wr(Ve, Rt)), Rt && cn(
            ee,
            te,
            /*packageDir*/
            void 0,
            /*packageDirPath*/
            void 0,
            /*nonRecursive*/
            !0
          ), zi(Ie, !_t?.length && !Ve);
        }
        function zi(Ie, ft) {
          var _t;
          E.assert(!!((_t = Ie.files) != null && _t.size));
          const { affectingLocations: kt } = Ie;
          if (kt?.length) {
            ft && u.add(Ie);
            for (const Ve of kt)
              Pt(
                Ve,
                /*forResolution*/
                !0
              );
          }
        }
        function Pt(Ie, ft) {
          const _t = U.get(Ie);
          if (_t) {
            ft ? _t.resolutions++ : _t.files++;
            return;
          }
          let kt = Ie, Ve = !1, Rt;
          e.realpath && (kt = e.realpath(Ie), Ie !== kt && (Ve = !0, Rt = U.get(kt)));
          const Zr = ft ? 1 : 0, we = ft ? 0 : 1;
          if (!Ve || !Rt) {
            const mt = {
              watcher: Uie(e.toPath(kt)) ? e.watchAffectingFileLocation(kt, (_e, M) => {
                F?.addOrDeleteFile(_e, e.toPath(kt), M), Fn(kt, z.getPackageJsonInfoCache().getInternalMap()), e.scheduleInvalidateResolutionsOfFailedLookupLocations();
              }) : z6,
              resolutions: Ve ? 0 : Zr,
              files: Ve ? 0 : we,
              symlinks: void 0
            };
            U.set(kt, mt), Ve && (Rt = mt);
          }
          if (Ve) {
            E.assert(!!Rt);
            const mt = {
              watcher: {
                close: () => {
                  var _e;
                  const M = U.get(kt);
                  (_e = M?.symlinks) != null && _e.delete(Ie) && !M.symlinks.size && !M.resolutions && !M.files && (U.delete(kt), M.watcher.close());
                }
              },
              resolutions: Zr,
              files: we,
              symlinks: void 0
            };
            U.set(Ie, mt), (Rt.symlinks ?? (Rt.symlinks = /* @__PURE__ */ new Set())).add(Ie);
          }
        }
        function Fn(Ie, ft) {
          var _t;
          const kt = U.get(Ie);
          kt?.resolutions && (T ?? (T = /* @__PURE__ */ new Set())).add(Ie), kt?.files && (S ?? (S = /* @__PURE__ */ new Set())).add(Ie), (_t = kt?.symlinks) == null || _t.forEach((Ve) => Fn(Ve, ft)), ft?.delete(e.toPath(Ie));
        }
        function ii() {
          c.forEach(ai), c.clear();
        }
        function li(Ie, ft, _t, kt, Ve) {
          E.assert(!Ve);
          let Rt = me.get(kt), Zr = q.get(kt);
          if (Rt === void 0) {
            const _e = e.realpath(_t);
            Rt = _e !== _t && e.toPath(_e) !== kt, me.set(kt, Rt), Zr ? Zr.isSymlink !== Rt && (Zr.dirPathToWatcher.forEach((M) => {
              er(Zr.isSymlink ? kt : ft), M.watcher = mt();
            }), Zr.isSymlink = Rt) : q.set(
              kt,
              Zr = {
                dirPathToWatcher: /* @__PURE__ */ new Map(),
                isSymlink: Rt
              }
            );
          } else
            E.assertIsDefined(Zr), E.assert(Rt === Zr.isSymlink);
          const we = Zr.dirPathToWatcher.get(ft);
          we ? we.refCount++ : (Zr.dirPathToWatcher.set(ft, {
            watcher: mt(),
            refCount: 1
          }), Rt && he.set(ft, (he.get(ft) ?? 0) + 1));
          function mt() {
            return Rt ? ci(_t, kt, Ve) : ci(Ie, ft, Ve);
          }
        }
        function cn(Ie, ft, _t, kt, Ve) {
          !kt || !e.realpath ? ci(Ie, ft, Ve) : li(Ie, ft, _t, kt, Ve);
        }
        function ci(Ie, ft, _t) {
          let kt = K.get(ft);
          return kt ? (E.assert(!!_t == !!kt.nonRecursive), kt.refCount++) : K.set(ft, kt = { watcher: Vr(Ie, ft, _t), refCount: 1, nonRecursive: _t }), kt;
        }
        function je(Ie, ft) {
          const _t = e.toPath(Ie), kt = xV(
            Ie,
            _t,
            ee,
            te,
            ie,
            fe,
            O,
            e.preferNonRecursiveWatch
          );
          if (kt) {
            const { dirPath: Ve, packageDirPath: Rt } = kt;
            if (Ve === te)
              ft = !0;
            else if (Rt && e.realpath) {
              const Zr = q.get(Rt), we = Zr.dirPathToWatcher.get(Ve);
              if (we.refCount--, we.refCount === 0 && (er(Zr.isSymlink ? Rt : Ve), Zr.dirPathToWatcher.delete(Ve), Zr.isSymlink)) {
                const mt = he.get(Ve) - 1;
                mt === 0 ? he.delete(Ve) : he.set(Ve, mt);
              }
            } else
              er(Ve);
          }
          return ft;
        }
        function ut(Ie, ft, _t) {
          if (E.checkDefined(Ie.files).delete(ft), Ie.files.size) return;
          Ie.files = void 0;
          const kt = _t(Ie);
          if (kt && kt.resolvedFileName) {
            const we = e.toPath(kt.resolvedFileName), mt = g.get(we);
            mt?.delete(Ie) && !mt.size && g.delete(we);
          }
          const { failedLookupLocations: Ve, affectingLocations: Rt, alternateResult: Zr } = Ie;
          if (_.delete(Ie)) {
            let we = !1;
            if (Ve)
              for (const mt of Ve)
                we = je(mt, we);
            Zr && (we = je(Zr, we)), we && er(te);
          } else Rt?.length && u.delete(Ie);
          if (Rt)
            for (const we of Rt) {
              const mt = U.get(we);
              mt.resolutions--;
            }
        }
        function er(Ie) {
          const ft = K.get(Ie);
          ft.refCount--;
        }
        function Vr(Ie, ft, _t) {
          return e.watchDirectoryOfFailedLookupLocation(
            Ie,
            (kt) => {
              const Ve = e.toPath(kt);
              F && F.addOrDeleteFileOrDirectory(kt, Ve), ms(Ve, ft === Ve);
            },
            _t ? 0 : 1
            /* Recursive */
          );
        }
        function zn(Ie, ft, _t) {
          const kt = Ie.get(ft);
          kt && (kt.forEach(
            (Ve) => ut(
              Ve,
              ft,
              _t
            )
          ), Ie.delete(ft));
        }
        function Wn(Ie) {
          if (!Wo(
            Ie,
            ".json"
            /* Json */
          )) return;
          const ft = e.getCurrentProgram();
          if (!ft) return;
          const _t = ft.getResolvedProjectReferenceByPath(Ie);
          _t && _t.commandLine.fileNames.forEach((kt) => bi(e.toPath(kt)));
        }
        function bi(Ie) {
          zn(j, Ie, ox), zn(V, Ie, I7);
        }
        function ks(Ie, ft) {
          if (!Ie) return !1;
          let _t = !1;
          return Ie.forEach((kt) => {
            if (!(kt.isInvalidated || !ft(kt))) {
              kt.isInvalidated = _t = !0;
              for (const Ve of E.checkDefined(kt.files))
                (s ?? (s = /* @__PURE__ */ new Set())).add(Ve), h = h || No(Ve, ow);
            }
          }), _t;
        }
        function ta(Ie) {
          bi(Ie);
          const ft = h;
          ks(g.get(Ie), db) && h && !ft && e.onChangedAutomaticTypeDirectiveNames();
        }
        function gr(Ie) {
          E.assert(o === Ie || o === void 0), o = Ie;
        }
        function ms(Ie, ft) {
          if (ft)
            (w || (w = /* @__PURE__ */ new Set())).add(Ie);
          else {
            const _t = WO(Ie);
            if (!_t || (Ie = _t, e.fileIsOpen(Ie)))
              return !1;
            const kt = Un(Ie);
            if (it(Ie) || i7(Ie) || it(kt) || i7(kt))
              (k || (k = /* @__PURE__ */ new Set())).add(Ie), (D || (D = /* @__PURE__ */ new Set())).add(Ie);
            else {
              if (die(e.getCurrentProgram(), Ie) || Wo(Ie, ".map"))
                return !1;
              (k || (k = /* @__PURE__ */ new Set())).add(Ie), (D || (D = /* @__PURE__ */ new Set())).add(Ie);
              const Ve = YN(
                Ie,
                /*isFolder*/
                !0
              );
              Ve && (D || (D = /* @__PURE__ */ new Set())).add(Ve);
            }
          }
          e.scheduleInvalidateResolutionsOfFailedLookupLocations();
        }
        function He() {
          const Ie = z.getPackageJsonInfoCache().getInternalMap();
          Ie && (k || D || w) && Ie.forEach((ft, _t) => rt(_t) ? Ie.delete(_t) : void 0);
        }
        function Et() {
          var Ie;
          if (A)
            return S = void 0, He(), (k || D || w || T) && ks(W, ne), k = void 0, D = void 0, w = void 0, T = void 0, !0;
          let ft = !1;
          return S && ((Ie = e.getCurrentProgram()) == null || Ie.getSourceFiles().forEach((_t) => {
            at(_t.packageJsonLocations, (kt) => S.has(kt)) && ((s ?? (s = /* @__PURE__ */ new Set())).add(_t.path), ft = !0);
          }), S = void 0), !k && !D && !w && !T || (ft = ks(_, ne) || ft, He(), k = void 0, D = void 0, w = void 0, ft = ks(u, Q) || ft, T = void 0), ft;
        }
        function ne(Ie) {
          var ft;
          return Q(Ie) ? !0 : !k && !D && !w ? !1 : ((ft = Ie.failedLookupLocations) == null ? void 0 : ft.some((_t) => rt(e.toPath(_t)))) || !!Ie.alternateResult && rt(e.toPath(Ie.alternateResult));
        }
        function rt(Ie) {
          return k?.has(Ie) || xP(D?.keys() || [], (ft) => Wi(Ie, ft) ? !0 : void 0) || xP(w?.keys() || [], (ft) => Ie.length > ft.length && Wi(Ie, ft) && (_j(ft) || Ie[ft.length] === xo) ? !0 : void 0);
        }
        function Q(Ie) {
          var ft;
          return !!T && ((ft = Ie.affectingLocations) == null ? void 0 : ft.some((_t) => T.has(_t)));
        }
        function Ne() {
          D_(Me, $p);
        }
        function qe(Ie) {
          return bt(Ie) ? e.watchTypeRootsDirectory(
            Ie,
            (ft) => {
              const _t = e.toPath(ft);
              F && F.addOrDeleteFileOrDirectory(ft, _t), h = !0, e.onChangedAutomaticTypeDirectiveNames();
              const kt = Hie(
                Ie,
                e.toPath(Ie),
                te,
                ie,
                fe,
                O,
                e.preferNonRecursiveWatch,
                (Ve) => K.has(Ve) || he.has(Ve)
              );
              kt && ms(_t, kt === _t);
            },
            1
            /* Recursive */
          ) : z6;
        }
        function Ze() {
          const Ie = e.getCompilationSettings();
          if (Ie.types) {
            Ne();
            return;
          }
          const ft = qD(Ie, { getCurrentDirectory: O });
          ft ? aD(
            Me,
            new Set(ft),
            {
              createNewValue: qe,
              onDeleteValue: $p
            }
          ) : Ne();
        }
        function bt(Ie) {
          return e.getCompilationSettings().typeRoots ? !0 : Vie(e.toPath(Ie));
        }
      }
      function Yje(e) {
        var t, n;
        return !!((t = e.resolvedModule) != null && t.originalPath || (n = e.resolvedTypeReferenceDirective) != null && n.originalPath);
      }
      var Bve = dl ? {
        getCurrentDirectory: () => dl.getCurrentDirectory(),
        getNewLine: () => dl.newLine,
        getCanonicalFileName: Hl(dl.useCaseSensitiveFileNames)
      } : void 0;
      function sk(e, t) {
        const n = e === dl && Bve ? Bve : {
          getCurrentDirectory: () => e.getCurrentDirectory(),
          getNewLine: () => e.newLine,
          getCanonicalFileName: Hl(e.useCaseSensitiveFileNames)
        };
        if (!t)
          return (s) => e.write(iV(s, n));
        const i = new Array(1);
        return (s) => {
          i[0] = s, e.write(Sie(i, n) + n.getNewLine()), i[0] = void 0;
        };
      }
      function Jve(e, t, n) {
        return e.clearScreen && !n.preserveWatchOutput && !n.extendedDiagnostics && !n.diagnostics && _s(zve, t.code) ? (e.clearScreen(), !0) : !1;
      }
      var zve = [
        p.Starting_compilation_in_watch_mode.code,
        p.File_change_detected_Starting_incremental_compilation.code
      ];
      function Zje(e, t) {
        return _s(zve, e.code) ? t + t : t;
      }
      function bA(e) {
        return e.now ? (
          // On some systems / builds of Node, there's a non-breaking space between the time and AM/PM.
          // This branch is solely for testing, so just switch it to a normal space for baseline stability.
          // See:
          //     - https://github.com/nodejs/node/issues/45171
          //     - https://github.com/nodejs/node/issues/45753
          e.now().toLocaleTimeString("en-US", { timeZone: "UTC" }).replace(" ", " ")
        ) : (/* @__PURE__ */ new Date()).toLocaleTimeString();
      }
      function CV(e, t) {
        return t ? (n, i, s) => {
          Jve(e, n, s);
          let o = `[${n2(
            bA(e),
            "\x1B[90m"
            /* Grey */
          )}] `;
          o += `${fm(n.messageText, e.newLine)}${i + i}`, e.write(o);
        } : (n, i, s) => {
          let o = "";
          Jve(e, n, s) || (o += i), o += `${bA(e)} - `, o += `${fm(n.messageText, e.newLine)}${Zje(n, i)}`, e.write(o);
        };
      }
      function Xie(e, t, n, i, s, o) {
        const c = s;
        c.onUnRecoverableConfigFileDiagnostic = (u) => Uve(s, o, u);
        const _ = UN(e, t, c, n, i);
        return c.onUnRecoverableConfigFileDiagnostic = void 0, _;
      }
      function UO(e) {
        return d0(
          e,
          (t) => t.category === 1
          /* Error */
        );
      }
      function qO(e) {
        return Tn(
          e,
          (n) => n.category === 1
          /* Error */
        ).map(
          (n) => {
            if (n.file !== void 0)
              return `${n.file.fileName}`;
          }
        ).map((n) => {
          if (n === void 0)
            return;
          const i = Dn(e, (s) => s.file !== void 0 && s.file.fileName === n);
          if (i !== void 0) {
            const { line: s } = Js(i.file, i.start);
            return {
              fileName: n,
              line: s + 1
            };
          }
        });
      }
      function EV(e) {
        return e === 1 ? p.Found_1_error_Watching_for_file_changes : p.Found_0_errors_Watching_for_file_changes;
      }
      function Wve(e, t) {
        const n = n2(
          ":" + e.line,
          "\x1B[90m"
          /* Grey */
        );
        return p4(e.fileName) && p4(t) ? Ef(
          t,
          e.fileName,
          /*ignoreCase*/
          !1
        ) + n : e.fileName + n;
      }
      function DV(e, t, n, i) {
        if (e === 0) return "";
        const s = t.filter((m) => m !== void 0), o = s.map((m) => `${m.fileName}:${m.line}`).filter((m, h, S) => S.indexOf(m) === h), c = s[0] && Wve(s[0], i.getCurrentDirectory());
        let _;
        e === 1 ? _ = t[0] !== void 0 ? [p.Found_1_error_in_0, c] : [p.Found_1_error] : _ = o.length === 0 ? [p.Found_0_errors, e] : o.length === 1 ? [p.Found_0_errors_in_the_same_file_starting_at_Colon_1, e, c] : [p.Found_0_errors_in_1_files, e, o.length];
        const u = $o(..._), g = o.length > 1 ? Kje(s, i) : "";
        return `${n}${fm(u.messageText, n)}${n}${n}${g}`;
      }
      function Kje(e, t) {
        const n = e.filter((h, S, T) => S === T.findIndex((k) => k?.fileName === h?.fileName));
        if (n.length === 0) return "";
        const i = (h) => Math.log(h) * Math.LOG10E + 1, s = n.map((h) => [h, d0(e, (S) => S.fileName === h.fileName)]), o = IR(s, 0, (h) => h[1]), c = p.Errors_Files.message, _ = c.split(" ")[0].length, u = Math.max(_, i(o)), g = Math.max(i(o) - _, 0);
        let m = "";
        return m += " ".repeat(g) + c + `
`, s.forEach((h) => {
          const [S, T] = h, k = Math.log(T) * Math.LOG10E + 1 | 0, D = k < u ? " ".repeat(u - k) : "", w = Wve(S, t.getCurrentDirectory());
          m += `${D}${T}  ${w}
`;
        }), m;
      }
      function wV(e) {
        return !!e.state;
      }
      function eBe(e, t) {
        const n = e.getCompilerOptions();
        n.explainFiles ? PV(wV(e) ? e.getProgram() : e, t) : (n.listFiles || n.listFilesOnly) && ar(e.getSourceFiles(), (i) => {
          t(i.fileName);
        });
      }
      function PV(e, t) {
        var n, i;
        const s = e.getFileIncludeReasons(), o = (c) => d4(c, e.getCurrentDirectory(), e.getCanonicalFileName);
        for (const c of e.getSourceFiles())
          t(`${J6(c, o)}`), (n = s.get(c.path)) == null || n.forEach((_) => t(`  ${FV(e, _, o).messageText}`)), (i = NV(c, e.getCompilerOptionsForFile(c), o)) == null || i.forEach((_) => t(`  ${_.messageText}`));
      }
      function NV(e, t, n) {
        var i;
        let s;
        if (e.path !== e.resolvedPath && (s ?? (s = [])).push(vs(
          /*details*/
          void 0,
          p.File_is_output_of_project_reference_source_0,
          J6(e.originalFileName, n)
        )), e.redirectInfo && (s ?? (s = [])).push(vs(
          /*details*/
          void 0,
          p.File_redirects_to_file_0,
          J6(e.redirectInfo.redirectTarget, n)
        )), H_(e))
          switch (GS(e, t)) {
            case 99:
              e.packageJsonScope && (s ?? (s = [])).push(vs(
                /*details*/
                void 0,
                p.File_is_ECMAScript_module_because_0_has_field_type_with_value_module,
                J6(pa(e.packageJsonLocations), n)
              ));
              break;
            case 1:
              e.packageJsonScope ? (s ?? (s = [])).push(vs(
                /*details*/
                void 0,
                e.packageJsonScope.contents.packageJsonContent.type ? p.File_is_CommonJS_module_because_0_has_field_type_whose_value_is_not_module : p.File_is_CommonJS_module_because_0_does_not_have_field_type,
                J6(pa(e.packageJsonLocations), n)
              )) : (i = e.packageJsonLocations) != null && i.length && (s ?? (s = [])).push(vs(
                /*details*/
                void 0,
                p.File_is_CommonJS_module_because_package_json_was_not_found
              ));
              break;
          }
        return s;
      }
      function AV(e, t) {
        var n;
        const i = e.getCompilerOptions().configFile;
        if (!((n = i?.configFileSpecs) != null && n.validatedFilesSpec)) return;
        const s = e.getCanonicalFileName(t), o = Un(Xi(i.fileName, e.getCurrentDirectory())), c = oc(i.configFileSpecs.validatedFilesSpec, (_) => e.getCanonicalFileName(Xi(_, o)) === s);
        return c !== -1 ? i.configFileSpecs.validatedFilesSpecBeforeSubstitution[c] : void 0;
      }
      function IV(e, t) {
        var n, i;
        const s = e.getCompilerOptions().configFile;
        if (!((n = s?.configFileSpecs) != null && n.validatedIncludeSpecs)) return;
        if (s.configFileSpecs.isDefaultIncludeSpec) return !0;
        const o = Wo(
          t,
          ".json"
          /* Json */
        ), c = Un(Xi(s.fileName, e.getCurrentDirectory())), _ = e.useCaseSensitiveFileNames(), u = oc((i = s?.configFileSpecs) == null ? void 0 : i.validatedIncludeSpecs, (g) => {
          if (o && !No(
            g,
            ".json"
            /* Json */
          )) return !1;
          const m = TJ(g, c, "files");
          return !!m && k0(`(${m})$`, _).test(t);
        });
        return u !== -1 ? s.configFileSpecs.validatedIncludeSpecsBeforeSubstitution[u] : void 0;
      }
      function FV(e, t, n) {
        var i, s;
        const o = e.getCompilerOptions();
        if (yv(t)) {
          const c = cw(e, t), _ = j6(c) ? c.file.text.substring(c.pos, c.end) : `"${c.text}"`;
          let u;
          switch (E.assert(j6(c) || t.kind === 3, "Only synthetic references are imports"), t.kind) {
            case 3:
              j6(c) ? u = c.packageId ? p.Imported_via_0_from_file_1_with_packageId_2 : p.Imported_via_0_from_file_1 : c.text === zy ? u = c.packageId ? p.Imported_via_0_from_file_1_with_packageId_2_to_import_importHelpers_as_specified_in_compilerOptions : p.Imported_via_0_from_file_1_to_import_importHelpers_as_specified_in_compilerOptions : u = c.packageId ? p.Imported_via_0_from_file_1_with_packageId_2_to_import_jsx_and_jsxs_factory_functions : p.Imported_via_0_from_file_1_to_import_jsx_and_jsxs_factory_functions;
              break;
            case 4:
              E.assert(!c.packageId), u = p.Referenced_via_0_from_file_1;
              break;
            case 5:
              u = c.packageId ? p.Type_library_referenced_via_0_from_file_1_with_packageId_2 : p.Type_library_referenced_via_0_from_file_1;
              break;
            case 7:
              E.assert(!c.packageId), u = p.Library_referenced_via_0_from_file_1;
              break;
            default:
              E.assertNever(t);
          }
          return vs(
            /*details*/
            void 0,
            u,
            _,
            J6(c.file, n),
            c.packageId && q1(c.packageId)
          );
        }
        switch (t.kind) {
          case 0:
            if (!((i = o.configFile) != null && i.configFileSpecs)) return vs(
              /*details*/
              void 0,
              p.Root_file_specified_for_compilation
            );
            const c = Xi(e.getRootFileNames()[t.index], e.getCurrentDirectory());
            if (AV(e, c)) return vs(
              /*details*/
              void 0,
              p.Part_of_files_list_in_tsconfig_json
            );
            const u = IV(e, c);
            return cs(u) ? vs(
              /*details*/
              void 0,
              p.Matched_by_include_pattern_0_in_1,
              u,
              J6(o.configFile, n)
            ) : (
              // Could be additional files specified as roots or matched by default include
              vs(
                /*details*/
                void 0,
                u ? p.Matched_by_default_include_pattern_Asterisk_Asterisk_Slash_Asterisk : p.Root_file_specified_for_compilation
              )
            );
          case 1:
          case 2:
            const g = t.kind === 2, m = E.checkDefined((s = e.getResolvedProjectReferences()) == null ? void 0 : s[t.index]);
            return vs(
              /*details*/
              void 0,
              o.outFile ? g ? p.Output_from_referenced_project_0_included_because_1_specified : p.Source_from_referenced_project_0_included_because_1_specified : g ? p.Output_from_referenced_project_0_included_because_module_is_specified_as_none : p.Source_from_referenced_project_0_included_because_module_is_specified_as_none,
              J6(m.sourceFile.fileName, n),
              o.outFile ? "--outFile" : "--out"
            );
          case 8: {
            const h = o.types ? t.packageId ? [p.Entry_point_of_type_library_0_specified_in_compilerOptions_with_packageId_1, t.typeReference, q1(t.packageId)] : [p.Entry_point_of_type_library_0_specified_in_compilerOptions, t.typeReference] : t.packageId ? [p.Entry_point_for_implicit_type_library_0_with_packageId_1, t.typeReference, q1(t.packageId)] : [p.Entry_point_for_implicit_type_library_0, t.typeReference];
            return vs(
              /*details*/
              void 0,
              ...h
            );
          }
          case 6: {
            if (t.index !== void 0) return vs(
              /*details*/
              void 0,
              p.Library_0_specified_in_compilerOptions,
              o.lib[t.index]
            );
            const h = B5(ga(o)), S = h ? [p.Default_library_for_target_0, h] : [p.Default_library];
            return vs(
              /*details*/
              void 0,
              ...S
            );
          }
          default:
            E.assertNever(t);
        }
      }
      function J6(e, t) {
        const n = cs(e) ? e : e.fileName;
        return t ? t(n) : n;
      }
      function HO(e, t, n, i, s, o, c, _) {
        const u = e.getCompilerOptions(), g = e.getConfigFileParsingDiagnostics().slice(), m = g.length;
        wn(g, e.getSyntacticDiagnostics(
          /*sourceFile*/
          void 0,
          o
        )), g.length === m && (wn(g, e.getOptionsDiagnostics(o)), u.listFilesOnly || (wn(g, e.getGlobalDiagnostics(o)), g.length === m && wn(g, e.getSemanticDiagnostics(
          /*sourceFile*/
          void 0,
          o
        )), u.noEmit && w_(u) && g.length === m && wn(g, e.getDeclarationDiagnostics(
          /*sourceFile*/
          void 0,
          o
        ))));
        const h = u.listFilesOnly ? { emitSkipped: !0, diagnostics: Ue } : e.emit(
          /*targetSourceFile*/
          void 0,
          s,
          o,
          c,
          _
        );
        wn(g, h.diagnostics);
        const S = DC(g);
        if (S.forEach(t), n) {
          const T = e.getCurrentDirectory();
          ar(h.emittedFiles, (k) => {
            const D = Xi(k, T);
            n(`TSFILE: ${D}`);
          }), eBe(e, n);
        }
        return i && i(UO(S), qO(S)), {
          emitResult: h,
          diagnostics: S
        };
      }
      function OV(e, t, n, i, s, o, c, _) {
        const { emitResult: u, diagnostics: g } = HO(
          e,
          t,
          n,
          i,
          s,
          o,
          c,
          _
        );
        return u.emitSkipped && g.length > 0 ? 1 : g.length > 0 ? 2 : 0;
      }
      var z6 = { close: Ua }, uw = () => z6;
      function LV(e = dl, t) {
        return {
          onWatchStatusChange: t || CV(e),
          watchFile: Ls(e, e.watchFile) || uw,
          watchDirectory: Ls(e, e.watchDirectory) || uw,
          setTimeout: Ls(e, e.setTimeout) || Ua,
          clearTimeout: Ls(e, e.clearTimeout) || Ua,
          preferNonRecursiveWatch: e.preferNonRecursiveWatch
        };
      }
      var Nl = {
        ConfigFile: "Config file",
        ExtendedConfigFile: "Extended config file",
        SourceFile: "Source file",
        MissingFile: "Missing file",
        WildcardDirectory: "Wild card directory",
        FailedLookupLocations: "Failed Lookup Locations",
        AffectingFileLocation: "File location affecting resolution",
        TypeRoots: "Type roots",
        ConfigFileOfReferencedProject: "Config file of referened project",
        ExtendedConfigOfReferencedProject: "Extended config file of referenced project",
        WildcardDirectoryOfReferencedProject: "Wild card directory of referenced project",
        PackageJson: "package.json file",
        ClosedScriptInfo: "Closed Script info",
        ConfigFileForInferredRoot: "Config file for the inferred project root",
        NodeModules: "node_modules for closed script infos and package.jsons affecting module specifier cache",
        MissingSourceMapFile: "Missing source map file",
        NoopConfigFileForInferredRoot: "Noop Config file for the inferred project root",
        MissingGeneratedFile: "Missing generated file",
        NodeModulesForModuleSpecifierCache: "node_modules for module specifier cache invalidation",
        TypingInstallerLocationFile: "File location for typing installer",
        TypingInstallerLocationDirectory: "Directory location for typing installer"
      };
      function MV(e, t) {
        const n = e.trace ? t.extendedDiagnostics ? 2 : t.diagnostics ? 1 : 0 : 0, i = n !== 0 ? (o) => e.trace(o) : Ua, s = KW(e, n, i);
        return s.writeLog = i, s;
      }
      function RV(e, t, n = e) {
        const i = e.useCaseSensitiveFileNames(), s = {
          getSourceFile: rV(
            (o, c) => c ? e.readFile(o, c) : s.readFile(o),
            /*setParentNodes*/
            void 0
          ),
          getDefaultLibLocation: Ls(e, e.getDefaultLibLocation),
          getDefaultLibFileName: (o) => e.getDefaultLibFileName(o),
          writeFile: nV(
            (o, c, _) => e.writeFile(o, c, _),
            (o) => e.createDirectory(o),
            (o) => e.directoryExists(o)
          ),
          getCurrentDirectory: Au(() => e.getCurrentDirectory()),
          useCaseSensitiveFileNames: () => i,
          getCanonicalFileName: Hl(i),
          getNewLine: () => x0(t()),
          fileExists: (o) => e.fileExists(o),
          readFile: (o) => e.readFile(o),
          trace: Ls(e, e.trace),
          directoryExists: Ls(n, n.directoryExists),
          getDirectories: Ls(n, n.getDirectories),
          realpath: Ls(e, e.realpath),
          getEnvironmentVariable: Ls(e, e.getEnvironmentVariable) || (() => ""),
          createHash: Ls(e, e.createHash),
          readDirectory: Ls(e, e.readDirectory),
          storeSignatureInfo: e.storeSignatureInfo,
          jsDocParsingMode: e.jsDocParsingMode
        };
        return s;
      }
      function GO(e, t) {
        if (t.match(bne)) {
          let n = t.length, i = n;
          for (let s = n - 1; s >= 0; s--) {
            const o = t.charCodeAt(s);
            switch (o) {
              case 10:
                s && t.charCodeAt(s - 1) === 13 && s--;
              // falls through
              case 13:
                break;
              default:
                if (o < 127 || !gu(o)) {
                  i = s;
                  continue;
                }
                break;
            }
            const c = t.substring(i, n);
            if (c.match(EW)) {
              t = t.substring(0, i);
              break;
            } else if (!c.match(DW))
              break;
            n = i;
          }
        }
        return (e.createHash || f4)(t);
      }
      function $O(e) {
        const t = e.getSourceFile;
        e.getSourceFile = (...n) => {
          const i = t.call(e, ...n);
          return i && (i.version = GO(e, i.text)), i;
        };
      }
      function jV(e, t) {
        const n = Au(() => Un(Gs(e.getExecutingFilePath())));
        return {
          useCaseSensitiveFileNames: () => e.useCaseSensitiveFileNames,
          getNewLine: () => e.newLine,
          getCurrentDirectory: Au(() => e.getCurrentDirectory()),
          getDefaultLibLocation: n,
          getDefaultLibFileName: (i) => An(n(), BP(i)),
          fileExists: (i) => e.fileExists(i),
          readFile: (i, s) => e.readFile(i, s),
          directoryExists: (i) => e.directoryExists(i),
          getDirectories: (i) => e.getDirectories(i),
          readDirectory: (i, s, o, c, _) => e.readDirectory(i, s, o, c, _),
          realpath: Ls(e, e.realpath),
          getEnvironmentVariable: Ls(e, e.getEnvironmentVariable),
          trace: (i) => e.write(i + e.newLine),
          createDirectory: (i) => e.createDirectory(i),
          writeFile: (i, s, o) => e.writeFile(i, s, o),
          createHash: Ls(e, e.createHash),
          createProgram: t || SV,
          storeSignatureInfo: e.storeSignatureInfo,
          now: Ls(e, e.now)
        };
      }
      function Vve(e = dl, t, n, i) {
        const s = (c) => e.write(c + e.newLine), o = jV(e, t);
        return NR(o, LV(e, i)), o.afterProgramCreate = (c) => {
          const _ = c.getCompilerOptions(), u = x0(_);
          HO(
            c,
            n,
            s,
            (g) => o.onWatchStatusChange(
              $o(EV(g), g),
              u,
              _,
              g
            )
          );
        }, o;
      }
      function Uve(e, t, n) {
        t(n), e.exit(
          1
          /* DiagnosticsPresent_OutputsSkipped */
        );
      }
      function BV({
        configFileName: e,
        optionsToExtend: t,
        watchOptionsToExtend: n,
        extraFileExtensions: i,
        system: s,
        createProgram: o,
        reportDiagnostic: c,
        reportWatchStatus: _
      }) {
        const u = c || sk(s), g = Vve(s, o, u, _);
        return g.onUnRecoverableConfigFileDiagnostic = (m) => Uve(s, u, m), g.configFileName = e, g.optionsToExtend = t, g.watchOptionsToExtend = n, g.extraFileExtensions = i, g;
      }
      function JV({
        rootFiles: e,
        options: t,
        watchOptions: n,
        projectReferences: i,
        system: s,
        createProgram: o,
        reportDiagnostic: c,
        reportWatchStatus: _
      }) {
        const u = Vve(s, o, c || sk(s), _);
        return u.rootFiles = e, u.options = t, u.watchOptions = n, u.projectReferences = i, u;
      }
      function Qie(e) {
        const t = e.system || dl, n = e.host || (e.host = QO(e.options, t)), i = Yie(e), s = OV(
          i,
          e.reportDiagnostic || sk(t),
          (o) => n.trace && n.trace(o),
          e.reportErrorSummary || e.options.pretty ? (o, c) => t.write(DV(o, c, t.newLine, n)) : void 0
        );
        return e.afterProgramEmitAndDiagnostics && e.afterProgramEmitAndDiagnostics(i), s;
      }
      function XO(e, t) {
        const n = hv(e);
        if (!n) return;
        let i;
        if (t.getBuildInfo)
          i = t.getBuildInfo(n, e.configFilePath);
        else {
          const s = t.readFile(n);
          if (!s) return;
          i = XW(n, s);
        }
        if (!(!i || i.version !== Gf || !yA(i)))
          return Jie(i, n, t);
      }
      function QO(e, t = dl) {
        const n = NO(
          e,
          /*setParentNodes*/
          void 0,
          t
        );
        return n.createHash = Ls(t, t.createHash), n.storeSignatureInfo = t.storeSignatureInfo, $O(n), aw(n, (i) => lo(i, n.getCurrentDirectory(), n.getCanonicalFileName)), n;
      }
      function Yie({
        rootNames: e,
        options: t,
        configFileParsingDiagnostics: n,
        projectReferences: i,
        host: s,
        createProgram: o
      }) {
        s = s || QO(t), o = o || SV;
        const c = XO(t, s);
        return o(e, t, s, c, n, i);
      }
      function qve(e, t, n, i, s, o, c, _) {
        return fs(e) ? JV({
          rootFiles: e,
          options: t,
          watchOptions: _,
          projectReferences: c,
          system: n,
          createProgram: i,
          reportDiagnostic: s,
          reportWatchStatus: o
        }) : BV({
          configFileName: e,
          optionsToExtend: t,
          watchOptionsToExtend: c,
          extraFileExtensions: _,
          system: n,
          createProgram: i,
          reportDiagnostic: s,
          reportWatchStatus: o
        });
      }
      function zV(e) {
        let t, n, i, s, o = /* @__PURE__ */ new Map([[void 0, void 0]]), c, _, u, g, m = e.extendedConfigCache, h = !1;
        const S = /* @__PURE__ */ new Map();
        let T, k = !1;
        const D = e.useCaseSensitiveFileNames(), w = e.getCurrentDirectory(), { configFileName: A, optionsToExtend: O = {}, watchOptionsToExtend: F, extraFileExtensions: j, createProgram: z } = e;
        let { rootFiles: V, options: G, watchOptions: W, projectReferences: pe } = e, K, U, ee = !1, te = !1;
        const ie = A === void 0 ? void 0 : DO(e, w, D), fe = ie || e, me = jO(e, fe);
        let q = Fr();
        A && e.configFileParsingResult && (gr(e.configFileParsingResult), q = Fr()), li(p.Starting_compilation_in_watch_mode), A && !e.configFileParsingResult && (q = x0(O), E.assert(!V), ta(), q = Fr()), E.assert(G), E.assert(V);
        const { watchFile: he, watchDirectory: Me, writeLog: De } = MV(e, G), re = Hl(D);
        De(`Current directory: ${w} CaseSensitiveFileNames: ${D}`);
        let xe;
        A && (xe = he(A, Vr, 2e3, W, Nl.ConfigFile));
        const ue = RV(e, () => G, fe);
        $O(ue);
        const Xe = ue.getSourceFile;
        ue.getSourceFile = (_t, ...kt) => zi(_t, it(_t), ...kt), ue.getSourceFileByPath = zi, ue.getNewLine = () => q, ue.fileExists = ai, ue.onReleaseOldSourceFile = ii, ue.onReleaseParsedCommandLine = Et, ue.toPath = it, ue.getCompilationSettings = () => G, ue.useSourceOfProjectReferenceRedirect = Ls(e, e.useSourceOfProjectReferenceRedirect), ue.preferNonRecursiveWatch = e.preferNonRecursiveWatch, ue.watchDirectoryOfFailedLookupLocation = (_t, kt, Ve) => Me(_t, kt, Ve, W, Nl.FailedLookupLocations), ue.watchAffectingFileLocation = (_t, kt) => he(_t, kt, 2e3, W, Nl.AffectingFileLocation), ue.watchTypeRootsDirectory = (_t, kt, Ve) => Me(_t, kt, Ve, W, Nl.TypeRoots), ue.getCachedDirectoryStructureHost = () => ie, ue.scheduleInvalidateResolutionsOfFailedLookupLocations = je, ue.onInvalidatedResolution = er, ue.onChangedAutomaticTypeDirectiveNames = er, ue.fileIsOpen = Th, ue.getCurrentProgram = ze, ue.writeLog = De, ue.getParsedCommandLine = ms;
        const nt = kV(
          ue,
          A ? Un(Xi(A, w)) : w,
          /*logChangesWhenResolvingModule*/
          !1
        );
        ue.resolveModuleNameLiterals = Ls(e, e.resolveModuleNameLiterals), ue.resolveModuleNames = Ls(e, e.resolveModuleNames), !ue.resolveModuleNameLiterals && !ue.resolveModuleNames && (ue.resolveModuleNameLiterals = nt.resolveModuleNameLiterals.bind(nt)), ue.resolveTypeReferenceDirectiveReferences = Ls(e, e.resolveTypeReferenceDirectiveReferences), ue.resolveTypeReferenceDirectives = Ls(e, e.resolveTypeReferenceDirectives), !ue.resolveTypeReferenceDirectiveReferences && !ue.resolveTypeReferenceDirectives && (ue.resolveTypeReferenceDirectiveReferences = nt.resolveTypeReferenceDirectiveReferences.bind(nt)), ue.resolveLibrary = e.resolveLibrary ? e.resolveLibrary.bind(e) : nt.resolveLibrary.bind(nt), ue.getModuleResolutionCache = e.resolveModuleNameLiterals || e.resolveModuleNames ? Ls(e, e.getModuleResolutionCache) : () => nt.getModuleResolutionCache();
        const ve = !!e.resolveModuleNameLiterals || !!e.resolveTypeReferenceDirectiveReferences || !!e.resolveModuleNames || !!e.resolveTypeReferenceDirectives ? Ls(e, e.hasInvalidatedResolutions) || db : Th, se = e.resolveLibrary ? Ls(e, e.hasInvalidatedLibResolutions) || db : Th;
        return t = XO(G, ue), St(), A ? { getCurrentProgram: Ce, getProgram: Wn, close: Pe, getResolutionCache: Ee } : { getCurrentProgram: Ce, getProgram: Wn, updateRootFileNames: tr, close: Pe, getResolutionCache: Ee };
        function Pe() {
          ci(), nt.clear(), D_(S, (_t) => {
            _t && _t.fileWatcher && (_t.fileWatcher.close(), _t.fileWatcher = void 0);
          }), xe && (xe.close(), xe = void 0), m?.clear(), m = void 0, g && (D_(g, lp), g = void 0), s && (D_(s, lp), s = void 0), i && (D_(i, $p), i = void 0), u && (D_(u, (_t) => {
            var kt;
            (kt = _t.watcher) == null || kt.close(), _t.watcher = void 0, _t.watchedDirectories && D_(_t.watchedDirectories, lp), _t.watchedDirectories = void 0;
          }), u = void 0), t = void 0;
        }
        function Ee() {
          return nt;
        }
        function Ce() {
          return t;
        }
        function ze() {
          return t && t.getProgramOrUndefined();
        }
        function St() {
          De("Synchronizing program"), E.assert(G), E.assert(V), ci();
          const _t = Ce();
          k && (q = Fr(), _t && N7(_t.getCompilerOptions(), G) && nt.onChangesAffectModuleResolution());
          const { hasInvalidatedResolutions: kt, hasInvalidatedLibResolutions: Ve } = nt.createHasInvalidatedResolutions(ve, se), {
            originalReadFile: Rt,
            originalFileExists: Zr,
            originalDirectoryExists: we,
            originalCreateDirectory: mt,
            originalWriteFile: _e,
            readFileWithCache: M
          } = aw(ue, it);
          return uV(ze(), V, G, (ye) => Fn(ye, M), (ye) => ue.fileExists(ye), kt, Ve, cn, ms, pe) ? te && (h && li(p.File_change_detected_Starting_incremental_compilation), t = z(
            /*rootNames*/
            void 0,
            /*options*/
            void 0,
            ue,
            t,
            U,
            pe
          ), te = !1) : (h && li(p.File_change_detected_Starting_incremental_compilation), Bt(kt, Ve)), h = !1, e.afterProgramCreate && _t !== t && e.afterProgramCreate(t), ue.readFile = Rt, ue.fileExists = Zr, ue.directoryExists = we, ue.createDirectory = mt, ue.writeFile = _e, o?.forEach((ye, X) => {
            if (!X)
              Ze(), A && Ie(it(A), G, W, Nl.ExtendedConfigFile);
            else {
              const pt = u?.get(X);
              pt && ft(ye, X, pt);
            }
          }), o = void 0, t;
        }
        function Bt(_t, kt) {
          De("CreatingProgramWith::"), De(`  roots: ${JSON.stringify(V)}`), De(`  options: ${JSON.stringify(G)}`), pe && De(`  projectReferences: ${JSON.stringify(pe)}`);
          const Ve = k || !ze();
          k = !1, te = !1, nt.startCachingPerDirectoryResolution(), ue.hasInvalidatedResolutions = _t, ue.hasInvalidatedLibResolutions = kt, ue.hasChangedAutomaticTypeDirectiveNames = cn;
          const Rt = ze();
          if (t = z(V, G, ue, t, U, pe), nt.finishCachingPerDirectoryResolution(t.getProgram(), Rt), ZW(
            t.getProgram(),
            i || (i = /* @__PURE__ */ new Map()),
            Ne
          ), Ve && nt.updateTypeRootsWatch(), T) {
            for (const Zr of T)
              i.has(Zr) || S.delete(Zr);
            T = void 0;
          }
        }
        function tr(_t) {
          E.assert(!A, "Cannot update root file names with config file watch mode"), V = _t, er();
        }
        function Fr() {
          return x0(G || O);
        }
        function it(_t) {
          return lo(_t, w, re);
        }
        function Wt(_t) {
          return typeof _t == "boolean";
        }
        function Wr(_t) {
          return typeof _t.version == "boolean";
        }
        function ai(_t) {
          const kt = it(_t);
          return Wt(S.get(kt)) ? !1 : fe.fileExists(_t);
        }
        function zi(_t, kt, Ve, Rt, Zr) {
          const we = S.get(kt);
          if (Wt(we))
            return;
          const mt = typeof Ve == "object" ? Ve.impliedNodeFormat : void 0;
          if (we === void 0 || Zr || Wr(we) || we.sourceFile.impliedNodeFormat !== mt) {
            const _e = Xe(_t, Ve, Rt);
            if (we)
              _e ? (we.sourceFile = _e, we.version = _e.version, we.fileWatcher || (we.fileWatcher = ne(kt, _t, rt, 250, W, Nl.SourceFile))) : (we.fileWatcher && we.fileWatcher.close(), S.set(kt, !1));
            else if (_e) {
              const M = ne(kt, _t, rt, 250, W, Nl.SourceFile);
              S.set(kt, { sourceFile: _e, version: _e.version, fileWatcher: M });
            } else
              S.set(kt, !1);
            return _e;
          }
          return we.sourceFile;
        }
        function Pt(_t) {
          const kt = S.get(_t);
          kt !== void 0 && (Wt(kt) ? S.set(_t, { version: !1 }) : kt.version = !1);
        }
        function Fn(_t, kt) {
          const Ve = S.get(_t);
          if (!Ve) return;
          if (Ve.version) return Ve.version;
          const Rt = kt(_t);
          return Rt !== void 0 ? GO(ue, Rt) : void 0;
        }
        function ii(_t, kt, Ve) {
          const Rt = S.get(_t.resolvedPath);
          Rt !== void 0 && (Wt(Rt) ? (T || (T = [])).push(_t.path) : Rt.sourceFile === _t && (Rt.fileWatcher && Rt.fileWatcher.close(), S.delete(_t.resolvedPath), Ve || nt.removeResolutionsOfFile(_t.path)));
        }
        function li(_t) {
          e.onWatchStatusChange && e.onWatchStatusChange($o(_t), q, G || O);
        }
        function cn() {
          return nt.hasChangedAutomaticTypeDirectiveNames();
        }
        function ci() {
          return _ ? (e.clearTimeout(_), _ = void 0, !0) : !1;
        }
        function je() {
          if (!e.setTimeout || !e.clearTimeout)
            return nt.invalidateResolutionsOfFailedLookupLocations();
          const _t = ci();
          De(`Scheduling invalidateFailedLookup${_t ? ", Cancelled earlier one" : ""}`), _ = e.setTimeout(ut, 250, "timerToInvalidateFailedLookupResolutions");
        }
        function ut() {
          _ = void 0, nt.invalidateResolutionsOfFailedLookupLocations() && er();
        }
        function er() {
          !e.setTimeout || !e.clearTimeout || (c && e.clearTimeout(c), De("Scheduling update"), c = e.setTimeout(zn, 250, "timerToUpdateProgram"));
        }
        function Vr() {
          E.assert(!!A), n = 2, er();
        }
        function zn() {
          c = void 0, h = !0, Wn();
        }
        function Wn() {
          switch (n) {
            case 1:
              bi();
              break;
            case 2:
              ks();
              break;
            default:
              St();
              break;
          }
          return Ce();
        }
        function bi() {
          De("Reloading new file names and options"), E.assert(G), E.assert(A), n = 0, V = VD(G.configFile.configFileSpecs, Xi(Un(A), w), G, me, j), KF(
            V,
            Xi(A, w),
            G.configFile.configFileSpecs,
            U,
            ee
          ) && (te = !0), St();
        }
        function ks() {
          E.assert(A), De(`Reloading config file: ${A}`), n = 0, ie && ie.clearCache(), ta(), k = !0, (o ?? (o = /* @__PURE__ */ new Map())).set(void 0, void 0), St();
        }
        function ta() {
          E.assert(A), gr(
            UN(
              A,
              O,
              me,
              m || (m = /* @__PURE__ */ new Map()),
              F,
              j
            )
          );
        }
        function gr(_t) {
          V = _t.fileNames, G = _t.options, W = _t.watchOptions, pe = _t.projectReferences, K = _t.wildcardDirectories, U = i2(_t).slice(), ee = XN(_t.raw), te = !0;
        }
        function ms(_t) {
          const kt = it(_t);
          let Ve = u?.get(kt);
          if (Ve) {
            if (!Ve.updateLevel) return Ve.parsedCommandLine;
            if (Ve.parsedCommandLine && Ve.updateLevel === 1 && !e.getParsedCommandLine) {
              De("Reloading new file names and options"), E.assert(G);
              const Zr = VD(
                Ve.parsedCommandLine.options.configFile.configFileSpecs,
                Xi(Un(_t), w),
                G,
                me
              );
              return Ve.parsedCommandLine = { ...Ve.parsedCommandLine, fileNames: Zr }, Ve.updateLevel = void 0, Ve.parsedCommandLine;
            }
          }
          De(`Loading config file: ${_t}`);
          const Rt = e.getParsedCommandLine ? e.getParsedCommandLine(_t) : He(_t);
          return Ve ? (Ve.parsedCommandLine = Rt, Ve.updateLevel = void 0) : (u || (u = /* @__PURE__ */ new Map())).set(kt, Ve = { parsedCommandLine: Rt }), (o ?? (o = /* @__PURE__ */ new Map())).set(kt, _t), Rt;
        }
        function He(_t) {
          const kt = me.onUnRecoverableConfigFileDiagnostic;
          me.onUnRecoverableConfigFileDiagnostic = Ua;
          const Ve = UN(
            _t,
            /*optionsToExtend*/
            void 0,
            me,
            m || (m = /* @__PURE__ */ new Map()),
            F
          );
          return me.onUnRecoverableConfigFileDiagnostic = kt, Ve;
        }
        function Et(_t) {
          var kt;
          const Ve = it(_t), Rt = u?.get(Ve);
          Rt && (u.delete(Ve), Rt.watchedDirectories && D_(Rt.watchedDirectories, lp), (kt = Rt.watcher) == null || kt.close(), YW(Ve, g));
        }
        function ne(_t, kt, Ve, Rt, Zr, we) {
          return he(kt, (mt, _e) => Ve(mt, _e, _t), Rt, Zr, we);
        }
        function rt(_t, kt, Ve) {
          Q(_t, Ve, kt), kt === 2 && S.has(Ve) && nt.invalidateResolutionOfFile(Ve), Pt(Ve), er();
        }
        function Q(_t, kt, Ve) {
          ie && ie.addOrDeleteFile(_t, kt, Ve);
        }
        function Ne(_t, kt) {
          return u?.has(_t) ? z6 : ne(
            _t,
            kt,
            qe,
            500,
            W,
            Nl.MissingFile
          );
        }
        function qe(_t, kt, Ve) {
          Q(_t, Ve, kt), kt === 0 && i.has(Ve) && (i.get(Ve).close(), i.delete(Ve), Pt(Ve), er());
        }
        function Ze() {
          _A(
            s || (s = /* @__PURE__ */ new Map()),
            K,
            bt
          );
        }
        function bt(_t, kt) {
          return Me(
            _t,
            (Ve) => {
              E.assert(A), E.assert(G);
              const Rt = it(Ve);
              ie && ie.addOrDeleteFileOrDirectory(Ve, Rt), Pt(Rt), !fA({
                watchedDirPath: it(_t),
                fileOrDirectory: Ve,
                fileOrDirectoryPath: Rt,
                configFileName: A,
                extraFileExtensions: j,
                options: G,
                program: Ce() || V,
                currentDirectory: w,
                useCaseSensitiveFileNames: D,
                writeLog: De,
                toPath: it
              }) && n !== 2 && (n = 1, er());
            },
            kt,
            W,
            Nl.WildcardDirectory
          );
        }
        function Ie(_t, kt, Ve, Rt) {
          wO(
            _t,
            kt,
            g || (g = /* @__PURE__ */ new Map()),
            (Zr, we) => he(
              Zr,
              (mt, _e) => {
                var M;
                Q(Zr, we, _e), m && PO(m, we, it);
                const ye = (M = g.get(we)) == null ? void 0 : M.projects;
                ye?.size && ye.forEach((X) => {
                  if (A && it(A) === X)
                    n = 2;
                  else {
                    const pt = u?.get(X);
                    pt && (pt.updateLevel = 2), nt.removeResolutionsFromProjectReferenceRedirects(X);
                  }
                  er();
                });
              },
              2e3,
              Ve,
              Rt
            ),
            it
          );
        }
        function ft(_t, kt, Ve) {
          var Rt, Zr, we, mt;
          Ve.watcher || (Ve.watcher = he(
            _t,
            (_e, M) => {
              Q(_t, kt, M);
              const ye = u?.get(kt);
              ye && (ye.updateLevel = 2), nt.removeResolutionsFromProjectReferenceRedirects(kt), er();
            },
            2e3,
            ((Rt = Ve.parsedCommandLine) == null ? void 0 : Rt.watchOptions) || W,
            Nl.ConfigFileOfReferencedProject
          )), _A(
            Ve.watchedDirectories || (Ve.watchedDirectories = /* @__PURE__ */ new Map()),
            (Zr = Ve.parsedCommandLine) == null ? void 0 : Zr.wildcardDirectories,
            (_e, M) => {
              var ye;
              return Me(
                _e,
                (X) => {
                  const pt = it(X);
                  ie && ie.addOrDeleteFileOrDirectory(X, pt), Pt(pt);
                  const jt = u?.get(kt);
                  jt?.parsedCommandLine && (fA({
                    watchedDirPath: it(_e),
                    fileOrDirectory: X,
                    fileOrDirectoryPath: pt,
                    configFileName: _t,
                    options: jt.parsedCommandLine.options,
                    program: jt.parsedCommandLine.fileNames,
                    currentDirectory: w,
                    useCaseSensitiveFileNames: D,
                    writeLog: De,
                    toPath: it
                  }) || jt.updateLevel !== 2 && (jt.updateLevel = 1, er()));
                },
                M,
                ((ye = Ve.parsedCommandLine) == null ? void 0 : ye.watchOptions) || W,
                Nl.WildcardDirectoryOfReferencedProject
              );
            }
          ), Ie(
            kt,
            (we = Ve.parsedCommandLine) == null ? void 0 : we.options,
            ((mt = Ve.parsedCommandLine) == null ? void 0 : mt.watchOptions) || W,
            Nl.ExtendedConfigOfReferencedProject
          );
        }
      }
      var Zie = /* @__PURE__ */ ((e) => (e[e.Unbuildable = 0] = "Unbuildable", e[e.UpToDate = 1] = "UpToDate", e[e.UpToDateWithUpstreamTypes = 2] = "UpToDateWithUpstreamTypes", e[e.OutputMissing = 3] = "OutputMissing", e[e.ErrorReadingFile = 4] = "ErrorReadingFile", e[e.OutOfDateWithSelf = 5] = "OutOfDateWithSelf", e[e.OutOfDateWithUpstream = 6] = "OutOfDateWithUpstream", e[e.OutOfDateBuildInfoWithPendingEmit = 7] = "OutOfDateBuildInfoWithPendingEmit", e[e.OutOfDateBuildInfoWithErrors = 8] = "OutOfDateBuildInfoWithErrors", e[e.OutOfDateOptions = 9] = "OutOfDateOptions", e[e.OutOfDateRoots = 10] = "OutOfDateRoots", e[e.UpstreamOutOfDate = 11] = "UpstreamOutOfDate", e[e.UpstreamBlocked = 12] = "UpstreamBlocked", e[e.ComputingUpstream = 13] = "ComputingUpstream", e[e.TsVersionOutputOfDate = 14] = "TsVersionOutputOfDate", e[e.UpToDateWithInputFileText = 15] = "UpToDateWithInputFileText", e[e.ContainerOnly = 16] = "ContainerOnly", e[e.ForceBuild = 17] = "ForceBuild", e))(Zie || {});
      function WV(e) {
        return Wo(
          e,
          ".json"
          /* Json */
        ) ? e : An(e, "tsconfig.json");
      }
      var tBe = /* @__PURE__ */ new Date(-864e13);
      function rBe(e, t, n) {
        const i = e.get(t);
        let s;
        return i || (s = n(), e.set(t, s)), i || s;
      }
      function Kie(e, t) {
        return rBe(e, t, () => /* @__PURE__ */ new Map());
      }
      function VV(e) {
        return e.now ? e.now() : /* @__PURE__ */ new Date();
      }
      function ak(e) {
        return !!e && !!e.buildOrder;
      }
      function SA(e) {
        return ak(e) ? e.buildOrder : e;
      }
      function YO(e, t) {
        return (n) => {
          let i = t ? `[${n2(
            bA(e),
            "\x1B[90m"
            /* Grey */
          )}] ` : `${bA(e)} - `;
          i += `${fm(n.messageText, e.newLine)}${e.newLine + e.newLine}`, e.write(i);
        };
      }
      function Hve(e, t, n, i) {
        const s = jV(e, t);
        return s.getModifiedTime = e.getModifiedTime ? (o) => e.getModifiedTime(o) : mb, s.setModifiedTime = e.setModifiedTime ? (o, c) => e.setModifiedTime(o, c) : Ua, s.deleteFile = e.deleteFile ? (o) => e.deleteFile(o) : Ua, s.reportDiagnostic = n || sk(e), s.reportSolutionBuilderStatus = i || YO(e), s.now = Ls(e, e.now), s;
      }
      function ese(e = dl, t, n, i, s) {
        const o = Hve(e, t, n, i);
        return o.reportErrorSummary = s, o;
      }
      function tse(e = dl, t, n, i, s) {
        const o = Hve(e, t, n, i), c = LV(e, s);
        return NR(o, c), o;
      }
      function nBe(e) {
        const t = {};
        return WF.forEach((n) => {
          ao(e, n.name) && (t[n.name] = e[n.name]);
        }), t.tscBuild = !0, t;
      }
      function rse(e, t, n) {
        return pbe(
          /*watch*/
          !1,
          e,
          t,
          n
        );
      }
      function nse(e, t, n, i) {
        return pbe(
          /*watch*/
          !0,
          e,
          t,
          n,
          i
        );
      }
      function iBe(e, t, n, i, s) {
        const o = t, c = t, _ = nBe(i), u = RV(o, () => D.projectCompilerOptions);
        $O(u), u.getParsedCommandLine = (w) => W6(D, w, rg(D, w)), u.resolveModuleNameLiterals = Ls(o, o.resolveModuleNameLiterals), u.resolveTypeReferenceDirectiveReferences = Ls(o, o.resolveTypeReferenceDirectiveReferences), u.resolveLibrary = Ls(o, o.resolveLibrary), u.resolveModuleNames = Ls(o, o.resolveModuleNames), u.resolveTypeReferenceDirectives = Ls(o, o.resolveTypeReferenceDirectives), u.getModuleResolutionCache = Ls(o, o.getModuleResolutionCache);
        let g, m;
        !u.resolveModuleNameLiterals && !u.resolveModuleNames && (g = N6(u.getCurrentDirectory(), u.getCanonicalFileName), u.resolveModuleNameLiterals = (w, A, O, F, j) => dA(
          w,
          A,
          O,
          F,
          j,
          o,
          g,
          cV
        ), u.getModuleResolutionCache = () => g), !u.resolveTypeReferenceDirectiveReferences && !u.resolveTypeReferenceDirectives && (m = aO(
          u.getCurrentDirectory(),
          u.getCanonicalFileName,
          /*options*/
          void 0,
          g?.getPackageJsonInfoCache(),
          g?.optionsToRedirectsKey
        ), u.resolveTypeReferenceDirectiveReferences = (w, A, O, F, j) => dA(
          w,
          A,
          O,
          F,
          j,
          o,
          m,
          FO
        ));
        let h;
        u.resolveLibrary || (h = N6(
          u.getCurrentDirectory(),
          u.getCanonicalFileName,
          /*options*/
          void 0,
          g?.getPackageJsonInfoCache()
        ), u.resolveLibrary = (w, A, O) => oO(
          w,
          A,
          O,
          o,
          h
        )), u.getBuildInfo = (w, A) => ibe(
          D,
          w,
          rg(D, A),
          /*modifiedTime*/
          void 0
        );
        const { watchFile: S, watchDirectory: T, writeLog: k } = MV(c, i), D = {
          host: o,
          hostWithWatch: c,
          parseConfigFileHost: jO(o),
          write: Ls(o, o.trace),
          // State of solution
          options: i,
          baseCompilerOptions: _,
          rootNames: n,
          baseWatchOptions: s,
          resolvedConfigFilePaths: /* @__PURE__ */ new Map(),
          configFileCache: /* @__PURE__ */ new Map(),
          projectStatus: /* @__PURE__ */ new Map(),
          extendedConfigCache: /* @__PURE__ */ new Map(),
          buildInfoCache: /* @__PURE__ */ new Map(),
          outputTimeStamps: /* @__PURE__ */ new Map(),
          builderPrograms: /* @__PURE__ */ new Map(),
          diagnostics: /* @__PURE__ */ new Map(),
          projectPendingBuild: /* @__PURE__ */ new Map(),
          projectErrorsReported: /* @__PURE__ */ new Map(),
          compilerHost: u,
          moduleResolutionCache: g,
          typeReferenceDirectiveResolutionCache: m,
          libraryResolutionCache: h,
          // Mutable state
          buildOrder: void 0,
          readFileWithCache: (w) => o.readFile(w),
          projectCompilerOptions: _,
          cache: void 0,
          allProjectBuildPending: !0,
          needsSummary: !0,
          watchAllProjectsPending: e,
          // Watch state
          watch: e,
          allWatchedWildcardDirectories: /* @__PURE__ */ new Map(),
          allWatchedInputFiles: /* @__PURE__ */ new Map(),
          allWatchedConfigFiles: /* @__PURE__ */ new Map(),
          allWatchedExtendedConfigFiles: /* @__PURE__ */ new Map(),
          allWatchedPackageJsonFiles: /* @__PURE__ */ new Map(),
          filesWatched: /* @__PURE__ */ new Map(),
          lastCachedPackageJsonLookups: /* @__PURE__ */ new Map(),
          timerToBuildInvalidatedProject: void 0,
          reportFileChangeDetected: !1,
          watchFile: S,
          watchDirectory: T,
          writeLog: k
        };
        return D;
      }
      function Kp(e, t) {
        return lo(t, e.compilerHost.getCurrentDirectory(), e.compilerHost.getCanonicalFileName);
      }
      function rg(e, t) {
        const { resolvedConfigFilePaths: n } = e, i = n.get(t);
        if (i !== void 0) return i;
        const s = Kp(e, t);
        return n.set(t, s), s;
      }
      function Gve(e) {
        return !!e.options;
      }
      function sBe(e, t) {
        const n = e.configFileCache.get(t);
        return n && Gve(n) ? n : void 0;
      }
      function W6(e, t, n) {
        const { configFileCache: i } = e, s = i.get(n);
        if (s)
          return Gve(s) ? s : void 0;
        Zo("SolutionBuilder::beforeConfigFileParsing");
        let o;
        const { parseConfigFileHost: c, baseCompilerOptions: _, baseWatchOptions: u, extendedConfigCache: g, host: m } = e;
        let h;
        return m.getParsedCommandLine ? (h = m.getParsedCommandLine(t), h || (o = $o(p.File_0_not_found, t))) : (c.onUnRecoverableConfigFileDiagnostic = (S) => o = S, h = UN(t, _, c, g, u), c.onUnRecoverableConfigFileDiagnostic = Ua), i.set(n, h || o), Zo("SolutionBuilder::afterConfigFileParsing"), Xf("SolutionBuilder::Config file parsing", "SolutionBuilder::beforeConfigFileParsing", "SolutionBuilder::afterConfigFileParsing"), h;
      }
      function TA(e, t) {
        return WV(Ay(e.compilerHost.getCurrentDirectory(), t));
      }
      function $ve(e, t) {
        const n = /* @__PURE__ */ new Map(), i = /* @__PURE__ */ new Map(), s = [];
        let o, c;
        for (const u of t)
          _(u);
        return c ? { buildOrder: o || Ue, circularDiagnostics: c } : o || Ue;
        function _(u, g) {
          const m = rg(e, u);
          if (i.has(m)) return;
          if (n.has(m)) {
            g || (c || (c = [])).push(
              $o(
                p.Project_references_may_not_form_a_circular_graph_Cycle_detected_Colon_0,
                s.join(`\r
`)
              )
            );
            return;
          }
          n.set(m, !0), s.push(u);
          const h = W6(e, u, m);
          if (h && h.projectReferences)
            for (const S of h.projectReferences) {
              const T = TA(e, S.path);
              _(T, g || S.circular);
            }
          s.pop(), i.set(m, !0), (o || (o = [])).push(u);
        }
      }
      function ZO(e) {
        return e.buildOrder || aBe(e);
      }
      function aBe(e) {
        const t = $ve(e, e.rootNames.map((s) => TA(e, s)));
        e.resolvedConfigFilePaths.clear();
        const n = new Set(
          SA(t).map(
            (s) => rg(e, s)
          )
        ), i = { onDeleteValue: Ua };
        return Bg(e.configFileCache, n, i), Bg(e.projectStatus, n, i), Bg(e.builderPrograms, n, i), Bg(e.diagnostics, n, i), Bg(e.projectPendingBuild, n, i), Bg(e.projectErrorsReported, n, i), Bg(e.buildInfoCache, n, i), Bg(e.outputTimeStamps, n, i), Bg(e.lastCachedPackageJsonLookups, n, i), e.watch && (Bg(
          e.allWatchedConfigFiles,
          n,
          { onDeleteValue: $p }
        ), e.allWatchedExtendedConfigFiles.forEach((s) => {
          s.projects.forEach((o) => {
            n.has(o) || s.projects.delete(o);
          }), s.close();
        }), Bg(
          e.allWatchedWildcardDirectories,
          n,
          { onDeleteValue: (s) => s.forEach(lp) }
        ), Bg(
          e.allWatchedInputFiles,
          n,
          { onDeleteValue: (s) => s.forEach($p) }
        ), Bg(
          e.allWatchedPackageJsonFiles,
          n,
          { onDeleteValue: (s) => s.forEach($p) }
        )), e.buildOrder = t;
      }
      function Xve(e, t, n) {
        const i = t && TA(e, t), s = ZO(e);
        if (ak(s)) return s;
        if (i) {
          const c = rg(e, i);
          if (oc(
            s,
            (u) => rg(e, u) === c
          ) === -1) return;
        }
        const o = i ? $ve(e, [i]) : s;
        return E.assert(!ak(o)), E.assert(!n || i !== void 0), E.assert(!n || o[o.length - 1] === i), n ? o.slice(0, o.length - 1) : o;
      }
      function Qve(e) {
        e.cache && ise(e);
        const { compilerHost: t, host: n } = e, i = e.readFileWithCache, s = t.getSourceFile, {
          originalReadFile: o,
          originalFileExists: c,
          originalDirectoryExists: _,
          originalCreateDirectory: u,
          originalWriteFile: g,
          getSourceFileWithCache: m,
          readFileWithCache: h
        } = aw(
          n,
          (S) => Kp(e, S),
          (...S) => s.call(t, ...S)
        );
        e.readFileWithCache = h, t.getSourceFile = m, e.cache = {
          originalReadFile: o,
          originalFileExists: c,
          originalDirectoryExists: _,
          originalCreateDirectory: u,
          originalWriteFile: g,
          originalReadFileWithCache: i,
          originalGetSourceFile: s
        };
      }
      function ise(e) {
        if (!e.cache) return;
        const { cache: t, host: n, compilerHost: i, extendedConfigCache: s, moduleResolutionCache: o, typeReferenceDirectiveResolutionCache: c, libraryResolutionCache: _ } = e;
        n.readFile = t.originalReadFile, n.fileExists = t.originalFileExists, n.directoryExists = t.originalDirectoryExists, n.createDirectory = t.originalCreateDirectory, n.writeFile = t.originalWriteFile, i.getSourceFile = t.originalGetSourceFile, e.readFileWithCache = t.originalReadFileWithCache, s.clear(), o?.clear(), c?.clear(), _?.clear(), e.cache = void 0;
      }
      function Yve(e, t) {
        e.projectStatus.delete(t), e.diagnostics.delete(t);
      }
      function Zve({ projectPendingBuild: e }, t, n) {
        const i = e.get(t);
        (i === void 0 || i < n) && e.set(t, n);
      }
      function Kve(e, t) {
        if (!e.allProjectBuildPending) return;
        e.allProjectBuildPending = !1, e.options.watch && pse(e, p.Starting_compilation_in_watch_mode), Qve(e), SA(ZO(e)).forEach(
          (i) => e.projectPendingBuild.set(
            rg(e, i),
            0
            /* Update */
          )
        ), t && t.throwIfCancellationRequested();
      }
      var sse = /* @__PURE__ */ ((e) => (e[e.Build = 0] = "Build", e[e.UpdateOutputFileStamps = 1] = "UpdateOutputFileStamps", e))(sse || {});
      function ebe(e, t) {
        return e.projectPendingBuild.delete(t), e.diagnostics.has(t) ? 1 : 0;
      }
      function oBe(e, t, n, i, s) {
        let o = !0;
        return {
          kind: 1,
          project: t,
          projectPath: n,
          buildOrder: s,
          getCompilerOptions: () => i.options,
          getCurrentDirectory: () => e.compilerHost.getCurrentDirectory(),
          updateOutputFileStatmps: () => {
            abe(e, i, n), o = !1;
          },
          done: () => (o && abe(e, i, n), Zo("SolutionBuilder::Timestamps only updates"), ebe(e, n))
        };
      }
      function cBe(e, t, n, i, s, o, c) {
        let _ = 0, u, g;
        return {
          kind: 0,
          project: t,
          projectPath: n,
          buildOrder: c,
          getCompilerOptions: () => s.options,
          getCurrentDirectory: () => e.compilerHost.getCurrentDirectory(),
          getBuilderProgram: () => h(mo),
          getProgram: () => h(
            (w) => w.getProgramOrUndefined()
          ),
          getSourceFile: (w) => h(
            (A) => A.getSourceFile(w)
          ),
          getSourceFiles: () => S(
            (w) => w.getSourceFiles()
          ),
          getOptionsDiagnostics: (w) => S(
            (A) => A.getOptionsDiagnostics(w)
          ),
          getGlobalDiagnostics: (w) => S(
            (A) => A.getGlobalDiagnostics(w)
          ),
          getConfigFileParsingDiagnostics: () => S(
            (w) => w.getConfigFileParsingDiagnostics()
          ),
          getSyntacticDiagnostics: (w, A) => S(
            (O) => O.getSyntacticDiagnostics(w, A)
          ),
          getAllDependencies: (w) => S(
            (A) => A.getAllDependencies(w)
          ),
          getSemanticDiagnostics: (w, A) => S(
            (O) => O.getSemanticDiagnostics(w, A)
          ),
          getSemanticDiagnosticsOfNextAffectedFile: (w, A) => h(
            (O) => O.getSemanticDiagnosticsOfNextAffectedFile && O.getSemanticDiagnosticsOfNextAffectedFile(w, A)
          ),
          emit: (w, A, O, F, j) => w || F ? h(
            (z) => {
              var V, G;
              return z.emit(w, A, O, F, j || ((G = (V = e.host).getCustomTransformers) == null ? void 0 : G.call(V, t)));
            }
          ) : (D(0, O), k(A, O, j)),
          done: m
        };
        function m(w, A, O) {
          return D(3, w, A, O), Zo("SolutionBuilder::Projects built"), ebe(e, n);
        }
        function h(w) {
          return D(
            0
            /* CreateProgram */
          ), u && w(u);
        }
        function S(w) {
          return h(w) || Ue;
        }
        function T() {
          var w, A, O;
          if (E.assert(u === void 0), e.options.dry) {
            Z_(e, p.A_non_dry_build_would_build_project_0, t), g = 1, _ = 2;
            return;
          }
          if (e.options.verbose && Z_(e, p.Building_project_0, t), s.fileNames.length === 0) {
            xA(e, n, i2(s)), g = 0, _ = 2;
            return;
          }
          const { host: F, compilerHost: j } = e;
          if (e.projectCompilerOptions = s.options, (w = e.moduleResolutionCache) == null || w.update(s.options), (A = e.typeReferenceDirectiveResolutionCache) == null || A.update(s.options), u = F.createProgram(
            s.fileNames,
            s.options,
            j,
            lBe(e, n, s),
            i2(s),
            s.projectReferences
          ), e.watch) {
            const z = (O = e.moduleResolutionCache) == null ? void 0 : O.getPackageJsonInfoCache().getInternalMap();
            e.lastCachedPackageJsonLookups.set(
              n,
              z && new Set(rs(
                z.values(),
                (V) => e.host.realpath && (sO(V) || V.directoryExists) ? e.host.realpath(An(V.packageDirectory, "package.json")) : An(V.packageDirectory, "package.json")
              ))
            ), e.builderPrograms.set(n, u);
          }
          _++;
        }
        function k(w, A, O) {
          var F, j, z;
          E.assertIsDefined(u), E.assert(
            _ === 1
            /* Emit */
          );
          const { host: V, compilerHost: G } = e, W = /* @__PURE__ */ new Map(), pe = u.getCompilerOptions(), K = Bb(pe);
          let U, ee;
          const { emitResult: te, diagnostics: ie } = HO(
            u,
            (fe) => V.reportDiagnostic(fe),
            e.write,
            /*reportSummary*/
            void 0,
            (fe, me, q, he, Me, De) => {
              var re;
              const xe = Kp(e, fe);
              if (W.set(Kp(e, fe), fe), De?.buildInfo) {
                ee || (ee = VV(e.host));
                const Xe = (re = u.hasChangedEmitSignature) == null ? void 0 : re.call(u), nt = HV(e, fe, n);
                nt ? (nt.buildInfo = De.buildInfo, nt.modifiedTime = ee, Xe && (nt.latestChangedDtsTime = ee)) : e.buildInfoCache.set(n, {
                  path: Kp(e, fe),
                  buildInfo: De.buildInfo,
                  modifiedTime: ee,
                  latestChangedDtsTime: Xe ? ee : void 0
                });
              }
              const ue = De?.differsOnlyInMap ? $T(e.host, fe) : void 0;
              (w || G.writeFile)(
                fe,
                me,
                q,
                he,
                Me,
                De
              ), De?.differsOnlyInMap ? e.host.setModifiedTime(fe, ue) : !K && e.watch && (U || (U = ose(e, n))).set(xe, ee || (ee = VV(e.host)));
            },
            A,
            /*emitOnlyDtsFiles*/
            void 0,
            O || ((j = (F = e.host).getCustomTransformers) == null ? void 0 : j.call(F, t))
          );
          return (!pe.noEmitOnError || !ie.length) && (W.size || o.type !== 8) && sbe(e, s, n, p.Updating_unchanged_output_timestamps_of_project_0, W), e.projectErrorsReported.set(n, !0), g = (z = u.hasChangedEmitSignature) != null && z.call(u) ? 0 : 2, ie.length ? (e.diagnostics.set(n, ie), e.projectStatus.set(n, { type: 0, reason: "it had errors" }), g |= 4) : (e.diagnostics.delete(n), e.projectStatus.set(n, {
            type: 1,
            oldestOutputFileName: CP(W.values()) ?? HW(s, !V.useCaseSensitiveFileNames())
          })), uBe(e, u), _ = 2, te;
        }
        function D(w, A, O, F) {
          for (; _ <= w && _ < 3; ) {
            const j = _;
            switch (_) {
              case 0:
                T();
                break;
              case 1:
                k(O, A, F);
                break;
              case 2:
                dBe(e, t, n, i, s, c, E.checkDefined(g)), _++;
                break;
            }
            E.assert(_ > j);
          }
        }
      }
      function tbe(e, t, n) {
        if (!e.projectPendingBuild.size || ak(t)) return;
        const { options: i, projectPendingBuild: s } = e;
        for (let o = 0; o < t.length; o++) {
          const c = t[o], _ = rg(e, c), u = e.projectPendingBuild.get(_);
          if (u === void 0) continue;
          n && (n = !1, gbe(e, t));
          const g = W6(e, c, _);
          if (!g) {
            dbe(e, _), s.delete(_);
            continue;
          }
          u === 2 ? (ube(e, c, _, g), _be(e, _, g), fbe(e, c, _, g), _se(e, c, _, g), fse(e, c, _, g)) : u === 1 && (g.fileNames = VD(g.options.configFile.configFileSpecs, Un(c), g.options, e.parseConfigFileHost), KF(
            g.fileNames,
            c,
            g.options.configFile.configFileSpecs,
            g.errors,
            XN(g.raw)
          ), _se(e, c, _, g), fse(e, c, _, g));
          const m = lse(e, g, _);
          if (!i.force) {
            if (m.type === 1) {
              $V(e, c, m), xA(e, _, i2(g)), s.delete(_), i.dry && Z_(e, p.Project_0_is_up_to_date, c);
              continue;
            }
            if (m.type === 2 || m.type === 15)
              return xA(e, _, i2(g)), {
                kind: 1,
                status: m,
                project: c,
                projectPath: _,
                projectIndex: o,
                config: g
              };
          }
          if (m.type === 12) {
            $V(e, c, m), xA(e, _, i2(g)), s.delete(_), i.verbose && Z_(
              e,
              m.upstreamProjectBlocked ? p.Skipping_build_of_project_0_because_its_dependency_1_was_not_built : p.Skipping_build_of_project_0_because_its_dependency_1_has_errors,
              c,
              m.upstreamProjectName
            );
            continue;
          }
          if (m.type === 16) {
            $V(e, c, m), xA(e, _, i2(g)), s.delete(_);
            continue;
          }
          return {
            kind: 0,
            status: m,
            project: c,
            projectPath: _,
            projectIndex: o,
            config: g
          };
        }
      }
      function rbe(e, t, n) {
        return $V(e, t.project, t.status), t.kind !== 1 ? cBe(
          e,
          t.project,
          t.projectPath,
          t.projectIndex,
          t.config,
          t.status,
          n
        ) : oBe(
          e,
          t.project,
          t.projectPath,
          t.config,
          n
        );
      }
      function ase(e, t, n) {
        const i = tbe(e, t, n);
        return i && rbe(e, i, t);
      }
      function lBe({ options: e, builderPrograms: t, compilerHost: n }, i, s) {
        if (e.force) return;
        const o = t.get(i);
        return o || XO(s.options, n);
      }
      function uBe(e, t) {
        t && (e.host.afterProgramEmitAndDiagnostics && e.host.afterProgramEmitAndDiagnostics(t), t.releaseProgram()), e.projectCompilerOptions = e.baseCompilerOptions;
      }
      function UV(e) {
        return !!e.watcher;
      }
      function nbe(e, t) {
        const n = Kp(e, t), i = e.filesWatched.get(n);
        if (e.watch && i) {
          if (!UV(i)) return i;
          if (i.modifiedTime) return i.modifiedTime;
        }
        const s = $T(e.host, t);
        return e.watch && (i ? i.modifiedTime = s : e.filesWatched.set(n, s)), s;
      }
      function qV(e, t, n, i, s, o, c) {
        const _ = Kp(e, t), u = e.filesWatched.get(_);
        if (u && UV(u))
          u.callbacks.push(n);
        else {
          const g = e.watchFile(
            t,
            (m, h, S) => {
              const T = E.checkDefined(e.filesWatched.get(_));
              E.assert(UV(T)), T.modifiedTime = S, T.callbacks.forEach((k) => k(m, h, S));
            },
            i,
            s,
            o,
            c
          );
          e.filesWatched.set(_, { callbacks: [n], watcher: g, modifiedTime: u });
        }
        return {
          close: () => {
            const g = E.checkDefined(e.filesWatched.get(_));
            E.assert(UV(g)), g.callbacks.length === 1 ? (e.filesWatched.delete(_), lp(g)) : HT(g.callbacks, n);
          }
        };
      }
      function ose(e, t) {
        if (!e.watch) return;
        let n = e.outputTimeStamps.get(t);
        return n || e.outputTimeStamps.set(t, n = /* @__PURE__ */ new Map()), n;
      }
      function HV(e, t, n) {
        const i = Kp(e, t), s = e.buildInfoCache.get(n);
        return s?.path === i ? s : void 0;
      }
      function ibe(e, t, n, i) {
        const s = Kp(e, t), o = e.buildInfoCache.get(n);
        if (o !== void 0 && o.path === s)
          return o.buildInfo || void 0;
        const c = e.readFileWithCache(t), _ = c ? XW(t, c) : void 0;
        return e.buildInfoCache.set(n, { path: s, buildInfo: _ || !1, modifiedTime: i || W_ }), _;
      }
      function cse(e, t, n, i) {
        const s = nbe(e, t);
        if (n < s)
          return {
            type: 5,
            outOfDateOutputFileName: i,
            newerInputFileName: t
          };
      }
      function _Be(e, t, n) {
        var i, s, o, c, _;
        if (Kz(t)) return {
          type: 16
          /* ContainerOnly */
        };
        let u;
        const g = !!e.options.force;
        if (t.projectReferences) {
          e.projectStatus.set(n, {
            type: 13
            /* ComputingUpstream */
          });
          for (const ie of t.projectReferences) {
            const fe = ik(ie), me = rg(e, fe), q = W6(e, fe, me), he = lse(e, q, me);
            if (!(he.type === 13 || he.type === 16)) {
              if (e.options.stopBuildOnErrors && (he.type === 0 || he.type === 12))
                return {
                  type: 12,
                  upstreamProjectName: ie.path,
                  upstreamProjectBlocked: he.type === 12
                  /* UpstreamBlocked */
                };
              g || (u || (u = [])).push({ ref: ie, refStatus: he, resolvedRefPath: me, resolvedConfig: q });
            }
          }
        }
        if (g) return {
          type: 17
          /* ForceBuild */
        };
        const { host: m } = e, h = hv(t.options), S = Bb(t.options);
        let T = HV(e, h, n);
        const k = T?.modifiedTime || $T(m, h);
        if (k === W_)
          return T || e.buildInfoCache.set(n, {
            path: Kp(e, h),
            buildInfo: !1,
            modifiedTime: k
          }), {
            type: 3,
            missingOutputFileName: h
          };
        const D = ibe(e, h, n, k);
        if (!D)
          return {
            type: 4,
            fileName: h
          };
        const w = S && yA(D) ? D : void 0;
        if ((w || !S) && D.version !== Gf)
          return {
            type: 14,
            version: D.version
          };
        if (!t.options.noCheck && (D.errors || // TODO: syntax errors????
        D.checkPending))
          return {
            type: 8,
            buildInfoFile: h
          };
        if (w) {
          if (!t.options.noCheck && ((i = w.changeFileSet) != null && i.length || (s = w.semanticDiagnosticsPerFile) != null && s.length || w_(t.options) && ((o = w.emitDiagnosticsPerFile) != null && o.length)))
            return {
              type: 8,
              buildInfoFile: h
            };
          if (!t.options.noEmit && ((c = w.changeFileSet) != null && c.length || (_ = w.affectedFilesPendingEmit) != null && _.length || w.pendingEmit !== void 0))
            return {
              type: 7,
              buildInfoFile: h
            };
          if ((!t.options.noEmit || t.options.noEmit && w_(t.options)) && JO(
            t.options,
            w.options || {},
            /*emitOnlyDtsFiles*/
            void 0,
            !!t.options.noEmit
          ))
            return {
              type: 9,
              buildInfoFile: h
            };
        }
        let A = k, O = h, F, j = tBe, z = !1;
        const V = /* @__PURE__ */ new Set();
        let G;
        for (const ie of t.fileNames) {
          const fe = nbe(e, ie);
          if (fe === W_)
            return {
              type: 0,
              reason: `${ie} does not exist`
            };
          const me = Kp(e, ie);
          if (k < fe) {
            let q, he;
            if (w) {
              G || (G = vV(w, h, m));
              const Me = G.roots.get(me);
              q = G.fileInfos.get(Me ?? me);
              const De = q ? e.readFileWithCache(Me ?? ie) : void 0;
              he = De !== void 0 ? GO(m, De) : void 0, q && q === he && (z = !0);
            }
            if (!q || q !== he)
              return {
                type: 5,
                outOfDateOutputFileName: h,
                newerInputFileName: ie
              };
          }
          fe > j && (F = ie, j = fe), V.add(me);
        }
        let W;
        if (w ? (G || (G = vV(w, h, m)), W = gl(
          G.roots,
          // File was root file when project was built but its not any more
          (ie, fe) => V.has(fe) ? void 0 : fe
        )) : W = ar(
          zie(D, h, m),
          (ie) => V.has(ie) ? void 0 : ie
        ), W)
          return {
            type: 10,
            buildInfoFile: h,
            inputFile: W
          };
        if (!S) {
          const ie = EO(t, !m.useCaseSensitiveFileNames()), fe = ose(e, n);
          for (const me of ie) {
            if (me === h) continue;
            const q = Kp(e, me);
            let he = fe?.get(q);
            if (he || (he = $T(e.host, me), fe?.set(q, he)), he === W_)
              return {
                type: 3,
                missingOutputFileName: me
              };
            if (he < j)
              return {
                type: 5,
                outOfDateOutputFileName: me,
                newerInputFileName: F
              };
            he < A && (A = he, O = me);
          }
        }
        let pe = !1;
        if (u)
          for (const { ref: ie, refStatus: fe, resolvedConfig: me, resolvedRefPath: q } of u) {
            if (fe.newestInputFileTime && fe.newestInputFileTime <= A)
              continue;
            if (fBe(e, T ?? (T = e.buildInfoCache.get(n)), q))
              return {
                type: 6,
                outOfDateOutputFileName: h,
                newerProjectName: ie.path
              };
            const he = pBe(e, me.options, q);
            if (he && he <= A) {
              pe = !0;
              continue;
            }
            return E.assert(O !== void 0, "Should have an oldest output filename here"), {
              type: 6,
              outOfDateOutputFileName: O,
              newerProjectName: ie.path
            };
          }
        const K = cse(e, t.options.configFilePath, A, O);
        if (K) return K;
        const U = ar(t.options.configFile.extendedSourceFiles || Ue, (ie) => cse(e, ie, A, O));
        if (U) return U;
        const ee = e.lastCachedPackageJsonLookups.get(n), te = ee && Fg(
          ee,
          (ie) => cse(e, ie, A, O)
        );
        return te || {
          type: pe ? 2 : z ? 15 : 1,
          newestInputFileTime: j,
          newestInputFileName: F,
          oldestOutputFileName: O
        };
      }
      function fBe(e, t, n) {
        return e.buildInfoCache.get(n).path === t.path;
      }
      function lse(e, t, n) {
        if (t === void 0)
          return { type: 0, reason: "config file deleted mid-build" };
        const i = e.projectStatus.get(n);
        if (i !== void 0)
          return i;
        Zo("SolutionBuilder::beforeUpToDateCheck");
        const s = _Be(e, t, n);
        return Zo("SolutionBuilder::afterUpToDateCheck"), Xf("SolutionBuilder::Up-to-date check", "SolutionBuilder::beforeUpToDateCheck", "SolutionBuilder::afterUpToDateCheck"), e.projectStatus.set(n, s), s;
      }
      function sbe(e, t, n, i, s) {
        if (t.options.noEmit) return;
        let o;
        const c = hv(t.options), _ = Bb(t.options);
        if (c && _) {
          s?.has(Kp(e, c)) || (e.options.verbose && Z_(e, i, t.options.configFilePath), e.host.setModifiedTime(c, o = VV(e.host)), HV(e, c, n).modifiedTime = o), e.outputTimeStamps.delete(n);
          return;
        }
        const { host: u } = e, g = EO(t, !u.useCaseSensitiveFileNames()), m = ose(e, n), h = m ? /* @__PURE__ */ new Set() : void 0;
        if (!s || g.length !== s.size) {
          let S = !!e.options.verbose;
          for (const T of g) {
            const k = Kp(e, T);
            s?.has(k) || (S && (S = !1, Z_(e, i, t.options.configFilePath)), u.setModifiedTime(T, o || (o = VV(e.host))), T === c ? HV(e, c, n).modifiedTime = o : m && (m.set(k, o), h.add(k)));
          }
        }
        m?.forEach((S, T) => {
          !s?.has(T) && !h.has(T) && m.delete(T);
        });
      }
      function pBe(e, t, n) {
        if (!t.composite) return;
        const i = E.checkDefined(e.buildInfoCache.get(n));
        if (i.latestChangedDtsTime !== void 0) return i.latestChangedDtsTime || void 0;
        const s = i.buildInfo && yA(i.buildInfo) && i.buildInfo.latestChangedDtsFile ? e.host.getModifiedTime(Xi(i.buildInfo.latestChangedDtsFile, Un(i.path))) : void 0;
        return i.latestChangedDtsTime = s || !1, s;
      }
      function abe(e, t, n) {
        if (e.options.dry)
          return Z_(e, p.A_non_dry_build_would_update_timestamps_for_output_of_project_0, t.options.configFilePath);
        sbe(e, t, n, p.Updating_output_timestamps_of_project_0), e.projectStatus.set(n, {
          type: 1,
          oldestOutputFileName: HW(t, !e.host.useCaseSensitiveFileNames())
        });
      }
      function dBe(e, t, n, i, s, o, c) {
        if (!(e.options.stopBuildOnErrors && c & 4) && s.options.composite)
          for (let _ = i + 1; _ < o.length; _++) {
            const u = o[_], g = rg(e, u);
            if (e.projectPendingBuild.has(g)) continue;
            const m = W6(e, u, g);
            if (!(!m || !m.projectReferences))
              for (const h of m.projectReferences) {
                const S = TA(e, h.path);
                if (rg(e, S) !== n) continue;
                const T = e.projectStatus.get(g);
                if (T)
                  switch (T.type) {
                    case 1:
                      if (c & 2) {
                        T.type = 2;
                        break;
                      }
                    // falls through
                    case 15:
                    case 2:
                      c & 2 || e.projectStatus.set(g, {
                        type: 6,
                        outOfDateOutputFileName: T.oldestOutputFileName,
                        newerProjectName: t
                      });
                      break;
                    case 12:
                      rg(e, TA(e, T.upstreamProjectName)) === n && Yve(e, g);
                      break;
                  }
                Zve(
                  e,
                  g,
                  0
                  /* Update */
                );
                break;
              }
          }
      }
      function obe(e, t, n, i, s, o) {
        Zo("SolutionBuilder::beforeBuild");
        const c = mBe(e, t, n, i, s, o);
        return Zo("SolutionBuilder::afterBuild"), Xf("SolutionBuilder::Build", "SolutionBuilder::beforeBuild", "SolutionBuilder::afterBuild"), c;
      }
      function mBe(e, t, n, i, s, o) {
        const c = Xve(e, t, o);
        if (!c) return 3;
        Kve(e, n);
        let _ = !0, u = 0;
        for (; ; ) {
          const g = ase(e, c, _);
          if (!g) break;
          _ = !1, g.done(n, i, s?.(g.project)), e.diagnostics.has(g.projectPath) || u++;
        }
        return ise(e), mbe(e, c), vBe(e, c), ak(c) ? 4 : c.some((g) => e.diagnostics.has(rg(e, g))) ? u ? 2 : 1 : 0;
      }
      function cbe(e, t, n) {
        Zo("SolutionBuilder::beforeClean");
        const i = gBe(e, t, n);
        return Zo("SolutionBuilder::afterClean"), Xf("SolutionBuilder::Clean", "SolutionBuilder::beforeClean", "SolutionBuilder::afterClean"), i;
      }
      function gBe(e, t, n) {
        const i = Xve(e, t, n);
        if (!i) return 3;
        if (ak(i))
          return GV(e, i.circularDiagnostics), 4;
        const { options: s, host: o } = e, c = s.dry ? [] : void 0;
        for (const _ of i) {
          const u = rg(e, _), g = W6(e, _, u);
          if (g === void 0) {
            dbe(e, u);
            continue;
          }
          const m = EO(g, !o.useCaseSensitiveFileNames());
          if (!m.length) continue;
          const h = new Set(g.fileNames.map((S) => Kp(e, S)));
          for (const S of m)
            h.has(Kp(e, S)) || o.fileExists(S) && (c ? c.push(S) : (o.deleteFile(S), use(
              e,
              u,
              0
              /* Update */
            )));
        }
        return c && Z_(e, p.A_non_dry_build_would_delete_the_following_files_Colon_0, c.map((_) => `\r
 * ${_}`).join("")), 0;
      }
      function use(e, t, n) {
        e.host.getParsedCommandLine && n === 1 && (n = 2), n === 2 && (e.configFileCache.delete(t), e.buildOrder = void 0), e.needsSummary = !0, Yve(e, t), Zve(e, t, n), Qve(e);
      }
      function KO(e, t, n) {
        e.reportFileChangeDetected = !0, use(e, t, n), lbe(
          e,
          250,
          /*changeDetected*/
          !0
        );
      }
      function lbe(e, t, n) {
        const { hostWithWatch: i } = e;
        !i.setTimeout || !i.clearTimeout || (e.timerToBuildInvalidatedProject && i.clearTimeout(e.timerToBuildInvalidatedProject), e.timerToBuildInvalidatedProject = i.setTimeout(hBe, t, "timerToBuildInvalidatedProject", e, n));
      }
      function hBe(e, t, n) {
        Zo("SolutionBuilder::beforeBuild");
        const i = yBe(t, n);
        Zo("SolutionBuilder::afterBuild"), Xf("SolutionBuilder::Build", "SolutionBuilder::beforeBuild", "SolutionBuilder::afterBuild"), i && mbe(t, i);
      }
      function yBe(e, t) {
        e.timerToBuildInvalidatedProject = void 0, e.reportFileChangeDetected && (e.reportFileChangeDetected = !1, e.projectErrorsReported.clear(), pse(e, p.File_change_detected_Starting_incremental_compilation));
        let n = 0;
        const i = ZO(e), s = ase(
          e,
          i,
          /*reportQueue*/
          !1
        );
        if (s)
          for (s.done(), n++; e.projectPendingBuild.size; ) {
            if (e.timerToBuildInvalidatedProject) return;
            const o = tbe(
              e,
              i,
              /*reportQueue*/
              !1
            );
            if (!o) break;
            if (o.kind !== 1 && (t || n === 5)) {
              lbe(
                e,
                100,
                /*changeDetected*/
                !1
              );
              return;
            }
            rbe(e, o, i).done(), o.kind !== 1 && n++;
          }
        return ise(e), i;
      }
      function ube(e, t, n, i) {
        !e.watch || e.allWatchedConfigFiles.has(n) || e.allWatchedConfigFiles.set(
          n,
          qV(
            e,
            t,
            () => KO(
              e,
              n,
              2
              /* Full */
            ),
            2e3,
            i?.watchOptions,
            Nl.ConfigFile,
            t
          )
        );
      }
      function _be(e, t, n) {
        wO(
          t,
          n?.options,
          e.allWatchedExtendedConfigFiles,
          (i, s) => qV(
            e,
            i,
            () => {
              var o;
              return (o = e.allWatchedExtendedConfigFiles.get(s)) == null ? void 0 : o.projects.forEach((c) => KO(
                e,
                c,
                2
                /* Full */
              ));
            },
            2e3,
            n?.watchOptions,
            Nl.ExtendedConfigFile
          ),
          (i) => Kp(e, i)
        );
      }
      function fbe(e, t, n, i) {
        e.watch && _A(
          Kie(e.allWatchedWildcardDirectories, n),
          i.wildcardDirectories,
          (s, o) => e.watchDirectory(
            s,
            (c) => {
              var _;
              fA({
                watchedDirPath: Kp(e, s),
                fileOrDirectory: c,
                fileOrDirectoryPath: Kp(e, c),
                configFileName: t,
                currentDirectory: e.compilerHost.getCurrentDirectory(),
                options: i.options,
                program: e.builderPrograms.get(n) || ((_ = sBe(e, n)) == null ? void 0 : _.fileNames),
                useCaseSensitiveFileNames: e.parseConfigFileHost.useCaseSensitiveFileNames,
                writeLog: (u) => e.writeLog(u),
                toPath: (u) => Kp(e, u)
              }) || KO(
                e,
                n,
                1
                /* RootNamesAndUpdate */
              );
            },
            o,
            i?.watchOptions,
            Nl.WildcardDirectory,
            t
          )
        );
      }
      function _se(e, t, n, i) {
        e.watch && aD(
          Kie(e.allWatchedInputFiles, n),
          new Set(i.fileNames),
          {
            createNewValue: (s) => qV(
              e,
              s,
              () => KO(
                e,
                n,
                0
                /* Update */
              ),
              250,
              i?.watchOptions,
              Nl.SourceFile,
              t
            ),
            onDeleteValue: $p
          }
        );
      }
      function fse(e, t, n, i) {
        !e.watch || !e.lastCachedPackageJsonLookups || aD(
          Kie(e.allWatchedPackageJsonFiles, n),
          e.lastCachedPackageJsonLookups.get(n),
          {
            createNewValue: (s) => qV(
              e,
              s,
              () => KO(
                e,
                n,
                0
                /* Update */
              ),
              2e3,
              i?.watchOptions,
              Nl.PackageJson,
              t
            ),
            onDeleteValue: $p
          }
        );
      }
      function vBe(e, t) {
        if (e.watchAllProjectsPending) {
          Zo("SolutionBuilder::beforeWatcherCreation"), e.watchAllProjectsPending = !1;
          for (const n of SA(t)) {
            const i = rg(e, n), s = W6(e, n, i);
            ube(e, n, i, s), _be(e, i, s), s && (fbe(e, n, i, s), _se(e, n, i, s), fse(e, n, i, s));
          }
          Zo("SolutionBuilder::afterWatcherCreation"), Xf("SolutionBuilder::Watcher creation", "SolutionBuilder::beforeWatcherCreation", "SolutionBuilder::afterWatcherCreation");
        }
      }
      function bBe(e) {
        D_(e.allWatchedConfigFiles, $p), D_(e.allWatchedExtendedConfigFiles, lp), D_(e.allWatchedWildcardDirectories, (t) => D_(t, lp)), D_(e.allWatchedInputFiles, (t) => D_(t, $p)), D_(e.allWatchedPackageJsonFiles, (t) => D_(t, $p));
      }
      function pbe(e, t, n, i, s) {
        const o = iBe(e, t, n, i, s);
        return {
          build: (c, _, u, g) => obe(o, c, _, u, g),
          clean: (c) => cbe(o, c),
          buildReferences: (c, _, u, g) => obe(
            o,
            c,
            _,
            u,
            g,
            /*onlyReferences*/
            !0
          ),
          cleanReferences: (c) => cbe(
            o,
            c,
            /*onlyReferences*/
            !0
          ),
          getNextInvalidatedProject: (c) => (Kve(o, c), ase(
            o,
            ZO(o),
            /*reportQueue*/
            !1
          )),
          getBuildOrder: () => ZO(o),
          getUpToDateStatusOfProject: (c) => {
            const _ = TA(o, c), u = rg(o, _);
            return lse(o, W6(o, _, u), u);
          },
          invalidateProject: (c, _) => use(
            o,
            c,
            _ || 0
            /* Update */
          ),
          close: () => bBe(o)
        };
      }
      function Zl(e, t) {
        return d4(t, e.compilerHost.getCurrentDirectory(), e.compilerHost.getCanonicalFileName);
      }
      function Z_(e, t, ...n) {
        e.host.reportSolutionBuilderStatus($o(t, ...n));
      }
      function pse(e, t, ...n) {
        var i, s;
        (s = (i = e.hostWithWatch).onWatchStatusChange) == null || s.call(i, $o(t, ...n), e.host.getNewLine(), e.baseCompilerOptions);
      }
      function GV({ host: e }, t) {
        t.forEach((n) => e.reportDiagnostic(n));
      }
      function xA(e, t, n) {
        GV(e, n), e.projectErrorsReported.set(t, !0), n.length && e.diagnostics.set(t, n);
      }
      function dbe(e, t) {
        xA(e, t, [e.configFileCache.get(t)]);
      }
      function mbe(e, t) {
        if (!e.needsSummary) return;
        e.needsSummary = !1;
        const n = e.watch || !!e.host.reportErrorSummary, { diagnostics: i } = e;
        let s = 0, o = [];
        ak(t) ? (gbe(e, t.buildOrder), GV(e, t.circularDiagnostics), n && (s += UO(t.circularDiagnostics)), n && (o = [...o, ...qO(t.circularDiagnostics)])) : (t.forEach((c) => {
          const _ = rg(e, c);
          e.projectErrorsReported.has(_) || GV(e, i.get(_) || Ue);
        }), n && i.forEach((c) => s += UO(c)), n && i.forEach((c) => [...o, ...qO(c)])), e.watch ? pse(e, EV(s), s) : e.host.reportErrorSummary && e.host.reportErrorSummary(s, o);
      }
      function gbe(e, t) {
        e.options.verbose && Z_(e, p.Projects_in_this_build_Colon_0, t.map((n) => `\r
    * ` + Zl(e, n)).join(""));
      }
      function SBe(e, t, n) {
        switch (n.type) {
          case 5:
            return Z_(
              e,
              p.Project_0_is_out_of_date_because_output_1_is_older_than_input_2,
              Zl(e, t),
              Zl(e, n.outOfDateOutputFileName),
              Zl(e, n.newerInputFileName)
            );
          case 6:
            return Z_(
              e,
              p.Project_0_is_out_of_date_because_output_1_is_older_than_input_2,
              Zl(e, t),
              Zl(e, n.outOfDateOutputFileName),
              Zl(e, n.newerProjectName)
            );
          case 3:
            return Z_(
              e,
              p.Project_0_is_out_of_date_because_output_file_1_does_not_exist,
              Zl(e, t),
              Zl(e, n.missingOutputFileName)
            );
          case 4:
            return Z_(
              e,
              p.Project_0_is_out_of_date_because_there_was_error_reading_file_1,
              Zl(e, t),
              Zl(e, n.fileName)
            );
          case 7:
            return Z_(
              e,
              p.Project_0_is_out_of_date_because_buildinfo_file_1_indicates_that_some_of_the_changes_were_not_emitted,
              Zl(e, t),
              Zl(e, n.buildInfoFile)
            );
          case 8:
            return Z_(
              e,
              p.Project_0_is_out_of_date_because_buildinfo_file_1_indicates_that_program_needs_to_report_errors,
              Zl(e, t),
              Zl(e, n.buildInfoFile)
            );
          case 9:
            return Z_(
              e,
              p.Project_0_is_out_of_date_because_buildinfo_file_1_indicates_there_is_change_in_compilerOptions,
              Zl(e, t),
              Zl(e, n.buildInfoFile)
            );
          case 10:
            return Z_(
              e,
              p.Project_0_is_out_of_date_because_buildinfo_file_1_indicates_that_file_2_was_root_file_of_compilation_but_not_any_more,
              Zl(e, t),
              Zl(e, n.buildInfoFile),
              Zl(e, n.inputFile)
            );
          case 1:
            if (n.newestInputFileTime !== void 0)
              return Z_(
                e,
                p.Project_0_is_up_to_date_because_newest_input_1_is_older_than_output_2,
                Zl(e, t),
                Zl(e, n.newestInputFileName || ""),
                Zl(e, n.oldestOutputFileName || "")
              );
            break;
          case 2:
            return Z_(
              e,
              p.Project_0_is_up_to_date_with_d_ts_files_from_its_dependencies,
              Zl(e, t)
            );
          case 15:
            return Z_(
              e,
              p.Project_0_is_up_to_date_but_needs_to_update_timestamps_of_output_files_that_are_older_than_input_files,
              Zl(e, t)
            );
          case 11:
            return Z_(
              e,
              p.Project_0_is_out_of_date_because_its_dependency_1_is_out_of_date,
              Zl(e, t),
              Zl(e, n.upstreamProjectName)
            );
          case 12:
            return Z_(
              e,
              n.upstreamProjectBlocked ? p.Project_0_can_t_be_built_because_its_dependency_1_was_not_built : p.Project_0_can_t_be_built_because_its_dependency_1_has_errors,
              Zl(e, t),
              Zl(e, n.upstreamProjectName)
            );
          case 0:
            return Z_(
              e,
              p.Project_0_is_out_of_date_because_1,
              Zl(e, t),
              n.reason
            );
          case 14:
            return Z_(
              e,
              p.Project_0_is_out_of_date_because_output_for_it_was_generated_with_version_1_that_differs_with_current_version_2,
              Zl(e, t),
              n.version,
              Gf
            );
          case 17:
            return Z_(
              e,
              p.Project_0_is_being_forcibly_rebuilt,
              Zl(e, t)
            );
        }
      }
      function $V(e, t, n) {
        e.options.verbose && SBe(e, t, n);
      }
      var dse = /* @__PURE__ */ ((e) => (e[e.time = 0] = "time", e[e.count = 1] = "count", e[e.memory = 2] = "memory", e))(dse || {});
      function TBe(e) {
        const t = xBe();
        return ar(e.getSourceFiles(), (n) => {
          const i = kBe(e, n), s = Eg(n).length;
          t.set(i, t.get(i) + s);
        }), t;
      }
      function xBe() {
        const e = /* @__PURE__ */ new Map();
        return e.set("Library", 0), e.set("Definitions", 0), e.set("TypeScript", 0), e.set("JavaScript", 0), e.set("JSON", 0), e.set("Other", 0), e;
      }
      function kBe(e, t) {
        if (e.isSourceFileDefaultLibrary(t))
          return "Library";
        if (t.isDeclarationFile)
          return "Definitions";
        const n = t.path;
        return Dc(n, kJ) ? "TypeScript" : Dc(n, s6) ? "JavaScript" : Wo(
          n,
          ".json"
          /* Json */
        ) ? "JSON" : "Other";
      }
      function XV(e, t, n) {
        return e9(e, n) ? sk(
          e,
          /*pretty*/
          !0
        ) : t;
      }
      function hbe(e) {
        return !!e.writeOutputIsTTY && e.writeOutputIsTTY() && !e.getEnvironmentVariable("NO_COLOR");
      }
      function e9(e, t) {
        return !t || typeof t.pretty > "u" ? hbe(e) : t.pretty;
      }
      function ybe(e) {
        return e.options.all ? J_(Zp.concat(JS), (t, n) => wP(t.name, n.name)) : Tn(Zp.concat(JS), (t) => !!t.showInSimplifiedHelpView);
      }
      function QV(e) {
        e.write(g_(p.Version_0, Gf) + e.newLine);
      }
      function YV(e) {
        if (!hbe(e))
          return {
            bold: (m) => m,
            blue: (m) => m,
            blueBackground: (m) => m,
            brightWhite: (m) => m
          };
        function n(m) {
          return `\x1B[1m${m}\x1B[22m`;
        }
        const i = e.getEnvironmentVariable("OS") && e.getEnvironmentVariable("OS").toLowerCase().includes("windows"), s = e.getEnvironmentVariable("WT_SESSION"), o = e.getEnvironmentVariable("TERM_PROGRAM") && e.getEnvironmentVariable("TERM_PROGRAM") === "vscode";
        function c(m) {
          return i && !s && !o ? g(m) : `\x1B[94m${m}\x1B[39m`;
        }
        const _ = e.getEnvironmentVariable("COLORTERM") === "truecolor" || e.getEnvironmentVariable("TERM") === "xterm-256color";
        function u(m) {
          return _ ? `\x1B[48;5;68m${m}\x1B[39;49m` : `\x1B[44m${m}\x1B[39;49m`;
        }
        function g(m) {
          return `\x1B[97m${m}\x1B[39m`;
        }
        return {
          bold: n,
          blue: c,
          brightWhite: g,
          blueBackground: u
        };
      }
      function vbe(e) {
        return `--${e.name}${e.shortName ? `, -${e.shortName}` : ""}`;
      }
      function CBe(e, t, n, i) {
        var s;
        const o = [], c = YV(e), _ = vbe(t), u = k(t), g = typeof t.defaultValueDescription == "object" ? g_(t.defaultValueDescription) : h(
          t.defaultValueDescription,
          t.type === "list" || t.type === "listOrElement" ? t.element.type : t.type
        ), m = ((s = e.getWidthOfTerminal) == null ? void 0 : s.call(e)) ?? 0;
        if (m >= 80) {
          let D = "";
          t.description && (D = g_(t.description)), o.push(...T(
            _,
            D,
            n,
            i,
            m,
            /*colorLeft*/
            !0
          ), e.newLine), S(u, t) && (u && o.push(...T(
            u.valueType,
            u.possibleValues,
            n,
            i,
            m,
            /*colorLeft*/
            !1
          ), e.newLine), g && o.push(...T(
            g_(p.default_Colon),
            g,
            n,
            i,
            m,
            /*colorLeft*/
            !1
          ), e.newLine)), o.push(e.newLine);
        } else {
          if (o.push(c.blue(_), e.newLine), t.description) {
            const D = g_(t.description);
            o.push(D);
          }
          if (o.push(e.newLine), S(u, t)) {
            if (u && o.push(`${u.valueType} ${u.possibleValues}`), g) {
              u && o.push(e.newLine);
              const D = g_(p.default_Colon);
              o.push(`${D} ${g}`);
            }
            o.push(e.newLine);
          }
          o.push(e.newLine);
        }
        return o;
        function h(D, w) {
          return D !== void 0 && typeof w == "object" ? rs(w.entries()).filter(([, A]) => A === D).map(([A]) => A).join("/") : String(D);
        }
        function S(D, w) {
          const A = ["string"], O = [void 0, "false", "n/a"], F = w.defaultValueDescription;
          return !(w.category === p.Command_line_Options || _s(A, D?.possibleValues) && _s(O, F));
        }
        function T(D, w, A, O, F, j) {
          const z = [];
          let V = !0, G = w;
          const W = F - O;
          for (; G.length > 0; ) {
            let pe = "";
            V ? (pe = D.padStart(A), pe = pe.padEnd(O), pe = j ? c.blue(pe) : pe) : pe = "".padStart(O);
            const K = G.substr(0, W);
            G = G.slice(W), z.push(`${pe}${K}`), V = !1;
          }
          return z;
        }
        function k(D) {
          if (D.type === "object")
            return;
          return {
            valueType: w(D),
            possibleValues: A(D)
          };
          function w(O) {
            switch (E.assert(O.type !== "listOrElement"), O.type) {
              case "string":
              case "number":
              case "boolean":
                return g_(p.type_Colon);
              case "list":
                return g_(p.one_or_more_Colon);
              default:
                return g_(p.one_of_Colon);
            }
          }
          function A(O) {
            let F;
            switch (O.type) {
              case "string":
              case "number":
              case "boolean":
                F = O.type;
                break;
              case "list":
              case "listOrElement":
                F = A(O.element);
                break;
              case "object":
                F = "";
                break;
              default:
                const j = {};
                return O.type.forEach((z, V) => {
                  var G;
                  (G = O.deprecatedKeys) != null && G.has(V) || (j[z] || (j[z] = [])).push(V);
                }), Object.entries(j).map(([, z]) => z.join("/")).join(", ");
            }
            return F;
          }
        }
      }
      function bbe(e, t) {
        let n = 0;
        for (const c of t) {
          const _ = vbe(c).length;
          n = n > _ ? n : _;
        }
        const i = n + 2, s = i + 2;
        let o = [];
        for (const c of t) {
          const _ = CBe(e, c, i, s);
          o = [...o, ..._];
        }
        return o[o.length - 2] !== e.newLine && o.push(e.newLine), o;
      }
      function kA(e, t, n, i, s, o) {
        let c = [];
        if (c.push(YV(e).bold(t) + e.newLine + e.newLine), s && c.push(s + e.newLine + e.newLine), !i)
          return c = [...c, ...bbe(e, n)], o && c.push(o + e.newLine + e.newLine), c;
        const _ = /* @__PURE__ */ new Map();
        for (const u of n) {
          if (!u.category)
            continue;
          const g = g_(u.category), m = _.get(g) ?? [];
          m.push(u), _.set(g, m);
        }
        return _.forEach((u, g) => {
          c.push(`### ${g}${e.newLine}${e.newLine}`), c = [...c, ...bbe(e, u)];
        }), o && c.push(o + e.newLine + e.newLine), c;
      }
      function EBe(e, t) {
        const n = YV(e);
        let i = [...ZV(e, `${g_(p.tsc_Colon_The_TypeScript_Compiler)} - ${g_(p.Version_0, Gf)}`)];
        i.push(n.bold(g_(p.COMMON_COMMANDS)) + e.newLine + e.newLine), c("tsc", p.Compiles_the_current_project_tsconfig_json_in_the_working_directory), c("tsc app.ts util.ts", p.Ignoring_tsconfig_json_compiles_the_specified_files_with_default_compiler_options), c("tsc -b", p.Build_a_composite_project_in_the_working_directory), c("tsc --init", p.Creates_a_tsconfig_json_with_the_recommended_settings_in_the_working_directory), c("tsc -p ./path/to/tsconfig.json", p.Compiles_the_TypeScript_project_located_at_the_specified_path), c("tsc --help --all", p.An_expanded_version_of_this_information_showing_all_possible_compiler_options), c(["tsc --noEmit", "tsc --target esnext"], p.Compiles_the_current_project_with_additional_settings);
        const s = t.filter((_) => _.isCommandLineOnly || _.category === p.Command_line_Options), o = t.filter((_) => !_s(s, _));
        i = [
          ...i,
          ...kA(
            e,
            g_(p.COMMAND_LINE_FLAGS),
            s,
            /*subCategory*/
            !1,
            /*beforeOptionsDescription*/
            void 0,
            /*afterOptionsDescription*/
            void 0
          ),
          ...kA(
            e,
            g_(p.COMMON_COMPILER_OPTIONS),
            o,
            /*subCategory*/
            !1,
            /*beforeOptionsDescription*/
            void 0,
            Ex(p.You_can_learn_about_all_of_the_compiler_options_at_0, "https://aka.ms/tsc")
          )
        ];
        for (const _ of i)
          e.write(_);
        function c(_, u) {
          const g = typeof _ == "string" ? [_] : _;
          for (const m of g)
            i.push("  " + n.blue(m) + e.newLine);
          i.push("  " + g_(u) + e.newLine + e.newLine);
        }
      }
      function DBe(e, t, n, i) {
        let s = [...ZV(e, `${g_(p.tsc_Colon_The_TypeScript_Compiler)} - ${g_(p.Version_0, Gf)}`)];
        s = [...s, ...kA(
          e,
          g_(p.ALL_COMPILER_OPTIONS),
          t,
          /*subCategory*/
          !0,
          /*beforeOptionsDescription*/
          void 0,
          Ex(p.You_can_learn_about_all_of_the_compiler_options_at_0, "https://aka.ms/tsc")
        )], s = [...s, ...kA(
          e,
          g_(p.WATCH_OPTIONS),
          i,
          /*subCategory*/
          !1,
          g_(p.Including_watch_w_will_start_watching_the_current_project_for_the_file_changes_Once_set_you_can_config_watch_mode_with_Colon)
        )], s = [...s, ...kA(
          e,
          g_(p.BUILD_OPTIONS),
          Tn(n, (o) => o !== JS),
          /*subCategory*/
          !1,
          Ex(p.Using_build_b_will_make_tsc_behave_more_like_a_build_orchestrator_than_a_compiler_This_is_used_to_trigger_building_composite_projects_which_you_can_learn_more_about_at_0, "https://aka.ms/tsc-composite-builds")
        )];
        for (const o of s)
          e.write(o);
      }
      function Sbe(e, t) {
        let n = [...ZV(e, `${g_(p.tsc_Colon_The_TypeScript_Compiler)} - ${g_(p.Version_0, Gf)}`)];
        n = [...n, ...kA(
          e,
          g_(p.BUILD_OPTIONS),
          Tn(t, (i) => i !== JS),
          /*subCategory*/
          !1,
          Ex(p.Using_build_b_will_make_tsc_behave_more_like_a_build_orchestrator_than_a_compiler_This_is_used_to_trigger_building_composite_projects_which_you_can_learn_more_about_at_0, "https://aka.ms/tsc-composite-builds")
        )];
        for (const i of n)
          e.write(i);
      }
      function ZV(e, t) {
        var n;
        const i = YV(e), s = [], o = ((n = e.getWidthOfTerminal) == null ? void 0 : n.call(e)) ?? 0, c = 5, _ = i.blueBackground("".padStart(c)), u = i.blueBackground(i.brightWhite("TS ".padStart(c)));
        if (o >= t.length + c) {
          const m = (o > 120 ? 120 : o) - c;
          s.push(t.padEnd(m) + _ + e.newLine), s.push("".padStart(m) + u + e.newLine);
        } else
          s.push(t + e.newLine), s.push(e.newLine);
        return s;
      }
      function Tbe(e, t) {
        t.options.all ? DBe(e, ybe(t), zz, Zx) : EBe(e, ybe(t));
      }
      function xbe(e, t, n) {
        let i = sk(e), s;
        if (n.options.locale && kj(n.options.locale, e, n.errors), n.errors.length > 0)
          return n.errors.forEach(i), e.exit(
            1
            /* DiagnosticsPresent_OutputsSkipped */
          );
        if (n.options.init)
          return ABe(e, i, n.options, n.fileNames), e.exit(
            0
            /* Success */
          );
        if (n.options.version)
          return QV(e), e.exit(
            0
            /* Success */
          );
        if (n.options.help || n.options.all)
          return Tbe(e, n), e.exit(
            0
            /* Success */
          );
        if (n.options.watch && n.options.listFilesOnly)
          return i($o(p.Options_0_and_1_cannot_be_combined, "watch", "listFilesOnly")), e.exit(
            1
            /* DiagnosticsPresent_OutputsSkipped */
          );
        if (n.options.project) {
          if (n.fileNames.length !== 0)
            return i($o(p.Option_project_cannot_be_mixed_with_source_files_on_a_command_line)), e.exit(
              1
              /* DiagnosticsPresent_OutputsSkipped */
            );
          const _ = Gs(n.options.project);
          if (!_ || e.directoryExists(_)) {
            if (s = An(_, "tsconfig.json"), !e.fileExists(s))
              return i($o(p.Cannot_find_a_tsconfig_json_file_at_the_specified_directory_Colon_0, n.options.project)), e.exit(
                1
                /* DiagnosticsPresent_OutputsSkipped */
              );
          } else if (s = _, !e.fileExists(s))
            return i($o(p.The_specified_path_does_not_exist_Colon_0, n.options.project)), e.exit(
              1
              /* DiagnosticsPresent_OutputsSkipped */
            );
        } else if (n.fileNames.length === 0) {
          const _ = Gs(e.getCurrentDirectory());
          s = eV(_, (u) => e.fileExists(u));
        }
        if (n.fileNames.length === 0 && !s)
          return n.options.showConfig ? i($o(p.Cannot_find_a_tsconfig_json_file_at_the_current_directory_Colon_0, Gs(e.getCurrentDirectory()))) : (QV(e), Tbe(e, n)), e.exit(
            1
            /* DiagnosticsPresent_OutputsSkipped */
          );
        const o = e.getCurrentDirectory(), c = QF(
          n.options,
          (_) => Xi(_, o)
        );
        if (s) {
          const _ = /* @__PURE__ */ new Map(), u = Xie(s, c, _, n.watchOptions, e, i);
          if (c.showConfig)
            return u.errors.length !== 0 ? (i = XV(
              e,
              i,
              u.options
            ), u.errors.forEach(i), e.exit(
              1
              /* DiagnosticsPresent_OutputsSkipped */
            )) : (e.write(JSON.stringify(Xz(u, s, e), null, 4) + e.newLine), e.exit(
              0
              /* Success */
            ));
          if (i = XV(
            e,
            i,
            u.options
          ), cJ(u.options))
            return gse(e, i) ? void 0 : wBe(
              e,
              t,
              i,
              u,
              c,
              n.watchOptions,
              _
            );
          Bb(u.options) ? Dbe(
            e,
            t,
            i,
            u
          ) : Ebe(
            e,
            t,
            i,
            u
          );
        } else {
          if (c.showConfig)
            return e.write(JSON.stringify(Xz(n, An(o, "tsconfig.json"), e), null, 4) + e.newLine), e.exit(
              0
              /* Success */
            );
          if (i = XV(
            e,
            i,
            c
          ), cJ(c))
            return gse(e, i) ? void 0 : PBe(
              e,
              t,
              i,
              n.fileNames,
              c,
              n.watchOptions
            );
          Bb(c) ? Dbe(
            e,
            t,
            i,
            { ...n, options: c }
          ) : Ebe(
            e,
            t,
            i,
            { ...n, options: c }
          );
        }
      }
      function mse(e) {
        if (e.length > 0 && e[0].charCodeAt(0) === 45) {
          const t = e[0].slice(e[0].charCodeAt(1) === 45 ? 2 : 1).toLowerCase();
          return t === JS.name || t === JS.shortName;
        }
        return !1;
      }
      function kbe(e, t, n) {
        if (mse(n)) {
          const { buildOptions: s, watchOptions: o, projects: c, errors: _ } = wre(n);
          if (s.generateCpuProfile && e.enableCPUProfiler)
            e.enableCPUProfiler(s.generateCpuProfile, () => Cbe(
              e,
              t,
              s,
              o,
              c,
              _
            ));
          else
            return Cbe(
              e,
              t,
              s,
              o,
              c,
              _
            );
        }
        const i = Ere(n, (s) => e.readFile(s));
        if (i.options.generateCpuProfile && e.enableCPUProfiler)
          e.enableCPUProfiler(i.options.generateCpuProfile, () => xbe(
            e,
            t,
            i
          ));
        else
          return xbe(e, t, i);
      }
      function gse(e, t) {
        return !e.watchFile || !e.watchDirectory ? (t($o(p.The_current_host_does_not_support_the_0_option, "--watch")), e.exit(
          1
          /* DiagnosticsPresent_OutputsSkipped */
        ), !0) : !1;
      }
      var t9 = 2;
      function Cbe(e, t, n, i, s, o) {
        const c = XV(
          e,
          sk(e),
          n
        );
        if (n.locale && kj(n.locale, e, o), o.length > 0)
          return o.forEach(c), e.exit(
            1
            /* DiagnosticsPresent_OutputsSkipped */
          );
        if (n.help || s.length === 0)
          return QV(e), Sbe(e, VN), e.exit(
            0
            /* Success */
          );
        if (!e.getModifiedTime || !e.setModifiedTime || n.clean && !e.deleteFile)
          return c($o(p.The_current_host_does_not_support_the_0_option, "--build")), e.exit(
            1
            /* DiagnosticsPresent_OutputsSkipped */
          );
        if (n.watch) {
          if (gse(e, c)) return;
          const h = tse(
            e,
            /*createProgram*/
            void 0,
            c,
            YO(e, e9(e, n)),
            yse(e, n)
          );
          h.jsDocParsingMode = t9;
          const S = Abe(e, n);
          wbe(e, t, h, S);
          const T = h.onWatchStatusChange;
          let k = !1;
          h.onWatchStatusChange = (w, A, O, F) => {
            T?.(w, A, O, F), k && (w.code === p.Found_0_errors_Watching_for_file_changes.code || w.code === p.Found_1_error_Watching_for_file_changes.code) && vse(D, S);
          };
          const D = nse(h, s, n, i);
          return D.build(), vse(D, S), k = !0, D;
        }
        const _ = ese(
          e,
          /*createProgram*/
          void 0,
          c,
          YO(e, e9(e, n)),
          hse(e, n)
        );
        _.jsDocParsingMode = t9;
        const u = Abe(e, n);
        wbe(e, t, _, u);
        const g = rse(_, s, n), m = n.clean ? g.clean() : g.build();
        return vse(g, u), vQ(), e.exit(m);
      }
      function hse(e, t) {
        return e9(e, t) ? (n, i) => e.write(DV(n, i, e.newLine, e)) : void 0;
      }
      function Ebe(e, t, n, i) {
        const { fileNames: s, options: o, projectReferences: c } = i, _ = NO(
          o,
          /*setParentNodes*/
          void 0,
          e
        );
        _.jsDocParsingMode = t9;
        const u = _.getCurrentDirectory(), g = Hl(_.useCaseSensitiveFileNames());
        aw(_, (T) => lo(T, u, g)), bse(
          e,
          o,
          /*isBuildMode*/
          !1
        );
        const m = {
          rootNames: s,
          options: o,
          projectReferences: c,
          host: _,
          configFileParsingDiagnostics: i2(i)
        }, h = gA(m), S = OV(
          h,
          n,
          (T) => e.write(T + e.newLine),
          hse(e, o)
        );
        return eU(
          e,
          h,
          /*solutionPerformance*/
          void 0
        ), t(h), e.exit(S);
      }
      function Dbe(e, t, n, i) {
        const { options: s, fileNames: o, projectReferences: c } = i;
        bse(
          e,
          s,
          /*isBuildMode*/
          !1
        );
        const _ = QO(s, e);
        _.jsDocParsingMode = t9;
        const u = Qie({
          host: _,
          system: e,
          rootNames: o,
          options: s,
          configFileParsingDiagnostics: i2(i),
          projectReferences: c,
          reportDiagnostic: n,
          reportErrorSummary: hse(e, s),
          afterProgramEmitAndDiagnostics: (g) => {
            eU(
              e,
              g.getProgram(),
              /*solutionPerformance*/
              void 0
            ), t(g);
          }
        });
        return e.exit(u);
      }
      function wbe(e, t, n, i) {
        Pbe(
          e,
          n,
          /*isBuildMode*/
          !0
        ), n.afterProgramEmitAndDiagnostics = (s) => {
          eU(e, s.getProgram(), i), t(s);
        };
      }
      function Pbe(e, t, n) {
        const i = t.createProgram;
        t.createProgram = (s, o, c, _, u, g) => (E.assert(s !== void 0 || o === void 0 && !!_), o !== void 0 && bse(e, o, n), i(s, o, c, _, u, g));
      }
      function Nbe(e, t, n) {
        n.jsDocParsingMode = t9, Pbe(
          e,
          n,
          /*isBuildMode*/
          !1
        );
        const i = n.afterProgramCreate;
        n.afterProgramCreate = (s) => {
          i(s), eU(
            e,
            s.getProgram(),
            /*solutionPerformance*/
            void 0
          ), t(s);
        };
      }
      function yse(e, t) {
        return CV(e, e9(e, t));
      }
      function wBe(e, t, n, i, s, o, c) {
        const _ = BV({
          configFileName: i.options.configFilePath,
          optionsToExtend: s,
          watchOptionsToExtend: o,
          system: e,
          reportDiagnostic: n,
          reportWatchStatus: yse(e, i.options)
        });
        return Nbe(e, t, _), _.configFileParsingResult = i, _.extendedConfigCache = c, zV(_);
      }
      function PBe(e, t, n, i, s, o) {
        const c = JV({
          rootFiles: i,
          options: s,
          watchOptions: o,
          system: e,
          reportDiagnostic: n,
          reportWatchStatus: yse(e, s)
        });
        return Nbe(e, t, c), zV(c);
      }
      function Abe(e, t) {
        if (e === dl && t.extendedDiagnostics)
          return VR(), NBe();
      }
      function NBe() {
        let e;
        return {
          addAggregateStatistic: t,
          forEachAggregateStatistics: n,
          clear: i
        };
        function t(s) {
          const o = e?.get(s.name);
          o ? o.type === 2 ? o.value = Math.max(o.value, s.value) : o.value += s.value : (e ?? (e = /* @__PURE__ */ new Map())).set(s.name, s);
        }
        function n(s) {
          e?.forEach(s);
        }
        function i() {
          e = void 0;
        }
      }
      function vse(e, t) {
        if (!t) return;
        if (!gQ()) {
          dl.write(p.Performance_timings_for_diagnostics_or_extendedDiagnostics_are_not_available_in_this_session_A_native_implementation_of_the_Web_Performance_API_could_not_be_found.message + `
`);
          return;
        }
        const n = [];
        n.push(
          {
            name: "Projects in scope",
            value: SA(e.getBuildOrder()).length,
            type: 1
            /* count */
          }
        ), i("SolutionBuilder::Projects built"), i("SolutionBuilder::Timestamps only updates"), i("SolutionBuilder::Bundles updated"), t.forEachAggregateStatistics((o) => {
          o.name = `Aggregate ${o.name}`, n.push(o);
        }), WR((o, c) => {
          KV(o) && n.push({
            name: `${s(o)} time`,
            value: c,
            type: 0
            /* time */
          });
        }), hQ(), VR(), t.clear(), Obe(dl, n);
        function i(o) {
          const c = hge(o);
          c && n.push({
            name: s(o),
            value: c,
            type: 1
            /* count */
          });
        }
        function s(o) {
          return o.replace("SolutionBuilder::", "");
        }
      }
      function Ibe(e, t) {
        return e === dl && (t.diagnostics || t.extendedDiagnostics);
      }
      function Fbe(e, t) {
        return e === dl && t.generateTrace;
      }
      function bse(e, t, n) {
        Ibe(e, t) && VR(e), Fbe(e, t) && yQ(n ? "build" : "project", t.generateTrace, t.configFilePath);
      }
      function KV(e) {
        return Wi(e, "SolutionBuilder::");
      }
      function eU(e, t, n) {
        var i;
        const s = t.getCompilerOptions();
        Fbe(e, s) && ((i = rn) == null || i.stopTracing());
        let o;
        if (Ibe(e, s)) {
          o = [];
          const g = e.getMemoryUsage ? e.getMemoryUsage() : -1;
          _("Files", t.getSourceFiles().length);
          const m = TBe(t);
          if (s.extendedDiagnostics)
            for (const [w, A] of m.entries())
              _("Lines of " + w, A);
          else
            _("Lines", WX(m.values(), (w, A) => w + A, 0));
          _("Identifiers", t.getIdentifierCount()), _("Symbols", t.getSymbolCount()), _("Types", t.getTypeCount()), _("Instantiations", t.getInstantiationCount()), g >= 0 && c(
            {
              name: "Memory used",
              value: g,
              type: 2
              /* memory */
            },
            /*aggregate*/
            !0
          );
          const h = gQ(), S = h ? u4("Program") : 0, T = h ? u4("Bind") : 0, k = h ? u4("Check") : 0, D = h ? u4("Emit") : 0;
          if (s.extendedDiagnostics) {
            const w = t.getRelationCacheSizes();
            _("Assignability cache size", w.assignable), _("Identity cache size", w.identity), _("Subtype cache size", w.subtype), _("Strict subtype cache size", w.strictSubtype), h && WR((A, O) => {
              KV(A) || u(
                `${A} time`,
                O,
                /*aggregate*/
                !0
              );
            });
          } else h && (u(
            "I/O read",
            u4("I/O Read"),
            /*aggregate*/
            !0
          ), u(
            "I/O write",
            u4("I/O Write"),
            /*aggregate*/
            !0
          ), u(
            "Parse time",
            S,
            /*aggregate*/
            !0
          ), u(
            "Bind time",
            T,
            /*aggregate*/
            !0
          ), u(
            "Check time",
            k,
            /*aggregate*/
            !0
          ), u(
            "Emit time",
            D,
            /*aggregate*/
            !0
          ));
          h && u(
            "Total time",
            S + T + k + D,
            /*aggregate*/
            !1
          ), Obe(e, o), h ? n ? (WR((w) => {
            KV(w) || vge(w);
          }), yge((w) => {
            KV(w) || bge(w);
          })) : hQ() : e.write(p.Performance_timings_for_diagnostics_or_extendedDiagnostics_are_not_available_in_this_session_A_native_implementation_of_the_Web_Performance_API_could_not_be_found.message + `
`);
        }
        function c(g, m) {
          o.push(g), m && n?.addAggregateStatistic(g);
        }
        function _(g, m) {
          c(
            {
              name: g,
              value: m,
              type: 1
              /* count */
            },
            /*aggregate*/
            !0
          );
        }
        function u(g, m, h) {
          c({
            name: g,
            value: m,
            type: 0
            /* time */
          }, h);
        }
      }
      function Obe(e, t) {
        let n = 0, i = 0;
        for (const s of t) {
          s.name.length > n && (n = s.name.length);
          const o = Lbe(s);
          o.length > i && (i = o.length);
        }
        for (const s of t)
          e.write(`${s.name}:`.padEnd(n + 2) + Lbe(s).toString().padStart(i) + e.newLine);
      }
      function Lbe(e) {
        switch (e.type) {
          case 1:
            return "" + e.value;
          case 0:
            return (e.value / 1e3).toFixed(2) + "s";
          case 2:
            return Math.round(e.value / 1e3) + "K";
          default:
            E.assertNever(e.type);
        }
      }
      function ABe(e, t, n, i) {
        const s = e.getCurrentDirectory(), o = Gs(An(s, "tsconfig.json"));
        if (e.fileExists(o))
          t($o(p.A_tsconfig_json_file_is_already_defined_at_Colon_0, o));
        else {
          e.writeFile(o, Fre(n, i, e.newLine));
          const c = [e.newLine, ...ZV(e, "Created a new tsconfig.json with:")];
          c.push(Ire(n, e.newLine) + e.newLine + e.newLine), c.push("You can learn more at https://aka.ms/tsconfig" + e.newLine);
          for (const _ of c)
            e.write(_);
        }
      }
      function pm(e, t = !0) {
        return { type: e, reportFallback: t };
      }
      var Mbe = pm(
        /*type*/
        void 0,
        /*reportFallback*/
        !1
      ), Rbe = pm(
        /*type*/
        void 0,
        /*reportFallback*/
        !1
      ), _w = pm(
        /*type*/
        void 0,
        /*reportFallback*/
        !0
      );
      function Sse(e, t) {
        const n = lu(e, "strictNullChecks");
        return {
          serializeTypeOfDeclaration: m,
          serializeReturnTypeForSignature: S,
          serializeTypeOfExpression: g,
          serializeTypeOfAccessor: u,
          tryReuseExistingTypeNode(se, Pe) {
            if (t.canReuseTypeNode(se, Pe))
              return s(se, Pe);
          }
        };
        function i(se, Pe, Ee = Pe) {
          return Pe === void 0 ? void 0 : t.markNodeReuse(se, Pe.flags & 16 ? Pe : N.cloneNode(Pe), Ee ?? Pe);
        }
        function s(se, Pe) {
          const { finalizeBoundary: Ee, startRecoveryScope: Ce, hadError: ze, markError: St } = t.createRecoveryBoundary(se), Bt = $e(Pe, tr, si);
          if (!Ee())
            return;
          return se.approximateLength += Pe.end - Pe.pos, Bt;
          function tr(Pt) {
            if (ze()) return Pt;
            const Fn = Ce(), ii = Xee(Pt) ? t.enterNewScope(se, Pt) : void 0, li = zi(Pt);
            return ii?.(), ze() ? si(Pt) && !Jx(Pt) ? (Fn(), t.serializeExistingTypeNode(se, Pt)) : Pt : li ? t.markNodeReuse(se, li, Pt) : void 0;
          }
          function Fr(Pt) {
            const Fn = U4(Pt);
            switch (Fn.kind) {
              case 183:
                return ai(Fn);
              case 186:
                return Wr(Fn);
              case 199:
                return it(Fn);
              case 198:
                const ii = Fn;
                if (ii.operator === 143)
                  return Wt(ii);
            }
            return $e(Pt, tr, si);
          }
          function it(Pt) {
            const Fn = Fr(Pt.objectType);
            if (Fn !== void 0)
              return N.updateIndexedAccessTypeNode(Pt, Fn, $e(Pt.indexType, tr, si));
          }
          function Wt(Pt) {
            E.assertEqual(
              Pt.operator,
              143
              /* KeyOfKeyword */
            );
            const Fn = Fr(Pt.type);
            if (Fn !== void 0)
              return N.updateTypeOperatorNode(Pt, Fn);
          }
          function Wr(Pt) {
            const { introducesError: Fn, node: ii } = t.trackExistingEntityName(se, Pt.exprName);
            if (!Fn)
              return N.updateTypeQueryNode(
                Pt,
                ii,
                Lr(Pt.typeArguments, tr, si)
              );
            const li = t.serializeTypeName(
              se,
              Pt.exprName,
              /*isTypeOf*/
              !0
            );
            if (li)
              return t.markNodeReuse(se, li, Pt.exprName);
          }
          function ai(Pt) {
            if (t.canReuseTypeNode(se, Pt)) {
              const { introducesError: Fn, node: ii } = t.trackExistingEntityName(se, Pt.typeName), li = Lr(Pt.typeArguments, tr, si);
              if (Fn) {
                const cn = t.serializeTypeName(
                  se,
                  Pt.typeName,
                  /*isTypeOf*/
                  !1,
                  li
                );
                if (cn)
                  return t.markNodeReuse(se, cn, Pt.typeName);
              } else {
                const cn = N.updateTypeReferenceNode(
                  Pt,
                  ii,
                  li
                );
                return t.markNodeReuse(se, cn, Pt);
              }
            }
          }
          function zi(Pt) {
            var Fn;
            if (lv(Pt))
              return $e(Pt.type, tr, si);
            if (Rte(Pt) || Pt.kind === 319)
              return N.createKeywordTypeNode(
                133
                /* AnyKeyword */
              );
            if (jte(Pt))
              return N.createKeywordTypeNode(
                159
                /* UnknownKeyword */
              );
            if (y6(Pt))
              return N.createUnionTypeNode([$e(Pt.type, tr, si), N.createLiteralTypeNode(N.createNull())]);
            if (uz(Pt))
              return N.createUnionTypeNode([$e(Pt.type, tr, si), N.createKeywordTypeNode(
                157
                /* UndefinedKeyword */
              )]);
            if (EF(Pt))
              return $e(Pt.type, tr);
            if (DF(Pt))
              return N.createArrayTypeNode($e(Pt.type, tr, si));
            if (RS(Pt))
              return N.createTypeLiteralNode(fr(Pt.jsDocPropertyTags, (ut) => {
                const er = $e(Fe(ut.name) ? ut.name : ut.name.right, tr, Fe), Vr = t.getJsDocPropertyOverride(se, Pt, ut);
                return N.createPropertySignature(
                  /*modifiers*/
                  void 0,
                  er,
                  ut.isBracketed || ut.typeExpression && uz(ut.typeExpression.type) ? N.createToken(
                    58
                    /* QuestionToken */
                  ) : void 0,
                  Vr || ut.typeExpression && $e(ut.typeExpression.type, tr, si) || N.createKeywordTypeNode(
                    133
                    /* AnyKeyword */
                  )
                );
              }));
            if (X_(Pt) && Fe(Pt.typeName) && Pt.typeName.escapedText === "")
              return xn(N.createKeywordTypeNode(
                133
                /* AnyKeyword */
              ), Pt);
            if ((Lh(Pt) || X_(Pt)) && n5(Pt))
              return N.createTypeLiteralNode([N.createIndexSignature(
                /*modifiers*/
                void 0,
                [N.createParameterDeclaration(
                  /*modifiers*/
                  void 0,
                  /*dotDotDotToken*/
                  void 0,
                  "x",
                  /*questionToken*/
                  void 0,
                  $e(Pt.typeArguments[0], tr, si)
                )],
                $e(Pt.typeArguments[1], tr, si)
              )]);
            if (v6(Pt))
              if (mx(Pt)) {
                let ut;
                return N.createConstructorTypeNode(
                  /*modifiers*/
                  void 0,
                  Lr(Pt.typeParameters, tr, Fo),
                  Oi(Pt.parameters, (er, Vr) => er.name && Fe(er.name) && er.name.escapedText === "new" ? (ut = er.type, void 0) : N.createParameterDeclaration(
                    /*modifiers*/
                    void 0,
                    cn(er),
                    t.markNodeReuse(se, N.createIdentifier(ci(er, Vr)), er),
                    N.cloneNode(er.questionToken),
                    $e(er.type, tr, si),
                    /*initializer*/
                    void 0
                  )),
                  $e(ut || Pt.type, tr, si) || N.createKeywordTypeNode(
                    133
                    /* AnyKeyword */
                  )
                );
              } else
                return N.createFunctionTypeNode(
                  Lr(Pt.typeParameters, tr, Fo),
                  fr(Pt.parameters, (ut, er) => N.createParameterDeclaration(
                    /*modifiers*/
                    void 0,
                    cn(ut),
                    t.markNodeReuse(se, N.createIdentifier(ci(ut, er)), ut),
                    N.cloneNode(ut.questionToken),
                    $e(ut.type, tr, si),
                    /*initializer*/
                    void 0
                  )),
                  $e(Pt.type, tr, si) || N.createKeywordTypeNode(
                    133
                    /* AnyKeyword */
                  )
                );
            if (ND(Pt))
              return t.canReuseTypeNode(se, Pt) || St(), Pt;
            if (Fo(Pt)) {
              const { node: ut } = t.trackExistingEntityName(se, Pt.name);
              return N.updateTypeParameterDeclaration(
                Pt,
                Lr(Pt.modifiers, tr, Ks),
                // resolver.markNodeReuse(context, typeParameterToName(getDeclaredTypeOfSymbol(getSymbolOfDeclaration(node)), context), node),
                ut,
                $e(Pt.constraint, tr, si),
                $e(Pt.default, tr, si)
              );
            }
            if (qb(Pt)) {
              const ut = it(Pt);
              return ut || (St(), Pt);
            }
            if (X_(Pt)) {
              const ut = ai(Pt);
              return ut || (St(), Pt);
            }
            if (Dh(Pt)) {
              if (((Fn = Pt.attributes) == null ? void 0 : Fn.token) === 132)
                return St(), Pt;
              if (!t.canReuseTypeNode(se, Pt))
                return t.serializeExistingTypeNode(se, Pt);
              const ut = je(Pt, Pt.argument.literal), er = ut === Pt.argument.literal ? i(se, Pt.argument.literal) : ut;
              return N.updateImportTypeNode(
                Pt,
                er === Pt.argument.literal ? i(se, Pt.argument) : N.createLiteralTypeNode(er),
                $e(Pt.attributes, tr, LS),
                $e(Pt.qualifier, tr, Gu),
                Lr(Pt.typeArguments, tr, si),
                Pt.isTypeOf
              );
            }
            if (El(Pt) && Pt.name.kind === 167 && !t.hasLateBindableName(Pt)) {
              if (!Ph(Pt))
                return ii(Pt, tr);
              if (t.shouldRemoveDeclaration(se, Pt))
                return;
            }
            if (Ts(Pt) && !Pt.type || is(Pt) && !Pt.type && !Pt.initializer || ju(Pt) && !Pt.type && !Pt.initializer || Ni(Pt) && !Pt.type && !Pt.initializer) {
              let ut = ii(Pt, tr);
              return ut === Pt && (ut = t.markNodeReuse(se, N.cloneNode(Pt), Pt)), ut.type = N.createKeywordTypeNode(
                133
                /* AnyKeyword */
              ), Ni(Pt) && (ut.modifiers = void 0), ut;
            }
            if (Vb(Pt)) {
              const ut = Wr(Pt);
              return ut || (St(), Pt);
            }
            if (ia(Pt) && to(Pt.expression)) {
              const { node: ut, introducesError: er } = t.trackExistingEntityName(se, Pt.expression);
              if (er) {
                const Vr = t.serializeTypeOfExpression(se, Pt.expression);
                let zn;
                if (P0(Vr))
                  zn = Vr.literal;
                else {
                  const Wn = t.evaluateEntityNameExpression(Pt.expression), bi = typeof Wn.value == "string" ? N.createStringLiteral(
                    Wn.value,
                    /*isSingleQuote*/
                    void 0
                  ) : typeof Wn.value == "number" ? N.createNumericLiteral(
                    Wn.value,
                    /*numericLiteralFlags*/
                    0
                  ) : void 0;
                  if (!bi)
                    return am(Vr) && t.trackComputedName(se, Pt.expression), Pt;
                  zn = bi;
                }
                return zn.kind === 11 && C_(zn.text, ga(e)) ? N.createIdentifier(zn.text) : zn.kind === 9 && !zn.text.startsWith("-") ? zn : N.updateComputedPropertyName(Pt, zn);
              } else
                return N.updateComputedPropertyName(Pt, ut);
            }
            if (Jx(Pt)) {
              let ut;
              if (Fe(Pt.parameterName)) {
                const { node: er, introducesError: Vr } = t.trackExistingEntityName(se, Pt.parameterName);
                Vr && St(), ut = er;
              } else
                ut = N.cloneNode(Pt.parameterName);
              return N.updateTypePredicateNode(Pt, N.cloneNode(Pt.assertsModifier), ut, $e(Pt.type, tr, si));
            }
            if (zx(Pt) || Yu(Pt) || IS(Pt)) {
              const ut = ii(Pt, tr), er = t.markNodeReuse(se, ut === Pt ? N.cloneNode(Pt) : ut, Pt), Vr = ka(er);
              return an(er, Vr | (se.flags & 1024 && Yu(Pt) ? 0 : 1)), er;
            }
            if (la(Pt) && se.flags & 268435456 && !Pt.singleQuote) {
              const ut = N.cloneNode(Pt);
              return ut.singleQuote = !0, ut;
            }
            if (Ub(Pt)) {
              const ut = $e(Pt.checkType, tr, si), er = t.enterNewScope(se, Pt), Vr = $e(Pt.extendsType, tr, si), zn = $e(Pt.trueType, tr, si);
              er();
              const Wn = $e(Pt.falseType, tr, si);
              return N.updateConditionalTypeNode(
                Pt,
                ut,
                Vr,
                zn,
                Wn
              );
            }
            if (nv(Pt)) {
              if (Pt.operator === 158 && Pt.type.kind === 155) {
                if (!t.canReuseTypeNode(se, Pt))
                  return St(), Pt;
              } else if (Pt.operator === 143) {
                const ut = Wt(Pt);
                return ut || (St(), Pt);
              }
            }
            return ii(Pt, tr);
            function ii(ut, er) {
              const Vr = !se.enclosingFile || se.enclosingFile !== Er(ut);
              return yr(
                ut,
                er,
                /*context*/
                void 0,
                Vr ? li : void 0
              );
            }
            function li(ut, er, Vr, zn, Wn) {
              let bi = Lr(ut, er, Vr, zn, Wn);
              return bi && (bi.pos !== -1 || bi.end !== -1) && (bi === ut && (bi = N.createNodeArray(ut.slice(), ut.hasTrailingComma)), hd(bi, -1, -1)), bi;
            }
            function cn(ut) {
              return ut.dotDotDotToken || (ut.type && DF(ut.type) ? N.createToken(
                26
                /* DotDotDotToken */
              ) : void 0);
            }
            function ci(ut, er) {
              return ut.name && Fe(ut.name) && ut.name.escapedText === "this" ? "this" : cn(ut) ? "args" : `arg${er}`;
            }
            function je(ut, er) {
              const Vr = t.getModuleSpecifierOverride(se, ut, er);
              return Vr ? xn(N.createStringLiteral(Vr), er) : er;
            }
          }
        }
        function o(se, Pe, Ee) {
          if (!se) return;
          let Ce;
          return (!Ee || Xe(se)) && t.canReuseTypeNode(Pe, se) && (Ce = s(Pe, se), Ce !== void 0 && (Ce = ue(
            Ce,
            Ee,
            /*owner*/
            void 0,
            Pe
          ))), Ce;
        }
        function c(se, Pe, Ee, Ce, ze, St = ze !== void 0) {
          if (!se || !t.canReuseTypeNodeAnnotation(Pe, Ee, se, Ce, ze) && (!ze || !t.canReuseTypeNodeAnnotation(
            Pe,
            Ee,
            se,
            Ce,
            /*requiresAddingUndefined*/
            !1
          )))
            return;
          let Bt;
          return (!ze || Xe(se)) && (Bt = o(se, Pe, ze)), Bt !== void 0 || !St ? Bt : (Pe.tracker.reportInferenceFallback(Ee), t.serializeExistingTypeNode(Pe, se, ze) ?? N.createKeywordTypeNode(
            133
            /* AnyKeyword */
          ));
        }
        function _(se, Pe, Ee, Ce) {
          if (!se) return;
          const ze = o(se, Pe, Ee);
          return ze !== void 0 ? ze : (Pe.tracker.reportInferenceFallback(se), t.serializeExistingTypeNode(Pe, se, Ee) ?? N.createKeywordTypeNode(
            133
            /* AnyKeyword */
          ));
        }
        function u(se, Pe, Ee) {
          return D(se, Pe, Ee) ?? G(se, t.getAllAccessorDeclarations(se), Ee, Pe);
        }
        function g(se, Pe, Ee, Ce) {
          const ze = K(
            se,
            Pe,
            /*isConstContext*/
            !1,
            Ee,
            Ce
          );
          return ze.type !== void 0 ? ze.type : z(se, Pe, ze.reportFallback);
        }
        function m(se, Pe, Ee) {
          switch (se.kind) {
            case 169:
            case 341:
              return A(se, Pe, Ee);
            case 260:
              return w(se, Pe, Ee);
            case 171:
            case 348:
            case 172:
              return F(se, Pe, Ee);
            case 208:
              return j(se, Pe, Ee);
            case 277:
              return g(
                se.expression,
                Ee,
                /*addUndefined*/
                void 0,
                /*preserveLiterals*/
                !0
              );
            case 211:
            case 212:
            case 226:
              return O(se, Pe, Ee);
            case 303:
            case 304:
              return h(se, Pe, Ee);
            default:
              E.assertNever(se, `Node needs to be an inferrable node, found ${E.formatSyntaxKind(se.kind)}`);
          }
        }
        function h(se, Pe, Ee) {
          const Ce = Yc(se);
          let ze;
          if (Ce && t.canReuseTypeNodeAnnotation(Ee, se, Ce, Pe) && (ze = o(Ce, Ee)), !ze && se.kind === 303) {
            const St = se.initializer, Bt = Yb(St) ? T6(St) : St.kind === 234 || St.kind === 216 ? St.type : void 0;
            Bt && !Up(Bt) && t.canReuseTypeNodeAnnotation(Ee, se, Bt, Pe) && (ze = o(Bt, Ee));
          }
          return ze ?? j(
            se,
            Pe,
            Ee,
            /*reportFallback*/
            !1
          );
        }
        function S(se, Pe, Ee) {
          switch (se.kind) {
            case 177:
              return u(se, Pe, Ee);
            case 174:
            case 262:
            case 180:
            case 173:
            case 179:
            case 176:
            case 178:
            case 181:
            case 184:
            case 185:
            case 218:
            case 219:
            case 317:
            case 323:
              return nt(se, Pe, Ee);
            default:
              E.assertNever(se, `Node needs to be an inferrable node, found ${E.formatSyntaxKind(se.kind)}`);
          }
        }
        function T(se) {
          if (se)
            return se.kind === 177 ? tn(se) && Oy(se) || mf(se) : $B(se);
        }
        function k(se, Pe) {
          let Ee = T(se);
          return !Ee && se !== Pe.firstAccessor && (Ee = T(Pe.firstAccessor)), !Ee && Pe.secondAccessor && se !== Pe.secondAccessor && (Ee = T(Pe.secondAccessor)), Ee;
        }
        function D(se, Pe, Ee) {
          const Ce = t.getAllAccessorDeclarations(se), ze = k(se, Ce);
          if (ze && !Jx(ze))
            return W(Ee, se, () => c(ze, Ee, se, Pe) ?? j(se, Pe, Ee));
          if (Ce.getAccessor)
            return W(Ee, Ce.getAccessor, () => nt(Ce.getAccessor, Pe, Ee));
        }
        function w(se, Pe, Ee) {
          var Ce;
          const ze = Yc(se);
          let St = _w;
          return ze ? St = pm(c(ze, Ee, se, Pe)) : se.initializer && (((Ce = Pe.declarations) == null ? void 0 : Ce.length) === 1 || d0(Pe.declarations, Zn) === 1) && !t.isExpandoFunctionDeclaration(se) && !ve(se) && (St = K(
            se.initializer,
            Ee,
            /*isConstContext*/
            void 0,
            /*requiresAddingUndefined*/
            void 0,
            tK(se)
          )), St.type !== void 0 ? St.type : j(se, Pe, Ee, St.reportFallback);
        }
        function A(se, Pe, Ee) {
          const Ce = se.parent;
          if (Ce.kind === 178)
            return u(
              Ce,
              /*symbol*/
              void 0,
              Ee
            );
          const ze = Yc(se), St = t.requiresAddingImplicitUndefined(se, Pe, Ee.enclosingDeclaration);
          let Bt = _w;
          return ze ? Bt = pm(c(ze, Ee, se, Pe, St)) : Ni(se) && se.initializer && Fe(se.name) && !ve(se) && (Bt = K(
            se.initializer,
            Ee,
            /*isConstContext*/
            void 0,
            St
          )), Bt.type !== void 0 ? Bt.type : j(se, Pe, Ee, Bt.reportFallback);
        }
        function O(se, Pe, Ee) {
          const Ce = Yc(se);
          let ze;
          Ce && (ze = c(Ce, Ee, se, Pe));
          const St = Ee.suppressReportInferenceFallback;
          Ee.suppressReportInferenceFallback = !0;
          const Bt = ze ?? j(
            se,
            Pe,
            Ee,
            /*reportFallback*/
            !1
          );
          return Ee.suppressReportInferenceFallback = St, Bt;
        }
        function F(se, Pe, Ee) {
          const Ce = Yc(se), ze = t.requiresAddingImplicitUndefined(se, Pe, Ee.enclosingDeclaration);
          let St = _w;
          if (Ce)
            St = pm(c(Ce, Ee, se, Pe, ze));
          else {
            const Bt = is(se) ? se.initializer : void 0;
            if (Bt && !ve(se)) {
              const tr = f3(se);
              St = K(
                Bt,
                Ee,
                /*isConstContext*/
                void 0,
                ze,
                tr
              );
            }
          }
          return St.type !== void 0 ? St.type : j(se, Pe, Ee, St.reportFallback);
        }
        function j(se, Pe, Ee, Ce = !0) {
          return Ce && Ee.tracker.reportInferenceFallback(se), Ee.noInferenceFallback === !0 ? N.createKeywordTypeNode(
            133
            /* AnyKeyword */
          ) : t.serializeTypeOfDeclaration(Ee, se, Pe);
        }
        function z(se, Pe, Ee = !0, Ce) {
          return E.assert(!Ce), Ee && Pe.tracker.reportInferenceFallback(se), Pe.noInferenceFallback === !0 ? N.createKeywordTypeNode(
            133
            /* AnyKeyword */
          ) : t.serializeTypeOfExpression(Pe, se) ?? N.createKeywordTypeNode(
            133
            /* AnyKeyword */
          );
        }
        function V(se, Pe, Ee, Ce) {
          return Ce && Pe.tracker.reportInferenceFallback(se), Pe.noInferenceFallback === !0 ? N.createKeywordTypeNode(
            133
            /* AnyKeyword */
          ) : t.serializeReturnTypeForSignature(Pe, se, Ee) ?? N.createKeywordTypeNode(
            133
            /* AnyKeyword */
          );
        }
        function G(se, Pe, Ee, Ce, ze = !0) {
          return se.kind === 177 ? nt(se, Ce, Ee, ze) : (ze && Ee.tracker.reportInferenceFallback(se), (Pe.getAccessor && nt(Pe.getAccessor, Ce, Ee, ze)) ?? t.serializeTypeOfDeclaration(Ee, se, Ce) ?? N.createKeywordTypeNode(
            133
            /* AnyKeyword */
          ));
        }
        function W(se, Pe, Ee) {
          const Ce = t.enterNewScope(se, Pe), ze = Ee();
          return Ce(), ze;
        }
        function pe(se, Pe, Ee, Ce) {
          return Up(Pe) ? K(
            se,
            Ee,
            /*isConstContext*/
            !0,
            Ce
          ) : pm(_(Pe, Ee, Ce));
        }
        function K(se, Pe, Ee = !1, Ce = !1, ze = !1) {
          switch (se.kind) {
            case 217:
              return Yb(se) ? pe(se.expression, T6(se), Pe, Ce) : K(se.expression, Pe, Ee, Ce);
            case 80:
              if (t.isUndefinedIdentifierExpression(se))
                return pm(re());
              break;
            case 106:
              return pm(n ? ue(N.createLiteralTypeNode(N.createNull()), Ce, se, Pe) : N.createKeywordTypeNode(
                133
                /* AnyKeyword */
              ));
            case 219:
            case 218:
              return E.type(se), W(Pe, se, () => U(se, Pe));
            case 216:
            case 234:
              const St = se;
              return pe(St.expression, St.type, Pe, Ce);
            case 224:
              const Bt = se;
              if (aF(Bt))
                return xe(
                  Bt.operator === 40 ? Bt.operand : Bt,
                  Bt.operand.kind === 10 ? 163 : 150,
                  Pe,
                  Ee || ze,
                  Ce
                );
              break;
            case 209:
              return te(se, Pe, Ee, Ce);
            case 210:
              return fe(se, Pe, Ee, Ce);
            case 231:
              return pm(z(
                se,
                Pe,
                /*reportFallback*/
                !0,
                Ce
              ));
            case 228:
              if (!Ee && !ze)
                return pm(N.createKeywordTypeNode(
                  154
                  /* StringKeyword */
                ));
              break;
            default:
              let tr, Fr = se;
              switch (se.kind) {
                case 9:
                  tr = 150;
                  break;
                case 15:
                  Fr = N.createStringLiteral(se.text), tr = 154;
                  break;
                case 11:
                  tr = 154;
                  break;
                case 10:
                  tr = 163;
                  break;
                case 112:
                case 97:
                  tr = 136;
                  break;
              }
              if (tr)
                return xe(Fr, tr, Pe, Ee || ze, Ce);
          }
          return _w;
        }
        function U(se, Pe) {
          const Ee = nt(
            se,
            /*symbol*/
            void 0,
            Pe
          ), Ce = he(se.typeParameters, Pe), ze = se.parameters.map((St) => q(St, Pe));
          return pm(
            N.createFunctionTypeNode(
              Ce,
              ze,
              Ee
            )
          );
        }
        function ee(se, Pe, Ee) {
          if (!Ee)
            return Pe.tracker.reportInferenceFallback(se), !1;
          for (const Ce of se.elements)
            if (Ce.kind === 230)
              return Pe.tracker.reportInferenceFallback(Ce), !1;
          return !0;
        }
        function te(se, Pe, Ee, Ce) {
          if (!ee(se, Pe, Ee))
            return Ce || Dl(Gp(se).parent) ? Rbe : pm(z(
              se,
              Pe,
              /*reportFallback*/
              !1,
              Ce
            ));
          const ze = Pe.noInferenceFallback;
          Pe.noInferenceFallback = !0;
          const St = [];
          for (const tr of se.elements)
            if (E.assert(
              tr.kind !== 230
              /* SpreadElement */
            ), tr.kind === 232)
              St.push(
                re()
              );
            else {
              const Fr = K(tr, Pe, Ee), it = Fr.type !== void 0 ? Fr.type : z(tr, Pe, Fr.reportFallback);
              St.push(it);
            }
          const Bt = N.createTupleTypeNode(St);
          return Bt.emitNode = { flags: 1, autoGenerate: void 0, internalFlags: 0 }, Pe.noInferenceFallback = ze, Mbe;
        }
        function ie(se, Pe) {
          let Ee = !0;
          for (const Ce of se.properties) {
            if (Ce.flags & 262144) {
              Ee = !1;
              break;
            }
            if (Ce.kind === 304 || Ce.kind === 305)
              Pe.tracker.reportInferenceFallback(Ce), Ee = !1;
            else if (Ce.name.flags & 262144) {
              Ee = !1;
              break;
            } else if (Ce.name.kind === 81)
              Ee = !1;
            else if (Ce.name.kind === 167) {
              const ze = Ce.name.expression;
              !aF(
                ze,
                /*includeBigInt*/
                !1
              ) && !t.isDefinitelyReferenceToGlobalSymbolObject(ze) && (Pe.tracker.reportInferenceFallback(Ce.name), Ee = !1);
            }
          }
          return Ee;
        }
        function fe(se, Pe, Ee, Ce) {
          if (!ie(se, Pe))
            return Ce || Dl(Gp(se).parent) ? Rbe : pm(z(
              se,
              Pe,
              /*reportFallback*/
              !1,
              Ce
            ));
          const ze = Pe.noInferenceFallback;
          Pe.noInferenceFallback = !0;
          const St = [], Bt = Pe.flags;
          Pe.flags |= 4194304;
          for (const Fr of se.properties) {
            E.assert(!_u(Fr) && !Gg(Fr));
            const it = Fr.name;
            let Wt;
            switch (Fr.kind) {
              case 174:
                Wt = W(Pe, Fr, () => Me(Fr, it, Pe, Ee));
                break;
              case 303:
                Wt = me(Fr, it, Pe, Ee);
                break;
              case 178:
              case 177:
                Wt = De(Fr, it, Pe);
                break;
            }
            Wt && (Zc(Wt, Fr), St.push(Wt));
          }
          Pe.flags = Bt;
          const tr = N.createTypeLiteralNode(St);
          return Pe.flags & 1024 || an(
            tr,
            1
            /* SingleLine */
          ), Pe.noInferenceFallback = ze, Mbe;
        }
        function me(se, Pe, Ee, Ce) {
          const ze = Ce ? [N.createModifier(
            148
            /* ReadonlyKeyword */
          )] : [], St = K(se.initializer, Ee, Ce), Bt = St.type !== void 0 ? St.type : j(
            se,
            /*symbol*/
            void 0,
            Ee,
            St.reportFallback
          );
          return N.createPropertySignature(
            ze,
            i(Ee, Pe),
            /*questionToken*/
            void 0,
            Bt
          );
        }
        function q(se, Pe) {
          return N.updateParameterDeclaration(
            se,
            [],
            i(Pe, se.dotDotDotToken),
            t.serializeNameOfParameter(Pe, se),
            t.isOptionalParameter(se) ? N.createToken(
              58
              /* QuestionToken */
            ) : void 0,
            A(
              se,
              /*symbol*/
              void 0,
              Pe
            ),
            // Ignore private param props, since this type is going straight back into a param
            /*initializer*/
            void 0
          );
        }
        function he(se, Pe) {
          return se?.map((Ee) => {
            var Ce;
            const { node: ze } = t.trackExistingEntityName(Pe, Ee.name);
            return N.updateTypeParameterDeclaration(
              Ee,
              (Ce = Ee.modifiers) == null ? void 0 : Ce.map((St) => i(Pe, St)),
              ze,
              _(Ee.constraint, Pe),
              _(Ee.default, Pe)
            );
          });
        }
        function Me(se, Pe, Ee, Ce) {
          const ze = nt(
            se,
            /*symbol*/
            void 0,
            Ee
          ), St = he(se.typeParameters, Ee), Bt = se.parameters.map((tr) => q(tr, Ee));
          return Ce ? N.createPropertySignature(
            [N.createModifier(
              148
              /* ReadonlyKeyword */
            )],
            i(Ee, Pe),
            i(Ee, se.questionToken),
            N.createFunctionTypeNode(
              St,
              Bt,
              ze
            )
          ) : (Fe(Pe) && Pe.escapedText === "new" && (Pe = N.createStringLiteral("new")), N.createMethodSignature(
            [],
            i(Ee, Pe),
            i(Ee, se.questionToken),
            St,
            Bt,
            ze
          ));
        }
        function De(se, Pe, Ee) {
          const Ce = t.getAllAccessorDeclarations(se), ze = Ce.getAccessor && T(Ce.getAccessor), St = Ce.setAccessor && T(Ce.setAccessor);
          if (ze !== void 0 && St !== void 0)
            return W(Ee, se, () => {
              const Bt = se.parameters.map((tr) => q(tr, Ee));
              return Ag(se) ? N.updateGetAccessorDeclaration(
                se,
                [],
                i(Ee, Pe),
                Bt,
                _(ze, Ee),
                /*body*/
                void 0
              ) : N.updateSetAccessorDeclaration(
                se,
                [],
                i(Ee, Pe),
                Bt,
                /*body*/
                void 0
              );
            });
          if (Ce.firstAccessor === se) {
            const tr = (ze ? W(Ee, Ce.getAccessor, () => _(ze, Ee)) : St ? W(Ee, Ce.setAccessor, () => _(St, Ee)) : void 0) ?? G(
              se,
              Ce,
              Ee,
              /*symbol*/
              void 0
            );
            return N.createPropertySignature(
              Ce.setAccessor === void 0 ? [N.createModifier(
                148
                /* ReadonlyKeyword */
              )] : [],
              i(Ee, Pe),
              /*questionToken*/
              void 0,
              tr
            );
          }
        }
        function re() {
          return n ? N.createKeywordTypeNode(
            157
            /* UndefinedKeyword */
          ) : N.createKeywordTypeNode(
            133
            /* AnyKeyword */
          );
        }
        function xe(se, Pe, Ee, Ce, ze) {
          let St;
          return Ce ? (se.kind === 224 && se.operator === 40 && (St = N.createLiteralTypeNode(i(Ee, se.operand))), St = N.createLiteralTypeNode(i(Ee, se))) : St = N.createKeywordTypeNode(Pe), pm(ue(St, ze, se, Ee));
        }
        function ue(se, Pe, Ee, Ce) {
          const ze = Ee && Gp(Ee).parent, St = ze && Dl(ze) && Nx(ze);
          return !n || !(Pe || St) ? se : (Xe(se) || Ce.tracker.reportInferenceFallback(se), w0(se) ? N.createUnionTypeNode([...se.types, N.createKeywordTypeNode(
            157
            /* UndefinedKeyword */
          )]) : N.createUnionTypeNode([se, N.createKeywordTypeNode(
            157
            /* UndefinedKeyword */
          )]));
        }
        function Xe(se) {
          return !n || p_(se.kind) || se.kind === 201 || se.kind === 184 || se.kind === 185 || se.kind === 188 || se.kind === 189 || se.kind === 187 || se.kind === 203 || se.kind === 197 ? !0 : se.kind === 196 ? Xe(se.type) : se.kind === 192 || se.kind === 193 ? se.types.every(Xe) : !1;
        }
        function nt(se, Pe, Ee, Ce = !0) {
          let ze = _w;
          const St = mx(se) ? Yc(se.parameters[0]) : mf(se);
          return St ? ze = pm(c(St, Ee, se, Pe)) : bS(se) && (ze = oe(se, Ee)), ze.type !== void 0 ? ze.type : V(se, Ee, Pe, Ce && ze.reportFallback && !St);
        }
        function oe(se, Pe) {
          let Ee;
          if (se && !cc(se.body)) {
            if (Fc(se) & 3) return _w;
            const ze = se.body;
            ze && Cs(ze) ? qy(ze, (St) => {
              if (St.parent !== ze)
                return Ee = void 0, !0;
              if (!Ee)
                Ee = St.expression;
              else
                return Ee = void 0, !0;
            }) : Ee = ze;
          }
          if (Ee)
            if (ve(Ee)) {
              const Ce = Yb(Ee) ? T6(Ee) : p6(Ee) || TF(Ee) ? Ee.type : void 0;
              if (Ce && !Up(Ce))
                return pm(o(Ce, Pe));
            } else
              return K(Ee, Pe);
          return _w;
        }
        function ve(se) {
          return _r(se.parent, (Pe) => Ms(Pe) || !uo(Pe) && !!Yc(Pe) || lm(Pe) || g6(Pe));
        }
      }
      var f1 = {};
      Ta(f1, {
        NameValidationResult: () => Ube,
        discoverTypings: () => OBe,
        isTypingUpToDate: () => Wbe,
        loadSafeList: () => IBe,
        loadTypesMap: () => FBe,
        nonRelativeModuleNameForTypingCache: () => Vbe,
        renderPackageNameValidationFailure: () => MBe,
        validatePackageName: () => LBe
      });
      var r9 = "action::set", n9 = "action::invalidate", i9 = "action::packageInstalled", tU = "event::typesRegistry", rU = "event::beginInstallTypes", nU = "event::endInstallTypes", Tse = "event::initializationFailed", CA = "action::watchTypingLocations", iU;
      ((e) => {
        e.GlobalCacheLocation = "--globalTypingsCacheLocation", e.LogFile = "--logFile", e.EnableTelemetry = "--enableTelemetry", e.TypingSafeListLocation = "--typingSafeListLocation", e.TypesMapLocation = "--typesMapLocation", e.NpmLocation = "--npmLocation", e.ValidateDefaultNpmLocation = "--validateDefaultNpmLocation";
      })(iU || (iU = {}));
      function jbe(e) {
        return dl.args.includes(e);
      }
      function Bbe(e) {
        const t = dl.args.indexOf(e);
        return t >= 0 && t < dl.args.length - 1 ? dl.args[t + 1] : void 0;
      }
      function Jbe() {
        const e = /* @__PURE__ */ new Date();
        return `${e.getHours().toString().padStart(2, "0")}:${e.getMinutes().toString().padStart(2, "0")}:${e.getSeconds().toString().padStart(2, "0")}.${e.getMilliseconds().toString().padStart(3, "0")}`;
      }
      var zbe = `
    `;
      function fw(e) {
        return zbe + e.replace(/\n/g, zbe);
      }
      function vv(e) {
        return fw(JSON.stringify(e, void 0, 2));
      }
      function Wbe(e, t) {
        return new ld(zI(t, `ts${K2}`) || zI(t, "latest")).compareTo(e.version) <= 0;
      }
      function Vbe(e) {
        return c6.has(e) ? "node" : e;
      }
      function IBe(e, t) {
        const n = qN(t, (i) => e.readFile(i));
        return new Map(Object.entries(n.config));
      }
      function FBe(e, t) {
        var n;
        const i = qN(t, (s) => e.readFile(s));
        if ((n = i.config) != null && n.simpleMap)
          return new Map(Object.entries(i.config.simpleMap));
      }
      function OBe(e, t, n, i, s, o, c, _, u, g) {
        if (!c || !c.enable)
          return { cachedTypingPaths: [], newTypingNames: [], filesToWatch: [] };
        const m = /* @__PURE__ */ new Map();
        n = Oi(n, (j) => {
          const z = Gs(j);
          if (Wg(z))
            return z;
        });
        const h = [];
        c.include && A(c.include, "Explicitly included types");
        const S = c.exclude || [];
        if (!g.types) {
          const j = new Set(n.map(Un));
          j.add(i), j.forEach((z) => {
            O(z, "bower.json", "bower_components", h), O(z, "package.json", "node_modules", h);
          });
        }
        if (c.disableFilenameBasedTypeAcquisition || F(n), _) {
          const j = pb(
            _.map(Vbe),
            gb,
            au
          );
          A(j, "Inferred typings from unresolved imports");
        }
        for (const j of S)
          m.delete(j) && t && t(`Typing for ${j} is in exclude list, will be ignored.`);
        o.forEach((j, z) => {
          const V = u.get(z);
          m.get(z) === !1 && V !== void 0 && Wbe(j, V) && m.set(z, j.typingLocation);
        });
        const T = [], k = [];
        m.forEach((j, z) => {
          j ? k.push(j) : T.push(z);
        });
        const D = { cachedTypingPaths: k, newTypingNames: T, filesToWatch: h };
        return t && t(`Finished typings discovery:${vv(D)}`), D;
        function w(j) {
          m.has(j) || m.set(j, !1);
        }
        function A(j, z) {
          t && t(`${z}: ${JSON.stringify(j)}`), ar(j, w);
        }
        function O(j, z, V, G) {
          const W = An(j, z);
          let pe, K;
          e.fileExists(W) && (G.push(W), pe = qN(W, (ie) => e.readFile(ie)).config, K = oa([pe.dependencies, pe.devDependencies, pe.optionalDependencies, pe.peerDependencies], Ud), A(K, `Typing names in '${W}' dependencies`));
          const U = An(j, V);
          if (G.push(U), !e.directoryExists(U))
            return;
          const ee = [], te = K ? K.map((ie) => An(U, ie, z)) : e.readDirectory(
            U,
            [
              ".json"
              /* Json */
            ],
            /*excludes*/
            void 0,
            /*includes*/
            void 0,
            /*depth*/
            3
          ).filter((ie) => {
            if (Qc(ie) !== z)
              return !1;
            const fe = ou(Gs(ie)), me = fe[fe.length - 3][0] === "@";
            return me && Ey(fe[fe.length - 4]) === V || // `node_modules/@foo/bar`
            !me && Ey(fe[fe.length - 3]) === V;
          });
          t && t(`Searching for typing names in ${U}; all files: ${JSON.stringify(te)}`);
          for (const ie of te) {
            const fe = Gs(ie), q = qN(fe, (Me) => e.readFile(Me)).config;
            if (!q.name)
              continue;
            const he = q.types || q.typings;
            if (he) {
              const Me = Xi(he, Un(fe));
              e.fileExists(Me) ? (t && t(`    Package '${q.name}' provides its own types.`), m.set(q.name, Me)) : t && t(`    Package '${q.name}' provides its own types but they are missing.`);
            } else
              ee.push(q.name);
          }
          A(ee, "    Found package names");
        }
        function F(j) {
          const z = Oi(j, (G) => {
            if (!Wg(G)) return;
            const W = Ru(Ey(Qc(G))), pe = MR(W);
            return s.get(pe);
          });
          z.length && A(z, "Inferred typings from file names"), at(j, (G) => Wo(
            G,
            ".jsx"
            /* Jsx */
          )) && (t && t("Inferred 'react' typings due to presence of '.jsx' extension"), w("react"));
        }
      }
      var Ube = /* @__PURE__ */ ((e) => (e[e.Ok = 0] = "Ok", e[e.EmptyName = 1] = "EmptyName", e[e.NameTooLong = 2] = "NameTooLong", e[e.NameStartsWithDot = 3] = "NameStartsWithDot", e[e.NameStartsWithUnderscore = 4] = "NameStartsWithUnderscore", e[e.NameContainsNonURISafeCharacters = 5] = "NameContainsNonURISafeCharacters", e))(Ube || {}), qbe = 214;
      function LBe(e) {
        return xse(
          e,
          /*supportScopedPackage*/
          !0
        );
      }
      function xse(e, t) {
        if (!e)
          return 1;
        if (e.length > qbe)
          return 2;
        if (e.charCodeAt(0) === 46)
          return 3;
        if (e.charCodeAt(0) === 95)
          return 4;
        if (t) {
          const n = /^@([^/]+)\/([^/]+)$/.exec(e);
          if (n) {
            const i = xse(
              n[1],
              /*supportScopedPackage*/
              !1
            );
            if (i !== 0)
              return { name: n[1], isScopeName: !0, result: i };
            const s = xse(
              n[2],
              /*supportScopedPackage*/
              !1
            );
            return s !== 0 ? { name: n[2], isScopeName: !1, result: s } : 0;
          }
        }
        return encodeURIComponent(e) !== e ? 5 : 0;
      }
      function MBe(e, t) {
        return typeof e == "object" ? Hbe(t, e.result, e.name, e.isScopeName) : Hbe(
          t,
          e,
          t,
          /*isScopeName*/
          !1
        );
      }
      function Hbe(e, t, n, i) {
        const s = i ? "Scope" : "Package";
        switch (t) {
          case 1:
            return `'${e}':: ${s} name '${n}' cannot be empty`;
          case 2:
            return `'${e}':: ${s} name '${n}' should be less than ${qbe} characters`;
          case 3:
            return `'${e}':: ${s} name '${n}' cannot start with '.'`;
          case 4:
            return `'${e}':: ${s} name '${n}' cannot start with '_'`;
          case 5:
            return `'${e}':: ${s} name '${n}' contains non URI safe characters`;
          case 0:
            return E.fail();
          // Shouldn't have called this.
          default:
            E.assertNever(t);
        }
      }
      var s9;
      ((e) => {
        class t {
          constructor(s) {
            this.text = s;
          }
          getText(s, o) {
            return s === 0 && o === this.text.length ? this.text : this.text.substring(s, o);
          }
          getLength() {
            return this.text.length;
          }
          getChangeRange() {
          }
        }
        function n(i) {
          return new t(i);
        }
        e.fromString = n;
      })(s9 || (s9 = {}));
      var kse = /* @__PURE__ */ ((e) => (e[e.Dependencies = 1] = "Dependencies", e[e.DevDependencies = 2] = "DevDependencies", e[e.PeerDependencies = 4] = "PeerDependencies", e[e.OptionalDependencies = 8] = "OptionalDependencies", e[e.All = 15] = "All", e))(kse || {}), Cse = /* @__PURE__ */ ((e) => (e[e.Off = 0] = "Off", e[e.On = 1] = "On", e[e.Auto = 2] = "Auto", e))(Cse || {}), Ese = /* @__PURE__ */ ((e) => (e[e.Semantic = 0] = "Semantic", e[e.PartialSemantic = 1] = "PartialSemantic", e[e.Syntactic = 2] = "Syntactic", e))(Ese || {}), Op = {}, Dse = /* @__PURE__ */ ((e) => (e.Original = "original", e.TwentyTwenty = "2020", e))(Dse || {}), sU = /* @__PURE__ */ ((e) => (e.All = "All", e.SortAndCombine = "SortAndCombine", e.RemoveUnused = "RemoveUnused", e))(sU || {}), aU = /* @__PURE__ */ ((e) => (e[e.Invoked = 1] = "Invoked", e[e.TriggerCharacter = 2] = "TriggerCharacter", e[e.TriggerForIncompleteCompletions = 3] = "TriggerForIncompleteCompletions", e))(aU || {}), wse = /* @__PURE__ */ ((e) => (e.Type = "Type", e.Parameter = "Parameter", e.Enum = "Enum", e))(wse || {}), Pse = /* @__PURE__ */ ((e) => (e.none = "none", e.definition = "definition", e.reference = "reference", e.writtenReference = "writtenReference", e))(Pse || {}), Nse = /* @__PURE__ */ ((e) => (e[e.None = 0] = "None", e[e.Block = 1] = "Block", e[e.Smart = 2] = "Smart", e))(Nse || {}), oU = /* @__PURE__ */ ((e) => (e.Ignore = "ignore", e.Insert = "insert", e.Remove = "remove", e))(oU || {});
      function a9(e) {
        return {
          indentSize: 4,
          tabSize: 4,
          newLineCharacter: e || `
`,
          convertTabsToSpaces: !0,
          indentStyle: 2,
          insertSpaceAfterConstructor: !1,
          insertSpaceAfterCommaDelimiter: !0,
          insertSpaceAfterSemicolonInForStatements: !0,
          insertSpaceBeforeAndAfterBinaryOperators: !0,
          insertSpaceAfterKeywordsInControlFlowStatements: !0,
          insertSpaceAfterFunctionKeywordForAnonymousFunctions: !1,
          insertSpaceAfterOpeningAndBeforeClosingNonemptyParenthesis: !1,
          insertSpaceAfterOpeningAndBeforeClosingNonemptyBrackets: !1,
          insertSpaceAfterOpeningAndBeforeClosingNonemptyBraces: !0,
          insertSpaceAfterOpeningAndBeforeClosingTemplateStringBraces: !1,
          insertSpaceAfterOpeningAndBeforeClosingJsxExpressionBraces: !1,
          insertSpaceBeforeFunctionParenthesis: !1,
          placeOpenBraceOnNewLineForFunctions: !1,
          placeOpenBraceOnNewLineForControlBlocks: !1,
          semicolons: "ignore",
          trimTrailingWhitespace: !0,
          indentSwitchCase: !0
        };
      }
      var Gbe = a9(`
`), o9 = /* @__PURE__ */ ((e) => (e[e.aliasName = 0] = "aliasName", e[e.className = 1] = "className", e[e.enumName = 2] = "enumName", e[e.fieldName = 3] = "fieldName", e[e.interfaceName = 4] = "interfaceName", e[e.keyword = 5] = "keyword", e[e.lineBreak = 6] = "lineBreak", e[e.numericLiteral = 7] = "numericLiteral", e[e.stringLiteral = 8] = "stringLiteral", e[e.localName = 9] = "localName", e[e.methodName = 10] = "methodName", e[e.moduleName = 11] = "moduleName", e[e.operator = 12] = "operator", e[e.parameterName = 13] = "parameterName", e[e.propertyName = 14] = "propertyName", e[e.punctuation = 15] = "punctuation", e[e.space = 16] = "space", e[e.text = 17] = "text", e[e.typeParameterName = 18] = "typeParameterName", e[e.enumMemberName = 19] = "enumMemberName", e[e.functionName = 20] = "functionName", e[e.regularExpressionLiteral = 21] = "regularExpressionLiteral", e[e.link = 22] = "link", e[e.linkName = 23] = "linkName", e[e.linkText = 24] = "linkText", e))(o9 || {}), Ase = /* @__PURE__ */ ((e) => (e[e.None = 0] = "None", e[e.MayIncludeAutoImports = 1] = "MayIncludeAutoImports", e[e.IsImportStatementCompletion = 2] = "IsImportStatementCompletion", e[e.IsContinuation = 4] = "IsContinuation", e[e.ResolvedModuleSpecifiers = 8] = "ResolvedModuleSpecifiers", e[e.ResolvedModuleSpecifiersBeyondLimit = 16] = "ResolvedModuleSpecifiersBeyondLimit", e[e.MayIncludeMethodSnippets = 32] = "MayIncludeMethodSnippets", e))(Ase || {}), Ise = /* @__PURE__ */ ((e) => (e.Comment = "comment", e.Region = "region", e.Code = "code", e.Imports = "imports", e))(Ise || {}), Fse = /* @__PURE__ */ ((e) => (e[e.JavaScript = 0] = "JavaScript", e[e.SourceMap = 1] = "SourceMap", e[e.Declaration = 2] = "Declaration", e))(Fse || {}), Ose = /* @__PURE__ */ ((e) => (e[e.None = 0] = "None", e[e.InMultiLineCommentTrivia = 1] = "InMultiLineCommentTrivia", e[e.InSingleQuoteStringLiteral = 2] = "InSingleQuoteStringLiteral", e[e.InDoubleQuoteStringLiteral = 3] = "InDoubleQuoteStringLiteral", e[e.InTemplateHeadOrNoSubstitutionTemplate = 4] = "InTemplateHeadOrNoSubstitutionTemplate", e[e.InTemplateMiddleOrTail = 5] = "InTemplateMiddleOrTail", e[e.InTemplateSubstitutionPosition = 6] = "InTemplateSubstitutionPosition", e))(Ose || {}), Lse = /* @__PURE__ */ ((e) => (e[e.Punctuation = 0] = "Punctuation", e[e.Keyword = 1] = "Keyword", e[e.Operator = 2] = "Operator", e[e.Comment = 3] = "Comment", e[e.Whitespace = 4] = "Whitespace", e[e.Identifier = 5] = "Identifier", e[e.NumberLiteral = 6] = "NumberLiteral", e[e.BigIntLiteral = 7] = "BigIntLiteral", e[e.StringLiteral = 8] = "StringLiteral", e[e.RegExpLiteral = 9] = "RegExpLiteral", e))(Lse || {}), Mse = /* @__PURE__ */ ((e) => (e.unknown = "", e.warning = "warning", e.keyword = "keyword", e.scriptElement = "script", e.moduleElement = "module", e.classElement = "class", e.localClassElement = "local class", e.interfaceElement = "interface", e.typeElement = "type", e.enumElement = "enum", e.enumMemberElement = "enum member", e.variableElement = "var", e.localVariableElement = "local var", e.variableUsingElement = "using", e.variableAwaitUsingElement = "await using", e.functionElement = "function", e.localFunctionElement = "local function", e.memberFunctionElement = "method", e.memberGetAccessorElement = "getter", e.memberSetAccessorElement = "setter", e.memberVariableElement = "property", e.memberAccessorVariableElement = "accessor", e.constructorImplementationElement = "constructor", e.callSignatureElement = "call", e.indexSignatureElement = "index", e.constructSignatureElement = "construct", e.parameterElement = "parameter", e.typeParameterElement = "type parameter", e.primitiveType = "primitive type", e.label = "label", e.alias = "alias", e.constElement = "const", e.letElement = "let", e.directory = "directory", e.externalModuleName = "external module name", e.jsxAttribute = "JSX attribute", e.string = "string", e.link = "link", e.linkName = "link name", e.linkText = "link text", e))(Mse || {}), Rse = /* @__PURE__ */ ((e) => (e.none = "", e.publicMemberModifier = "public", e.privateMemberModifier = "private", e.protectedMemberModifier = "protected", e.exportedModifier = "export", e.ambientModifier = "declare", e.staticModifier = "static", e.abstractModifier = "abstract", e.optionalModifier = "optional", e.deprecatedModifier = "deprecated", e.dtsModifier = ".d.ts", e.tsModifier = ".ts", e.tsxModifier = ".tsx", e.jsModifier = ".js", e.jsxModifier = ".jsx", e.jsonModifier = ".json", e.dmtsModifier = ".d.mts", e.mtsModifier = ".mts", e.mjsModifier = ".mjs", e.dctsModifier = ".d.cts", e.ctsModifier = ".cts", e.cjsModifier = ".cjs", e))(Rse || {}), jse = /* @__PURE__ */ ((e) => (e.comment = "comment", e.identifier = "identifier", e.keyword = "keyword", e.numericLiteral = "number", e.bigintLiteral = "bigint", e.operator = "operator", e.stringLiteral = "string", e.whiteSpace = "whitespace", e.text = "text", e.punctuation = "punctuation", e.className = "class name", e.enumName = "enum name", e.interfaceName = "interface name", e.moduleName = "module name", e.typeParameterName = "type parameter name", e.typeAliasName = "type alias name", e.parameterName = "parameter name", e.docCommentTagName = "doc comment tag name", e.jsxOpenTagName = "jsx open tag name", e.jsxCloseTagName = "jsx close tag name", e.jsxSelfClosingTagName = "jsx self closing tag name", e.jsxAttribute = "jsx attribute", e.jsxText = "jsx text", e.jsxAttributeStringLiteralValue = "jsx attribute string literal value", e))(jse || {}), cU = /* @__PURE__ */ ((e) => (e[e.comment = 1] = "comment", e[e.identifier = 2] = "identifier", e[e.keyword = 3] = "keyword", e[e.numericLiteral = 4] = "numericLiteral", e[e.operator = 5] = "operator", e[e.stringLiteral = 6] = "stringLiteral", e[e.regularExpressionLiteral = 7] = "regularExpressionLiteral", e[e.whiteSpace = 8] = "whiteSpace", e[e.text = 9] = "text", e[e.punctuation = 10] = "punctuation", e[e.className = 11] = "className", e[e.enumName = 12] = "enumName", e[e.interfaceName = 13] = "interfaceName", e[e.moduleName = 14] = "moduleName", e[e.typeParameterName = 15] = "typeParameterName", e[e.typeAliasName = 16] = "typeAliasName", e[e.parameterName = 17] = "parameterName", e[e.docCommentTagName = 18] = "docCommentTagName", e[e.jsxOpenTagName = 19] = "jsxOpenTagName", e[e.jsxCloseTagName = 20] = "jsxCloseTagName", e[e.jsxSelfClosingTagName = 21] = "jsxSelfClosingTagName", e[e.jsxAttribute = 22] = "jsxAttribute", e[e.jsxText = 23] = "jsxText", e[e.jsxAttributeStringLiteralValue = 24] = "jsxAttributeStringLiteralValue", e[e.bigintLiteral = 25] = "bigintLiteral", e))(cU || {}), Wl = Pg(
        99,
        /*skipTrivia*/
        !0
      ), Bse = /* @__PURE__ */ ((e) => (e[e.None = 0] = "None", e[e.Value = 1] = "Value", e[e.Type = 2] = "Type", e[e.Namespace = 4] = "Namespace", e[e.All = 7] = "All", e))(Bse || {});
      function c9(e) {
        switch (e.kind) {
          case 260:
            return tn(e) && wj(e) ? 7 : 1;
          case 169:
          case 208:
          case 172:
          case 171:
          case 303:
          case 304:
          case 174:
          case 173:
          case 176:
          case 177:
          case 178:
          case 262:
          case 218:
          case 219:
          case 299:
          case 291:
            return 1;
          case 168:
          case 264:
          case 265:
          case 187:
            return 2;
          case 346:
            return e.name === void 0 ? 3 : 2;
          case 306:
          case 263:
            return 3;
          case 267:
            return Fu(e) || jh(e) === 1 ? 5 : 4;
          case 266:
          case 275:
          case 276:
          case 271:
          case 272:
          case 277:
          case 278:
            return 7;
          // An external module can be a Value
          case 307:
            return 5;
        }
        return 7;
      }
      function $S(e) {
        e = SU(e);
        const t = e.parent;
        return e.kind === 307 ? 1 : Oo(t) || bu(t) || Mh(t) || Bu(t) || Qp(t) || bl(t) && e === t.name ? 7 : l9(e) ? RBe(e) : Xm(e) ? c9(t) : Gu(e) && _r(e, z_(MD, ix, uv)) ? 7 : zBe(e) ? 2 : jBe(e) ? 4 : Fo(t) ? (E.assert(Ip(t.parent)), 2) : P0(t) ? 3 : 1;
      }
      function RBe(e) {
        const t = e.kind === 166 ? e : Qu(e.parent) && e.parent.right === e ? e.parent : void 0;
        return t && t.parent.kind === 271 ? 7 : 4;
      }
      function l9(e) {
        for (; e.parent.kind === 166; )
          e = e.parent;
        return mS(e.parent) && e.parent.moduleReference === e;
      }
      function jBe(e) {
        return BBe(e) || JBe(e);
      }
      function BBe(e) {
        let t = e, n = !0;
        if (t.parent.kind === 166) {
          for (; t.parent && t.parent.kind === 166; )
            t = t.parent;
          n = t.right === e;
        }
        return t.parent.kind === 183 && !n;
      }
      function JBe(e) {
        let t = e, n = !0;
        if (t.parent.kind === 211) {
          for (; t.parent && t.parent.kind === 211; )
            t = t.parent;
          n = t.name === e;
        }
        if (!n && t.parent.kind === 233 && t.parent.parent.kind === 298) {
          const i = t.parent.parent.parent;
          return i.kind === 263 && t.parent.parent.token === 119 || i.kind === 264 && t.parent.parent.token === 96;
        }
        return !1;
      }
      function zBe(e) {
        switch (tD(e) && (e = e.parent), e.kind) {
          case 110:
            return !dd(e);
          case 197:
            return !0;
        }
        switch (e.parent.kind) {
          case 183:
            return !0;
          case 205:
            return !e.parent.isTypeOf;
          case 233:
            return Yd(e.parent);
        }
        return !1;
      }
      function lU(e, t = !1, n = !1) {
        return EA(e, Ms, _U, t, n);
      }
      function pw(e, t = !1, n = !1) {
        return EA(e, Hb, _U, t, n);
      }
      function uU(e, t = !1, n = !1) {
        return EA(e, Gd, _U, t, n);
      }
      function Jse(e, t = !1, n = !1) {
        return EA(e, iv, WBe, t, n);
      }
      function zse(e, t = !1, n = !1) {
        return EA(e, yl, _U, t, n);
      }
      function Wse(e, t = !1, n = !1) {
        return EA(e, yu, VBe, t, n);
      }
      function _U(e) {
        return e.expression;
      }
      function WBe(e) {
        return e.tag;
      }
      function VBe(e) {
        return e.tagName;
      }
      function EA(e, t, n, i, s) {
        let o = i ? UBe(e) : u9(e);
        return s && (o = xc(o)), !!o && !!o.parent && t(o.parent) && n(o.parent) === o;
      }
      function u9(e) {
        return V6(e) ? e.parent : e;
      }
      function UBe(e) {
        return V6(e) || mU(e) ? e.parent : e;
      }
      function _9(e, t) {
        for (; e; ) {
          if (e.kind === 256 && e.label.escapedText === t)
            return e.label;
          e = e.parent;
        }
      }
      function DA(e, t) {
        return kn(e.expression) ? e.expression.name.text === t : !1;
      }
      function wA(e) {
        var t;
        return Fe(e) && ((t = Mn(e.parent, C4)) == null ? void 0 : t.label) === e;
      }
      function fU(e) {
        var t;
        return Fe(e) && ((t = Mn(e.parent, i1)) == null ? void 0 : t.label) === e;
      }
      function pU(e) {
        return fU(e) || wA(e);
      }
      function dU(e) {
        var t;
        return ((t = Mn(e.parent, OC)) == null ? void 0 : t.tagName) === e;
      }
      function Vse(e) {
        var t;
        return ((t = Mn(e.parent, Qu)) == null ? void 0 : t.right) === e;
      }
      function V6(e) {
        var t;
        return ((t = Mn(e.parent, kn)) == null ? void 0 : t.name) === e;
      }
      function mU(e) {
        var t;
        return ((t = Mn(e.parent, fo)) == null ? void 0 : t.argumentExpression) === e;
      }
      function gU(e) {
        var t;
        return ((t = Mn(e.parent, zc)) == null ? void 0 : t.name) === e;
      }
      function hU(e) {
        var t;
        return Fe(e) && ((t = Mn(e.parent, Ts)) == null ? void 0 : t.name) === e;
      }
      function f9(e) {
        switch (e.parent.kind) {
          case 172:
          case 171:
          case 303:
          case 306:
          case 174:
          case 173:
          case 177:
          case 178:
          case 267:
            return ls(e.parent) === e;
          case 212:
            return e.parent.argumentExpression === e;
          case 167:
            return !0;
          case 201:
            return e.parent.parent.kind === 199;
          default:
            return !1;
        }
      }
      function Use(e) {
        return G1(e.parent.parent) && J4(e.parent.parent) === e;
      }
      function XS(e) {
        for (Dp(e) && (e = e.parent.parent); ; ) {
          if (e = e.parent, !e)
            return;
          switch (e.kind) {
            case 307:
            case 174:
            case 173:
            case 262:
            case 218:
            case 177:
            case 178:
            case 263:
            case 264:
            case 266:
            case 267:
              return e;
          }
        }
      }
      function s2(e) {
        switch (e.kind) {
          case 307:
            return ol(e) ? "module" : "script";
          case 267:
            return "module";
          case 263:
          case 231:
            return "class";
          case 264:
            return "interface";
          case 265:
          case 338:
          case 346:
            return "type";
          case 266:
            return "enum";
          case 260:
            return t(e);
          case 208:
            return t(em(e));
          case 219:
          case 262:
          case 218:
            return "function";
          case 177:
            return "getter";
          case 178:
            return "setter";
          case 174:
          case 173:
            return "method";
          case 303:
            const { initializer: n } = e;
            return Ts(n) ? "method" : "property";
          case 172:
          case 171:
          case 304:
          case 305:
            return "property";
          case 181:
            return "index";
          case 180:
            return "construct";
          case 179:
            return "call";
          case 176:
          case 175:
            return "constructor";
          case 168:
            return "type parameter";
          case 306:
            return "enum member";
          case 169:
            return qn(
              e,
              31
              /* ParameterPropertyModifier */
            ) ? "property" : "parameter";
          case 271:
          case 276:
          case 281:
          case 274:
          case 280:
            return "alias";
          case 226:
            const i = Pc(e), { right: s } = e;
            switch (i) {
              case 7:
              case 8:
              case 9:
              case 0:
                return "";
              case 1:
              case 2:
                const c = s2(s);
                return c === "" ? "const" : c;
              case 3:
                return ho(s) ? "method" : "property";
              case 4:
                return "property";
              // property
              case 5:
                return ho(s) ? "method" : "property";
              case 6:
                return "local class";
              default:
                return "";
            }
          case 80:
            return Qp(e.parent) ? "alias" : "";
          case 277:
            const o = s2(e.expression);
            return o === "" ? "const" : o;
          default:
            return "";
        }
        function t(n) {
          return BC(n) ? "const" : W7(n) ? "let" : "var";
        }
      }
      function U6(e) {
        switch (e.kind) {
          case 110:
            return !0;
          case 80:
            return GB(e) && e.parent.kind === 169;
          default:
            return !1;
        }
      }
      var qBe = /^\/\/\/\s*</;
      function Lp(e, t) {
        const n = Eg(t), i = t.getLineAndCharacterOfPosition(e).line;
        return n[i];
      }
      function qse(e, t) {
        return PA(e, t.pos) && PA(e, t.end);
      }
      function q6(e, t) {
        return e.pos <= t && t <= e.end;
      }
      function PA(e, t) {
        return e.pos < t && t < e.end;
      }
      function NA(e, t, n) {
        return e.pos <= t && e.end >= n;
      }
      function dw(e, t, n) {
        return d9(e.pos, e.end, t, n);
      }
      function p9(e, t, n, i) {
        return d9(e.getStart(t), e.end, n, i);
      }
      function d9(e, t, n, i) {
        const s = Math.max(e, n), o = Math.min(t, i);
        return s < o;
      }
      function yU(e, t, n) {
        return E.assert(e.pos <= t), t < e.end || !xd(e, n);
      }
      function xd(e, t) {
        if (e === void 0 || cc(e))
          return !1;
        switch (e.kind) {
          case 263:
          case 264:
          case 266:
          case 210:
          case 206:
          case 187:
          case 241:
          case 268:
          case 269:
          case 275:
          case 279:
            return vU(e, 20, t);
          case 299:
            return xd(e.block, t);
          case 214:
            if (!e.arguments)
              return !0;
          // falls through
          case 213:
          case 217:
          case 196:
            return vU(e, 22, t);
          case 184:
          case 185:
            return xd(e.type, t);
          case 176:
          case 177:
          case 178:
          case 262:
          case 218:
          case 174:
          case 173:
          case 180:
          case 179:
          case 219:
            return e.body ? xd(e.body, t) : e.type ? xd(e.type, t) : bU(e, 22, t);
          case 267:
            return !!e.body && xd(e.body, t);
          case 245:
            return e.elseStatement ? xd(e.elseStatement, t) : xd(e.thenStatement, t);
          case 244:
            return xd(e.expression, t) || bU(e, 27, t);
          case 209:
          case 207:
          case 212:
          case 167:
          case 189:
            return vU(e, 24, t);
          case 181:
            return e.type ? xd(e.type, t) : bU(e, 24, t);
          case 296:
          case 297:
            return !1;
          case 248:
          case 249:
          case 250:
          case 247:
            return xd(e.statement, t);
          case 246:
            return bU(e, 117, t) ? vU(e, 22, t) : xd(e.statement, t);
          case 186:
            return xd(e.exprName, t);
          case 221:
          case 220:
          case 222:
          case 229:
          case 230:
            return xd(e.expression, t);
          case 215:
            return xd(e.template, t);
          case 228:
            const i = Po(e.templateSpans);
            return xd(i, t);
          case 239:
            return Cp(e.literal);
          case 278:
          case 272:
            return Cp(e.moduleSpecifier);
          case 224:
            return xd(e.operand, t);
          case 226:
            return xd(e.right, t);
          case 227:
            return xd(e.whenFalse, t);
          default:
            return !0;
        }
      }
      function vU(e, t, n) {
        const i = e.getChildren(n);
        if (i.length) {
          const s = pa(i);
          if (s.kind === t)
            return !0;
          if (s.kind === 27 && i.length !== 1)
            return i[i.length - 2].kind === t;
        }
        return !1;
      }
      function Hse(e) {
        const t = m9(e);
        if (!t)
          return;
        const n = t.getChildren();
        return {
          listItemIndex: MC(n, e),
          list: t
        };
      }
      function bU(e, t, n) {
        return !!Za(e, t, n);
      }
      function Za(e, t, n) {
        return Dn(e.getChildren(n), (i) => i.kind === t);
      }
      function m9(e) {
        const t = Dn(e.parent.getChildren(), (n) => S6(n) && d_(n, e));
        return E.assert(!t || _s(t.getChildren(), e)), t;
      }
      function $be(e) {
        return e.kind === 90;
      }
      function HBe(e) {
        return e.kind === 86;
      }
      function GBe(e) {
        return e.kind === 100;
      }
      function $Be(e) {
        if (El(e))
          return e.name;
        if (el(e)) {
          const t = e.modifiers && Dn(e.modifiers, $be);
          if (t) return t;
        }
        if (Kc(e)) {
          const t = Dn(e.getChildren(), HBe);
          if (t) return t;
        }
      }
      function XBe(e) {
        if (El(e))
          return e.name;
        if (Tc(e)) {
          const t = Dn(e.modifiers, $be);
          if (t) return t;
        }
        if (ho(e)) {
          const t = Dn(e.getChildren(), GBe);
          if (t) return t;
        }
      }
      function QBe(e) {
        let t;
        return _r(e, (n) => (si(n) && (t = n), !Qu(n.parent) && !si(n.parent) && !bb(n.parent))), t;
      }
      function g9(e, t) {
        if (e.flags & 16777216) return;
        const n = I9(e, t);
        if (n) return n;
        const i = QBe(e);
        return i && t.getTypeAtLocation(i);
      }
      function YBe(e, t) {
        if (!t)
          switch (e.kind) {
            case 263:
            case 231:
              return $Be(e);
            case 262:
            case 218:
              return XBe(e);
            case 176:
              return e;
          }
        if (El(e))
          return e.name;
      }
      function Xbe(e, t) {
        if (e.importClause) {
          if (e.importClause.name && e.importClause.namedBindings)
            return;
          if (e.importClause.name)
            return e.importClause.name;
          if (e.importClause.namedBindings) {
            if (cm(e.importClause.namedBindings)) {
              const n = zm(e.importClause.namedBindings.elements);
              return n ? n.name : void 0;
            } else if (Hg(e.importClause.namedBindings))
              return e.importClause.namedBindings.name;
          }
        }
        if (!t)
          return e.moduleSpecifier;
      }
      function Qbe(e, t) {
        if (e.exportClause) {
          if (cp(e.exportClause))
            return zm(e.exportClause.elements) ? e.exportClause.elements[0].name : void 0;
          if (Zm(e.exportClause))
            return e.exportClause.name;
        }
        if (!t)
          return e.moduleSpecifier;
      }
      function ZBe(e) {
        if (e.types.length === 1)
          return e.types[0].expression;
      }
      function Ybe(e, t) {
        const { parent: n } = e;
        if (Ks(e) && (t || e.kind !== 90) ? Fp(n) && _s(n.modifiers, e) : e.kind === 86 ? el(n) || Kc(e) : e.kind === 100 ? Tc(n) || ho(e) : e.kind === 120 ? Yl(n) : e.kind === 94 ? Gb(n) : e.kind === 156 ? Ap(n) : e.kind === 145 || e.kind === 144 ? zc(n) : e.kind === 102 ? bl(n) : e.kind === 139 ? ap(n) : e.kind === 153 && P_(n)) {
          const i = YBe(n, t);
          if (i)
            return i;
        }
        if ((e.kind === 115 || e.kind === 87 || e.kind === 121) && zl(n) && n.declarations.length === 1) {
          const i = n.declarations[0];
          if (Fe(i.name))
            return i.name;
        }
        if (e.kind === 156) {
          if (Qp(n) && n.isTypeOnly) {
            const i = Xbe(n.parent, t);
            if (i)
              return i;
          }
          if (Oc(n) && n.isTypeOnly) {
            const i = Qbe(n, t);
            if (i)
              return i;
          }
        }
        if (e.kind === 130) {
          if (Bu(n) && n.propertyName || bu(n) && n.propertyName || Hg(n) || Zm(n))
            return n.name;
          if (Oc(n) && n.exportClause && Zm(n.exportClause))
            return n.exportClause.name;
        }
        if (e.kind === 102 && Uo(n)) {
          const i = Xbe(n, t);
          if (i)
            return i;
        }
        if (e.kind === 95) {
          if (Oc(n)) {
            const i = Qbe(n, t);
            if (i)
              return i;
          }
          if (Oo(n))
            return xc(n.expression);
        }
        if (e.kind === 149 && Mh(n))
          return n.expression;
        if (e.kind === 161 && (Uo(n) || Oc(n)) && n.moduleSpecifier)
          return n.moduleSpecifier;
        if ((e.kind === 96 || e.kind === 119) && Q_(n) && n.token === e.kind) {
          const i = ZBe(n);
          if (i)
            return i;
        }
        if (e.kind === 96) {
          if (Fo(n) && n.constraint && X_(n.constraint))
            return n.constraint.typeName;
          if (Ub(n) && X_(n.extendsType))
            return n.extendsType.typeName;
        }
        if (e.kind === 140 && NS(n))
          return n.typeParameter.name;
        if (e.kind === 103 && Fo(n) && IS(n.parent))
          return n.name;
        if (e.kind === 143 && nv(n) && n.operator === 143 && X_(n.type))
          return n.type.typeName;
        if (e.kind === 148 && nv(n) && n.operator === 148 && EN(n.type) && X_(n.type.elementType))
          return n.type.elementType.typeName;
        if (!t) {
          if ((e.kind === 105 && Hb(n) || e.kind === 116 && Vx(n) || e.kind === 114 && f6(n) || e.kind === 135 && n1(n) || e.kind === 127 && DN(n) || e.kind === 91 && Ete(n)) && n.expression)
            return xc(n.expression);
          if ((e.kind === 103 || e.kind === 104) && _n(n) && n.operatorToken === e)
            return xc(n.right);
          if (e.kind === 130 && p6(n) && X_(n.type))
            return n.type.typeName;
          if (e.kind === 103 && kF(n) || e.kind === 165 && wN(n))
            return xc(n.expression);
        }
        return e;
      }
      function SU(e) {
        return Ybe(
          e,
          /*forRename*/
          !1
        );
      }
      function h9(e) {
        return Ybe(
          e,
          /*forRename*/
          !0
        );
      }
      function h_(e, t) {
        return H6(e, t, (n) => Kd(n) || p_(n.kind) || Di(n));
      }
      function H6(e, t, n) {
        return Zbe(
          e,
          t,
          /*allowPositionInLeadingTrivia*/
          !1,
          n,
          /*includeEndPosition*/
          !1
        );
      }
      function mi(e, t) {
        return Zbe(
          e,
          t,
          /*allowPositionInLeadingTrivia*/
          !0,
          /*includePrecedingTokenAtEndPosition*/
          void 0,
          /*includeEndPosition*/
          !1
        );
      }
      function Zbe(e, t, n, i, s) {
        let o = e, c;
        e:
          for (; ; ) {
            const u = o.getChildren(e), g = VT(u, t, (m, h) => h, (m, h) => {
              const S = u[m].getEnd();
              if (S < t)
                return -1;
              const T = n ? u[m].getFullStart() : u[m].getStart(
                e,
                /*includeJsDocComment*/
                !0
              );
              return T > t ? 1 : _(u[m], T, S) ? u[m - 1] && _(u[m - 1]) ? 1 : 0 : i && T === t && u[m - 1] && u[m - 1].getEnd() === t && _(u[m - 1]) ? 1 : -1;
            });
            if (c)
              return c;
            if (g >= 0 && u[g]) {
              o = u[g];
              continue e;
            }
            return o;
          }
        function _(u, g, m) {
          if (m ?? (m = u.getEnd()), m < t || (g ?? (g = n ? u.getFullStart() : u.getStart(
            e,
            /*includeJsDocComment*/
            !0
          )), g > t))
            return !1;
          if (t < m || t === m && (u.kind === 1 || s))
            return !0;
          if (i && m === t) {
            const h = cl(t, e, u);
            if (h && i(h))
              return c = h, !0;
          }
          return !1;
        }
      }
      function Gse(e, t) {
        let n = mi(e, t);
        for (; y9(n); ) {
          const i = a2(n, n.parent, e);
          if (!i) return;
          n = i;
        }
        return n;
      }
      function mw(e, t) {
        const n = mi(e, t);
        return ex(n) && t > n.getStart(e) && t < n.getEnd() ? n : cl(t, e);
      }
      function a2(e, t, n) {
        return i(t);
        function i(s) {
          return ex(s) && s.pos === e.end ? s : Ic(s.getChildren(n), (o) => /* previous token is enclosed somewhere in the child */ (o.pos <= e.pos && o.end > e.end || // previous token ends exactly at the beginning of child
          o.pos === e.end) && Kse(o, n) ? i(o) : void 0);
        }
      }
      function cl(e, t, n, i) {
        const s = o(n || t);
        return E.assert(!(s && y9(s))), s;
        function o(c) {
          if (Kbe(c) && c.kind !== 1)
            return c;
          const _ = c.getChildren(t), u = VT(_, e, (m, h) => h, (m, h) => e < _[m].end ? !_[m - 1] || e >= _[m - 1].end ? 0 : 1 : -1);
          if (u >= 0 && _[u]) {
            const m = _[u];
            if (e < m.end)
              if (m.getStart(
                t,
                /*includeJsDoc*/
                !i
              ) >= e || // cursor in the leading trivia
              !Kse(m, t) || y9(m)) {
                const T = Xse(
                  _,
                  /*exclusiveStartPosition*/
                  u,
                  t,
                  c.kind
                );
                return T ? !i && E7(T) && T.getChildren(t).length ? o(T) : $se(T, t) : void 0;
              } else
                return o(m);
          }
          E.assert(n !== void 0 || c.kind === 307 || c.kind === 1 || E7(c));
          const g = Xse(
            _,
            /*exclusiveStartPosition*/
            _.length,
            t,
            c.kind
          );
          return g && $se(g, t);
        }
      }
      function Kbe(e) {
        return ex(e) && !y9(e);
      }
      function $se(e, t) {
        if (Kbe(e))
          return e;
        const n = e.getChildren(t);
        if (n.length === 0)
          return e;
        const i = Xse(
          n,
          /*exclusiveStartPosition*/
          n.length,
          t,
          e.kind
        );
        return i && $se(i, t);
      }
      function Xse(e, t, n, i) {
        for (let s = t - 1; s >= 0; s--) {
          const o = e[s];
          if (y9(o))
            s === 0 && (i === 12 || i === 285) && E.fail("`JsxText` tokens should not be the first child of `JsxElement | JsxSelfClosingElement`");
          else if (Kse(e[s], n))
            return e[s];
        }
      }
      function ok(e, t, n = cl(t, e)) {
        if (n && Lj(n)) {
          const i = n.getStart(e), s = n.getEnd();
          if (i < t && t < s)
            return !0;
          if (t === s)
            return !!n.isUnterminated;
        }
        return !1;
      }
      function Qse(e, t) {
        const n = mi(e, t);
        return n ? !!(n.kind === 12 || n.kind === 30 && n.parent.kind === 12 || n.kind === 30 && n.parent.kind === 294 || n && n.kind === 20 && n.parent.kind === 294 || n.kind === 30 && n.parent.kind === 287) : !1;
      }
      function y9(e) {
        return Lx(e) && e.containsOnlyTriviaWhiteSpaces;
      }
      function TU(e, t) {
        const n = mi(e, t);
        return My(n.kind) && t > n.getStart(e);
      }
      function Yse(e, t) {
        const n = mi(e, t);
        return !!(Lx(n) || n.kind === 19 && g6(n.parent) && lm(n.parent.parent) || n.kind === 30 && yu(n.parent) && lm(n.parent.parent));
      }
      function v9(e, t) {
        function n(i) {
          for (; i; )
            if (i.kind >= 285 && i.kind <= 294 || i.kind === 12 || i.kind === 30 || i.kind === 32 || i.kind === 80 || i.kind === 20 || i.kind === 19 || i.kind === 44)
              i = i.parent;
            else if (i.kind === 284) {
              if (t > i.getStart(e)) return !0;
              i = i.parent;
            } else
              return !1;
          return !1;
        }
        return n(mi(e, t));
      }
      function b9(e, t, n) {
        const i = Qs(e.kind), s = Qs(t), o = e.getFullStart(), c = n.text.lastIndexOf(s, o);
        if (c === -1)
          return;
        if (n.text.lastIndexOf(i, o - 1) < c) {
          const g = cl(c + 1, n);
          if (g && g.kind === t)
            return g;
        }
        const _ = e.kind;
        let u = 0;
        for (; ; ) {
          const g = cl(e.getFullStart(), n);
          if (!g)
            return;
          if (e = g, e.kind === t) {
            if (u === 0)
              return e;
            u--;
          } else e.kind === _ && u++;
        }
      }
      function KBe(e, t, n) {
        return t ? e.getNonNullableType() : n ? e.getNonOptionalType() : e;
      }
      function AA(e, t, n) {
        const i = kU(e, t);
        return i !== void 0 && (Yd(i.called) || xU(i.called, i.nTypeArguments, n).length !== 0 || AA(i.called, t, n));
      }
      function xU(e, t, n) {
        let i = n.getTypeAtLocation(e);
        return hu(e.parent) && (i = KBe(
          i,
          x4(e.parent),
          /*isOptionalChain*/
          !0
        )), (Hb(e.parent) ? i.getConstructSignatures() : i.getCallSignatures()).filter((o) => !!o.typeParameters && o.typeParameters.length >= t);
      }
      function kU(e, t) {
        if (t.text.lastIndexOf("<", e ? e.pos : t.text.length) === -1)
          return;
        let n = e, i = 0, s = 0;
        for (; n; ) {
          switch (n.kind) {
            case 30:
              if (n = cl(n.getFullStart(), t), n && n.kind === 29 && (n = cl(n.getFullStart(), t)), !n || !Fe(n)) return;
              if (!i)
                return Xm(n) ? void 0 : { called: n, nTypeArguments: s };
              i--;
              break;
            case 50:
              i = 3;
              break;
            case 49:
              i = 2;
              break;
            case 32:
              i++;
              break;
            case 20:
              if (n = b9(n, 19, t), !n) return;
              break;
            case 22:
              if (n = b9(n, 21, t), !n) return;
              break;
            case 24:
              if (n = b9(n, 23, t), !n) return;
              break;
            // Valid tokens in a type name. Skip.
            case 28:
              s++;
              break;
            case 39:
            // falls through
            case 80:
            case 11:
            case 9:
            case 10:
            case 112:
            case 97:
            // falls through
            case 114:
            case 96:
            case 143:
            case 25:
            case 52:
            case 58:
            case 59:
              break;
            default:
              if (si(n))
                break;
              return;
          }
          n = cl(n.getFullStart(), t);
        }
      }
      function F0(e, t, n) {
        return rl.getRangeOfEnclosingComment(
          e,
          t,
          /*precedingToken*/
          void 0,
          n
        );
      }
      function Zse(e, t) {
        const n = mi(e, t);
        return !!_r(n, bd);
      }
      function Kse(e, t) {
        return e.kind === 1 ? !!e.jsDoc : e.getWidth(t) !== 0;
      }
      function gw(e, t = 0) {
        const n = [], i = Dl(e) ? xj(e) & ~t : 0;
        return i & 2 && n.push(
          "private"
          /* privateMemberModifier */
        ), i & 4 && n.push(
          "protected"
          /* protectedMemberModifier */
        ), i & 1 && n.push(
          "public"
          /* publicMemberModifier */
        ), (i & 256 || hc(e)) && n.push(
          "static"
          /* staticModifier */
        ), i & 64 && n.push(
          "abstract"
          /* abstractModifier */
        ), i & 32 && n.push(
          "export"
          /* exportedModifier */
        ), i & 65536 && n.push(
          "deprecated"
          /* deprecatedModifier */
        ), e.flags & 33554432 && n.push(
          "declare"
          /* ambientModifier */
        ), e.kind === 277 && n.push(
          "export"
          /* exportedModifier */
        ), n.length > 0 ? n.join(",") : "";
      }
      function eae(e) {
        if (e.kind === 183 || e.kind === 213)
          return e.typeArguments;
        if (Ts(e) || e.kind === 263 || e.kind === 264)
          return e.typeParameters;
      }
      function S9(e) {
        return e === 2 || e === 3;
      }
      function CU(e) {
        return !!(e === 11 || e === 14 || My(e));
      }
      function e2e(e, t, n) {
        return !!(t.flags & 4) && e.isEmptyAnonymousObjectType(n);
      }
      function tae(e) {
        if (!e.isIntersection())
          return !1;
        const { types: t, checker: n } = e;
        return t.length === 2 && (e2e(n, t[0], t[1]) || e2e(n, t[1], t[0]));
      }
      function IA(e, t, n) {
        return My(e.kind) && e.getStart(n) < t && t < e.end || !!e.isUnterminated && t === e.end;
      }
      function EU(e) {
        switch (e) {
          case 125:
          case 123:
          case 124:
            return !0;
        }
        return !1;
      }
      function DU(e) {
        const t = ZX(e);
        return Yz(t, e && e.configFile), t;
      }
      function O0(e) {
        return !!((e.kind === 209 || e.kind === 210) && (e.parent.kind === 226 && e.parent.left === e && e.parent.operatorToken.kind === 64 || e.parent.kind === 250 && e.parent.initializer === e || O0(e.parent.kind === 303 ? e.parent.parent : e.parent)));
      }
      function rae(e, t) {
        return t2e(
          e,
          t,
          /*shouldBeReference*/
          !0
        );
      }
      function nae(e, t) {
        return t2e(
          e,
          t,
          /*shouldBeReference*/
          !1
        );
      }
      function t2e(e, t, n) {
        const i = F0(
          e,
          t,
          /*tokenAtPosition*/
          void 0
        );
        return !!i && n === qBe.test(e.text.substring(i.pos, i.end));
      }
      function wU(e, t) {
        if (e)
          switch (e.kind) {
            case 11:
            case 15:
              return PU(e, t);
            default:
              return t_(e);
          }
      }
      function t_(e, t, n) {
        return wc(e.getStart(t), (n || e).getEnd());
      }
      function PU(e, t) {
        let n = e.getEnd() - 1;
        if (e.isUnterminated) {
          if (e.getStart() === n) return;
          n = Math.min(t, e.getEnd());
        }
        return wc(e.getStart() + 1, n);
      }
      function NU(e, t) {
        return tp(e.getStart(t), e.end);
      }
      function L0(e) {
        return wc(e.pos, e.end);
      }
      function T9(e) {
        return tp(e.start, e.start + e.length);
      }
      function x9(e, t, n) {
        return FA(Gl(e, t), n);
      }
      function FA(e, t) {
        return { span: e, newText: t };
      }
      var AU = [
        133,
        131,
        163,
        136,
        97,
        140,
        143,
        146,
        106,
        150,
        151,
        148,
        154,
        155,
        114,
        112,
        116,
        157,
        158,
        159
        /* UnknownKeyword */
      ];
      function hw(e) {
        return _s(AU, e);
      }
      function r2e(e) {
        return e.kind === 156;
      }
      function k9(e) {
        return r2e(e) || Fe(e) && e.text === "type";
      }
      function G6() {
        const e = [];
        return (t) => {
          const n = Oa(t);
          return !e[n] && (e[n] = !0);
        };
      }
      function ck(e) {
        return e.getText(0, e.getLength());
      }
      function OA(e, t) {
        let n = "";
        for (let i = 0; i < t; i++)
          n += e;
        return n;
      }
      function IU(e) {
        return e.isTypeParameter() && e.getConstraint() || e;
      }
      function LA(e) {
        return e.kind === 167 ? wf(e.expression) ? e.expression.text : void 0 : Di(e) ? Pn(e) : ep(e);
      }
      function iae(e) {
        return e.getSourceFiles().some((t) => !t.isDeclarationFile && !e.isSourceFileFromExternalLibrary(t) && !!(t.externalModuleIndicator || t.commonJsModuleIndicator));
      }
      function sae(e) {
        return e.getSourceFiles().some((t) => !t.isDeclarationFile && !e.isSourceFileFromExternalLibrary(t) && !!t.externalModuleIndicator);
      }
      function FU(e) {
        return !!e.module || ga(e) >= 2 || !!e.noEmit;
      }
      function bv(e, t) {
        return {
          fileExists: (n) => e.fileExists(n),
          getCurrentDirectory: () => t.getCurrentDirectory(),
          readFile: Ls(t, t.readFile),
          useCaseSensitiveFileNames: Ls(t, t.useCaseSensitiveFileNames) || e.useCaseSensitiveFileNames,
          getSymlinkCache: Ls(t, t.getSymlinkCache) || e.getSymlinkCache,
          getModuleSpecifierCache: Ls(t, t.getModuleSpecifierCache),
          getPackageJsonInfoCache: () => {
            var n;
            return (n = e.getModuleResolutionCache()) == null ? void 0 : n.getPackageJsonInfoCache();
          },
          getGlobalTypingsCacheLocation: Ls(t, t.getGlobalTypingsCacheLocation),
          redirectTargetsMap: e.redirectTargetsMap,
          getProjectReferenceRedirect: (n) => e.getProjectReferenceRedirect(n),
          isSourceOfProjectReferenceRedirect: (n) => e.isSourceOfProjectReferenceRedirect(n),
          getNearestAncestorDirectoryWithPackageJson: Ls(t, t.getNearestAncestorDirectoryWithPackageJson),
          getFileIncludeReasons: () => e.getFileIncludeReasons(),
          getCommonSourceDirectory: () => e.getCommonSourceDirectory(),
          getDefaultResolutionModeForFile: (n) => e.getDefaultResolutionModeForFile(n),
          getModeForResolutionAtIndex: (n, i) => e.getModeForResolutionAtIndex(n, i)
        };
      }
      function OU(e, t) {
        return {
          ...bv(e, t),
          getCommonSourceDirectory: () => e.getCommonSourceDirectory()
        };
      }
      function C9(e) {
        return e === 2 || e >= 3 && e <= 99 || e === 100;
      }
      function p1(e, t, n, i, s) {
        return N.createImportDeclaration(
          /*modifiers*/
          void 0,
          e || t ? N.createImportClause(!!s, e, t && t.length ? N.createNamedImports(t) : void 0) : void 0,
          typeof n == "string" ? yw(n, i) : n,
          /*attributes*/
          void 0
        );
      }
      function yw(e, t) {
        return N.createStringLiteral(
          e,
          t === 0
          /* Single */
        );
      }
      var aae = /* @__PURE__ */ ((e) => (e[e.Single = 0] = "Single", e[e.Double = 1] = "Double", e))(aae || {});
      function LU(e, t) {
        return i5(e, t) ? 1 : 0;
      }
      function K_(e, t) {
        if (t.quotePreference && t.quotePreference !== "auto")
          return t.quotePreference === "single" ? 0 : 1;
        {
          const n = Mg(e) && e.imports && Dn(e.imports, (i) => la(i) && !oo(i.parent));
          return n ? LU(n, e) : 1;
        }
      }
      function MU(e) {
        switch (e) {
          case 0:
            return "'";
          case 1:
            return '"';
          default:
            return E.assertNever(e);
        }
      }
      function RU(e) {
        const t = E9(e);
        return t === void 0 ? void 0 : Ei(t);
      }
      function E9(e) {
        return e.escapedName !== "default" ? e.escapedName : Ic(e.declarations, (t) => {
          const n = ls(t);
          return n && n.kind === 80 ? n.escapedText : void 0;
        });
      }
      function D9(e) {
        return Ba(e) && (Mh(e.parent) || Uo(e.parent) || _m(e.parent) || f_(
          e.parent,
          /*requireStringLiteralLikeArgument*/
          !1
        ) && e.parent.arguments[0] === e || df(e.parent) && e.parent.arguments[0] === e);
      }
      function MA(e) {
        return ya(e) && Nf(e.parent) && Fe(e.name) && !e.propertyName;
      }
      function w9(e, t) {
        const n = e.getTypeAtLocation(t.parent);
        return n && e.getPropertyOfType(n, t.name.text);
      }
      function RA(e, t, n) {
        if (e)
          for (; e.parent; ) {
            if (xi(e.parent) || !eJe(n, e.parent, t))
              return e;
            e = e.parent;
          }
      }
      function eJe(e, t, n) {
        return bj(e, t.getStart(n)) && t.getEnd() <= Ko(e);
      }
      function $6(e, t) {
        return Fp(e) ? Dn(e.modifiers, (n) => n.kind === t) : void 0;
      }
      function jU(e, t, n, i, s) {
        var o;
        const _ = (fs(n) ? n[0] : n).kind === 243 ? k3 : lx, u = Tn(t.statements, _), { comparer: g, isSorted: m } = wv.getOrganizeImportsStringComparerWithDetection(u, s), h = fs(n) ? J_(n, (S, T) => wv.compareImportsOrRequireStatements(S, T, g)) : [n];
        if (!u?.length) {
          if (Mg(t))
            e.insertNodesAtTopOfFile(t, h, i);
          else
            for (const S of h)
              e.insertStatementsInNewFile(t.fileName, [S], (o = Vo(S)) == null ? void 0 : o.getSourceFile());
          return;
        }
        if (E.assert(Mg(t)), u && m)
          for (const S of h) {
            const T = wv.getImportDeclarationInsertionIndex(u, S, g);
            if (T === 0) {
              const k = u[0] === t.statements[0] ? { leadingTriviaOption: nn.LeadingTriviaOption.Exclude } : {};
              e.insertNodeBefore(
                t,
                u[0],
                S,
                /*blankLineBetween*/
                !1,
                k
              );
            } else {
              const k = u[T - 1];
              e.insertNodeAfter(t, k, S);
            }
          }
        else {
          const S = Po(u);
          S ? e.insertNodesAfter(t, S, h) : e.insertNodesAtTopOfFile(t, h, i);
        }
      }
      function BU(e, t) {
        return E.assert(e.isTypeOnly), Us(e.getChildAt(0, t), r2e);
      }
      function X6(e, t) {
        return !!e && !!t && e.start === t.start && e.length === t.length;
      }
      function JU(e, t, n) {
        return (n ? gb : wy)(e.fileName, t.fileName) && X6(e.textSpan, t.textSpan);
      }
      function zU(e) {
        return (t, n) => JU(t, n, e);
      }
      function WU(e, t) {
        if (e) {
          for (let n = 0; n < e.length; n++)
            if (e.indexOf(e[n]) === n) {
              const i = t(e[n], n);
              if (i)
                return i;
            }
        }
      }
      function oae(e, t, n) {
        for (let i = t; i < n; i++)
          if (!Dg(e.charCodeAt(i)))
            return !1;
        return !0;
      }
      function vw(e, t, n) {
        const i = t.tryGetSourcePosition(e);
        return i && (!n || n(Gs(i.fileName)) ? i : void 0);
      }
      function P9(e, t, n) {
        const { fileName: i, textSpan: s } = e, o = vw({ fileName: i, pos: s.start }, t, n);
        if (!o) return;
        const c = vw({ fileName: i, pos: s.start + s.length }, t, n), _ = c ? c.pos - o.pos : s.length;
        return {
          fileName: o.fileName,
          textSpan: {
            start: o.pos,
            length: _
          },
          originalFileName: e.fileName,
          originalTextSpan: e.textSpan,
          contextSpan: VU(e, t, n),
          originalContextSpan: e.contextSpan
        };
      }
      function VU(e, t, n) {
        const i = e.contextSpan && vw(
          { fileName: e.fileName, pos: e.contextSpan.start },
          t,
          n
        ), s = e.contextSpan && vw(
          { fileName: e.fileName, pos: e.contextSpan.start + e.contextSpan.length },
          t,
          n
        );
        return i && s ? { start: i.pos, length: s.pos - i.pos } : void 0;
      }
      function UU(e) {
        const t = e.declarations ? Xc(e.declarations) : void 0;
        return !!_r(t, (n) => Ni(n) ? !0 : ya(n) || Nf(n) || N0(n) ? !1 : "quit");
      }
      var cae = tJe();
      function tJe() {
        const e = I4 * 10;
        let t, n, i, s;
        m();
        const o = (h) => _(
          h,
          17
          /* text */
        );
        return {
          displayParts: () => {
            const h = t.length && t[t.length - 1].text;
            return s > e && h && h !== "..." && (Dg(h.charCodeAt(h.length - 1)) || t.push(N_(
              " ",
              16
              /* space */
            )), t.push(N_(
              "...",
              15
              /* punctuation */
            ))), t;
          },
          writeKeyword: (h) => _(
            h,
            5
            /* keyword */
          ),
          writeOperator: (h) => _(
            h,
            12
            /* operator */
          ),
          writePunctuation: (h) => _(
            h,
            15
            /* punctuation */
          ),
          writeTrailingSemicolon: (h) => _(
            h,
            15
            /* punctuation */
          ),
          writeSpace: (h) => _(
            h,
            16
            /* space */
          ),
          writeStringLiteral: (h) => _(
            h,
            8
            /* stringLiteral */
          ),
          writeParameter: (h) => _(
            h,
            13
            /* parameterName */
          ),
          writeProperty: (h) => _(
            h,
            14
            /* propertyName */
          ),
          writeLiteral: (h) => _(
            h,
            8
            /* stringLiteral */
          ),
          writeSymbol: u,
          writeLine: g,
          write: o,
          writeComment: o,
          getText: () => "",
          getTextPos: () => 0,
          getColumn: () => 0,
          getLine: () => 0,
          isAtStartOfLine: () => !1,
          hasTrailingWhitespace: () => !1,
          hasTrailingComment: () => !1,
          rawWrite: Hs,
          getIndent: () => i,
          increaseIndent: () => {
            i++;
          },
          decreaseIndent: () => {
            i--;
          },
          clear: m
        };
        function c() {
          if (!(s > e) && n) {
            const h = m5(i);
            h && (s += h.length, t.push(N_(
              h,
              16
              /* space */
            ))), n = !1;
          }
        }
        function _(h, S) {
          s > e || (c(), s += h.length, t.push(N_(h, S)));
        }
        function u(h, S) {
          s > e || (c(), s += h.length, t.push(rJe(h, S)));
        }
        function g() {
          s > e || (s += 1, t.push(Q6()), n = !0);
        }
        function m() {
          t = [], n = !0, i = 0, s = 0;
        }
      }
      function rJe(e, t) {
        return N_(e, n(t));
        function n(i) {
          const s = i.flags;
          return s & 3 ? UU(i) ? 13 : 9 : s & 4 || s & 32768 || s & 65536 ? 14 : s & 8 ? 19 : s & 16 ? 20 : s & 32 ? 1 : s & 64 ? 4 : s & 384 ? 2 : s & 1536 ? 11 : s & 8192 ? 10 : s & 262144 ? 18 : s & 524288 || s & 2097152 ? 0 : 17;
        }
      }
      function N_(e, t) {
        return { text: e, kind: o9[t] };
      }
      function yc() {
        return N_(
          " ",
          16
          /* space */
        );
      }
      function ef(e) {
        return N_(
          Qs(e),
          5
          /* keyword */
        );
      }
      function xu(e) {
        return N_(
          Qs(e),
          15
          /* punctuation */
        );
      }
      function bw(e) {
        return N_(
          Qs(e),
          12
          /* operator */
        );
      }
      function lae(e) {
        return N_(
          e,
          13
          /* parameterName */
        );
      }
      function uae(e) {
        return N_(
          e,
          14
          /* propertyName */
        );
      }
      function qU(e) {
        const t = iS(e);
        return t === void 0 ? Lf(e) : ef(t);
      }
      function Lf(e) {
        return N_(
          e,
          17
          /* text */
        );
      }
      function _ae(e) {
        return N_(
          e,
          0
          /* aliasName */
        );
      }
      function fae(e) {
        return N_(
          e,
          18
          /* typeParameterName */
        );
      }
      function pae(e) {
        return N_(
          e,
          24
          /* linkText */
        );
      }
      function nJe(e, t) {
        return {
          text: e,
          kind: o9[
            23
            /* linkName */
          ],
          target: {
            fileName: Er(t).fileName,
            textSpan: t_(t)
          }
        };
      }
      function n2e(e) {
        return N_(
          e,
          22
          /* link */
        );
      }
      function dae(e, t) {
        var n;
        const i = Lte(e) ? "link" : Mte(e) ? "linkcode" : "linkplain", s = [n2e(`{@${i} `)];
        if (!e.name)
          e.text && s.push(pae(e.text));
        else {
          const o = t?.getSymbolAtLocation(e.name), c = o && t ? $U(o, t) : void 0, _ = sJe(e.text), u = Go(e.name) + e.text.slice(0, _), g = iJe(e.text.slice(_)), m = c?.valueDeclaration || ((n = c?.declarations) == null ? void 0 : n[0]);
          if (m)
            s.push(nJe(u, m)), g && s.push(pae(g));
          else {
            const h = _ === 0 || e.text.charCodeAt(_) === 124 && u.charCodeAt(u.length - 1) !== 32 ? " " : "";
            s.push(pae(u + h + g));
          }
        }
        return s.push(n2e("}")), s;
      }
      function iJe(e) {
        let t = 0;
        if (e.charCodeAt(t++) === 124) {
          for (; t < e.length && e.charCodeAt(t) === 32; ) t++;
          return e.slice(t);
        }
        return e;
      }
      function sJe(e) {
        let t = e.indexOf("://");
        if (t === 0) {
          for (; t < e.length && e.charCodeAt(t) !== 124; ) t++;
          return t;
        }
        if (e.indexOf("()") === 0) return 2;
        if (e.charAt(0) === "<") {
          let n = 0, i = 0;
          for (; i < e.length; )
            if (e[i] === "<" && n++, e[i] === ">" && n--, i++, !n) return i;
        }
        return 0;
      }
      var aJe = `
`;
      function Jh(e, t) {
        var n;
        return t?.newLineCharacter || ((n = e.getNewLine) == null ? void 0 : n.call(e)) || aJe;
      }
      function Q6() {
        return N_(
          `
`,
          6
          /* lineBreak */
        );
      }
      function Sv(e) {
        try {
          return e(cae), cae.displayParts();
        } finally {
          cae.clear();
        }
      }
      function jA(e, t, n, i = 0) {
        return Sv((s) => {
          e.writeType(t, n, i | 1024 | 16384, s);
        });
      }
      function Sw(e, t, n, i, s = 0) {
        return Sv((o) => {
          e.writeSymbol(t, n, i, s | 8, o);
        });
      }
      function HU(e, t, n, i = 0) {
        return i |= 25632, Sv((s) => {
          e.writeSignature(
            t,
            n,
            i,
            /*kind*/
            void 0,
            s
          );
        });
      }
      function mae(e) {
        return !!e.parent && Ry(e.parent) && e.parent.propertyName === e;
      }
      function GU(e, t) {
        return H5(e, t.getScriptKind && t.getScriptKind(e));
      }
      function $U(e, t) {
        let n = e;
        for (; oJe(n) || Ig(n) && n.links.target; )
          Ig(n) && n.links.target ? n = n.links.target : n = $l(n, t);
        return n;
      }
      function oJe(e) {
        return (e.flags & 2097152) !== 0;
      }
      function gae(e, t) {
        return ea($l(e, t));
      }
      function hae(e, t) {
        for (; Dg(e.charCodeAt(t)); )
          t += 1;
        return t;
      }
      function N9(e, t) {
        for (; t > -1 && Hd(e.charCodeAt(t)); )
          t -= 1;
        return t + 1;
      }
      function qa(e, t = !0) {
        const n = e && i2e(e);
        return n && !t && tf(n), tv(
          n,
          /*incremental*/
          !1
        );
      }
      function BA(e, t, n) {
        let i = n(e);
        return i ? xn(i, e) : i = i2e(e, n), i && !t && tf(i), i;
      }
      function i2e(e, t) {
        const n = t ? (o) => BA(
          o,
          /*includeTrivia*/
          !0,
          t
        ) : qa, s = yr(
          e,
          n,
          /*context*/
          void 0,
          t ? (o) => o && XU(
            o,
            /*includeTrivia*/
            !0,
            t
          ) : (o) => o && o2(o),
          n
        );
        if (s === e) {
          const o = la(e) ? xn(N.createStringLiteralFromNode(e), e) : m_(e) ? xn(N.createNumericLiteral(e.text, e.numericLiteralFlags), e) : N.cloneNode(e);
          return ot(o, e);
        }
        return s.parent = void 0, s;
      }
      function o2(e, t = !0) {
        if (e) {
          const n = N.createNodeArray(e.map((i) => qa(i, t)), e.hasTrailingComma);
          return ot(n, e), n;
        }
        return e;
      }
      function XU(e, t, n) {
        return N.createNodeArray(e.map((i) => BA(i, t, n)), e.hasTrailingComma);
      }
      function tf(e) {
        QU(e), yae(e);
      }
      function QU(e) {
        vae(e, 1024, lJe);
      }
      function yae(e) {
        vae(e, 2048, uJ);
      }
      function QS(e, t) {
        const n = e.getSourceFile(), i = n.text;
        cJe(e, i) ? Y6(e, t, n) : zA(e, t, n), Tw(e, t, n);
      }
      function cJe(e, t) {
        const n = e.getFullStart(), i = e.getStart();
        for (let s = n; s < i; s++)
          if (t.charCodeAt(s) === 10) return !0;
        return !1;
      }
      function vae(e, t, n) {
        im(e, t);
        const i = n(e);
        i && vae(i, t, n);
      }
      function lJe(e) {
        return e.forEachChild((t) => t);
      }
      function YS(e, t) {
        let n = e;
        for (let i = 1; !L7(t, n); i++)
          n = `${e}_${i}`;
        return n;
      }
      function JA(e, t, n, i) {
        let s = 0, o = -1;
        for (const { fileName: c, textChanges: _ } of e) {
          E.assert(c === t);
          for (const u of _) {
            const { span: g, newText: m } = u, h = uJe(m, Qm(n));
            if (h !== -1 && (o = g.start + s + h, !i))
              return o;
            s += m.length - g.length;
          }
        }
        return E.assert(i), E.assert(o >= 0), o;
      }
      function Y6(e, t, n, i, s) {
        MP(n.text, e.pos, bae(t, n, i, s, Wb));
      }
      function Tw(e, t, n, i, s) {
        RP(n.text, e.end, bae(t, n, i, s, kD));
      }
      function zA(e, t, n, i, s) {
        RP(n.text, e.pos, bae(t, n, i, s, Wb));
      }
      function bae(e, t, n, i, s) {
        return (o, c, _, u) => {
          _ === 3 ? (o += 2, c -= 2) : o += 2, s(e, n || _, t.text.slice(o, c), i !== void 0 ? i : u);
        };
      }
      function uJe(e, t) {
        if (Wi(e, t)) return 0;
        let n = e.indexOf(" " + t);
        return n === -1 && (n = e.indexOf("." + t)), n === -1 && (n = e.indexOf('"' + t)), n === -1 ? -1 : n + 1;
      }
      function A9(e) {
        return _n(e) && e.operatorToken.kind === 28 || ua(e) || (p6(e) || d6(e)) && ua(e.expression);
      }
      function I9(e, t, n) {
        const i = Gp(e.parent);
        switch (i.kind) {
          case 214:
            return t.getContextualType(i, n);
          case 226: {
            const { left: s, operatorToken: o, right: c } = i;
            return F9(o.kind) ? t.getTypeAtLocation(e === c ? s : c) : t.getContextualType(e, n);
          }
          case 296:
            return ZU(i, t);
          default:
            return t.getContextualType(e, n);
        }
      }
      function xw(e, t, n) {
        const i = K_(e, t), s = JSON.stringify(n);
        return i === 0 ? `'${wp(s).replace(/'/g, () => "\\'").replace(/\\"/g, '"')}'` : s;
      }
      function F9(e) {
        switch (e) {
          case 37:
          case 35:
          case 38:
          case 36:
            return !0;
          default:
            return !1;
        }
      }
      function Sae(e) {
        switch (e.kind) {
          case 11:
          case 15:
          case 228:
          case 215:
            return !0;
          default:
            return !1;
        }
      }
      function YU(e) {
        return !!e.getStringIndexType() || !!e.getNumberIndexType();
      }
      function ZU(e, t) {
        return t.getTypeAtLocation(e.parent.parent.expression);
      }
      var KU = "anonymous function";
      function kw(e, t, n, i) {
        const s = n.getTypeChecker();
        let o = !0;
        const c = () => o = !1, _ = s.typeToTypeNode(e, t, 1, 8, {
          trackSymbol: (u, g, m) => (o = o && s.isSymbolAccessible(
            u,
            g,
            m,
            /*shouldComputeAliasToMarkVisible*/
            !1
          ).accessibility === 0, !o),
          reportInaccessibleThisError: c,
          reportPrivateInBaseOfClassExpression: c,
          reportInaccessibleUniqueSymbolError: c,
          moduleResolverHost: OU(n, i)
        });
        return o ? _ : void 0;
      }
      function Tae(e) {
        return e === 179 || e === 180 || e === 181 || e === 171 || e === 173;
      }
      function s2e(e) {
        return e === 262 || e === 176 || e === 174 || e === 177 || e === 178;
      }
      function a2e(e) {
        return e === 267;
      }
      function xae(e) {
        return e === 243 || e === 244 || e === 246 || e === 251 || e === 252 || e === 253 || e === 257 || e === 259 || e === 172 || e === 265 || e === 272 || e === 271 || e === 278 || e === 270 || e === 277;
      }
      var _Je = z_(
        Tae,
        s2e,
        a2e,
        xae
      );
      function fJe(e, t) {
        const n = e.getLastToken(t);
        if (n && n.kind === 27)
          return !1;
        if (Tae(e.kind)) {
          if (n && n.kind === 28)
            return !1;
        } else if (a2e(e.kind)) {
          const _ = pa(e.getChildren(t));
          if (_ && om(_))
            return !1;
        } else if (s2e(e.kind)) {
          const _ = pa(e.getChildren(t));
          if (_ && Eb(_))
            return !1;
        } else if (!xae(e.kind))
          return !1;
        if (e.kind === 246)
          return !0;
        const i = _r(e, (_) => !_.parent), s = a2(e, i, t);
        if (!s || s.kind === 20)
          return !0;
        const o = t.getLineAndCharacterOfPosition(e.getEnd()).line, c = t.getLineAndCharacterOfPosition(s.getStart(t)).line;
        return o !== c;
      }
      function O9(e, t, n) {
        const i = _r(t, (s) => s.end !== e ? "quit" : _Je(s.kind));
        return !!i && fJe(i, n);
      }
      function WA(e) {
        let t = 0, n = 0;
        const i = 5;
        return Ss(e, function s(o) {
          if (xae(o.kind)) {
            const c = o.getLastToken(e);
            c?.kind === 27 ? t++ : n++;
          } else if (Tae(o.kind)) {
            const c = o.getLastToken(e);
            if (c?.kind === 27)
              t++;
            else if (c && c.kind !== 28) {
              const _ = Js(e, c.getStart(e)).line, u = Js(e, Xd(e, c.end).start).line;
              _ !== u && n++;
            }
          }
          return t + n >= i ? !0 : Ss(o, s);
        }), t === 0 && n <= 1 ? !0 : t / n > 1 / i;
      }
      function L9(e, t) {
        return kae(e, e.getDirectories, t) || [];
      }
      function eq(e, t, n, i, s) {
        return kae(e, e.readDirectory, t, n, i, s) || Ue;
      }
      function Cw(e, t) {
        return kae(e, e.fileExists, t);
      }
      function M9(e, t) {
        return R9(() => md(t, e)) || !1;
      }
      function R9(e) {
        try {
          return e();
        } catch {
          return;
        }
      }
      function kae(e, t, ...n) {
        return R9(() => t && t.apply(e, n));
      }
      function tq(e, t) {
        const n = [];
        return Km(
          t,
          e,
          (i) => {
            const s = An(i, "package.json");
            Cw(t, s) && n.push(s);
          }
        ), n;
      }
      function Cae(e, t) {
        let n;
        return Km(
          t,
          e,
          (i) => {
            if (i === "node_modules" || (n = eV(i, (s) => Cw(t, s), "package.json"), n))
              return !0;
          }
        ), n;
      }
      function pJe(e, t) {
        if (!t.fileExists)
          return [];
        const n = [];
        return Km(
          t,
          Un(e),
          (i) => {
            const s = An(i, "package.json");
            if (t.fileExists(s)) {
              const o = rq(s, t);
              o && n.push(o);
            }
          }
        ), n;
      }
      function rq(e, t) {
        if (!t.readFile)
          return;
        const n = ["dependencies", "devDependencies", "optionalDependencies", "peerDependencies"], i = t.readFile(e) || "", s = w5(i), o = {};
        if (s)
          for (const u of n) {
            const g = s[u];
            if (!g)
              continue;
            const m = /* @__PURE__ */ new Map();
            for (const h in g)
              m.set(h, g[h]);
            o[u] = m;
          }
        const c = [
          [1, o.dependencies],
          [2, o.devDependencies],
          [8, o.optionalDependencies],
          [4, o.peerDependencies]
        ];
        return {
          ...o,
          parseable: !!s,
          fileName: e,
          get: _,
          has(u, g) {
            return !!_(u, g);
          }
        };
        function _(u, g = 15) {
          for (const [m, h] of c)
            if (h && g & m) {
              const S = h.get(u);
              if (S !== void 0)
                return S;
            }
        }
      }
      function Z6(e, t, n) {
        const i = (n.getPackageJsonsVisibleToFile && n.getPackageJsonsVisibleToFile(e.fileName) || pJe(e.fileName, n)).filter((k) => k.parseable);
        let s, o, c;
        return {
          allowsImportingAmbientModule: u,
          getSourceFileInfo: g,
          allowsImportingSpecifier: m
        };
        function _(k) {
          const D = T(k);
          for (const w of i)
            if (w.has(D) || w.has(uO(D)))
              return !0;
          return !1;
        }
        function u(k, D) {
          if (!i.length || !k.valueDeclaration)
            return !0;
          if (!o)
            o = /* @__PURE__ */ new Map();
          else {
            const j = o.get(k);
            if (j !== void 0)
              return j;
          }
          const w = wp(k.getName());
          if (h(w))
            return o.set(k, !0), !0;
          const A = k.valueDeclaration.getSourceFile(), O = S(A.fileName, D);
          if (typeof O > "u")
            return o.set(k, !0), !0;
          const F = _(O) || _(w);
          return o.set(k, F), F;
        }
        function g(k, D) {
          if (!i.length)
            return { importable: !0, packageName: void 0 };
          if (!c)
            c = /* @__PURE__ */ new Map();
          else {
            const F = c.get(k);
            if (F !== void 0)
              return F;
          }
          const w = S(k.fileName, D);
          if (!w) {
            const F = { importable: !0, packageName: w };
            return c.set(k, F), F;
          }
          const O = { importable: _(w), packageName: w };
          return c.set(k, O), O;
        }
        function m(k) {
          return !i.length || h(k) || ff(k) || V_(k) ? !0 : _(k);
        }
        function h(k) {
          return !!(Mg(e) && $u(e) && c6.has(k) && (s === void 0 && (s = j9(e)), s));
        }
        function S(k, D) {
          if (!k.includes("node_modules"))
            return;
          const w = Bh.getNodeModulesPackageName(
            n.getCompilationSettings(),
            e,
            k,
            D,
            t
          );
          if (w && !ff(w) && !V_(w))
            return T(w);
        }
        function T(k) {
          const D = ou(XD(k)).slice(1);
          return Wi(D[0], "@") ? `${D[0]}/${D[1]}` : D[0];
        }
      }
      function j9(e) {
        return at(e.imports, ({ text: t }) => c6.has(t));
      }
      function VA(e) {
        return _s(ou(e), "node_modules");
      }
      function o2e(e) {
        return e.file !== void 0 && e.start !== void 0 && e.length !== void 0;
      }
      function Eae(e, t) {
        const n = t_(e), i = VT(t, n, mo, VI);
        if (i >= 0) {
          const s = t[i];
          return E.assertEqual(s.file, e.getSourceFile(), "Diagnostics proided to 'findDiagnosticForNode' must be from a single SourceFile"), Us(s, o2e);
        }
      }
      function Dae(e, t) {
        var n;
        let i = VT(t, e.start, (c) => c.start, go);
        for (i < 0 && (i = ~i); ((n = t[i - 1]) == null ? void 0 : n.start) === e.start; )
          i--;
        const s = [], o = Ko(e);
        for (; ; ) {
          const c = Mn(t[i], o2e);
          if (!c || c.start > o)
            break;
          RY(e, c) && s.push(c), i++;
        }
        return s;
      }
      function lk({ startPosition: e, endPosition: t }) {
        return wc(e, t === void 0 ? e : t);
      }
      function nq(e, t) {
        const n = mi(e, t.start);
        return _r(n, (s) => s.getStart(e) < t.start || s.getEnd() > Ko(t) ? "quit" : lt(s) && X6(t, t_(s, e)));
      }
      function iq(e, t, n = mo) {
        return e ? fs(e) ? n(fr(e, t)) : t(e, 0) : void 0;
      }
      function sq(e) {
        return fs(e) ? xa(e) : e;
      }
      function B9(e, t, n) {
        return e.escapedName === "export=" || e.escapedName === "default" ? aq(e) || UA(dJe(e), t, !!n) : e.name;
      }
      function aq(e) {
        return Ic(e.declarations, (t) => {
          var n, i, s;
          if (Oo(t))
            return (n = Mn(xc(t.expression), Fe)) == null ? void 0 : n.text;
          if (bu(t) && t.symbol.flags === 2097152)
            return (i = Mn(t.propertyName, Fe)) == null ? void 0 : i.text;
          const o = (s = Mn(ls(t), Fe)) == null ? void 0 : s.text;
          if (o)
            return o;
          if (e.parent && !sx(e.parent))
            return e.parent.getName();
        });
      }
      function dJe(e) {
        var t;
        return E.checkDefined(
          e.parent,
          `Symbol parent was undefined. Flags: ${E.formatSymbolFlags(e.flags)}. Declarations: ${(t = e.declarations) == null ? void 0 : t.map((n) => {
            const i = E.formatSyntaxKind(n.kind), s = tn(n), { expression: o } = n;
            return (s ? "[JS]" : "") + i + (o ? ` (expression: ${E.formatSyntaxKind(o.kind)})` : "");
          }).join(", ")}.`
        );
      }
      function UA(e, t, n) {
        return qA(Ru(wp(e.name)), t, n);
      }
      function qA(e, t, n) {
        const i = Qc(bC(Ru(e), "/index"));
        let s = "", o = !0;
        const c = i.charCodeAt(0);
        Um(c, t) ? (s += String.fromCharCode(c), n && (s = s.toUpperCase())) : o = !1;
        for (let _ = 1; _ < i.length; _++) {
          const u = i.charCodeAt(_), g = kh(u, t);
          if (g) {
            let m = String.fromCharCode(u);
            o || (m = m.toUpperCase()), s += m;
          }
          o = g;
        }
        return hx(s) ? `_${s}` : s || "_";
      }
      function wae(e, t, n) {
        const i = t.length;
        if (i + n > e.length)
          return !1;
        for (let s = 0; s < i; s++)
          if (t.charCodeAt(s) !== e.charCodeAt(s + n)) return !1;
        return !0;
      }
      function oq(e) {
        return e.charCodeAt(0) === 95;
      }
      function J9(e) {
        return !!(xj(e) & 65536);
      }
      function z9(e, t) {
        let n;
        for (const i of e.imports)
          if (c6.has(i.text) && !cF.has(i.text)) {
            if (Wi(i.text, "node:"))
              return !0;
            n = !1;
          }
        return n ?? t.usesUriStyleNodeCoreModules;
      }
      function HA(e) {
        return e === `
` ? 1 : 0;
      }
      function c2(e) {
        return fs(e) ? Jg(hs(e[0]), e.slice(1)) : hs(e);
      }
      function W9({ options: e }, t) {
        const n = !e.semicolons || e.semicolons === "ignore", i = e.semicolons === "remove" || n && !WA(t);
        return {
          ...e,
          semicolons: i ? "remove" : "ignore"
          /* Ignore */
        };
      }
      function cq(e) {
        return e === 2 || e === 3;
      }
      function K6(e, t) {
        return e.isSourceFileFromExternalLibrary(t) || e.isSourceFileDefaultLibrary(t);
      }
      function V9(e, t) {
        const n = /* @__PURE__ */ new Set(), i = /* @__PURE__ */ new Set(), s = /* @__PURE__ */ new Set();
        for (const _ of t)
          if (!LD(_)) {
            const u = za(_.expression);
            if (oS(u))
              switch (u.kind) {
                case 15:
                case 11:
                  n.add(u.text);
                  break;
                case 9:
                  i.add(parseInt(u.text));
                  break;
                case 10:
                  const g = Fee(No(u.text, "n") ? u.text.slice(0, -1) : u.text);
                  g && s.add(Jb(g));
                  break;
              }
            else {
              const g = e.getSymbolAtLocation(_.expression);
              if (g && g.valueDeclaration && A0(g.valueDeclaration)) {
                const m = e.getConstantValue(g.valueDeclaration);
                m !== void 0 && o(m);
              }
            }
          }
        return {
          addValue: o,
          hasValue: c
        };
        function o(_) {
          switch (typeof _) {
            case "string":
              n.add(_);
              break;
            case "number":
              i.add(_);
          }
        }
        function c(_) {
          switch (typeof _) {
            case "string":
              return n.has(_);
            case "number":
              return i.has(_);
            case "object":
              return s.has(Jb(_));
          }
        }
      }
      function lq(e, t, n, i) {
        var s;
        const o = typeof e == "string" ? e : e.fileName;
        if (!Wg(o))
          return !1;
        const c = typeof e == "string" ? t.getCompilerOptions() : t.getCompilerOptionsForFile(e), _ = Mu(c), u = typeof e == "string" ? {
          fileName: e,
          impliedNodeFormat: mA(lo(e, n.getCurrentDirectory(), Nh(n)), (s = t.getPackageJsonInfoCache) == null ? void 0 : s.call(t), n, c)
        } : e, g = GS(u, c);
        if (g === 99)
          return !1;
        if (g === 1 || c.verbatimModuleSyntax && _ === 1)
          return !0;
        if (c.verbatimModuleSyntax && aN(_))
          return !1;
        if (typeof e == "object") {
          if (e.commonJsModuleIndicator)
            return !0;
          if (e.externalModuleIndicator)
            return !1;
        }
        return i;
      }
      function uk(e) {
        switch (e.kind) {
          case 241:
          case 307:
          case 268:
          case 296:
            return !0;
          default:
            return !1;
        }
      }
      function U9(e, t, n, i) {
        var s;
        const o = LO(e, (s = n.getPackageJsonInfoCache) == null ? void 0 : s.call(n), i, n.getCompilerOptions());
        let c, _;
        return typeof o == "object" && (c = o.impliedNodeFormat, _ = o.packageJsonScope), {
          path: lo(e, n.getCurrentDirectory(), n.getCanonicalFileName),
          fileName: e,
          externalModuleIndicator: t === 99 ? !0 : void 0,
          commonJsModuleIndicator: t === 1 ? !0 : void 0,
          impliedNodeFormat: c,
          packageJsonScope: _,
          statements: Ue,
          imports: Ue
        };
      }
      var Pae = /* @__PURE__ */ ((e) => (e[e.Named = 0] = "Named", e[e.Default = 1] = "Default", e[e.Namespace = 2] = "Namespace", e[e.CommonJS = 3] = "CommonJS", e))(Pae || {}), Nae = /* @__PURE__ */ ((e) => (e[e.Named = 0] = "Named", e[e.Default = 1] = "Default", e[e.ExportEquals = 2] = "ExportEquals", e[e.UMD = 3] = "UMD", e[e.Module = 4] = "Module", e))(Nae || {});
      function uq(e) {
        let t = 1;
        const n = Tp(), i = /* @__PURE__ */ new Map(), s = /* @__PURE__ */ new Map();
        let o;
        const c = {
          isUsableByFile: (T) => T === o,
          isEmpty: () => !n.size,
          clear: () => {
            n.clear(), i.clear(), o = void 0;
          },
          add: (T, k, D, w, A, O, F, j) => {
            T !== o && (c.clear(), o = T);
            let z;
            if (A) {
              const me = rF(A.fileName);
              if (me) {
                const { topLevelNodeModulesIndex: q, topLevelPackageNameIndex: he, packageRootIndex: Me } = me;
                if (z = KN(XD(A.fileName.substring(he + 1, Me))), Wi(T, A.path.substring(0, q))) {
                  const De = s.get(z), re = A.fileName.substring(0, he + 1);
                  if (De) {
                    const xe = De.indexOf($g);
                    q > xe && s.set(z, re);
                  } else
                    s.set(z, re);
                }
              }
            }
            const G = O === 1 && rD(k) || k, W = O === 0 || sx(G) ? Ei(D) : gJe(
              G,
              j,
              /*scriptTarget*/
              void 0
            ), pe = typeof W == "string" ? W : W[0], K = typeof W == "string" ? void 0 : W[1], U = wp(w.name), ee = t++, te = $l(k, j), ie = k.flags & 33554432 ? void 0 : k, fe = w.flags & 33554432 ? void 0 : w;
            (!ie || !fe) && i.set(ee, [k, w]), n.add(u(pe, k, Cl(U) ? void 0 : U, j), {
              id: ee,
              symbolTableKey: D,
              symbolName: pe,
              capitalizedSymbolName: K,
              moduleName: U,
              moduleFile: A,
              moduleFileName: A?.fileName,
              packageName: z,
              exportKind: O,
              targetFlags: te.flags,
              isFromPackageJson: F,
              symbol: ie,
              moduleSymbol: fe
            });
          },
          get: (T, k) => {
            if (T !== o) return;
            const D = n.get(k);
            return D?.map(_);
          },
          search: (T, k, D, w) => {
            if (T === o)
              return gl(n, (A, O) => {
                const { symbolName: F, ambientModuleName: j } = g(O), z = k && A[0].capitalizedSymbolName || F;
                if (D(z, A[0].targetFlags)) {
                  const G = A.map(_).filter((W, pe) => S(W, A[pe].packageName));
                  if (G.length) {
                    const W = w(G, z, !!j, O);
                    if (W !== void 0) return W;
                  }
                }
              });
          },
          releaseSymbols: () => {
            i.clear();
          },
          onFileChanged: (T, k, D) => m(T) && m(k) ? !1 : o && o !== k.path || // If ATA is enabled, auto-imports uses existing imports to guess whether you want auto-imports from node.
          // Adding or removing imports from node could change the outcome of that guess, so could change the suggestions list.
          D && j9(T) !== j9(k) || // Module agumentation and ambient module changes can add or remove exports available to be auto-imported.
          // Changes elsewhere in the file can change the *type* of an export in a module augmentation,
          // but type info is gathered in getCompletionEntryDetails, which doesn't use the cache.
          !Cf(T.moduleAugmentations, k.moduleAugmentations) || !h(T, k) ? (c.clear(), !0) : (o = k.path, !1)
        };
        return E.isDebugging && Object.defineProperty(c, "__cache", { value: n }), c;
        function _(T) {
          if (T.symbol && T.moduleSymbol) return T;
          const { id: k, exportKind: D, targetFlags: w, isFromPackageJson: A, moduleFileName: O } = T, [F, j] = i.get(k) || Ue;
          if (F && j)
            return {
              symbol: F,
              moduleSymbol: j,
              moduleFileName: O,
              exportKind: D,
              targetFlags: w,
              isFromPackageJson: A
            };
          const z = (A ? e.getPackageJsonAutoImportProvider() : e.getCurrentProgram()).getTypeChecker(), V = T.moduleSymbol || j || E.checkDefined(
            T.moduleFile ? z.getMergedSymbol(T.moduleFile.symbol) : z.tryFindAmbientModule(T.moduleName)
          ), G = T.symbol || F || E.checkDefined(
            D === 2 ? z.resolveExternalModuleSymbol(V) : z.tryGetMemberInModuleExportsAndProperties(Ei(T.symbolTableKey), V),
            `Could not find symbol '${T.symbolName}' by key '${T.symbolTableKey}' in module ${V.name}`
          );
          return i.set(k, [G, V]), {
            symbol: G,
            moduleSymbol: V,
            moduleFileName: O,
            exportKind: D,
            targetFlags: w,
            isFromPackageJson: A
          };
        }
        function u(T, k, D, w) {
          const A = D || "";
          return `${T.length} ${ea($l(k, w))} ${T} ${A}`;
        }
        function g(T) {
          const k = T.indexOf(" "), D = T.indexOf(" ", k + 1), w = parseInt(T.substring(0, k), 10), A = T.substring(D + 1), O = A.substring(0, w), F = A.substring(w + 1);
          return { symbolName: O, ambientModuleName: F === "" ? void 0 : F };
        }
        function m(T) {
          return !T.commonJsModuleIndicator && !T.externalModuleIndicator && !T.moduleAugmentations && !T.ambientModuleNames;
        }
        function h(T, k) {
          if (!Cf(T.ambientModuleNames, k.ambientModuleNames))
            return !1;
          let D = -1, w = -1;
          for (const A of k.ambientModuleNames) {
            const O = (F) => nB(F) && F.name.text === A;
            if (D = oc(T.statements, O, D + 1), w = oc(k.statements, O, w + 1), T.statements[D] !== k.statements[w])
              return !1;
          }
          return !0;
        }
        function S(T, k) {
          if (!k || !T.moduleFileName) return !0;
          const D = e.getGlobalTypingsCacheLocation();
          if (D && Wi(T.moduleFileName, D)) return !0;
          const w = s.get(k);
          return !w || Wi(T.moduleFileName, w);
        }
      }
      function _q(e, t, n, i, s, o, c, _) {
        var u;
        if (!n) {
          let T;
          const k = wp(i.name);
          return c6.has(k) && (T = z9(t, e)) !== void 0 ? T === Wi(k, "node:") : !o || o.allowsImportingAmbientModule(i, c) || Aae(t, k);
        }
        if (E.assertIsDefined(n), t === n) return !1;
        const g = _?.get(t.path, n.path, s, {});
        if (g?.isBlockedByPackageJsonDependencies !== void 0)
          return !g.isBlockedByPackageJsonDependencies || !!g.packageName && Aae(t, g.packageName);
        const m = Nh(c), h = (u = c.getGlobalTypingsCacheLocation) == null ? void 0 : u.call(c), S = !!Bh.forEachFileNameOfModule(
          t.fileName,
          n.fileName,
          c,
          /*preferSymlinks*/
          !1,
          (T) => {
            const k = e.getSourceFile(T);
            return (k === n || !k) && mJe(
              t.fileName,
              T,
              m,
              h,
              c
            );
          }
        );
        if (o) {
          const T = S ? o.getSourceFileInfo(n, c) : void 0;
          return _?.setBlockedByPackageJsonDependencies(t.path, n.path, s, {}, T?.packageName, !T?.importable), !!T?.importable || S && !!T?.packageName && Aae(t, T.packageName);
        }
        return S;
      }
      function Aae(e, t) {
        return e.imports && e.imports.some((n) => n.text === t || n.text.startsWith(t + "/"));
      }
      function mJe(e, t, n, i, s) {
        const o = Km(
          s,
          t,
          (_) => Qc(_) === "node_modules" ? _ : void 0
        ), c = o && Un(n(o));
        return c === void 0 || Wi(n(e), c) || !!i && Wi(n(i), c);
      }
      function fq(e, t, n, i, s) {
        var o, c;
        const _ = TS(t), u = n.autoImportFileExcludePatterns && c2e(n, _);
        l2e(e.getTypeChecker(), e.getSourceFiles(), u, t, (m, h) => s(
          m,
          h,
          e,
          /*isFromPackageJson*/
          !1
        ));
        const g = i && ((o = t.getPackageJsonAutoImportProvider) == null ? void 0 : o.call(t));
        if (g) {
          const m = co(), h = e.getTypeChecker();
          l2e(g.getTypeChecker(), g.getSourceFiles(), u, t, (S, T) => {
            (T && !e.getSourceFile(T.fileName) || !T && !h.resolveName(
              S.name,
              /*location*/
              void 0,
              1536,
              /*excludeGlobals*/
              !1
            )) && s(
              S,
              T,
              g,
              /*isFromPackageJson*/
              !0
            );
          }), (c = t.log) == null || c.call(t, `forEachExternalModuleToImportFrom autoImportProvider: ${co() - m}`);
        }
      }
      function c2e(e, t) {
        return Oi(e.autoImportFileExcludePatterns, (n) => {
          const i = U5(n, "", "exclude");
          return i ? k0(i, t) : void 0;
        });
      }
      function l2e(e, t, n, i, s) {
        var o;
        const c = n && u2e(n, i);
        for (const _ of e.getAmbientModules())
          !_.name.includes("*") && !(n && ((o = _.declarations) != null && o.every((u) => c(u.getSourceFile())))) && s(
            _,
            /*sourceFile*/
            void 0
          );
        for (const _ of t)
          H_(_) && !c?.(_) && s(e.getMergedSymbol(_.symbol), _);
      }
      function u2e(e, t) {
        var n;
        const i = (n = t.getSymlinkCache) == null ? void 0 : n.call(t).getSymlinkedDirectoriesByRealpath();
        return ({ fileName: s, path: o }) => {
          if (e.some((c) => c.test(s))) return !0;
          if (i?.size && c1(s)) {
            let c = Un(s);
            return Km(
              t,
              Un(o),
              (_) => {
                const u = i.get(ml(_));
                if (u)
                  return u.some((g) => e.some((m) => m.test(s.replace(c, g))));
                c = Un(c);
              }
            ) ?? !1;
          }
          return !1;
        };
      }
      function Iae(e, t) {
        return t.autoImportFileExcludePatterns ? u2e(c2e(t, TS(e)), e) : () => !1;
      }
      function GA(e, t, n, i, s) {
        var o, c, _, u, g;
        const m = co();
        (o = t.getPackageJsonAutoImportProvider) == null || o.call(t);
        const h = ((c = t.getCachedExportInfoMap) == null ? void 0 : c.call(t)) || uq({
          getCurrentProgram: () => n,
          getPackageJsonAutoImportProvider: () => {
            var T;
            return (T = t.getPackageJsonAutoImportProvider) == null ? void 0 : T.call(t);
          },
          getGlobalTypingsCacheLocation: () => {
            var T;
            return (T = t.getGlobalTypingsCacheLocation) == null ? void 0 : T.call(t);
          }
        });
        if (h.isUsableByFile(e.path))
          return (_ = t.log) == null || _.call(t, "getExportInfoMap: cache hit"), h;
        (u = t.log) == null || u.call(t, "getExportInfoMap: cache miss or empty; calculating new results");
        let S = 0;
        try {
          fq(
            n,
            t,
            i,
            /*useAutoImportProvider*/
            !0,
            (T, k, D, w) => {
              ++S % 100 === 0 && s?.throwIfCancellationRequested();
              const A = /* @__PURE__ */ new Set(), O = D.getTypeChecker(), F = q9(T, O);
              F && _2e(F.symbol, O) && h.add(
                e.path,
                F.symbol,
                F.exportKind === 1 ? "default" : "export=",
                T,
                k,
                F.exportKind,
                w,
                O
              ), O.forEachExportAndPropertyOfModule(T, (j, z) => {
                j !== F?.symbol && _2e(j, O) && Pp(A, z) && h.add(
                  e.path,
                  j,
                  z,
                  T,
                  k,
                  0,
                  w,
                  O
                );
              });
            }
          );
        } catch (T) {
          throw h.clear(), T;
        }
        return (g = t.log) == null || g.call(t, `getExportInfoMap: done in ${co() - m} ms`), h;
      }
      function q9(e, t) {
        const n = t.resolveExternalModuleSymbol(e);
        if (n !== e) {
          const s = t.tryGetMemberInModuleExports("default", n);
          return s ? {
            symbol: s,
            exportKind: 1
            /* Default */
          } : {
            symbol: n,
            exportKind: 2
            /* ExportEquals */
          };
        }
        const i = t.tryGetMemberInModuleExports("default", e);
        if (i) return {
          symbol: i,
          exportKind: 1
          /* Default */
        };
      }
      function _2e(e, t) {
        return !t.isUndefinedSymbol(e) && !t.isUnknownSymbol(e) && !W3(e) && !NK(e);
      }
      function gJe(e, t, n) {
        let i;
        return H9(e, t, n, (s, o) => (i = o ? [s, o] : s, !0)), E.checkDefined(i);
      }
      function H9(e, t, n, i) {
        let s, o = e;
        const c = /* @__PURE__ */ new Set();
        for (; o; ) {
          const _ = aq(o);
          if (_) {
            const u = i(_);
            if (u) return u;
          }
          if (o.escapedName !== "default" && o.escapedName !== "export=") {
            const u = i(o.name);
            if (u) return u;
          }
          if (s = Dr(s, o), !Pp(c, o)) break;
          o = o.flags & 2097152 ? t.getImmediateAliasedSymbol(o) : void 0;
        }
        for (const _ of s ?? Ue)
          if (_.parent && sx(_.parent)) {
            const u = i(
              UA(
                _.parent,
                n,
                /*forceCapitalize*/
                !1
              ),
              UA(
                _.parent,
                n,
                /*forceCapitalize*/
                !0
              )
            );
            if (u) return u;
          }
      }
      function f2e() {
        const e = Pg(
          99,
          /*skipTrivia*/
          !1
        );
        function t(i, s, o) {
          return bJe(n(i, s, o), i);
        }
        function n(i, s, o) {
          let c = 0, _ = 0;
          const u = [], { prefix: g, pushTemplate: m } = xJe(s);
          i = g + i;
          const h = g.length;
          m && u.push(
            16
            /* TemplateHead */
          ), e.setText(i);
          let S = 0;
          const T = [];
          let k = 0;
          do {
            c = e.scan(), XC(c) || (D(), _ = c);
            const w = e.getTokenEnd();
            if (vJe(e.getTokenStart(), w, h, EJe(c), T), w >= i.length) {
              const A = yJe(e, c, Po(u));
              A !== void 0 && (S = A);
            }
          } while (c !== 1);
          function D() {
            switch (c) {
              case 44:
              case 69:
                !hJe[_] && e.reScanSlashToken() === 14 && (c = 14);
                break;
              case 30:
                _ === 80 && k++;
                break;
              case 32:
                k > 0 && k--;
                break;
              case 133:
              case 154:
              case 150:
              case 136:
              case 155:
                k > 0 && !o && (c = 80);
                break;
              case 16:
                u.push(c);
                break;
              case 19:
                u.length > 0 && u.push(c);
                break;
              case 20:
                if (u.length > 0) {
                  const w = Po(u);
                  w === 16 ? (c = e.reScanTemplateToken(
                    /*isTaggedTemplate*/
                    !1
                  ), c === 18 ? u.pop() : E.assertEqual(c, 17, "Should have been a template middle.")) : (E.assertEqual(w, 19, "Should have been an open brace"), u.pop());
                }
                break;
              default:
                if (!p_(c))
                  break;
                (_ === 25 || p_(_) && p_(c) && !TJe(_, c)) && (c = 80);
            }
          }
          return { endOfLineState: S, spans: T };
        }
        return { getClassificationsForLine: t, getEncodedLexicalClassifications: n };
      }
      var hJe = YX(
        [
          80,
          11,
          9,
          10,
          14,
          110,
          46,
          47,
          22,
          24,
          20,
          112,
          97
          /* FalseKeyword */
        ],
        (e) => e,
        () => !0
      );
      function yJe(e, t, n) {
        switch (t) {
          case 11: {
            if (!e.isUnterminated()) return;
            const i = e.getTokenText(), s = i.length - 1;
            let o = 0;
            for (; i.charCodeAt(s - o) === 92; )
              o++;
            return (o & 1) === 0 ? void 0 : i.charCodeAt(0) === 34 ? 3 : 2;
          }
          case 3:
            return e.isUnterminated() ? 1 : void 0;
          default:
            if (My(t)) {
              if (!e.isUnterminated())
                return;
              switch (t) {
                case 18:
                  return 5;
                case 15:
                  return 4;
                default:
                  return E.fail("Only 'NoSubstitutionTemplateLiteral's and 'TemplateTail's can be unterminated; got SyntaxKind #" + t);
              }
            }
            return n === 16 ? 6 : void 0;
        }
      }
      function vJe(e, t, n, i, s) {
        if (i === 8)
          return;
        e === 0 && n > 0 && (e += n);
        const o = t - e;
        o > 0 && s.push(e - n, o, i);
      }
      function bJe(e, t) {
        const n = [], i = e.spans;
        let s = 0;
        for (let c = 0; c < i.length; c += 3) {
          const _ = i[c], u = i[c + 1], g = i[c + 2];
          if (s >= 0) {
            const m = _ - s;
            m > 0 && n.push({
              length: m,
              classification: 4
              /* Whitespace */
            });
          }
          n.push({ length: u, classification: SJe(g) }), s = _ + u;
        }
        const o = t.length - s;
        return o > 0 && n.push({
          length: o,
          classification: 4
          /* Whitespace */
        }), { entries: n, finalLexState: e.endOfLineState };
      }
      function SJe(e) {
        switch (e) {
          case 1:
            return 3;
          case 3:
            return 1;
          case 4:
            return 6;
          case 25:
            return 7;
          case 5:
            return 2;
          case 6:
            return 8;
          case 8:
            return 4;
          case 10:
            return 0;
          case 2:
          case 11:
          case 12:
          case 13:
          case 14:
          case 15:
          case 16:
          case 9:
          case 17:
            return 5;
          default:
            return;
        }
      }
      function TJe(e, t) {
        if (!EU(e))
          return !0;
        switch (t) {
          case 139:
          case 153:
          case 137:
          case 126:
          case 129:
            return !0;
          // Allow things like "public get", "public constructor" and "public static".
          default:
            return !1;
        }
      }
      function xJe(e) {
        switch (e) {
          case 3:
            return { prefix: `"\\
` };
          case 2:
            return { prefix: `'\\
` };
          case 1:
            return { prefix: `/*
` };
          case 4:
            return { prefix: "`\n" };
          case 5:
            return { prefix: `}
`, pushTemplate: !0 };
          case 6:
            return { prefix: "", pushTemplate: !0 };
          case 0:
            return { prefix: "" };
          default:
            return E.assertNever(e);
        }
      }
      function kJe(e) {
        switch (e) {
          case 42:
          case 44:
          case 45:
          case 40:
          case 41:
          case 48:
          case 49:
          case 50:
          case 30:
          case 32:
          case 33:
          case 34:
          case 104:
          case 103:
          case 130:
          case 152:
          case 35:
          case 36:
          case 37:
          case 38:
          case 51:
          case 53:
          case 52:
          case 56:
          case 57:
          case 75:
          case 74:
          case 79:
          case 71:
          case 72:
          case 73:
          case 65:
          case 66:
          case 67:
          case 69:
          case 70:
          case 64:
          case 28:
          case 61:
          case 76:
          case 77:
          case 78:
            return !0;
          default:
            return !1;
        }
      }
      function CJe(e) {
        switch (e) {
          case 40:
          case 41:
          case 55:
          case 54:
          case 46:
          case 47:
            return !0;
          default:
            return !1;
        }
      }
      function EJe(e) {
        if (p_(e))
          return 3;
        if (kJe(e) || CJe(e))
          return 5;
        if (e >= 19 && e <= 79)
          return 10;
        switch (e) {
          case 9:
            return 4;
          case 10:
            return 25;
          case 11:
            return 6;
          case 14:
            return 7;
          case 7:
          case 3:
          case 2:
            return 1;
          case 5:
          case 4:
            return 8;
          case 80:
          default:
            return My(e) ? 6 : 2;
        }
      }
      function Fae(e, t, n, i, s) {
        return m2e(pq(e, t, n, i, s));
      }
      function p2e(e, t) {
        switch (t) {
          case 267:
          case 263:
          case 264:
          case 262:
          case 231:
          case 218:
          case 219:
            e.throwIfCancellationRequested();
        }
      }
      function pq(e, t, n, i, s) {
        const o = [];
        return n.forEachChild(function _(u) {
          if (!(!u || !zP(s, u.pos, u.getFullWidth()))) {
            if (p2e(t, u.kind), Fe(u) && !cc(u) && i.has(u.escapedText)) {
              const g = e.getSymbolAtLocation(u), m = g && d2e(g, $S(u), e);
              m && c(u.getStart(n), u.getEnd(), m);
            }
            u.forEachChild(_);
          }
        }), {
          spans: o,
          endOfLineState: 0
          /* None */
        };
        function c(_, u, g) {
          const m = u - _;
          E.assert(m > 0, `Classification had non-positive length of ${m}`), o.push(_), o.push(m), o.push(g);
        }
      }
      function d2e(e, t, n) {
        const i = e.getFlags();
        if ((i & 2885600) !== 0)
          return i & 32 ? 11 : i & 384 ? 12 : i & 524288 ? 16 : i & 1536 ? t & 4 || t & 1 && DJe(e) ? 14 : void 0 : i & 2097152 ? d2e(n.getAliasedSymbol(e), t, n) : t & 2 ? i & 64 ? 13 : i & 262144 ? 15 : void 0 : void 0;
      }
      function DJe(e) {
        return at(
          e.declarations,
          (t) => zc(t) && jh(t) === 1
          /* Instantiated */
        );
      }
      function wJe(e) {
        switch (e) {
          case 1:
            return "comment";
          case 2:
            return "identifier";
          case 3:
            return "keyword";
          case 4:
            return "number";
          case 25:
            return "bigint";
          case 5:
            return "operator";
          case 6:
            return "string";
          case 8:
            return "whitespace";
          case 9:
            return "text";
          case 10:
            return "punctuation";
          case 11:
            return "class name";
          case 12:
            return "enum name";
          case 13:
            return "interface name";
          case 14:
            return "module name";
          case 15:
            return "type parameter name";
          case 16:
            return "type alias name";
          case 17:
            return "parameter name";
          case 18:
            return "doc comment tag name";
          case 19:
            return "jsx open tag name";
          case 20:
            return "jsx close tag name";
          case 21:
            return "jsx self closing tag name";
          case 22:
            return "jsx attribute";
          case 23:
            return "jsx text";
          case 24:
            return "jsx attribute string literal value";
          default:
            return;
        }
      }
      function m2e(e) {
        E.assert(e.spans.length % 3 === 0);
        const t = e.spans, n = [];
        for (let i = 0; i < t.length; i += 3)
          n.push({
            textSpan: Gl(t[i], t[i + 1]),
            classificationType: wJe(t[i + 2])
          });
        return n;
      }
      function Oae(e, t, n) {
        return m2e(dq(e, t, n));
      }
      function dq(e, t, n) {
        const i = n.start, s = n.length, o = Pg(
          99,
          /*skipTrivia*/
          !1,
          t.languageVariant,
          t.text
        ), c = Pg(
          99,
          /*skipTrivia*/
          !1,
          t.languageVariant,
          t.text
        ), _ = [];
        return j(t), {
          spans: _,
          endOfLineState: 0
          /* None */
        };
        function u(z, V, G) {
          _.push(z), _.push(V), _.push(G);
        }
        function g(z) {
          for (o.resetTokenState(z.pos); ; ) {
            const V = o.getTokenEnd();
            if (!AY(t.text, V))
              return V;
            const G = o.scan(), W = o.getTokenEnd(), pe = W - V;
            if (!XC(G))
              return V;
            switch (G) {
              case 4:
              case 5:
                continue;
              case 2:
              case 3:
                m(z, G, V, pe), o.resetTokenState(W);
                continue;
              case 7:
                const K = t.text, U = K.charCodeAt(V);
                if (U === 60 || U === 62) {
                  u(
                    V,
                    pe,
                    1
                    /* comment */
                  );
                  continue;
                }
                E.assert(
                  U === 124 || U === 61
                  /* equals */
                ), D(K, V, W);
                break;
              case 6:
                break;
              default:
                E.assertNever(G);
            }
          }
        }
        function m(z, V, G, W) {
          if (V === 3) {
            const pe = _re(t.text, G, W);
            if (pe && pe.jsDoc) {
              Wa(pe.jsDoc, z), S(pe.jsDoc);
              return;
            }
          } else if (V === 2 && T(G, W))
            return;
          h(G, W);
        }
        function h(z, V) {
          u(
            z,
            V,
            1
            /* comment */
          );
        }
        function S(z) {
          var V, G, W, pe, K, U, ee, te;
          let ie = z.pos;
          if (z.tags)
            for (const me of z.tags) {
              me.pos !== ie && h(ie, me.pos - ie), u(
                me.pos,
                1,
                10
                /* punctuation */
              ), u(
                me.tagName.pos,
                me.tagName.end - me.tagName.pos,
                18
                /* docCommentTagName */
              ), ie = me.tagName.end;
              let q = me.tagName.end;
              switch (me.kind) {
                case 341:
                  const he = me;
                  fe(he), q = he.isNameFirst && ((V = he.typeExpression) == null ? void 0 : V.end) || he.name.end;
                  break;
                case 348:
                  const Me = me;
                  q = Me.isNameFirst && ((G = Me.typeExpression) == null ? void 0 : G.end) || Me.name.end;
                  break;
                case 345:
                  k(me), ie = me.end, q = me.typeParameters.end;
                  break;
                case 346:
                  const De = me;
                  q = ((W = De.typeExpression) == null ? void 0 : W.kind) === 309 && ((pe = De.fullName) == null ? void 0 : pe.end) || ((K = De.typeExpression) == null ? void 0 : K.end) || q;
                  break;
                case 338:
                  q = me.typeExpression.end;
                  break;
                case 344:
                  j(me.typeExpression), ie = me.end, q = me.typeExpression.end;
                  break;
                case 343:
                case 340:
                  q = me.typeExpression.end;
                  break;
                case 342:
                  j(me.typeExpression), ie = me.end, q = ((U = me.typeExpression) == null ? void 0 : U.end) || q;
                  break;
                case 347:
                  q = ((ee = me.name) == null ? void 0 : ee.end) || q;
                  break;
                case 328:
                case 329:
                  q = me.class.end;
                  break;
                case 349:
                  j(me.typeExpression), ie = me.end, q = ((te = me.typeExpression) == null ? void 0 : te.end) || q;
                  break;
              }
              typeof me.comment == "object" ? h(me.comment.pos, me.comment.end - me.comment.pos) : typeof me.comment == "string" && h(q, me.end - q);
            }
          ie !== z.end && h(ie, z.end - ie);
          return;
          function fe(me) {
            me.isNameFirst && (h(ie, me.name.pos - ie), u(
              me.name.pos,
              me.name.end - me.name.pos,
              17
              /* parameterName */
            ), ie = me.name.end), me.typeExpression && (h(ie, me.typeExpression.pos - ie), j(me.typeExpression), ie = me.typeExpression.end), me.isNameFirst || (h(ie, me.name.pos - ie), u(
              me.name.pos,
              me.name.end - me.name.pos,
              17
              /* parameterName */
            ), ie = me.name.end);
          }
        }
        function T(z, V) {
          const G = /^(\/\/\/\s*)(<)(?:(\S+)((?:[^/]|\/[^>])*)(\/>)?)?/m, W = /(\s)(\S+)(\s*)(=)(\s*)('[^']+'|"[^"]+")/g, pe = t.text.substr(z, V), K = G.exec(pe);
          if (!K || !K[3] || !(K[3] in YI))
            return !1;
          let U = z;
          h(U, K[1].length), U += K[1].length, u(
            U,
            K[2].length,
            10
            /* punctuation */
          ), U += K[2].length, u(
            U,
            K[3].length,
            21
            /* jsxSelfClosingTagName */
          ), U += K[3].length;
          const ee = K[4];
          let te = U;
          for (; ; ) {
            const fe = W.exec(ee);
            if (!fe)
              break;
            const me = U + fe.index + fe[1].length;
            me > te && (h(te, me - te), te = me), u(
              te,
              fe[2].length,
              22
              /* jsxAttribute */
            ), te += fe[2].length, fe[3].length && (h(te, fe[3].length), te += fe[3].length), u(
              te,
              fe[4].length,
              5
              /* operator */
            ), te += fe[4].length, fe[5].length && (h(te, fe[5].length), te += fe[5].length), u(
              te,
              fe[6].length,
              24
              /* jsxAttributeStringLiteralValue */
            ), te += fe[6].length;
          }
          U += K[4].length, U > te && h(te, U - te), K[5] && (u(
            U,
            K[5].length,
            10
            /* punctuation */
          ), U += K[5].length);
          const ie = z + V;
          return U < ie && h(U, ie - U), !0;
        }
        function k(z) {
          for (const V of z.getChildren())
            j(V);
        }
        function D(z, V, G) {
          let W;
          for (W = V; W < G && !gu(z.charCodeAt(W)); W++)
            ;
          for (u(
            V,
            W - V,
            1
            /* comment */
          ), c.resetTokenState(W); c.getTokenEnd() < G; )
            w();
        }
        function w() {
          const z = c.getTokenEnd(), V = c.scan(), G = c.getTokenEnd(), W = F(V);
          W && u(z, G - z, W);
        }
        function A(z) {
          if (bd(z) || cc(z))
            return !0;
          const V = O(z);
          if (!ex(z) && z.kind !== 12 && V === void 0)
            return !1;
          const G = z.kind === 12 ? z.pos : g(z), W = z.end - G;
          if (E.assert(W >= 0), W > 0) {
            const pe = V || F(z.kind, z);
            pe && u(G, W, pe);
          }
          return !0;
        }
        function O(z) {
          switch (z.parent && z.parent.kind) {
            case 286:
              if (z.parent.tagName === z)
                return 19;
              break;
            case 287:
              if (z.parent.tagName === z)
                return 20;
              break;
            case 285:
              if (z.parent.tagName === z)
                return 21;
              break;
            case 291:
              if (z.parent.name === z)
                return 22;
              break;
          }
        }
        function F(z, V) {
          if (p_(z))
            return 3;
          if ((z === 30 || z === 32) && V && eae(V.parent))
            return 10;
          if (NB(z)) {
            if (V) {
              const G = V.parent;
              if (z === 64 && (G.kind === 260 || G.kind === 172 || G.kind === 169 || G.kind === 291) || G.kind === 226 || G.kind === 224 || G.kind === 225 || G.kind === 227)
                return 5;
            }
            return 10;
          } else {
            if (z === 9)
              return 4;
            if (z === 10)
              return 25;
            if (z === 11)
              return V && V.parent.kind === 291 ? 24 : 6;
            if (z === 14)
              return 6;
            if (My(z))
              return 6;
            if (z === 12)
              return 23;
            if (z === 80) {
              if (V) {
                switch (V.parent.kind) {
                  case 263:
                    return V.parent.name === V ? 11 : void 0;
                  case 168:
                    return V.parent.name === V ? 15 : void 0;
                  case 264:
                    return V.parent.name === V ? 13 : void 0;
                  case 266:
                    return V.parent.name === V ? 12 : void 0;
                  case 267:
                    return V.parent.name === V ? 14 : void 0;
                  case 169:
                    return V.parent.name === V ? Xy(V) ? 3 : 17 : void 0;
                }
                if (Up(V.parent))
                  return 3;
              }
              return 2;
            }
          }
        }
        function j(z) {
          if (z && WP(i, s, z.pos, z.getFullWidth())) {
            p2e(e, z.kind);
            for (const V of z.getChildren(t))
              A(V) || j(V);
          }
        }
      }
      var G9;
      ((e) => {
        function t(U, ee, te, ie, fe) {
          const me = h_(te, ie);
          if (me.parent && (yd(me.parent) && me.parent.tagName === me || $b(me.parent))) {
            const { openingElement: q, closingElement: he } = me.parent.parent, Me = [q, he].map(({ tagName: De }) => n(De, te));
            return [{ fileName: te.fileName, highlightSpans: Me }];
          }
          return i(ie, me, U, ee, fe) || s(me, te);
        }
        e.getDocumentHighlights = t;
        function n(U, ee) {
          return {
            fileName: ee.fileName,
            textSpan: t_(U, ee),
            kind: "none"
            /* none */
          };
        }
        function i(U, ee, te, ie, fe) {
          const me = new Set(fe.map((De) => De.fileName)), q = Eo.getReferenceEntriesForNode(
            U,
            ee,
            te,
            fe,
            ie,
            /*options*/
            void 0,
            me
          );
          if (!q) return;
          const he = EP(q.map(Eo.toHighlightSpan), (De) => De.fileName, (De) => De.span), Me = Hl(te.useCaseSensitiveFileNames());
          return rs(Sy(he.entries(), ([De, re]) => {
            if (!me.has(De)) {
              if (!te.redirectTargetsMap.has(lo(De, te.getCurrentDirectory(), Me)))
                return;
              const xe = te.getSourceFile(De);
              De = Dn(fe, (Xe) => !!Xe.redirectInfo && Xe.redirectInfo.redirectTarget === xe).fileName, E.assert(me.has(De));
            }
            return { fileName: De, highlightSpans: re };
          }));
        }
        function s(U, ee) {
          const te = o(U, ee);
          return te && [{ fileName: ee.fileName, highlightSpans: te }];
        }
        function o(U, ee) {
          switch (U.kind) {
            case 101:
            case 93:
              return av(U.parent) ? W(U.parent, ee) : void 0;
            case 107:
              return ie(U.parent, gf, j);
            case 111:
              return ie(U.parent, lz, F);
            case 113:
            case 85:
            case 98:
              const me = U.kind === 85 ? U.parent.parent : U.parent;
              return ie(me, OS, O);
            case 109:
              return ie(U.parent, FD, A);
            case 84:
            case 90:
              return LD(U.parent) || h6(U.parent) ? ie(U.parent.parent.parent, FD, A) : void 0;
            case 83:
            case 88:
              return ie(U.parent, C4, w);
            case 99:
            case 117:
            case 92:
              return ie(U.parent, (q) => Jy(
                q,
                /*lookInLabeledStatements*/
                !0
              ), D);
            case 137:
              return te(Xo, [
                137
                /* ConstructorKeyword */
              ]);
            case 139:
            case 153:
              return te(By, [
                139,
                153
                /* SetKeyword */
              ]);
            case 135:
              return ie(U.parent, n1, z);
            case 134:
              return fe(z(U));
            case 127:
              return fe(V(U));
            case 103:
            case 147:
              return;
            default:
              return jy(U.kind) && (Dl(U.parent) || Sc(U.parent)) ? fe(S(U.kind, U.parent)) : void 0;
          }
          function te(me, q) {
            return ie(U.parent, me, (he) => {
              var Me;
              return Oi((Me = Mn(he, fd)) == null ? void 0 : Me.symbol.declarations, (De) => me(De) ? Dn(De.getChildren(ee), (re) => _s(q, re.kind)) : void 0);
            });
          }
          function ie(me, q, he) {
            return q(me) ? fe(he(me, ee)) : void 0;
          }
          function fe(me) {
            return me && me.map((q) => n(q, ee));
          }
        }
        function c(U) {
          return lz(U) ? [U] : OS(U) ? Ji(
            U.catchClause ? c(U.catchClause) : U.tryBlock && c(U.tryBlock),
            U.finallyBlock && c(U.finallyBlock)
          ) : Ts(U) ? void 0 : g(U, c);
        }
        function _(U) {
          let ee = U;
          for (; ee.parent; ) {
            const te = ee.parent;
            if (Eb(te) || te.kind === 307)
              return te;
            if (OS(te) && te.tryBlock === ee && te.catchClause)
              return ee;
            ee = te;
          }
        }
        function u(U) {
          return C4(U) ? [U] : Ts(U) ? void 0 : g(U, u);
        }
        function g(U, ee) {
          const te = [];
          return U.forEachChild((ie) => {
            const fe = ee(ie);
            fe !== void 0 && te.push(...qT(fe));
          }), te;
        }
        function m(U, ee) {
          const te = h(ee);
          return !!te && te === U;
        }
        function h(U) {
          return _r(U, (ee) => {
            switch (ee.kind) {
              case 255:
                if (U.kind === 251)
                  return !1;
              // falls through
              case 248:
              case 249:
              case 250:
              case 247:
              case 246:
                return !U.label || K(ee, U.label.escapedText);
              default:
                return Ts(ee) && "quit";
            }
          });
        }
        function S(U, ee) {
          return Oi(T(ee, bx(U)), (te) => $6(te, U));
        }
        function T(U, ee) {
          const te = U.parent;
          switch (te.kind) {
            case 268:
            case 307:
            case 241:
            case 296:
            case 297:
              return ee & 64 && el(U) ? [...U.members, U] : te.statements;
            case 176:
            case 174:
            case 262:
              return [...te.parameters, ...Xn(te.parent) ? te.parent.members : []];
            case 263:
            case 231:
            case 264:
            case 187:
              const ie = te.members;
              if (ee & 15) {
                const fe = Dn(te.members, Xo);
                if (fe)
                  return [...ie, ...fe.parameters];
              } else if (ee & 64)
                return [...ie, te];
              return ie;
            // Syntactically invalid positions that the parser might produce anyway
            default:
              return;
          }
        }
        function k(U, ee, ...te) {
          return ee && _s(te, ee.kind) ? (U.push(ee), !0) : !1;
        }
        function D(U) {
          const ee = [];
          if (k(
            ee,
            U.getFirstToken(),
            99,
            117,
            92
            /* DoKeyword */
          ) && U.kind === 246) {
            const te = U.getChildren();
            for (let ie = te.length - 1; ie >= 0 && !k(
              ee,
              te[ie],
              117
              /* WhileKeyword */
            ); ie--)
              ;
          }
          return ar(u(U.statement), (te) => {
            m(U, te) && k(
              ee,
              te.getFirstToken(),
              83,
              88
              /* ContinueKeyword */
            );
          }), ee;
        }
        function w(U) {
          const ee = h(U);
          if (ee)
            switch (ee.kind) {
              case 248:
              case 249:
              case 250:
              case 246:
              case 247:
                return D(ee);
              case 255:
                return A(ee);
            }
        }
        function A(U) {
          const ee = [];
          return k(
            ee,
            U.getFirstToken(),
            109
            /* SwitchKeyword */
          ), ar(U.caseBlock.clauses, (te) => {
            k(
              ee,
              te.getFirstToken(),
              84,
              90
              /* DefaultKeyword */
            ), ar(u(te), (ie) => {
              m(U, ie) && k(
                ee,
                ie.getFirstToken(),
                83
                /* BreakKeyword */
              );
            });
          }), ee;
        }
        function O(U, ee) {
          const te = [];
          if (k(
            te,
            U.getFirstToken(),
            113
            /* TryKeyword */
          ), U.catchClause && k(
            te,
            U.catchClause.getFirstToken(),
            85
            /* CatchKeyword */
          ), U.finallyBlock) {
            const ie = Za(U, 98, ee);
            k(
              te,
              ie,
              98
              /* FinallyKeyword */
            );
          }
          return te;
        }
        function F(U, ee) {
          const te = _(U);
          if (!te)
            return;
          const ie = [];
          return ar(c(te), (fe) => {
            ie.push(Za(fe, 111, ee));
          }), Eb(te) && qy(te, (fe) => {
            ie.push(Za(fe, 107, ee));
          }), ie;
        }
        function j(U, ee) {
          const te = Df(U);
          if (!te)
            return;
          const ie = [];
          return qy(Us(te.body, Cs), (fe) => {
            ie.push(Za(fe, 107, ee));
          }), ar(c(te.body), (fe) => {
            ie.push(Za(fe, 111, ee));
          }), ie;
        }
        function z(U) {
          const ee = Df(U);
          if (!ee)
            return;
          const te = [];
          return ee.modifiers && ee.modifiers.forEach((ie) => {
            k(
              te,
              ie,
              134
              /* AsyncKeyword */
            );
          }), Ss(ee, (ie) => {
            G(ie, (fe) => {
              n1(fe) && k(
                te,
                fe.getFirstToken(),
                135
                /* AwaitKeyword */
              );
            });
          }), te;
        }
        function V(U) {
          const ee = Df(U);
          if (!ee)
            return;
          const te = [];
          return Ss(ee, (ie) => {
            G(ie, (fe) => {
              DN(fe) && k(
                te,
                fe.getFirstToken(),
                127
                /* YieldKeyword */
              );
            });
          }), te;
        }
        function G(U, ee) {
          ee(U), !Ts(U) && !Xn(U) && !Yl(U) && !zc(U) && !Ap(U) && !si(U) && Ss(U, (te) => G(te, ee));
        }
        function W(U, ee) {
          const te = pe(U, ee), ie = [];
          for (let fe = 0; fe < te.length; fe++) {
            if (te[fe].kind === 93 && fe < te.length - 1) {
              const me = te[fe], q = te[fe + 1];
              let he = !0;
              for (let Me = q.getStart(ee) - 1; Me >= me.end; Me--)
                if (!Hd(ee.text.charCodeAt(Me))) {
                  he = !1;
                  break;
                }
              if (he) {
                ie.push({
                  fileName: ee.fileName,
                  textSpan: wc(me.getStart(), q.end),
                  kind: "reference"
                  /* reference */
                }), fe++;
                continue;
              }
            }
            ie.push(n(te[fe], ee));
          }
          return ie;
        }
        function pe(U, ee) {
          const te = [];
          for (; av(U.parent) && U.parent.elseStatement === U; )
            U = U.parent;
          for (; ; ) {
            const ie = U.getChildren(ee);
            k(
              te,
              ie[0],
              101
              /* IfKeyword */
            );
            for (let fe = ie.length - 1; fe >= 0 && !k(
              te,
              ie[fe],
              93
              /* ElseKeyword */
            ); fe--)
              ;
            if (!U.elseStatement || !av(U.elseStatement))
              break;
            U = U.elseStatement;
          }
          return te;
        }
        function K(U, ee) {
          return !!_r(U.parent, (te) => i1(te) ? te.label.escapedText === ee : "quit");
        }
      })(G9 || (G9 = {}));
      function $A(e) {
        return !!e.sourceFile;
      }
      function Lae(e, t, n) {
        return mq(e, t, n);
      }
      function mq(e, t = "", n, i) {
        const s = /* @__PURE__ */ new Map(), o = Hl(!!e);
        function c() {
          const w = rs(s.keys()).filter((A) => A && A.charAt(0) === "_").map((A) => {
            const O = s.get(A), F = [];
            return O.forEach((j, z) => {
              $A(j) ? F.push({
                name: z,
                scriptKind: j.sourceFile.scriptKind,
                refCount: j.languageServiceRefCount
              }) : j.forEach((V, G) => F.push({ name: z, scriptKind: G, refCount: V.languageServiceRefCount }));
            }), F.sort((j, z) => z.refCount - j.refCount), {
              bucket: A,
              sourceFiles: F
            };
          });
          return JSON.stringify(w, void 0, 2);
        }
        function _(w) {
          return typeof w.getCompilationSettings == "function" ? w.getCompilationSettings() : w;
        }
        function u(w, A, O, F, j, z) {
          const V = lo(w, t, o), G = gq(_(A));
          return g(w, V, A, G, O, F, j, z);
        }
        function g(w, A, O, F, j, z, V, G) {
          return T(
            w,
            A,
            O,
            F,
            j,
            z,
            /*acquiring*/
            !0,
            V,
            G
          );
        }
        function m(w, A, O, F, j, z) {
          const V = lo(w, t, o), G = gq(_(A));
          return h(w, V, A, G, O, F, j, z);
        }
        function h(w, A, O, F, j, z, V, G) {
          return T(
            w,
            A,
            _(O),
            F,
            j,
            z,
            /*acquiring*/
            !1,
            V,
            G
          );
        }
        function S(w, A) {
          const O = $A(w) ? w : w.get(E.checkDefined(A, "If there are more than one scriptKind's for same document the scriptKind should be provided"));
          return E.assert(A === void 0 || !O || O.sourceFile.scriptKind === A, `Script kind should match provided ScriptKind:${A} and sourceFile.scriptKind: ${O?.sourceFile.scriptKind}, !entry: ${!O}`), O;
        }
        function T(w, A, O, F, j, z, V, G, W) {
          var pe, K, U, ee;
          G = H5(w, G);
          const te = _(O), ie = O === te ? void 0 : O, fe = G === 6 ? 100 : ga(te), me = typeof W == "object" ? W : {
            languageVersion: fe,
            impliedNodeFormat: ie && mA(A, (ee = (U = (K = (pe = ie.getCompilerHost) == null ? void 0 : pe.call(ie)) == null ? void 0 : K.getModuleResolutionCache) == null ? void 0 : U.call(K)) == null ? void 0 : ee.getPackageJsonInfoCache(), ie, te),
            setExternalModuleIndicator: rN(te),
            jsDocParsingMode: n
          };
          me.languageVersion = fe, E.assertEqual(n, me.jsDocParsingMode);
          const q = s.size, he = Mae(F, me.impliedNodeFormat), Me = r4(s, he, () => /* @__PURE__ */ new Map());
          if (rn) {
            s.size > q && rn.instant(rn.Phase.Session, "createdDocumentRegistryBucket", { configFilePath: te.configFilePath, key: he });
            const ue = !Sl(A) && gl(s, (Xe, nt) => nt !== he && Xe.has(A) && nt);
            ue && rn.instant(rn.Phase.Session, "documentRegistryBucketOverlap", { path: A, key1: ue, key2: he });
          }
          const De = Me.get(A);
          let re = De && S(De, G);
          if (!re && i) {
            const ue = i.getDocument(he, A);
            ue && ue.scriptKind === G && ue.text === ck(j) && (E.assert(V), re = {
              sourceFile: ue,
              languageServiceRefCount: 0
            }, xe());
          }
          if (re)
            re.sourceFile.version !== z && (re.sourceFile = Xq(re.sourceFile, j, z, j.getChangeRange(re.sourceFile.scriptSnapshot)), i && i.setDocument(he, A, re.sourceFile)), V && re.languageServiceRefCount++;
          else {
            const ue = lL(
              w,
              j,
              me,
              z,
              /*setNodeParents*/
              !1,
              G
            );
            i && i.setDocument(he, A, ue), re = {
              sourceFile: ue,
              languageServiceRefCount: 1
            }, xe();
          }
          return E.assert(re.languageServiceRefCount !== 0), re.sourceFile;
          function xe() {
            if (!De)
              Me.set(A, re);
            else if ($A(De)) {
              const ue = /* @__PURE__ */ new Map();
              ue.set(De.sourceFile.scriptKind, De), ue.set(G, re), Me.set(A, ue);
            } else
              De.set(G, re);
          }
        }
        function k(w, A, O, F) {
          const j = lo(w, t, o), z = gq(A);
          return D(j, z, O, F);
        }
        function D(w, A, O, F) {
          const j = E.checkDefined(s.get(Mae(A, F))), z = j.get(w), V = S(z, O);
          V.languageServiceRefCount--, E.assert(V.languageServiceRefCount >= 0), V.languageServiceRefCount === 0 && ($A(z) ? j.delete(w) : (z.delete(O), z.size === 1 && j.set(w, xP(z.values(), mo))));
        }
        return {
          acquireDocument: u,
          acquireDocumentWithKey: g,
          updateDocument: m,
          updateDocumentWithKey: h,
          releaseDocument: k,
          releaseDocumentWithKey: D,
          getKeyForCompilationSettings: gq,
          getDocumentRegistryBucketKeyWithMode: Mae,
          reportStats: c,
          getBuckets: () => s
        };
      }
      function gq(e) {
        return iW(e, Jz);
      }
      function Mae(e, t) {
        return t ? `${e}|${t}` : e;
      }
      function Rae(e, t, n, i, s, o, c) {
        const _ = TS(i), u = Hl(_), g = hq(t, n, u, c), m = hq(n, t, u, c);
        return nn.ChangeTracker.with({ host: i, formatContext: s, preferences: o }, (h) => {
          NJe(e, h, g, t, n, i.getCurrentDirectory(), _), AJe(e, h, g, m, i, u);
        });
      }
      function hq(e, t, n, i) {
        const s = n(e);
        return (c) => {
          const _ = i && i.tryGetSourcePosition({ fileName: c, pos: 0 }), u = o(_ ? _.fileName : c);
          return _ ? u === void 0 ? void 0 : PJe(_.fileName, u, c, n) : u;
        };
        function o(c) {
          if (n(c) === s) return t;
          const _ = bJ(c, s, n);
          return _ === void 0 ? void 0 : t + "/" + _;
        }
      }
      function PJe(e, t, n, i) {
        const s = kC(e, t, i);
        return jae(Un(n), s);
      }
      function NJe(e, t, n, i, s, o, c) {
        const { configFile: _ } = e.getCompilerOptions();
        if (!_) return;
        const u = Un(_.fileName), g = j4(_);
        if (!g) return;
        Bae(g, (T, k) => {
          switch (k) {
            case "files":
            case "include":
            case "exclude": {
              if (m(T) || k !== "include" || !Ql(T.initializer)) return;
              const w = Oi(T.initializer.elements, (O) => la(O) ? O.text : void 0);
              if (w.length === 0) return;
              const A = q5(
                u,
                /*excludes*/
                [],
                w,
                c,
                o
              );
              k0(E.checkDefined(A.includeFilePattern), c).test(i) && !k0(E.checkDefined(A.includeFilePattern), c).test(s) && t.insertNodeAfter(_, pa(T.initializer.elements), N.createStringLiteral(S(s)));
              return;
            }
            case "compilerOptions":
              Bae(T.initializer, (D, w) => {
                const A = Uz(w);
                E.assert(A?.type !== "listOrElement"), A && (A.isFilePath || A.type === "list" && A.element.isFilePath) ? m(D) : w === "paths" && Bae(D.initializer, (O) => {
                  if (Ql(O.initializer))
                    for (const F of O.initializer.elements)
                      h(F);
                });
              });
              return;
          }
        });
        function m(T) {
          const k = Ql(T.initializer) ? T.initializer.elements : [T.initializer];
          let D = !1;
          for (const w of k)
            D = h(w) || D;
          return D;
        }
        function h(T) {
          if (!la(T)) return !1;
          const k = jae(u, T.text), D = n(k);
          return D !== void 0 ? (t.replaceRangeWithText(_, h2e(T, _), S(D)), !0) : !1;
        }
        function S(T) {
          return Ef(
            u,
            T,
            /*ignoreCase*/
            !c
          );
        }
      }
      function AJe(e, t, n, i, s, o) {
        const c = e.getSourceFiles();
        for (const _ of c) {
          const u = n(_.fileName), g = u ?? _.fileName, m = Un(g), h = i(_.fileName), S = h || _.fileName, T = Un(S), k = u !== void 0 || h !== void 0;
          OJe(_, t, (D) => {
            if (!ff(D)) return;
            const w = jae(T, D), A = n(w);
            return A === void 0 ? void 0 : nS(Ef(m, A, o));
          }, (D) => {
            const w = e.getTypeChecker().getSymbolAtLocation(D);
            if (w?.declarations && w.declarations.some((O) => Fu(O))) return;
            const A = h !== void 0 ? g2e(D, WS(D.text, S, e.getCompilerOptions(), s), n, c) : FJe(w, D, _, e, s, n);
            return A !== void 0 && (A.updated || k && ff(D.text)) ? Bh.updateModuleSpecifier(e.getCompilerOptions(), _, g, A.newFileName, bv(e, s), D.text) : void 0;
          });
        }
      }
      function IJe(e, t) {
        return Gs(An(e, t));
      }
      function jae(e, t) {
        return nS(IJe(e, t));
      }
      function FJe(e, t, n, i, s, o) {
        if (e) {
          const c = Dn(e.declarations, xi).fileName, _ = o(c);
          return _ === void 0 ? { newFileName: c, updated: !1 } : { newFileName: _, updated: !0 };
        } else {
          const c = i.getModeForUsageLocation(n, t), _ = s.resolveModuleNameLiterals || !s.resolveModuleNames ? i.getResolvedModuleFromModuleSpecifier(t, n) : s.getResolvedModuleWithFailedLookupLocationsFromCache && s.getResolvedModuleWithFailedLookupLocationsFromCache(t.text, n.fileName, c);
          return g2e(t, _, o, i.getSourceFiles());
        }
      }
      function g2e(e, t, n, i) {
        if (!t) return;
        if (t.resolvedModule) {
          const u = _(t.resolvedModule.resolvedFileName);
          if (u) return u;
        }
        const s = ar(t.failedLookupLocations, o) || ff(e.text) && ar(t.failedLookupLocations, c);
        if (s) return s;
        return t.resolvedModule && { newFileName: t.resolvedModule.resolvedFileName, updated: !1 };
        function o(u) {
          const g = n(u);
          return g && Dn(i, (m) => m.fileName === g) ? c(u) : void 0;
        }
        function c(u) {
          return No(u, "/package.json") ? void 0 : _(u);
        }
        function _(u) {
          const g = n(u);
          return g && { newFileName: g, updated: !0 };
        }
      }
      function OJe(e, t, n, i) {
        for (const s of e.referencedFiles || Ue) {
          const o = n(s.fileName);
          o !== void 0 && o !== e.text.slice(s.pos, s.end) && t.replaceRangeWithText(e, s, o);
        }
        for (const s of e.imports) {
          const o = i(s);
          o !== void 0 && o !== s.text && t.replaceRangeWithText(e, h2e(s, e), o);
        }
      }
      function h2e(e, t) {
        return tp(e.getStart(t) + 1, e.end - 1);
      }
      function Bae(e, t) {
        if (ua(e))
          for (const n of e.properties)
            tl(n) && la(n.name) && t(n, n.name.text);
      }
      var yq = /* @__PURE__ */ ((e) => (e[e.exact = 0] = "exact", e[e.prefix = 1] = "prefix", e[e.substring = 2] = "substring", e[e.camelCase = 3] = "camelCase", e))(yq || {});
      function Ew(e, t) {
        return {
          kind: e,
          isCaseSensitive: t
        };
      }
      function Jae(e) {
        const t = /* @__PURE__ */ new Map(), n = e.trim().split(".").map((i) => jJe(i.trim()));
        if (n.length === 1 && n[0].totalTextChunk.text === "")
          return {
            getMatchForLastSegmentOfPattern: () => Ew(
              2,
              /*isCaseSensitive*/
              !0
            ),
            getFullMatch: () => Ew(
              2,
              /*isCaseSensitive*/
              !0
            ),
            patternContainsDots: !1
          };
        if (!n.some((i) => !i.subWordTextChunks.length))
          return {
            getFullMatch: (i, s) => LJe(i, s, n, t),
            getMatchForLastSegmentOfPattern: (i) => zae(i, pa(n), t),
            patternContainsDots: n.length > 1
          };
      }
      function LJe(e, t, n, i) {
        if (!zae(t, pa(n), i) || n.length - 1 > e.length)
          return;
        let o;
        for (let c = n.length - 2, _ = e.length - 1; c >= 0; c -= 1, _ -= 1)
          o = b2e(o, zae(e[_], n[c], i));
        return o;
      }
      function y2e(e, t) {
        let n = t.get(e);
        return n || t.set(e, n = Gae(e)), n;
      }
      function v2e(e, t, n) {
        const i = BJe(e, t.textLowerCase);
        if (i === 0)
          return Ew(
            t.text.length === e.length ? 0 : 1,
            /*isCaseSensitive:*/
            Wi(e, t.text)
          );
        if (t.isLowerCase) {
          if (i === -1) return;
          const s = y2e(e, n);
          for (const o of s)
            if (Wae(
              e,
              o,
              t.text,
              /*ignoreCase*/
              !0
            ))
              return Ew(
                2,
                /*isCaseSensitive:*/
                Wae(
                  e,
                  o,
                  t.text,
                  /*ignoreCase*/
                  !1
                )
              );
          if (t.text.length < e.length && eE(e.charCodeAt(i)))
            return Ew(
              2,
              /*isCaseSensitive*/
              !1
            );
        } else {
          if (e.indexOf(t.text) > 0)
            return Ew(
              2,
              /*isCaseSensitive*/
              !0
            );
          if (t.characterSpans.length > 0) {
            const s = y2e(e, n), o = S2e(
              e,
              s,
              t,
              /*ignoreCase*/
              !1
            ) ? !0 : S2e(
              e,
              s,
              t,
              /*ignoreCase*/
              !0
            ) ? !1 : void 0;
            if (o !== void 0)
              return Ew(3, o);
          }
        }
      }
      function zae(e, t, n) {
        if (vq(
          t.totalTextChunk.text,
          (o) => o !== 32 && o !== 42
          /* asterisk */
        )) {
          const o = v2e(e, t.totalTextChunk, n);
          if (o) return o;
        }
        const i = t.subWordTextChunks;
        let s;
        for (const o of i)
          s = b2e(s, v2e(e, o, n));
        return s;
      }
      function b2e(e, t) {
        return FR([e, t], MJe);
      }
      function MJe(e, t) {
        return e === void 0 ? 1 : t === void 0 ? -1 : go(e.kind, t.kind) || J1(!e.isCaseSensitive, !t.isCaseSensitive);
      }
      function Wae(e, t, n, i, s = { start: 0, length: n.length }) {
        return s.length <= t.length && C2e(0, s.length, (o) => RJe(n.charCodeAt(s.start + o), e.charCodeAt(t.start + o), i));
      }
      function RJe(e, t, n) {
        return n ? Vae(e) === Vae(t) : e === t;
      }
      function S2e(e, t, n, i) {
        const s = n.characterSpans;
        let o = 0, c = 0;
        for (; ; ) {
          if (c === s.length)
            return !0;
          if (o === t.length)
            return !1;
          let _ = t[o], u = !1;
          for (; c < s.length; c++) {
            const g = s[c];
            if (u && (!eE(n.text.charCodeAt(s[c - 1].start)) || !eE(n.text.charCodeAt(s[c].start))) || !Wae(e, _, n.text, i, g))
              break;
            u = !0, _ = Gl(_.start + g.length, _.length - g.length);
          }
          o++;
        }
      }
      function jJe(e) {
        return {
          totalTextChunk: qae(e),
          subWordTextChunks: zJe(e)
        };
      }
      function eE(e) {
        if (e >= 65 && e <= 90)
          return !0;
        if (e < 127 || !a7(
          e,
          99
          /* Latest */
        ))
          return !1;
        const t = String.fromCharCode(e);
        return t === t.toUpperCase();
      }
      function T2e(e) {
        if (e >= 97 && e <= 122)
          return !0;
        if (e < 127 || !a7(
          e,
          99
          /* Latest */
        ))
          return !1;
        const t = String.fromCharCode(e);
        return t === t.toLowerCase();
      }
      function BJe(e, t) {
        const n = e.length - t.length;
        for (let i = 0; i <= n; i++)
          if (vq(t, (s, o) => Vae(e.charCodeAt(o + i)) === s))
            return i;
        return -1;
      }
      function Vae(e) {
        return e >= 65 && e <= 90 ? 97 + (e - 65) : e < 127 ? e : String.fromCharCode(e).toLowerCase().charCodeAt(0);
      }
      function Uae(e) {
        return e >= 48 && e <= 57;
      }
      function JJe(e) {
        return eE(e) || T2e(e) || Uae(e) || e === 95 || e === 36;
      }
      function zJe(e) {
        const t = [];
        let n = 0, i = 0;
        for (let s = 0; s < e.length; s++) {
          const o = e.charCodeAt(s);
          JJe(o) ? (i === 0 && (n = s), i++) : i > 0 && (t.push(qae(e.substr(n, i))), i = 0);
        }
        return i > 0 && t.push(qae(e.substr(n, i))), t;
      }
      function qae(e) {
        const t = e.toLowerCase();
        return {
          text: e,
          textLowerCase: t,
          isLowerCase: e === t,
          characterSpans: Hae(e)
        };
      }
      function Hae(e) {
        return x2e(
          e,
          /*word*/
          !1
        );
      }
      function Gae(e) {
        return x2e(
          e,
          /*word*/
          !0
        );
      }
      function x2e(e, t) {
        const n = [];
        let i = 0;
        for (let s = 1; s < e.length; s++) {
          const o = Uae(e.charCodeAt(s - 1)), c = Uae(e.charCodeAt(s)), _ = VJe(e, t, s), u = t && WJe(e, s, i);
          ($ae(e.charCodeAt(s - 1)) || $ae(e.charCodeAt(s)) || o !== c || _ || u) && (k2e(e, i, s) || n.push(Gl(i, s - i)), i = s);
        }
        return k2e(e, i, e.length) || n.push(Gl(i, e.length - i)), n;
      }
      function $ae(e) {
        switch (e) {
          case 33:
          case 34:
          case 35:
          case 37:
          case 38:
          case 39:
          case 40:
          case 41:
          case 42:
          case 44:
          case 45:
          case 46:
          case 47:
          case 58:
          case 59:
          case 63:
          case 64:
          case 91:
          case 92:
          case 93:
          case 95:
          case 123:
          case 125:
            return !0;
        }
        return !1;
      }
      function k2e(e, t, n) {
        return vq(e, (i) => $ae(i) && i !== 95, t, n);
      }
      function WJe(e, t, n) {
        return t !== n && t + 1 < e.length && eE(e.charCodeAt(t)) && T2e(e.charCodeAt(t + 1)) && vq(e, eE, n, t);
      }
      function VJe(e, t, n) {
        const i = eE(e.charCodeAt(n - 1));
        return eE(e.charCodeAt(n)) && (!t || !i);
      }
      function C2e(e, t, n) {
        for (let i = e; i < t; i++)
          if (!n(i))
            return !1;
        return !0;
      }
      function vq(e, t, n = 0, i = e.length) {
        return C2e(n, i, (s) => t(e.charCodeAt(s), s));
      }
      function E2e(e, t = !0, n = !1) {
        const i = {
          // controls whether the token scanner considers unicode identifiers or not - shouldn't matter, since we're only using it for trivia
          pragmas: void 0,
          checkJsDirective: void 0,
          referencedFiles: [],
          typeReferenceDirectives: [],
          libReferenceDirectives: [],
          amdDependencies: [],
          hasNoDefaultLib: void 0,
          moduleName: void 0
        }, s = [];
        let o, c, _, u = 0, g = !1;
        function m() {
          return c = _, _ = Wl.scan(), _ === 19 ? u++ : _ === 20 && u--, _;
        }
        function h() {
          const z = Wl.getTokenValue(), V = Wl.getTokenStart();
          return { fileName: z, pos: V, end: V + z.length };
        }
        function S() {
          o || (o = []), o.push({ ref: h(), depth: u });
        }
        function T() {
          s.push(h()), k();
        }
        function k() {
          u === 0 && (g = !0);
        }
        function D() {
          let z = Wl.getToken();
          return z === 138 ? (z = m(), z === 144 && (z = m(), z === 11 && S()), !0) : !1;
        }
        function w() {
          if (c === 25)
            return !1;
          let z = Wl.getToken();
          if (z === 102) {
            if (z = m(), z === 21) {
              if (z = m(), z === 11 || z === 15)
                return T(), !0;
            } else {
              if (z === 11)
                return T(), !0;
              if (z === 156 && Wl.lookAhead(() => {
                const G = Wl.scan();
                return G !== 161 && (G === 42 || G === 19 || G === 80 || p_(G));
              }) && (z = m()), z === 80 || p_(z))
                if (z = m(), z === 161) {
                  if (z = m(), z === 11)
                    return T(), !0;
                } else if (z === 64) {
                  if (O(
                    /*skipCurrentToken*/
                    !0
                  ))
                    return !0;
                } else if (z === 28)
                  z = m();
                else
                  return !0;
              if (z === 19) {
                for (z = m(); z !== 20 && z !== 1; )
                  z = m();
                z === 20 && (z = m(), z === 161 && (z = m(), z === 11 && T()));
              } else z === 42 && (z = m(), z === 130 && (z = m(), (z === 80 || p_(z)) && (z = m(), z === 161 && (z = m(), z === 11 && T()))));
            }
            return !0;
          }
          return !1;
        }
        function A() {
          let z = Wl.getToken();
          if (z === 95) {
            if (k(), z = m(), z === 156 && Wl.lookAhead(() => {
              const G = Wl.scan();
              return G === 42 || G === 19;
            }) && (z = m()), z === 19) {
              for (z = m(); z !== 20 && z !== 1; )
                z = m();
              z === 20 && (z = m(), z === 161 && (z = m(), z === 11 && T()));
            } else if (z === 42)
              z = m(), z === 161 && (z = m(), z === 11 && T());
            else if (z === 102 && (z = m(), z === 156 && Wl.lookAhead(() => {
              const G = Wl.scan();
              return G === 80 || p_(G);
            }) && (z = m()), (z === 80 || p_(z)) && (z = m(), z === 64 && O(
              /*skipCurrentToken*/
              !0
            ))))
              return !0;
            return !0;
          }
          return !1;
        }
        function O(z, V = !1) {
          let G = z ? m() : Wl.getToken();
          return G === 149 ? (G = m(), G === 21 && (G = m(), (G === 11 || V && G === 15) && T()), !0) : !1;
        }
        function F() {
          let z = Wl.getToken();
          if (z === 80 && Wl.getTokenValue() === "define") {
            if (z = m(), z !== 21)
              return !0;
            if (z = m(), z === 11 || z === 15)
              if (z = m(), z === 28)
                z = m();
              else
                return !0;
            if (z !== 23)
              return !0;
            for (z = m(); z !== 24 && z !== 1; )
              (z === 11 || z === 15) && T(), z = m();
            return !0;
          }
          return !1;
        }
        function j() {
          for (Wl.setText(e), m(); Wl.getToken() !== 1; ) {
            if (Wl.getToken() === 16) {
              const z = [Wl.getToken()];
              e:
                for (; Ar(z); ) {
                  const V = Wl.scan();
                  switch (V) {
                    case 1:
                      break e;
                    case 102:
                      w();
                      break;
                    case 16:
                      z.push(V);
                      break;
                    case 19:
                      Ar(z) && z.push(V);
                      break;
                    case 20:
                      Ar(z) && (Po(z) === 16 ? Wl.reScanTemplateToken(
                        /*isTaggedTemplate*/
                        !1
                      ) === 18 && z.pop() : z.pop());
                      break;
                  }
                }
              m();
            }
            D() || w() || A() || n && (O(
              /*skipCurrentToken*/
              !1,
              /*allowTemplateLiterals*/
              !0
            ) || F()) || m();
          }
          Wl.setText(void 0);
        }
        if (t && j(), Lz(i, e), Mz(i, Ua), g) {
          if (o)
            for (const z of o)
              s.push(z.ref);
          return { referencedFiles: i.referencedFiles, typeReferenceDirectives: i.typeReferenceDirectives, libReferenceDirectives: i.libReferenceDirectives, importedFiles: s, isLibFile: !!i.hasNoDefaultLib, ambientExternalModules: void 0 };
        } else {
          let z;
          if (o)
            for (const V of o)
              V.depth === 0 ? (z || (z = []), z.push(V.ref.fileName)) : s.push(V.ref);
          return { referencedFiles: i.referencedFiles, typeReferenceDirectives: i.typeReferenceDirectives, libReferenceDirectives: i.libReferenceDirectives, importedFiles: s, isLibFile: !!i.hasNoDefaultLib, ambientExternalModules: z };
        }
      }
      var UJe = /^data:(?:application\/json;charset=[uU][tT][fF]-8;base64,([A-Za-z0-9+/=]+)$)?/;
      function Xae(e) {
        const t = Hl(e.useCaseSensitiveFileNames()), n = e.getCurrentDirectory(), i = /* @__PURE__ */ new Map(), s = /* @__PURE__ */ new Map();
        return {
          tryGetSourcePosition: _,
          tryGetGeneratedPosition: u,
          toLineColumnOffset: S,
          clearCache: T,
          documentPositionMappers: s
        };
        function o(k) {
          return lo(k, n, t);
        }
        function c(k, D) {
          const w = o(k), A = s.get(w);
          if (A) return A;
          let O;
          if (e.getDocumentPositionMapper)
            O = e.getDocumentPositionMapper(k, D);
          else if (e.readFile) {
            const F = h(k);
            O = F && bq(
              { getSourceFileLike: h, getCanonicalFileName: t, log: (j) => e.log(j) },
              k,
              wW(F.text, Eg(F)),
              (j) => !e.fileExists || e.fileExists(j) ? e.readFile(j) : void 0
            );
          }
          return s.set(w, O || NW), O || NW;
        }
        function _(k) {
          if (!Sl(k.fileName) || !g(k.fileName)) return;
          const w = c(k.fileName).getSourcePosition(k);
          return !w || w === k ? void 0 : _(w) || w;
        }
        function u(k) {
          if (Sl(k.fileName)) return;
          const D = g(k.fileName);
          if (!D) return;
          const w = e.getProgram();
          if (w.isSourceOfProjectReferenceRedirect(D.fileName))
            return;
          const O = w.getCompilerOptions().outFile, F = O ? Ru(O) + ".d.ts" : g5(k.fileName, w.getCompilerOptions(), w);
          if (F === void 0) return;
          const j = c(F, k.fileName).getGeneratedPosition(k);
          return j === k ? void 0 : j;
        }
        function g(k) {
          const D = e.getProgram();
          if (!D) return;
          const w = o(k), A = D.getSourceFileByPath(w);
          return A && A.resolvedPath === w ? A : void 0;
        }
        function m(k) {
          const D = o(k), w = i.get(D);
          if (w !== void 0) return w || void 0;
          if (!e.readFile || e.fileExists && !e.fileExists(k)) {
            i.set(D, !1);
            return;
          }
          const A = e.readFile(k), O = A ? qJe(A) : !1;
          return i.set(D, O), O || void 0;
        }
        function h(k) {
          return e.getSourceFileLike ? e.getSourceFileLike(k) : g(k) || m(k);
        }
        function S(k, D) {
          return h(k).getLineAndCharacterOfPosition(D);
        }
        function T() {
          i.clear(), s.clear();
        }
      }
      function bq(e, t, n, i) {
        let s = Sne(n);
        if (s) {
          const _ = UJe.exec(s);
          if (_) {
            if (_[1]) {
              const u = _[1];
              return D2e(e, KK(dl, u), t);
            }
            s = void 0;
          }
        }
        const o = [];
        s && o.push(s), o.push(t + ".map");
        const c = s && Xi(s, Un(t));
        for (const _ of o) {
          const u = Xi(_, Un(t)), g = i(u, c);
          if (cs(g))
            return D2e(e, g, u);
          if (g !== void 0)
            return g || void 0;
        }
      }
      function D2e(e, t, n) {
        const i = Tne(t);
        if (!(!i || !i.sources || !i.file || !i.mappings) && !(i.sourcesContent && i.sourcesContent.some(cs)))
          return kne(e, i, n);
      }
      function qJe(e, t) {
        return {
          text: e,
          lineMap: t,
          getLineAndCharacterOfPosition(n) {
            return CC(Eg(this), n);
          }
        };
      }
      var Qae = /* @__PURE__ */ new Map();
      function Sq(e, t, n) {
        var i;
        t.getSemanticDiagnostics(e, n);
        const s = [], o = t.getTypeChecker();
        !(t.getImpliedNodeFormatForEmit(e) === 1 || Dc(e.fileName, [
          ".cts",
          ".cjs"
          /* Cjs */
        ])) && e.commonJsModuleIndicator && (sae(t) || FU(t.getCompilerOptions())) && HJe(e) && s.push(Kr(QJe(e.commonJsModuleIndicator), p.File_is_a_CommonJS_module_it_may_be_converted_to_an_ES_module));
        const _ = $u(e);
        if (Qae.clear(), u(e), Dx(t.getCompilerOptions()))
          for (const g of e.imports) {
            const m = V4(g), h = GJe(m);
            if (!h) continue;
            const S = (i = t.getResolvedModuleFromModuleSpecifier(g, e)) == null ? void 0 : i.resolvedModule, T = S && t.getSourceFile(S.resolvedFileName);
            T && T.externalModuleIndicator && T.externalModuleIndicator !== !0 && Oo(T.externalModuleIndicator) && T.externalModuleIndicator.isExportEquals && s.push(Kr(h, p.Import_may_be_converted_to_a_default_import));
          }
        return wn(s, e.bindSuggestionDiagnostics), wn(s, t.getSuggestionDiagnostics(e, n)), s.sort((g, m) => g.start - m.start), s;
        function u(g) {
          if (_)
            ZJe(g, o) && s.push(Kr(Zn(g.parent) ? g.parent.name : g, p.This_constructor_function_may_be_converted_to_a_class_declaration));
          else {
            if (Sc(g) && g.parent === e && g.declarationList.flags & 2 && g.declarationList.declarations.length === 1) {
              const h = g.declarationList.declarations[0].initializer;
              h && f_(
                h,
                /*requireStringLiteralLikeArgument*/
                !0
              ) && s.push(Kr(h, p.require_call_may_be_converted_to_an_import));
            }
            const m = ku.getJSDocTypedefNodes(g);
            for (const h of m)
              s.push(Kr(h, p.JSDoc_typedef_may_be_converted_to_TypeScript_type));
            ku.parameterShouldGetTypeFromJSDoc(g) && s.push(Kr(g.name || g, p.JSDoc_types_may_be_moved_to_TypeScript_types));
          }
          kq(g) && $Je(g, o, s), g.forEachChild(u);
        }
      }
      function HJe(e) {
        return e.statements.some((t) => {
          switch (t.kind) {
            case 243:
              return t.declarationList.declarations.some((n) => !!n.initializer && f_(
                w2e(n.initializer),
                /*requireStringLiteralLikeArgument*/
                !0
              ));
            case 244: {
              const { expression: n } = t;
              if (!_n(n)) return f_(
                n,
                /*requireStringLiteralLikeArgument*/
                !0
              );
              const i = Pc(n);
              return i === 1 || i === 2;
            }
            default:
              return !1;
          }
        });
      }
      function w2e(e) {
        return kn(e) ? w2e(e.expression) : e;
      }
      function GJe(e) {
        switch (e.kind) {
          case 272:
            const { importClause: t, moduleSpecifier: n } = e;
            return t && !t.name && t.namedBindings && t.namedBindings.kind === 274 && la(n) ? t.namedBindings.name : void 0;
          case 271:
            return e.name;
          default:
            return;
        }
      }
      function $Je(e, t, n) {
        XJe(e, t) && !Qae.has(I2e(e)) && n.push(Kr(
          !e.name && Zn(e.parent) && Fe(e.parent.name) ? e.parent.name : e,
          p.This_may_be_converted_to_an_async_function
        ));
      }
      function XJe(e, t) {
        return !$4(e) && e.body && Cs(e.body) && YJe(e.body, t) && Tq(e, t);
      }
      function Tq(e, t) {
        const n = t.getSignatureFromDeclaration(e), i = n ? t.getReturnTypeOfSignature(n) : void 0;
        return !!i && !!t.getPromisedTypeOfPromise(i);
      }
      function QJe(e) {
        return _n(e) ? e.left : e;
      }
      function YJe(e, t) {
        return !!qy(e, (n) => $9(n, t));
      }
      function $9(e, t) {
        return gf(e) && !!e.expression && xq(e.expression, t);
      }
      function xq(e, t) {
        if (!P2e(e) || !N2e(e) || !e.arguments.every((i) => A2e(i, t)))
          return !1;
        let n = e.expression.expression;
        for (; P2e(n) || kn(n); )
          if (Ms(n)) {
            if (!N2e(n) || !n.arguments.every((i) => A2e(i, t)))
              return !1;
            n = n.expression.expression;
          } else
            n = n.expression;
        return !0;
      }
      function P2e(e) {
        return Ms(e) && (DA(e, "then") || DA(e, "catch") || DA(e, "finally"));
      }
      function N2e(e) {
        const t = e.expression.name.text, n = t === "then" ? 2 : t === "catch" || t === "finally" ? 1 : 0;
        return e.arguments.length > n ? !1 : e.arguments.length < n ? !0 : n === 1 || at(e.arguments, (i) => i.kind === 106 || Fe(i) && i.text === "undefined");
      }
      function A2e(e, t) {
        switch (e.kind) {
          case 262:
          case 218:
            if (Fc(e) & 1)
              return !1;
          // falls through
          case 219:
            Qae.set(I2e(e), !0);
          // falls through
          case 106:
            return !0;
          case 80:
          case 211: {
            const i = t.getSymbolAtLocation(e);
            return i ? t.isUndefinedSymbol(i) || at($l(i, t).declarations, (s) => Ts(s) || y0(s) && !!s.initializer && Ts(s.initializer)) : !1;
          }
          default:
            return !1;
        }
      }
      function I2e(e) {
        return `${e.pos.toString()}:${e.end.toString()}`;
      }
      function ZJe(e, t) {
        var n, i, s, o;
        if (ho(e)) {
          if (Zn(e.parent) && ((n = e.symbol.members) != null && n.size))
            return !0;
          const c = t.getSymbolOfExpando(
            e,
            /*allowDeclaration*/
            !1
          );
          return !!(c && ((i = c.exports) != null && i.size || (s = c.members) != null && s.size));
        }
        return Tc(e) ? !!((o = e.symbol.members) != null && o.size) : !1;
      }
      function kq(e) {
        switch (e.kind) {
          case 262:
          case 174:
          case 218:
          case 219:
            return !0;
          default:
            return !1;
        }
      }
      var KJe = /* @__PURE__ */ new Set([
        "isolatedModules"
      ]);
      function Yae(e, t) {
        return O2e(
          e,
          t,
          /*declaration*/
          !1
        );
      }
      function F2e(e, t) {
        return O2e(
          e,
          t,
          /*declaration*/
          !0
        );
      }
      var eze = `/// <reference no-default-lib="true"/>
interface Boolean {}
interface Function {}
interface CallableFunction {}
interface NewableFunction {}
interface IArguments {}
interface Number {}
interface Object {}
interface RegExp {}
interface String {}
interface Array<T> { length: number; [n: number]: T; }
interface SymbolConstructor {
    (desc?: string | number): symbol;
    for(name: string): symbol;
    readonly toStringTag: symbol;
}
declare var Symbol: SymbolConstructor;
interface Symbol {
    readonly [Symbol.toStringTag]: string;
}`, X9 = "lib.d.ts", Zae;
      function O2e(e, t, n) {
        Zae ?? (Zae = Qx(X9, eze, {
          languageVersion: 99
          /* Latest */
        }));
        const i = [], s = t.compilerOptions ? Cq(t.compilerOptions, i) : {}, o = cL();
        for (const D in o)
          ao(o, D) && s[D] === void 0 && (s[D] = o[D]);
        for (const D of Sre)
          s.verbatimModuleSyntax && KJe.has(D.name) || (s[D.name] = D.transpileOptionValue);
        s.suppressOutputPathCheck = !0, s.allowNonTsExtensions = !0, n ? (s.declaration = !0, s.emitDeclarationOnly = !0, s.isolatedDeclarations = !0) : (s.declaration = !1, s.declarationMap = !1);
        const c = x0(s), _ = {
          getSourceFile: (D) => D === Gs(u) ? g : D === Gs(X9) ? Zae : void 0,
          writeFile: (D, w) => {
            Wo(D, ".map") ? (E.assertEqual(h, void 0, "Unexpected multiple source map outputs, file:", D), h = w) : (E.assertEqual(m, void 0, "Unexpected multiple outputs, file:", D), m = w);
          },
          getDefaultLibFileName: () => X9,
          useCaseSensitiveFileNames: () => !1,
          getCanonicalFileName: (D) => D,
          getCurrentDirectory: () => "",
          getNewLine: () => c,
          fileExists: (D) => D === u || !!n && D === X9,
          readFile: () => "",
          directoryExists: () => !0,
          getDirectories: () => []
        }, u = t.fileName || (t.compilerOptions && t.compilerOptions.jsx ? "module.tsx" : "module.ts"), g = Qx(
          u,
          e,
          {
            languageVersion: ga(s),
            impliedNodeFormat: mA(
              lo(u, "", _.getCanonicalFileName),
              /*packageJsonInfoCache*/
              void 0,
              _,
              s
            ),
            setExternalModuleIndicator: rN(s),
            jsDocParsingMode: t.jsDocParsingMode ?? 0
            /* ParseAll */
          }
        );
        t.moduleName && (g.moduleName = t.moduleName), t.renamedDependencies && (g.renamedDependencies = new Map(Object.entries(t.renamedDependencies)));
        let m, h;
        const T = gA(n ? [u, X9] : [u], s, _);
        t.reportDiagnostics && (wn(
          /*to*/
          i,
          /*from*/
          T.getSyntacticDiagnostics(g)
        ), wn(
          /*to*/
          i,
          /*from*/
          T.getOptionsDiagnostics()
        ));
        const k = T.emit(
          /*targetSourceFile*/
          void 0,
          /*writeFile*/
          void 0,
          /*cancellationToken*/
          void 0,
          /*emitOnlyDtsFiles*/
          n,
          t.transformers,
          /*forceDtsEmit*/
          n
        );
        return wn(
          /*to*/
          i,
          /*from*/
          k.diagnostics
        ), m === void 0 ? E.fail("Output generation failed") : { outputText: m, diagnostics: i, sourceMapText: h };
      }
      function L2e(e, t, n, i, s) {
        const o = Yae(e, { compilerOptions: t, fileName: n, reportDiagnostics: !!i, moduleName: s });
        return wn(i, o.diagnostics), o.outputText;
      }
      var Kae;
      function Cq(e, t) {
        Kae = Kae || Tn(Zp, (n) => typeof n.type == "object" && !gl(n.type, (i) => typeof i != "number")), e = DU(e);
        for (const n of Kae) {
          if (!ao(e, n.name))
            continue;
          const i = e[n.name];
          cs(i) ? e[n.name] = qF(n, i, t) : gl(n.type, (s) => s === i) || t.push(xre(n));
        }
        return e;
      }
      var eoe = {};
      Ta(eoe, {
        getNavigateToItems: () => M2e
      });
      function M2e(e, t, n, i, s, o, c) {
        const _ = Jae(i);
        if (!_) return Ue;
        const u = [], g = e.length === 1 ? e[0] : void 0;
        for (const m of e)
          n.throwIfCancellationRequested(), !(o && m.isDeclarationFile) && (R2e(m, !!c, g) || m.getNamedDeclarations().forEach((h, S) => {
            tze(_, S, h, t, m.fileName, !!c, g, u);
          }));
        return u.sort(sze), (s === void 0 ? u : u.slice(0, s)).map(aze);
      }
      function R2e(e, t, n) {
        return e !== n && t && (VA(e.path) || e.hasNoDefaultLib);
      }
      function tze(e, t, n, i, s, o, c, _) {
        const u = e.getMatchForLastSegmentOfPattern(t);
        if (u) {
          for (const g of n)
            if (rze(g, i, o, c))
              if (e.patternContainsDots) {
                const m = e.getFullMatch(ize(g), t);
                m && _.push({ name: t, fileName: s, matchKind: m.kind, isCaseSensitive: m.isCaseSensitive, declaration: g });
              } else
                _.push({ name: t, fileName: s, matchKind: u.kind, isCaseSensitive: u.isCaseSensitive, declaration: g });
        }
      }
      function rze(e, t, n, i) {
        var s;
        switch (e.kind) {
          case 273:
          case 276:
          case 271:
            const o = t.getSymbolAtLocation(e.name), c = t.getAliasedSymbol(o);
            return o.escapedName !== c.escapedName && !((s = c.declarations) != null && s.every((_) => R2e(_.getSourceFile(), n, i)));
          default:
            return !0;
        }
      }
      function nze(e, t) {
        const n = ls(e);
        return !!n && (j2e(n, t) || n.kind === 167 && toe(n.expression, t));
      }
      function toe(e, t) {
        return j2e(e, t) || kn(e) && (t.push(e.name.text), !0) && toe(e.expression, t);
      }
      function j2e(e, t) {
        return Kd(e) && (t.push(ep(e)), !0);
      }
      function ize(e) {
        const t = [], n = ls(e);
        if (n && n.kind === 167 && !toe(n.expression, t))
          return Ue;
        t.shift();
        let i = XS(e);
        for (; i; ) {
          if (!nze(i, t))
            return Ue;
          i = XS(i);
        }
        return t.reverse(), t;
      }
      function sze(e, t) {
        return go(e.matchKind, t.matchKind) || PP(e.name, t.name);
      }
      function aze(e) {
        const t = e.declaration, n = XS(t), i = n && ls(n);
        return {
          name: e.name,
          kind: s2(t),
          kindModifiers: gw(t),
          matchKind: yq[e.matchKind],
          isCaseSensitive: e.isCaseSensitive,
          fileName: e.fileName,
          textSpan: t_(t),
          // TODO(jfreeman): What should be the containerName when the container has a computed name?
          containerName: i ? i.text : "",
          containerKind: i ? s2(n) : ""
          /* unknown */
        };
      }
      var roe = {};
      Ta(roe, {
        getNavigationBarItems: () => J2e,
        getNavigationTree: () => z2e
      });
      var oze = /\s+/g, noe = 150, Eq, XA, Q9 = [], M0, B2e = [], tE, ioe = [];
      function J2e(e, t) {
        Eq = t, XA = e;
        try {
          return fr(fze(U2e(e)), pze);
        } finally {
          W2e();
        }
      }
      function z2e(e, t) {
        Eq = t, XA = e;
        try {
          return K2e(U2e(e));
        } finally {
          W2e();
        }
      }
      function W2e() {
        XA = void 0, Eq = void 0, Q9 = [], M0 = void 0, ioe = [];
      }
      function Y9(e) {
        return Dw(e.getText(XA));
      }
      function Dq(e) {
        return e.node.kind;
      }
      function V2e(e, t) {
        e.children ? e.children.push(t) : e.children = [t];
      }
      function U2e(e) {
        E.assert(!Q9.length);
        const t = { node: e, name: void 0, additionalNodes: void 0, parent: void 0, children: void 0, indent: 0 };
        M0 = t;
        for (const n of e.statements)
          _k(n);
        return Tv(), E.assert(!M0 && !Q9.length), t;
      }
      function l2(e, t) {
        V2e(M0, soe(e, t));
      }
      function soe(e, t) {
        return {
          node: e,
          name: t || (Dl(e) || lt(e) ? ls(e) : void 0),
          additionalNodes: void 0,
          parent: M0,
          children: void 0,
          indent: M0.indent + 1
        };
      }
      function q2e(e) {
        tE || (tE = /* @__PURE__ */ new Map()), tE.set(e, !0);
      }
      function H2e(e) {
        for (let t = 0; t < e; t++) Tv();
      }
      function G2e(e, t) {
        const n = [];
        for (; !Kd(t); ) {
          const i = w3(t), s = wh(t);
          t = t.expression, !(s === "prototype" || Di(i)) && n.push(i);
        }
        n.push(t);
        for (let i = n.length - 1; i > 0; i--) {
          const s = n[i];
          u2(e, s);
        }
        return [n.length - 1, n[0]];
      }
      function u2(e, t) {
        const n = soe(e, t);
        V2e(M0, n), Q9.push(M0), B2e.push(tE), tE = void 0, M0 = n;
      }
      function Tv() {
        M0.children && (wq(M0.children, M0), coe(M0.children)), M0 = Q9.pop(), tE = B2e.pop();
      }
      function xv(e, t, n) {
        u2(e, n), _k(t), Tv();
      }
      function $2e(e) {
        e.initializer && mze(e.initializer) ? (u2(e), Ss(e.initializer, _k), Tv()) : xv(e, e.initializer);
      }
      function aoe(e) {
        const t = ls(e);
        if (t === void 0) return !1;
        if (ia(t)) {
          const n = t.expression;
          return to(n) || m_(n) || wf(n);
        }
        return !!t;
      }
      function _k(e) {
        if (Eq.throwIfCancellationRequested(), !(!e || ex(e)))
          switch (e.kind) {
            case 176:
              const t = e;
              xv(t, t.body);
              for (const c of t.parameters)
                U_(c, t) && l2(c);
              break;
            case 174:
            case 177:
            case 178:
            case 173:
              aoe(e) && xv(e, e.body);
              break;
            case 172:
              aoe(e) && $2e(e);
              break;
            case 171:
              aoe(e) && l2(e);
              break;
            case 273:
              const n = e;
              n.name && l2(n.name);
              const { namedBindings: i } = n;
              if (i)
                if (i.kind === 274)
                  l2(i);
                else
                  for (const c of i.elements)
                    l2(c);
              break;
            case 304:
              xv(e, e.name);
              break;
            case 305:
              const { expression: s } = e;
              Fe(s) ? l2(e, s) : l2(e);
              break;
            case 208:
            case 303:
            case 260: {
              const c = e;
              Ps(c.name) ? _k(c.name) : $2e(c);
              break;
            }
            case 262:
              const o = e.name;
              o && Fe(o) && q2e(o.text), xv(e, e.body);
              break;
            case 219:
            case 218:
              xv(e, e.body);
              break;
            case 266:
              u2(e);
              for (const c of e.members)
                dze(c) || l2(c);
              Tv();
              break;
            case 263:
            case 231:
            case 264:
              u2(e);
              for (const c of e.members)
                _k(c);
              Tv();
              break;
            case 267:
              xv(e, tSe(e).body);
              break;
            case 277: {
              const c = e.expression, _ = ua(c) || Ms(c) ? c : Co(c) || ho(c) ? c.body : void 0;
              _ ? (u2(e), _k(_), Tv()) : l2(e);
              break;
            }
            case 281:
            case 271:
            case 181:
            case 179:
            case 180:
            case 265:
              l2(e);
              break;
            case 213:
            case 226: {
              const c = Pc(e);
              switch (c) {
                case 1:
                case 2:
                  xv(e, e.right);
                  return;
                case 6:
                case 3: {
                  const _ = e, u = _.left, g = c === 3 ? u.expression : u;
                  let m = 0, h;
                  Fe(g.expression) ? (q2e(g.expression.text), h = g.expression) : [m, h] = G2e(_, g.expression), c === 6 ? ua(_.right) && _.right.properties.length > 0 && (u2(_, h), Ss(_.right, _k), Tv()) : ho(_.right) || Co(_.right) ? xv(e, _.right, h) : (u2(_, h), xv(e, _.right, u.name), Tv()), H2e(m);
                  return;
                }
                case 7:
                case 9: {
                  const _ = e, u = c === 7 ? _.arguments[0] : _.arguments[0].expression, g = _.arguments[1], [m, h] = G2e(e, u);
                  u2(e, h), u2(e, ot(N.createIdentifier(g.text), g)), _k(e.arguments[2]), Tv(), Tv(), H2e(m);
                  return;
                }
                case 5: {
                  const _ = e, u = _.left, g = u.expression;
                  if (Fe(g) && wh(u) !== "prototype" && tE && tE.has(g.text)) {
                    ho(_.right) || Co(_.right) ? xv(e, _.right, g) : Pb(u) && (u2(_, g), xv(_.left, _.right, w3(u)), Tv());
                    return;
                  }
                  break;
                }
                case 4:
                case 0:
                case 8:
                  break;
                default:
                  E.assertNever(c);
              }
            }
            // falls through
            default:
              pf(e) && ar(e.jsDoc, (c) => {
                ar(c.tags, (_) => {
                  Dp(_) && l2(_);
                });
              }), Ss(e, _k);
          }
      }
      function wq(e, t) {
        const n = /* @__PURE__ */ new Map();
        yR(e, (i, s) => {
          const o = i.name || ls(i.node), c = o && Y9(o);
          if (!c)
            return !0;
          const _ = n.get(c);
          if (!_)
            return n.set(c, i), !0;
          if (_ instanceof Array) {
            for (const u of _)
              if (X2e(u, i, s, t))
                return !1;
            return _.push(i), !0;
          } else {
            const u = _;
            return X2e(u, i, s, t) ? !1 : (n.set(c, [u, i]), !0);
          }
        });
      }
      var QA = {
        5: !0,
        3: !0,
        7: !0,
        9: !0,
        0: !1,
        1: !1,
        2: !1,
        8: !1,
        6: !0,
        4: !1
      };
      function cze(e, t, n, i) {
        function s(_) {
          return ho(_) || Tc(_) || Zn(_);
        }
        const o = _n(t.node) || Ms(t.node) ? Pc(t.node) : 0, c = _n(e.node) || Ms(e.node) ? Pc(e.node) : 0;
        if (QA[o] && QA[c] || s(e.node) && QA[o] || s(t.node) && QA[c] || el(e.node) && ooe(e.node) && QA[o] || el(t.node) && QA[c] || el(e.node) && ooe(e.node) && s(t.node) || el(t.node) && s(e.node) && ooe(e.node)) {
          let _ = e.additionalNodes && Po(e.additionalNodes) || e.node;
          if (!el(e.node) && !el(t.node) || s(e.node) || s(t.node)) {
            const g = s(e.node) ? e.node : s(t.node) ? t.node : void 0;
            if (g !== void 0) {
              const m = ot(
                N.createConstructorDeclaration(
                  /*modifiers*/
                  void 0,
                  [],
                  /*body*/
                  void 0
                ),
                g
              ), h = soe(m);
              h.indent = e.indent + 1, h.children = e.node === g ? e.children : t.children, e.children = e.node === g ? Ji([h], t.children || [t]) : Ji(e.children || [{ ...e }], [h]);
            } else
              (e.children || t.children) && (e.children = Ji(e.children || [{ ...e }], t.children || [t]), e.children && (wq(e.children, e), coe(e.children)));
            _ = e.node = ot(
              N.createClassDeclaration(
                /*modifiers*/
                void 0,
                e.name || N.createIdentifier("__class__"),
                /*typeParameters*/
                void 0,
                /*heritageClauses*/
                void 0,
                []
              ),
              e.node
            );
          } else
            e.children = Ji(e.children, t.children), e.children && wq(e.children, e);
          const u = t.node;
          return i.children[n - 1].node.end === _.end ? ot(_, { pos: _.pos, end: u.end }) : (e.additionalNodes || (e.additionalNodes = []), e.additionalNodes.push(ot(
            N.createClassDeclaration(
              /*modifiers*/
              void 0,
              e.name || N.createIdentifier("__class__"),
              /*typeParameters*/
              void 0,
              /*heritageClauses*/
              void 0,
              []
            ),
            t.node
          ))), !0;
        }
        return o !== 0;
      }
      function X2e(e, t, n, i) {
        return cze(e, t, n, i) ? !0 : lze(e.node, t.node, i) ? (uze(e, t), !0) : !1;
      }
      function lze(e, t, n) {
        if (e.kind !== t.kind || e.parent !== t.parent && !(Q2e(e, n) && Q2e(t, n)))
          return !1;
        switch (e.kind) {
          case 172:
          case 174:
          case 177:
          case 178:
            return zs(e) === zs(t);
          case 267:
            return Y2e(e, t) && _oe(e) === _oe(t);
          default:
            return !0;
        }
      }
      function ooe(e) {
        return !!(e.flags & 16);
      }
      function Q2e(e, t) {
        if (e.parent === void 0) return !1;
        const n = om(e.parent) ? e.parent.parent : e.parent;
        return n === t.node || _s(t.additionalNodes, n);
      }
      function Y2e(e, t) {
        return !e.body || !t.body ? e.body === t.body : e.body.kind === t.body.kind && (e.body.kind !== 267 || Y2e(e.body, t.body));
      }
      function uze(e, t) {
        e.additionalNodes = e.additionalNodes || [], e.additionalNodes.push(t.node), t.additionalNodes && e.additionalNodes.push(...t.additionalNodes), e.children = Ji(e.children, t.children), e.children && (wq(e.children, e), coe(e.children));
      }
      function coe(e) {
        e.sort(_ze);
      }
      function _ze(e, t) {
        return PP(Z2e(e.node), Z2e(t.node)) || go(Dq(e), Dq(t));
      }
      function Z2e(e) {
        if (e.kind === 267)
          return eSe(e);
        const t = ls(e);
        if (t && Bc(t)) {
          const n = SS(t);
          return n && Ei(n);
        }
        switch (e.kind) {
          case 218:
          case 219:
          case 231:
            return nSe(e);
          default:
            return;
        }
      }
      function loe(e, t) {
        if (e.kind === 267)
          return Dw(eSe(e));
        if (t) {
          const n = Fe(t) ? t.text : fo(t) ? `[${Y9(t.argumentExpression)}]` : Y9(t);
          if (n.length > 0)
            return Dw(n);
        }
        switch (e.kind) {
          case 307:
            const n = e;
            return ol(n) ? `"${Qm(Qc(Ru(Gs(n.fileName))))}"` : "<global>";
          case 277:
            return Oo(e) && e.isExportEquals ? "export=" : "default";
          case 219:
          case 262:
          case 218:
          case 263:
          case 231:
            return S0(e) & 2048 ? "default" : nSe(e);
          case 176:
            return "constructor";
          case 180:
            return "new()";
          case 179:
            return "()";
          case 181:
            return "[]";
          default:
            return "<unknown>";
        }
      }
      function fze(e) {
        const t = [];
        function n(s) {
          if (i(s) && (t.push(s), s.children))
            for (const o of s.children)
              n(o);
        }
        return n(e), t;
        function i(s) {
          if (s.children)
            return !0;
          switch (Dq(s)) {
            case 263:
            case 231:
            case 266:
            case 264:
            case 267:
            case 307:
            case 265:
            case 346:
            case 338:
              return !0;
            case 219:
            case 262:
            case 218:
              return o(s);
            default:
              return !1;
          }
          function o(c) {
            if (!c.node.body)
              return !1;
            switch (Dq(c.parent)) {
              case 268:
              case 307:
              case 174:
              case 176:
                return !0;
              default:
                return !1;
            }
          }
        }
      }
      function K2e(e) {
        return {
          text: loe(e.node, e.name),
          kind: s2(e.node),
          kindModifiers: rSe(e.node),
          spans: uoe(e),
          nameSpan: e.name && foe(e.name),
          childItems: fr(e.children, K2e)
        };
      }
      function pze(e) {
        return {
          text: loe(e.node, e.name),
          kind: s2(e.node),
          kindModifiers: rSe(e.node),
          spans: uoe(e),
          childItems: fr(e.children, t) || ioe,
          indent: e.indent,
          bolded: !1,
          grayed: !1
        };
        function t(n) {
          return {
            text: loe(n.node, n.name),
            kind: s2(n.node),
            kindModifiers: gw(n.node),
            spans: uoe(n),
            childItems: ioe,
            indent: 0,
            bolded: !1,
            grayed: !1
          };
        }
      }
      function uoe(e) {
        const t = [foe(e.node)];
        if (e.additionalNodes)
          for (const n of e.additionalNodes)
            t.push(foe(n));
        return t;
      }
      function eSe(e) {
        return Fu(e) ? Go(e.name) : _oe(e);
      }
      function _oe(e) {
        const t = [ep(e.name)];
        for (; e.body && e.body.kind === 267; )
          e = e.body, t.push(ep(e.name));
        return t.join(".");
      }
      function tSe(e) {
        return e.body && zc(e.body) ? tSe(e.body) : e;
      }
      function dze(e) {
        return !e.name || e.name.kind === 167;
      }
      function foe(e) {
        return e.kind === 307 ? L0(e) : t_(e, XA);
      }
      function rSe(e) {
        return e.parent && e.parent.kind === 260 && (e = e.parent), gw(e);
      }
      function nSe(e) {
        const { parent: t } = e;
        if (e.name && i3(e.name) > 0)
          return Dw(_o(e.name));
        if (Zn(t))
          return Dw(_o(t.name));
        if (_n(t) && t.operatorToken.kind === 64)
          return Y9(t.left).replace(oze, "");
        if (tl(t))
          return Y9(t.name);
        if (S0(e) & 2048)
          return "default";
        if (Xn(e))
          return "<class>";
        if (Ms(t)) {
          let n = iSe(t.expression);
          if (n !== void 0) {
            if (n = Dw(n), n.length > noe)
              return `${n} callback`;
            const i = Dw(Oi(t.arguments, (s) => Ba(s) || nx(s) ? s.getText(XA) : void 0).join(", "));
            return `${n}(${i}) callback`;
          }
        }
        return "<function>";
      }
      function iSe(e) {
        if (Fe(e))
          return e.text;
        if (kn(e)) {
          const t = iSe(e.expression), n = e.name.text;
          return t === void 0 ? n : `${t}.${n}`;
        } else
          return;
      }
      function mze(e) {
        switch (e.kind) {
          case 219:
          case 218:
          case 231:
            return !0;
          default:
            return !1;
        }
      }
      function Dw(e) {
        return e = e.length > noe ? e.substring(0, noe) + "..." : e, e.replace(/\\?(?:\r?\n|[\r\u2028\u2029])/g, "");
      }
      var fk = {};
      Ta(fk, {
        addExportsInOldFile: () => xoe,
        addImportsForMovedSymbols: () => koe,
        addNewFileToTsconfig: () => Toe,
        addOrRemoveBracesToArrowFunction: () => uWe,
        addTargetFileImports: () => Foe,
        containsJsx: () => Doe,
        convertArrowFunctionOrFunctionExpression: () => mWe,
        convertParamsToDestructuredObject: () => EWe,
        convertStringOrTemplateLiteral: () => UWe,
        convertToOptionalChainExpression: () => eVe,
        createNewFileName: () => Eoe,
        doChangeNamedToNamespaceOrDefault: () => uSe,
        extractSymbol: () => rTe,
        generateGetAccessorAndSetAccessor: () => RVe,
        getApplicableRefactors: () => gze,
        getEditsForRefactor: () => hze,
        getExistingLocals: () => Aoe,
        getIdentifierForNode: () => Ioe,
        getNewStatementsAndRemoveFromOldFile: () => Soe,
        getStatementsToMove: () => YA,
        getUsageInfo: () => Z9,
        inferFunctionReturnType: () => jVe,
        isInImport: () => Rq,
        isRefactorErrorInfo: () => zh,
        refactorKindBeginsWith: () => kv,
        registerRefactor: () => Xg
      });
      var poe = /* @__PURE__ */ new Map();
      function Xg(e, t) {
        poe.set(e, t);
      }
      function gze(e, t) {
        return rs(vR(poe.values(), (n) => {
          var i;
          return e.cancellationToken && e.cancellationToken.isCancellationRequested() || !((i = n.kinds) != null && i.some((s) => kv(s, e.kind))) ? void 0 : n.getAvailableActions(e, t);
        }));
      }
      function hze(e, t, n, i) {
        const s = poe.get(t);
        return s && s.getEditsForAction(e, n, i);
      }
      var doe = "Convert export", Pq = {
        name: "Convert default export to named export",
        description: hs(p.Convert_default_export_to_named_export),
        kind: "refactor.rewrite.export.named"
      }, Nq = {
        name: "Convert named export to default export",
        description: hs(p.Convert_named_export_to_default_export),
        kind: "refactor.rewrite.export.default"
      };
      Xg(doe, {
        kinds: [
          Pq.kind,
          Nq.kind
        ],
        getAvailableActions: function(t) {
          const n = sSe(t, t.triggerReason === "invoked");
          if (!n) return Ue;
          if (!zh(n)) {
            const i = n.wasDefault ? Pq : Nq;
            return [{ name: doe, description: i.description, actions: [i] }];
          }
          return t.preferences.provideRefactorNotApplicableReason ? [
            {
              name: doe,
              description: hs(p.Convert_default_export_to_named_export),
              actions: [
                { ...Pq, notApplicableReason: n.error },
                { ...Nq, notApplicableReason: n.error }
              ]
            }
          ] : Ue;
        },
        getEditsForAction: function(t, n) {
          E.assert(n === Pq.name || n === Nq.name, "Unexpected action name");
          const i = sSe(t);
          return E.assert(i && !zh(i), "Expected applicable refactor info"), { edits: nn.ChangeTracker.with(t, (o) => yze(t.file, t.program, i, o, t.cancellationToken)), renameFilename: void 0, renameLocation: void 0 };
        }
      });
      function sSe(e, t = !0) {
        const { file: n, program: i } = e, s = lk(e), o = mi(n, s.start), c = o.parent && S0(o.parent) & 32 && t ? o.parent : RA(o, n, s);
        if (!c || !xi(c.parent) && !(om(c.parent) && Fu(c.parent.parent)))
          return { error: hs(p.Could_not_find_export_statement) };
        const _ = i.getTypeChecker(), u = xze(c.parent, _), g = S0(c) || (Oo(c) && !c.isExportEquals ? 2080 : 0), m = !!(g & 2048);
        if (!(g & 32) || !m && u.exports.has(
          "default"
          /* Default */
        ))
          return { error: hs(p.This_file_already_has_a_default_export) };
        const h = (S) => Fe(S) && _.getSymbolAtLocation(S) ? void 0 : { error: hs(p.Can_only_convert_named_export) };
        switch (c.kind) {
          case 262:
          case 263:
          case 264:
          case 266:
          case 265:
          case 267: {
            const S = c;
            return S.name ? h(S.name) || { exportNode: S, exportName: S.name, wasDefault: m, exportingModuleSymbol: u } : void 0;
          }
          case 243: {
            const S = c;
            if (!(S.declarationList.flags & 2) || S.declarationList.declarations.length !== 1)
              return;
            const T = xa(S.declarationList.declarations);
            return T.initializer ? (E.assert(!m, "Can't have a default flag here"), h(T.name) || { exportNode: S, exportName: T.name, wasDefault: m, exportingModuleSymbol: u }) : void 0;
          }
          case 277: {
            const S = c;
            return S.isExportEquals ? void 0 : h(S.expression) || { exportNode: S, exportName: S.expression, wasDefault: m, exportingModuleSymbol: u };
          }
          default:
            return;
        }
      }
      function yze(e, t, n, i, s) {
        vze(e, n, i, t.getTypeChecker()), bze(t, n, i, s);
      }
      function vze(e, { wasDefault: t, exportNode: n, exportName: i }, s, o) {
        if (t)
          if (Oo(n) && !n.isExportEquals) {
            const c = n.expression, _ = aSe(c.text, c.text);
            s.replaceNode(e, n, N.createExportDeclaration(
              /*modifiers*/
              void 0,
              /*isTypeOnly*/
              !1,
              N.createNamedExports([_])
            ));
          } else
            s.delete(e, E.checkDefined($6(
              n,
              90
              /* DefaultKeyword */
            ), "Should find a default keyword in modifier list"));
        else {
          const c = E.checkDefined($6(
            n,
            95
            /* ExportKeyword */
          ), "Should find an export keyword in modifier list");
          switch (n.kind) {
            case 262:
            case 263:
            case 264:
              s.insertNodeAfter(e, c, N.createToken(
                90
                /* DefaultKeyword */
              ));
              break;
            case 243:
              const _ = xa(n.declarationList.declarations);
              if (!Eo.Core.isSymbolReferencedInFile(i, o, e) && !_.type) {
                s.replaceNode(e, n, N.createExportDefault(E.checkDefined(_.initializer, "Initializer was previously known to be present")));
                break;
              }
            // falls through
            case 266:
            case 265:
            case 267:
              s.deleteModifier(e, c), s.insertNodeAfter(e, n, N.createExportDefault(N.createIdentifier(i.text)));
              break;
            default:
              E.fail(`Unexpected exportNode kind ${n.kind}`);
          }
        }
      }
      function bze(e, { wasDefault: t, exportName: n, exportingModuleSymbol: i }, s, o) {
        const c = e.getTypeChecker(), _ = E.checkDefined(c.getSymbolAtLocation(n), "Export name should resolve to a symbol");
        Eo.Core.eachExportReference(e.getSourceFiles(), c, o, _, i, n.text, t, (u) => {
          if (n === u) return;
          const g = u.getSourceFile();
          t ? Sze(g, u, s, n.text) : Tze(g, u, s);
        });
      }
      function Sze(e, t, n, i) {
        const { parent: s } = t;
        switch (s.kind) {
          case 211:
            n.replaceNode(e, t, N.createIdentifier(i));
            break;
          case 276:
          case 281: {
            const c = s;
            n.replaceNode(e, c, moe(i, c.name.text));
            break;
          }
          case 273: {
            const c = s;
            E.assert(c.name === t, "Import clause name should match provided ref");
            const _ = moe(i, t.text), { namedBindings: u } = c;
            if (!u)
              n.replaceNode(e, t, N.createNamedImports([_]));
            else if (u.kind === 274) {
              n.deleteRange(e, { pos: t.getStart(e), end: u.getStart(e) });
              const g = la(c.parent.moduleSpecifier) ? LU(c.parent.moduleSpecifier, e) : 1, m = p1(
                /*defaultImport*/
                void 0,
                [moe(i, t.text)],
                c.parent.moduleSpecifier,
                g
              );
              n.insertNodeAfter(e, c.parent, m);
            } else
              n.delete(e, t), n.insertNodeAtEndOfList(e, u.elements, _);
            break;
          }
          case 205:
            const o = s;
            n.replaceNode(e, s, N.createImportTypeNode(o.argument, o.attributes, N.createIdentifier(i), o.typeArguments, o.isTypeOf));
            break;
          default:
            E.failBadSyntaxKind(s);
        }
      }
      function Tze(e, t, n) {
        const i = t.parent;
        switch (i.kind) {
          case 211:
            n.replaceNode(e, t, N.createIdentifier("default"));
            break;
          case 276: {
            const s = N.createIdentifier(i.name.text);
            i.parent.elements.length === 1 ? n.replaceNode(e, i.parent, s) : (n.delete(e, i), n.insertNodeBefore(e, i.parent, s));
            break;
          }
          case 281: {
            n.replaceNode(e, i, aSe("default", i.name.text));
            break;
          }
          default:
            E.assertNever(i, `Unexpected parent kind ${i.kind}`);
        }
      }
      function moe(e, t) {
        return N.createImportSpecifier(
          /*isTypeOnly*/
          !1,
          e === t ? void 0 : N.createIdentifier(e),
          N.createIdentifier(t)
        );
      }
      function aSe(e, t) {
        return N.createExportSpecifier(
          /*isTypeOnly*/
          !1,
          e === t ? void 0 : N.createIdentifier(e),
          N.createIdentifier(t)
        );
      }
      function xze(e, t) {
        if (xi(e))
          return e.symbol;
        const n = e.parent.symbol;
        return n.valueDeclaration && Cb(n.valueDeclaration) ? t.getMergedSymbol(n) : n;
      }
      var goe = "Convert import", Aq = {
        0: {
          name: "Convert namespace import to named imports",
          description: hs(p.Convert_namespace_import_to_named_imports),
          kind: "refactor.rewrite.import.named"
        },
        2: {
          name: "Convert named imports to namespace import",
          description: hs(p.Convert_named_imports_to_namespace_import),
          kind: "refactor.rewrite.import.namespace"
        },
        1: {
          name: "Convert named imports to default import",
          description: hs(p.Convert_named_imports_to_default_import),
          kind: "refactor.rewrite.import.default"
        }
      };
      Xg(goe, {
        kinds: UT(Aq).map((e) => e.kind),
        getAvailableActions: function(t) {
          const n = oSe(t, t.triggerReason === "invoked");
          if (!n) return Ue;
          if (!zh(n)) {
            const i = Aq[n.convertTo];
            return [{ name: goe, description: i.description, actions: [i] }];
          }
          return t.preferences.provideRefactorNotApplicableReason ? UT(Aq).map((i) => ({
            name: goe,
            description: i.description,
            actions: [{ ...i, notApplicableReason: n.error }]
          })) : Ue;
        },
        getEditsForAction: function(t, n) {
          E.assert(at(UT(Aq), (o) => o.name === n), "Unexpected action name");
          const i = oSe(t);
          return E.assert(i && !zh(i), "Expected applicable refactor info"), { edits: nn.ChangeTracker.with(t, (o) => kze(t.file, t.program, o, i)), renameFilename: void 0, renameLocation: void 0 };
        }
      });
      function oSe(e, t = !0) {
        const { file: n } = e, i = lk(e), s = mi(n, i.start), o = t ? _r(s, z_(Uo, _m)) : RA(s, n, i);
        if (o === void 0 || !(Uo(o) || _m(o))) return { error: "Selection is not an import declaration." };
        const c = i.start + i.length, _ = a2(o, o.parent, n);
        if (_ && c > _.getStart()) return;
        const { importClause: u } = o;
        return u ? u.namedBindings ? u.namedBindings.kind === 274 ? { convertTo: 0, import: u.namedBindings } : cSe(e.program, u) ? { convertTo: 1, import: u.namedBindings } : { convertTo: 2, import: u.namedBindings } : { error: hs(p.Could_not_find_namespace_import_or_named_imports) } : { error: hs(p.Could_not_find_import_clause) };
      }
      function cSe(e, t) {
        return Dx(e.getCompilerOptions()) && Dze(t.parent.moduleSpecifier, e.getTypeChecker());
      }
      function kze(e, t, n, i) {
        const s = t.getTypeChecker();
        i.convertTo === 0 ? Cze(e, s, n, i.import, Dx(t.getCompilerOptions())) : uSe(
          e,
          t,
          n,
          i.import,
          i.convertTo === 1
          /* Default */
        );
      }
      function Cze(e, t, n, i, s) {
        let o = !1;
        const c = [], _ = /* @__PURE__ */ new Map();
        Eo.Core.eachSymbolReferenceInFile(i.name, t, e, (h) => {
          if (!KP(h.parent))
            o = !0;
          else {
            const S = lSe(h.parent).text;
            t.resolveName(
              S,
              h,
              -1,
              /*excludeGlobals*/
              !0
            ) && _.set(S, !0), E.assert(Eze(h.parent) === h, "Parent expression should match id"), c.push(h.parent);
          }
        });
        const u = /* @__PURE__ */ new Map();
        for (const h of c) {
          const S = lSe(h).text;
          let T = u.get(S);
          T === void 0 && u.set(S, T = _.has(S) ? YS(S, e) : S), n.replaceNode(e, h, N.createIdentifier(T));
        }
        const g = [];
        u.forEach((h, S) => {
          g.push(N.createImportSpecifier(
            /*isTypeOnly*/
            !1,
            h === S ? void 0 : N.createIdentifier(S),
            N.createIdentifier(h)
          ));
        });
        const m = i.parent.parent;
        if (o && !s && Uo(m))
          n.insertNodeAfter(e, m, _Se(
            m,
            /*defaultImportName*/
            void 0,
            g
          ));
        else {
          const h = o ? N.createIdentifier(i.name.text) : void 0;
          n.replaceNode(e, i.parent, fSe(h, g));
        }
      }
      function lSe(e) {
        return kn(e) ? e.name : e.right;
      }
      function Eze(e) {
        return kn(e) ? e.expression : e.left;
      }
      function uSe(e, t, n, i, s = cSe(t, i.parent)) {
        const o = t.getTypeChecker(), c = i.parent.parent, { moduleSpecifier: _ } = c, u = /* @__PURE__ */ new Set();
        i.elements.forEach((k) => {
          const D = o.getSymbolAtLocation(k.name);
          D && u.add(D);
        });
        const g = _ && la(_) ? qA(
          _.text,
          99
          /* ESNext */
        ) : "module";
        function m(k) {
          return !!Eo.Core.eachSymbolReferenceInFile(k.name, o, e, (D) => {
            const w = o.resolveName(
              g,
              D,
              -1,
              /*excludeGlobals*/
              !0
            );
            return w ? u.has(w) ? bu(D.parent) : !0 : !1;
          });
        }
        const S = i.elements.some(m) ? YS(g, e) : g, T = /* @__PURE__ */ new Set();
        for (const k of i.elements) {
          const D = k.propertyName || k.name;
          Eo.Core.eachSymbolReferenceInFile(k.name, o, e, (w) => {
            const A = D.kind === 11 ? N.createElementAccessExpression(N.createIdentifier(S), N.cloneNode(D)) : N.createPropertyAccessExpression(N.createIdentifier(S), N.cloneNode(D));
            _u(w.parent) ? n.replaceNode(e, w.parent, N.createPropertyAssignment(w.text, A)) : bu(w.parent) ? T.add(k) : n.replaceNode(e, w, A);
          });
        }
        if (n.replaceNode(
          e,
          i,
          s ? N.createIdentifier(S) : N.createNamespaceImport(N.createIdentifier(S))
        ), T.size && Uo(c)) {
          const k = rs(T.values(), (D) => N.createImportSpecifier(D.isTypeOnly, D.propertyName && N.cloneNode(D.propertyName), N.cloneNode(D.name)));
          n.insertNodeAfter(e, i.parent.parent, _Se(
            c,
            /*defaultImportName*/
            void 0,
            k
          ));
        }
      }
      function Dze(e, t) {
        const n = t.resolveExternalModuleName(e);
        if (!n) return !1;
        const i = t.resolveExternalModuleSymbol(n);
        return n !== i;
      }
      function _Se(e, t, n) {
        return N.createImportDeclaration(
          /*modifiers*/
          void 0,
          fSe(t, n),
          e.moduleSpecifier,
          /*attributes*/
          void 0
        );
      }
      function fSe(e, t) {
        return N.createImportClause(
          /*isTypeOnly*/
          !1,
          e,
          t && t.length ? N.createNamedImports(t) : void 0
        );
      }
      var hoe = "Extract type", Iq = {
        name: "Extract to type alias",
        description: hs(p.Extract_to_type_alias),
        kind: "refactor.extract.type"
      }, Fq = {
        name: "Extract to interface",
        description: hs(p.Extract_to_interface),
        kind: "refactor.extract.interface"
      }, Oq = {
        name: "Extract to typedef",
        description: hs(p.Extract_to_typedef),
        kind: "refactor.extract.typedef"
      };
      Xg(hoe, {
        kinds: [
          Iq.kind,
          Fq.kind,
          Oq.kind
        ],
        getAvailableActions: function(t) {
          const { info: n, affectedTextRange: i } = pSe(t, t.triggerReason === "invoked");
          return n ? zh(n) ? t.preferences.provideRefactorNotApplicableReason ? [{
            name: hoe,
            description: hs(p.Extract_type),
            actions: [
              { ...Oq, notApplicableReason: n.error },
              { ...Iq, notApplicableReason: n.error },
              { ...Fq, notApplicableReason: n.error }
            ]
          }] : Ue : [{
            name: hoe,
            description: hs(p.Extract_type),
            actions: n.isJS ? [Oq] : Dr([Iq], n.typeElements && Fq)
          }].map((o) => ({
            ...o,
            actions: o.actions.map((c) => ({
              ...c,
              range: i ? {
                start: { line: Js(t.file, i.pos).line, offset: Js(t.file, i.pos).character },
                end: { line: Js(t.file, i.end).line, offset: Js(t.file, i.end).character }
              } : void 0
            }))
          })) : Ue;
        },
        getEditsForAction: function(t, n) {
          const { file: i } = t, { info: s } = pSe(t);
          E.assert(s && !zh(s), "Expected to find a range to extract");
          const o = YS("NewType", i), c = nn.ChangeTracker.with(t, (g) => {
            switch (n) {
              case Iq.name:
                return E.assert(!s.isJS, "Invalid actionName/JS combo"), Nze(g, i, o, s);
              case Oq.name:
                return E.assert(s.isJS, "Invalid actionName/JS combo"), Ize(g, t, i, o, s);
              case Fq.name:
                return E.assert(!s.isJS && !!s.typeElements, "Invalid actionName/JS combo"), Aze(g, i, o, s);
              default:
                E.fail("Unexpected action name");
            }
          }), _ = i.fileName, u = JA(
            c,
            _,
            o,
            /*preferLastLocation*/
            !1
          );
          return { edits: c, renameFilename: _, renameLocation: u };
        }
      });
      function pSe(e, t = !0) {
        const { file: n, startPosition: i } = e, s = $u(n), o = T9(lk(e)), c = o.pos === o.end && t, _ = wze(n, i, o, c);
        if (!_ || !si(_)) return { info: { error: hs(p.Selection_is_not_a_valid_type_node) }, affectedTextRange: void 0 };
        const u = e.program.getTypeChecker(), g = Fze(_, s);
        if (g === void 0) return { info: { error: hs(p.No_type_could_be_extracted_from_this_type_node) }, affectedTextRange: void 0 };
        const m = Oze(_, g);
        if (!si(m)) return { info: { error: hs(p.Selection_is_not_a_valid_type_node) }, affectedTextRange: void 0 };
        const h = [];
        (w0(m.parent) || Wx(m.parent)) && o.end > _.end && wn(
          h,
          m.parent.types.filter((w) => p9(w, n, o.pos, o.end))
        );
        const S = h.length > 1 ? h : m, { typeParameters: T, affectedTextRange: k } = Pze(u, S, g, n);
        if (!T) return { info: { error: hs(p.No_type_could_be_extracted_from_this_type_node) }, affectedTextRange: void 0 };
        const D = Lq(u, S);
        return { info: { isJS: s, selection: S, enclosingNode: g, typeParameters: T, typeElements: D }, affectedTextRange: k };
      }
      function wze(e, t, n, i) {
        const s = [
          () => mi(e, t),
          () => H6(e, t, () => !0)
        ];
        for (const o of s) {
          const c = o(), _ = p9(c, e, n.pos, n.end), u = _r(c, (g) => g.parent && si(g) && !_2(n, g.parent, e) && (i || _));
          if (u)
            return u;
        }
      }
      function Lq(e, t) {
        if (t) {
          if (fs(t)) {
            const n = [];
            for (const i of t) {
              const s = Lq(e, i);
              if (!s) return;
              wn(n, s);
            }
            return n;
          }
          if (Wx(t)) {
            const n = [], i = /* @__PURE__ */ new Set();
            for (const s of t.types) {
              const o = Lq(e, s);
              if (!o || !o.every((c) => c.name && Pp(i, LA(c.name))))
                return;
              wn(n, o);
            }
            return n;
          } else {
            if (AS(t))
              return Lq(e, t.type);
            if (Yu(t))
              return t.members;
          }
        }
      }
      function _2(e, t, n) {
        return NA(e, ca(n.text, t.pos), t.end);
      }
      function Pze(e, t, n, i) {
        const s = [], o = qT(t), c = { pos: o[0].getStart(i), end: o[o.length - 1].end };
        for (const u of o)
          if (_(u)) return { typeParameters: void 0, affectedTextRange: void 0 };
        return { typeParameters: s, affectedTextRange: c };
        function _(u) {
          if (X_(u)) {
            if (Fe(u.typeName)) {
              const g = u.typeName, m = e.resolveName(
                g.text,
                g,
                262144,
                /*excludeGlobals*/
                !0
              );
              for (const h of m?.declarations || Ue)
                if (Fo(h) && h.getSourceFile() === i) {
                  if (h.name.escapedText === g.escapedText && _2(h, c, i))
                    return !0;
                  if (_2(n, h, i) && !_2(c, h, i)) {
                    $f(s, h);
                    break;
                  }
                }
            }
          } else if (NS(u)) {
            const g = _r(u, (m) => Ub(m) && _2(m.extendsType, u, i));
            if (!g || !_2(c, g, i))
              return !0;
          } else if (Jx(u) || ND(u)) {
            const g = _r(u.parent, Ts);
            if (g && g.type && _2(g.type, u, i) && !_2(c, g, i))
              return !0;
          } else if (Vb(u)) {
            if (Fe(u.exprName)) {
              const g = e.resolveName(
                u.exprName.text,
                u.exprName,
                111551,
                /*excludeGlobals*/
                !1
              );
              if (g?.valueDeclaration && _2(n, g.valueDeclaration, i) && !_2(c, g.valueDeclaration, i))
                return !0;
            } else if (Xy(u.exprName.left) && !_2(c, u.parent, i))
              return !0;
          }
          return i && zx(u) && Js(i, u.pos).line === Js(i, u.end).line && an(
            u,
            1
            /* SingleLine */
          ), Ss(u, _);
        }
      }
      function Nze(e, t, n, i) {
        const { enclosingNode: s, typeParameters: o } = i, { firstTypeNode: c, lastTypeNode: _, newTypeNode: u } = yoe(i), g = N.createTypeAliasDeclaration(
          /*modifiers*/
          void 0,
          n,
          o.map((m) => N.updateTypeParameterDeclaration(
            m,
            m.modifiers,
            m.name,
            m.constraint,
            /*defaultType*/
            void 0
          )),
          u
        );
        e.insertNodeBefore(
          t,
          s,
          KJ(g),
          /*blankLineBetween*/
          !0
        ), e.replaceNodeRange(t, c, _, N.createTypeReferenceNode(n, o.map((m) => N.createTypeReferenceNode(
          m.name,
          /*typeArguments*/
          void 0
        ))), { leadingTriviaOption: nn.LeadingTriviaOption.Exclude, trailingTriviaOption: nn.TrailingTriviaOption.ExcludeWhitespace });
      }
      function Aze(e, t, n, i) {
        var s;
        const { enclosingNode: o, typeParameters: c, typeElements: _ } = i, u = N.createInterfaceDeclaration(
          /*modifiers*/
          void 0,
          n,
          c,
          /*heritageClauses*/
          void 0,
          _
        );
        ot(u, (s = _[0]) == null ? void 0 : s.parent), e.insertNodeBefore(
          t,
          o,
          KJ(u),
          /*blankLineBetween*/
          !0
        );
        const { firstTypeNode: g, lastTypeNode: m } = yoe(i);
        e.replaceNodeRange(t, g, m, N.createTypeReferenceNode(n, c.map((h) => N.createTypeReferenceNode(
          h.name,
          /*typeArguments*/
          void 0
        ))), { leadingTriviaOption: nn.LeadingTriviaOption.Exclude, trailingTriviaOption: nn.TrailingTriviaOption.ExcludeWhitespace });
      }
      function Ize(e, t, n, i, s) {
        var o;
        qT(s.selection).forEach((k) => {
          an(
            k,
            7168
            /* NoNestedComments */
          );
        });
        const { enclosingNode: c, typeParameters: _ } = s, { firstTypeNode: u, lastTypeNode: g, newTypeNode: m } = yoe(s), h = N.createJSDocTypedefTag(
          N.createIdentifier("typedef"),
          N.createJSDocTypeExpression(m),
          N.createIdentifier(i)
        ), S = [];
        ar(_, (k) => {
          const D = PC(k), w = N.createTypeParameterDeclaration(
            /*modifiers*/
            void 0,
            k.name
          ), A = N.createJSDocTemplateTag(
            N.createIdentifier("template"),
            D && Us(D, lv),
            [w]
          );
          S.push(A);
        });
        const T = N.createJSDocComment(
          /*comment*/
          void 0,
          N.createNodeArray(Ji(S, [h]))
        );
        if (bd(c)) {
          const k = c.getStart(n), D = Jh(t.host, (o = t.formatContext) == null ? void 0 : o.options);
          e.insertNodeAt(n, c.getStart(n), T, {
            suffix: D + D + n.text.slice(N9(n.text, k - 1), k)
          });
        } else
          e.insertNodeBefore(
            n,
            c,
            T,
            /*blankLineBetween*/
            !0
          );
        e.replaceNodeRange(n, u, g, N.createTypeReferenceNode(i, _.map((k) => N.createTypeReferenceNode(
          k.name,
          /*typeArguments*/
          void 0
        ))));
      }
      function yoe(e) {
        return fs(e.selection) ? {
          firstTypeNode: e.selection[0],
          lastTypeNode: e.selection[e.selection.length - 1],
          newTypeNode: w0(e.selection[0].parent) ? N.createUnionTypeNode(e.selection) : N.createIntersectionTypeNode(e.selection)
        } : {
          firstTypeNode: e.selection,
          lastTypeNode: e.selection,
          newTypeNode: e.selection
        };
      }
      function Fze(e, t) {
        return _r(e, yi) || (t ? _r(e, bd) : void 0);
      }
      function Oze(e, t) {
        return _r(e, (n) => n === t ? "quit" : !!(w0(n.parent) || Wx(n.parent))) ?? e;
      }
      var Mq = "Move to file", voe = hs(p.Move_to_file), boe = {
        name: "Move to file",
        description: voe,
        kind: "refactor.move.file"
      };
      Xg(Mq, {
        kinds: [boe.kind],
        getAvailableActions: function(t, n) {
          const i = t.file, s = YA(t);
          if (!n)
            return Ue;
          if (t.triggerReason === "implicit" && t.endPosition !== void 0) {
            const o = _r(mi(i, t.startPosition), uk), c = _r(mi(i, t.endPosition), uk);
            if (o && !xi(o) && c && !xi(c))
              return Ue;
          }
          if (t.preferences.allowTextChangesInNewFiles && s) {
            const o = {
              start: { line: Js(i, s.all[0].getStart(i)).line, offset: Js(i, s.all[0].getStart(i)).character },
              end: { line: Js(i, pa(s.all).end).line, offset: Js(i, pa(s.all).end).character }
            };
            return [{ name: Mq, description: voe, actions: [{ ...boe, range: o }] }];
          }
          return t.preferences.provideRefactorNotApplicableReason ? [{ name: Mq, description: voe, actions: [{ ...boe, notApplicableReason: hs(p.Selection_is_not_a_valid_statement_or_statements) }] }] : Ue;
        },
        getEditsForAction: function(t, n, i) {
          E.assert(n === Mq, "Wrong refactor invoked");
          const s = E.checkDefined(YA(t)), { host: o, program: c } = t;
          E.assert(i, "No interactive refactor arguments available");
          const _ = i.targetFile;
          return Wg(_) || CS(_) ? o.fileExists(_) && c.getSourceFile(_) === void 0 ? dSe(hs(p.Cannot_move_statements_to_the_selected_file)) : { edits: nn.ChangeTracker.with(t, (g) => Lze(t, t.file, i.targetFile, t.program, s, g, t.host, t.preferences)), renameFilename: void 0, renameLocation: void 0 } : dSe(hs(p.Cannot_move_to_file_selected_file_is_invalid));
        }
      });
      function dSe(e) {
        return { edits: [], renameFilename: void 0, renameLocation: void 0, notApplicableReason: e };
      }
      function Lze(e, t, n, i, s, o, c, _) {
        const u = i.getTypeChecker(), g = !c.fileExists(n), m = g ? U9(n, t.externalModuleIndicator ? 99 : t.commonJsModuleIndicator ? 1 : void 0, i, c) : E.checkDefined(i.getSourceFile(n)), h = ku.createImportAdder(t, e.program, e.preferences, e.host), S = ku.createImportAdder(m, e.program, e.preferences, e.host);
        Soe(t, m, Z9(t, s.all, u, g ? void 0 : Aoe(m, s.all, u)), o, s, i, c, _, S, h), g && Toe(i, o, t.fileName, n, Nh(c));
      }
      function Soe(e, t, n, i, s, o, c, _, u, g) {
        const m = o.getTypeChecker(), h = BR(e.statements, Qd), S = !lq(t.fileName, o, c, !!e.commonJsModuleIndicator), T = K_(e, _);
        koe(n.oldFileImportsFromTargetFile, t.fileName, g, o), Rze(e, s.all, n.unusedImportsFromOldFile, g), g.writeFixes(i, T), Mze(e, s.ranges, i), jze(i, o, c, e, n.movedSymbols, t.fileName, T), xoe(e, n.targetFileImportsFromOldFile, i, S), Foe(e, n.oldImportsNeededByTargetFile, n.targetFileImportsFromOldFile, m, o, u), !Mg(t) && h.length && i.insertStatementsInNewFile(t.fileName, h, e), u.writeFixes(i, T);
        const k = Uze(e, s.all, rs(n.oldFileImportsFromTargetFile.keys()), S);
        Mg(t) && t.statements.length > 0 ? aWe(i, o, k, t, s) : Mg(t) ? i.insertNodesAtEndOfFile(
          t,
          k,
          /*blankLineBetween*/
          !1
        ) : i.insertStatementsInNewFile(t.fileName, u.hasFixes() ? [4, ...k] : k, e);
      }
      function Toe(e, t, n, i, s) {
        const o = e.getCompilerOptions().configFile;
        if (!o) return;
        const c = Gs(An(n, "..", i)), _ = kC(o.fileName, c, s), u = o.statements[0] && Mn(o.statements[0].expression, ua), g = u && Dn(u.properties, (m) => tl(m) && la(m.name) && m.name.text === "files");
        g && Ql(g.initializer) && t.insertNodeInListAfter(o, pa(g.initializer.elements), N.createStringLiteral(_), g.initializer.elements);
      }
      function Mze(e, t, n) {
        for (const { first: i, afterLast: s } of t)
          n.deleteNodeRangeExcludingEnd(e, i, s);
      }
      function Rze(e, t, n, i) {
        for (const s of e.statements)
          _s(t, s) || gSe(s, (o) => {
            hSe(o, (c) => {
              n.has(c.symbol) && i.removeExistingImport(c);
            });
          });
      }
      function xoe(e, t, n, i) {
        const s = G6();
        t.forEach((o, c) => {
          if (c.declarations)
            for (const _ of c.declarations) {
              if (!Noe(_)) continue;
              const u = Zze(_);
              if (!u) continue;
              const g = SSe(_);
              s(g) && Kze(e, g, u, n, i);
            }
        });
      }
      function jze(e, t, n, i, s, o, c) {
        const _ = t.getTypeChecker();
        for (const u of t.getSourceFiles())
          if (u !== i)
            for (const g of u.statements)
              gSe(g, (m) => {
                if (_.getSymbolAtLocation(Wze(m)) !== i.symbol) return;
                const h = (w) => {
                  const A = ya(w.parent) ? w9(_, w.parent) : $l(_.getSymbolAtLocation(w), _);
                  return !!A && s.has(A);
                };
                qze(u, m, e, h);
                const S = Ay(Un(Xi(i.fileName, t.getCurrentDirectory())), o);
                if (vC(!t.useCaseSensitiveFileNames())(S, u.fileName) === 0) return;
                const T = Bh.getModuleSpecifier(t.getCompilerOptions(), u, u.fileName, S, bv(t, n)), k = Xze(m, yw(T, c), h);
                k && e.insertNodeAfter(u, g, k);
                const D = Bze(m);
                D && Jze(e, u, _, s, T, D, m, c);
              });
      }
      function Bze(e) {
        switch (e.kind) {
          case 272:
            return e.importClause && e.importClause.namedBindings && e.importClause.namedBindings.kind === 274 ? e.importClause.namedBindings.name : void 0;
          case 271:
            return e.name;
          case 260:
            return Mn(e.name, Fe);
          default:
            return E.assertNever(e, `Unexpected node kind ${e.kind}`);
        }
      }
      function Jze(e, t, n, i, s, o, c, _) {
        const u = qA(
          s,
          99
          /* ESNext */
        );
        let g = !1;
        const m = [];
        if (Eo.Core.eachSymbolReferenceInFile(o, n, t, (h) => {
          kn(h.parent) && (g = g || !!n.resolveName(
            u,
            h,
            -1,
            /*excludeGlobals*/
            !0
          ), i.has(n.getSymbolAtLocation(h.parent.name)) && m.push(h));
        }), m.length) {
          const h = g ? YS(u, t) : u;
          for (const S of m)
            e.replaceNode(t, S, N.createIdentifier(h));
          e.insertNodeAfter(t, c, zze(c, u, s, _));
        }
      }
      function zze(e, t, n, i) {
        const s = N.createIdentifier(t), o = yw(n, i);
        switch (e.kind) {
          case 272:
            return N.createImportDeclaration(
              /*modifiers*/
              void 0,
              N.createImportClause(
                /*isTypeOnly*/
                !1,
                /*name*/
                void 0,
                N.createNamespaceImport(s)
              ),
              o,
              /*attributes*/
              void 0
            );
          case 271:
            return N.createImportEqualsDeclaration(
              /*modifiers*/
              void 0,
              /*isTypeOnly*/
              !1,
              s,
              N.createExternalModuleReference(o)
            );
          case 260:
            return N.createVariableDeclaration(
              s,
              /*exclamationToken*/
              void 0,
              /*type*/
              void 0,
              mSe(o)
            );
          default:
            return E.assertNever(e, `Unexpected node kind ${e.kind}`);
        }
      }
      function mSe(e) {
        return N.createCallExpression(
          N.createIdentifier("require"),
          /*typeArguments*/
          void 0,
          [e]
        );
      }
      function Wze(e) {
        return e.kind === 272 ? e.moduleSpecifier : e.kind === 271 ? e.moduleReference.expression : e.initializer.arguments[0];
      }
      function gSe(e, t) {
        if (Uo(e))
          la(e.moduleSpecifier) && t(e);
        else if (bl(e))
          Mh(e.moduleReference) && Ba(e.moduleReference.expression) && t(e);
        else if (Sc(e))
          for (const n of e.declarationList.declarations)
            n.initializer && f_(
              n.initializer,
              /*requireStringLiteralLikeArgument*/
              !0
            ) && t(n);
      }
      function hSe(e, t) {
        var n, i, s, o, c;
        if (e.kind === 272) {
          if ((n = e.importClause) != null && n.name && t(e.importClause), ((s = (i = e.importClause) == null ? void 0 : i.namedBindings) == null ? void 0 : s.kind) === 274 && t(e.importClause.namedBindings), ((c = (o = e.importClause) == null ? void 0 : o.namedBindings) == null ? void 0 : c.kind) === 275)
            for (const _ of e.importClause.namedBindings.elements)
              t(_);
        } else if (e.kind === 271)
          t(e);
        else if (e.kind === 260) {
          if (e.name.kind === 80)
            t(e);
          else if (e.name.kind === 206)
            for (const _ of e.name.elements)
              Fe(_.name) && t(_);
        }
      }
      function koe(e, t, n, i) {
        for (const [s, o] of e) {
          const c = B9(s, ga(i.getCompilerOptions())), _ = s.name === "default" && s.parent ? 1 : 0;
          n.addImportForNonExistentExport(c, t, _, s.flags, o);
        }
      }
      function Vze(e, t, n, i = 2) {
        return N.createVariableStatement(
          /*modifiers*/
          void 0,
          N.createVariableDeclarationList([N.createVariableDeclaration(
            e,
            /*exclamationToken*/
            void 0,
            t,
            n
          )], i)
        );
      }
      function Uze(e, t, n, i) {
        return oa(t, (s) => {
          if (vSe(s) && !ySe(e, s, i) && Poe(s, (o) => {
            var c;
            return n.includes(E.checkDefined((c = Mn(o, fd)) == null ? void 0 : c.symbol));
          })) {
            const o = Hze(qa(s), i);
            if (o) return o;
          }
          return qa(s);
        });
      }
      function ySe(e, t, n, i) {
        var s;
        return n ? !Pl(t) && qn(
          t,
          32
          /* Export */
        ) || !!(i && e.symbol && ((s = e.symbol.exports) != null && s.has(i.escapedText))) : !!e.symbol && !!e.symbol.exports && Coe(t).some((o) => e.symbol.exports.has(ec(o)));
      }
      function qze(e, t, n, i) {
        if (t.kind === 272 && t.importClause) {
          const { name: s, namedBindings: o } = t.importClause;
          if ((!s || i(s)) && (!o || o.kind === 275 && o.elements.length !== 0 && o.elements.every((c) => i(c.name))))
            return n.delete(e, t);
        }
        hSe(t, (s) => {
          s.name && Fe(s.name) && i(s.name) && n.delete(e, s);
        });
      }
      function vSe(e) {
        return E.assert(xi(e.parent), "Node parent should be a SourceFile"), kSe(e) || Sc(e);
      }
      function Hze(e, t) {
        return t ? [Gze(e)] : $ze(e);
      }
      function Gze(e) {
        const t = Fp(e) ? Ji([N.createModifier(
          95
          /* ExportKeyword */
        )], yb(e)) : void 0;
        switch (e.kind) {
          case 262:
            return N.updateFunctionDeclaration(e, t, e.asteriskToken, e.name, e.typeParameters, e.parameters, e.type, e.body);
          case 263:
            const n = Zb(e) ? Fy(e) : void 0;
            return N.updateClassDeclaration(e, Ji(n, t), e.name, e.typeParameters, e.heritageClauses, e.members);
          case 243:
            return N.updateVariableStatement(e, t, e.declarationList);
          case 267:
            return N.updateModuleDeclaration(e, t, e.name, e.body);
          case 266:
            return N.updateEnumDeclaration(e, t, e.name, e.members);
          case 265:
            return N.updateTypeAliasDeclaration(e, t, e.name, e.typeParameters, e.type);
          case 264:
            return N.updateInterfaceDeclaration(e, t, e.name, e.typeParameters, e.heritageClauses, e.members);
          case 271:
            return N.updateImportEqualsDeclaration(e, t, e.isTypeOnly, e.name, e.moduleReference);
          case 244:
            return E.fail();
          default:
            return E.assertNever(e, `Unexpected declaration kind ${e.kind}`);
        }
      }
      function $ze(e) {
        return [e, ...Coe(e).map(bSe)];
      }
      function bSe(e) {
        return N.createExpressionStatement(
          N.createBinaryExpression(
            N.createPropertyAccessExpression(N.createIdentifier("exports"), N.createIdentifier(e)),
            64,
            N.createIdentifier(e)
          )
        );
      }
      function Coe(e) {
        switch (e.kind) {
          case 262:
          case 263:
            return [e.name.text];
          // TODO: GH#18217
          case 243:
            return Oi(e.declarationList.declarations, (t) => Fe(t.name) ? t.name.text : void 0);
          case 267:
          case 266:
          case 265:
          case 264:
          case 271:
            return Ue;
          case 244:
            return E.fail("Can't export an ExpressionStatement");
          default:
            return E.assertNever(e, `Unexpected decl kind ${e.kind}`);
        }
      }
      function Xze(e, t, n) {
        switch (e.kind) {
          case 272: {
            const i = e.importClause;
            if (!i) return;
            const s = i.name && n(i.name) ? i.name : void 0, o = i.namedBindings && Qze(i.namedBindings, n);
            return s || o ? N.createImportDeclaration(
              /*modifiers*/
              void 0,
              N.createImportClause(i.isTypeOnly, s, o),
              qa(t),
              /*attributes*/
              void 0
            ) : void 0;
          }
          case 271:
            return n(e.name) ? e : void 0;
          case 260: {
            const i = Yze(e.name, n);
            return i ? Vze(i, e.type, mSe(t), e.parent.flags) : void 0;
          }
          default:
            return E.assertNever(e, `Unexpected import kind ${e.kind}`);
        }
      }
      function Qze(e, t) {
        if (e.kind === 274)
          return t(e.name) ? e : void 0;
        {
          const n = e.elements.filter((i) => t(i.name));
          return n.length ? N.createNamedImports(n) : void 0;
        }
      }
      function Yze(e, t) {
        switch (e.kind) {
          case 80:
            return t(e) ? e : void 0;
          case 207:
            return e;
          case 206: {
            const n = e.elements.filter((i) => i.propertyName || !Fe(i.name) || t(i.name));
            return n.length ? N.createObjectBindingPattern(n) : void 0;
          }
        }
      }
      function Zze(e) {
        return Pl(e) ? Mn(e.expression.left.name, Fe) : Mn(e.name, Fe);
      }
      function SSe(e) {
        switch (e.kind) {
          case 260:
            return e.parent.parent;
          case 208:
            return SSe(
              Us(e.parent.parent, (t) => Zn(t) || ya(t))
            );
          default:
            return e;
        }
      }
      function Kze(e, t, n, i, s) {
        if (!ySe(e, t, s, n))
          if (s)
            Pl(t) || i.insertExportModifier(e, t);
          else {
            const o = Coe(t);
            o.length !== 0 && i.insertNodesAfter(e, t, o.map(bSe));
          }
      }
      function Eoe(e, t, n, i) {
        const s = t.getTypeChecker();
        if (i) {
          const o = Z9(e, i.all, s), c = Un(e.fileName), _ = fD(e.fileName);
          return An(
            // new file is always placed in the same directory as the old file
            c,
            // ensures the filename computed below isn't already taken
            nWe(
              // infers a name for the new file from the symbols being moved
              iWe(o.oldFileImportsFromTargetFile, o.movedSymbols),
              _,
              c,
              n
            )
          ) + _;
        }
        return "";
      }
      function eWe(e) {
        const { file: t } = e, n = T9(lk(e)), { statements: i } = t;
        let s = oc(i, (g) => g.end > n.pos);
        if (s === -1) return;
        const o = i[s], c = CSe(t, o);
        c && (s = c.start);
        let _ = oc(i, (g) => g.end >= n.end, s);
        _ !== -1 && n.end <= i[_].getStart() && _--;
        const u = CSe(t, i[_]);
        return u && (_ = u.end), {
          toMove: i.slice(s, _ === -1 ? i.length : _ + 1),
          afterLast: _ === -1 ? void 0 : i[_ + 1]
        };
      }
      function YA(e) {
        const t = eWe(e);
        if (t === void 0) return;
        const n = [], i = [], { toMove: s, afterLast: o } = t;
        return TR(s, tWe, (c, _) => {
          for (let u = c; u < _; u++) n.push(s[u]);
          i.push({ first: s[c], afterLast: o });
        }), n.length === 0 ? void 0 : { all: n, ranges: i };
      }
      function Doe(e) {
        return Dn(e, (t) => !!(t.transformFlags & 2));
      }
      function tWe(e) {
        return !rWe(e) && !Qd(e);
      }
      function rWe(e) {
        switch (e.kind) {
          case 272:
            return !0;
          case 271:
            return !qn(
              e,
              32
              /* Export */
            );
          case 243:
            return e.declarationList.declarations.every((t) => !!t.initializer && f_(
              t.initializer,
              /*requireStringLiteralLikeArgument*/
              !0
            ));
          default:
            return !1;
        }
      }
      function Z9(e, t, n, i = /* @__PURE__ */ new Set(), s) {
        var o;
        const c = /* @__PURE__ */ new Set(), _ = /* @__PURE__ */ new Map(), u = /* @__PURE__ */ new Map(), g = S(Doe(t));
        g && _.set(g, [!1, Mn((o = g.declarations) == null ? void 0 : o[0], (T) => Bu(T) || Qp(T) || Hg(T) || bl(T) || ya(T) || Zn(T))]);
        for (const T of t)
          Poe(T, (k) => {
            c.add(E.checkDefined(Pl(k) ? n.getSymbolAtLocation(k.expression.left) : k.symbol, "Need a symbol here"));
          });
        const m = /* @__PURE__ */ new Set();
        for (const T of t)
          woe(T, n, s, (k, D) => {
            if (!at(k.declarations))
              return;
            if (i.has($l(k, n))) {
              m.add(k);
              return;
            }
            const w = Dn(k.declarations, Rq);
            if (w) {
              const A = _.get(k);
              _.set(k, [
                (A === void 0 || A) && D,
                Mn(w, (O) => Bu(O) || Qp(O) || Hg(O) || bl(O) || ya(O) || Zn(O))
              ]);
            } else !c.has(k) && Pi(k.declarations, (A) => Noe(A) && sWe(A) === e) && u.set(k, D);
          });
        for (const T of _.keys())
          m.add(T);
        const h = /* @__PURE__ */ new Map();
        for (const T of e.statements)
          _s(t, T) || (g && T.transformFlags & 2 && m.delete(g), woe(T, n, s, (k, D) => {
            c.has(k) && h.set(k, D), m.delete(k);
          }));
        return { movedSymbols: c, targetFileImportsFromOldFile: u, oldFileImportsFromTargetFile: h, oldImportsNeededByTargetFile: _, unusedImportsFromOldFile: m };
        function S(T) {
          if (T === void 0)
            return;
          const k = n.getJsxNamespace(T), D = n.resolveName(
            k,
            T,
            1920,
            /*excludeGlobals*/
            !0
          );
          return D && at(D.declarations, Rq) ? D : void 0;
        }
      }
      function nWe(e, t, n, i) {
        let s = e;
        for (let o = 1; ; o++) {
          const c = An(n, s + t);
          if (!i.fileExists(c)) return s;
          s = `${e}.${o}`;
        }
      }
      function iWe(e, t) {
        return Fg(e, RU) || Fg(t, RU) || "newFile";
      }
      function woe(e, t, n, i) {
        e.forEachChild(function s(o) {
          if (Fe(o) && !Xm(o)) {
            if (n && !d_(n, o))
              return;
            const c = t.getSymbolAtLocation(o);
            c && i(c, ev(o));
          } else
            o.forEachChild(s);
        });
      }
      function Poe(e, t) {
        switch (e.kind) {
          case 262:
          case 263:
          case 267:
          case 266:
          case 265:
          case 264:
          case 271:
            return t(e);
          case 243:
            return Ic(e.declarationList.declarations, (n) => xSe(n.name, t));
          case 244: {
            const { expression: n } = e;
            return _n(n) && Pc(n) === 1 ? t(e) : void 0;
          }
        }
      }
      function Rq(e) {
        switch (e.kind) {
          case 271:
          case 276:
          case 273:
          case 274:
            return !0;
          case 260:
            return TSe(e);
          case 208:
            return Zn(e.parent.parent) && TSe(e.parent.parent);
          default:
            return !1;
        }
      }
      function TSe(e) {
        return xi(e.parent.parent.parent) && !!e.initializer && f_(
          e.initializer,
          /*requireStringLiteralLikeArgument*/
          !0
        );
      }
      function Noe(e) {
        return kSe(e) && xi(e.parent) || Zn(e) && xi(e.parent.parent.parent);
      }
      function sWe(e) {
        return Zn(e) ? e.parent.parent.parent : e.parent;
      }
      function xSe(e, t) {
        switch (e.kind) {
          case 80:
            return t(Us(e.parent, (n) => Zn(n) || ya(n)));
          case 207:
          case 206:
            return Ic(e.elements, (n) => vl(n) ? void 0 : xSe(n.name, t));
          default:
            return E.assertNever(e, `Unexpected name kind ${e.kind}`);
        }
      }
      function kSe(e) {
        switch (e.kind) {
          case 262:
          case 263:
          case 267:
          case 266:
          case 265:
          case 264:
          case 271:
            return !0;
          default:
            return !1;
        }
      }
      function aWe(e, t, n, i, s) {
        var o;
        const c = /* @__PURE__ */ new Set(), _ = (o = i.symbol) == null ? void 0 : o.exports;
        if (_) {
          const g = t.getTypeChecker(), m = /* @__PURE__ */ new Map();
          for (const h of s.all)
            vSe(h) && qn(
              h,
              32
              /* Export */
            ) && Poe(h, (S) => {
              var T;
              const k = fd(S) ? (T = _.get(S.symbol.escapedName)) == null ? void 0 : T.declarations : void 0, D = Ic(k, (w) => Oc(w) ? w : bu(w) ? Mn(w.parent.parent, Oc) : void 0);
              D && D.moduleSpecifier && m.set(D, (m.get(D) || /* @__PURE__ */ new Set()).add(S));
            });
          for (const [h, S] of rs(m))
            if (h.exportClause && cp(h.exportClause) && Ar(h.exportClause.elements)) {
              const T = h.exportClause.elements, k = Tn(T, (D) => Dn($l(D.symbol, g).declarations, (w) => Noe(w) && S.has(w)) === void 0);
              if (Ar(k) === 0) {
                e.deleteNode(i, h), c.add(h);
                continue;
              }
              Ar(k) < Ar(T) && e.replaceNode(i, h, N.updateExportDeclaration(h, h.modifiers, h.isTypeOnly, N.updateNamedExports(h.exportClause, N.createNodeArray(k, T.hasTrailingComma)), h.moduleSpecifier, h.attributes));
            }
        }
        const u = fb(i.statements, (g) => Oc(g) && !!g.moduleSpecifier && !c.has(g));
        u ? e.insertNodesBefore(
          i,
          u,
          n,
          /*blankLineBetween*/
          !0
        ) : e.insertNodesAfter(i, i.statements[i.statements.length - 1], n);
      }
      function CSe(e, t) {
        if (uo(t)) {
          const n = t.symbol.declarations;
          if (n === void 0 || Ar(n) <= 1 || !_s(n, t))
            return;
          const i = n[0], s = n[Ar(n) - 1], o = Oi(n, (u) => Er(u) === e && yi(u) ? u : void 0), c = oc(e.statements, (u) => u.end >= s.end), _ = oc(e.statements, (u) => u.end >= i.end);
          return { toMove: o, start: _, end: c };
        }
      }
      function Aoe(e, t, n) {
        const i = /* @__PURE__ */ new Set();
        for (const s of e.imports) {
          const o = V4(s);
          if (Uo(o) && o.importClause && o.importClause.namedBindings && cm(o.importClause.namedBindings))
            for (const c of o.importClause.namedBindings.elements) {
              const _ = n.getSymbolAtLocation(c.propertyName || c.name);
              _ && i.add($l(_, n));
            }
          if (x3(o.parent) && Nf(o.parent.name))
            for (const c of o.parent.name.elements) {
              const _ = n.getSymbolAtLocation(c.propertyName || c.name);
              _ && i.add($l(_, n));
            }
        }
        for (const s of t)
          woe(
            s,
            n,
            /*enclosingRange*/
            void 0,
            (o) => {
              const c = $l(o, n);
              c.valueDeclaration && Er(c.valueDeclaration).path === e.path && i.add(c);
            }
          );
        return i;
      }
      function zh(e) {
        return e.error !== void 0;
      }
      function kv(e, t) {
        return t ? e.substr(0, t.length) === t : !0;
      }
      function Ioe(e, t, n, i) {
        return kn(e) && !Xn(t) && !n.resolveName(
          e.name.text,
          e,
          111551,
          /*excludeGlobals*/
          !1
        ) && !Di(e.name) && !sS(e.name) ? e.name.text : YS(Xn(t) ? "newProperty" : "newLocal", i);
      }
      function Foe(e, t, n, i, s, o) {
        t.forEach(([c, _], u) => {
          var g;
          const m = $l(u, i);
          i.isUnknownSymbol(m) ? o.addVerbatimImport(E.checkDefined(_ ?? _r((g = u.declarations) == null ? void 0 : g[0], HZ))) : m.parent === void 0 ? (E.assert(_ !== void 0, "expected module symbol to have a declaration"), o.addImportForModuleSymbol(u, c, _)) : o.addImportFromExportedSymbol(m, c, _);
        }), koe(n, e.fileName, o, s);
      }
      var K9 = "Inline variable", Ooe = hs(p.Inline_variable), Loe = {
        name: K9,
        description: Ooe,
        kind: "refactor.inline.variable"
      };
      Xg(K9, {
        kinds: [Loe.kind],
        getAvailableActions(e) {
          const {
            file: t,
            program: n,
            preferences: i,
            startPosition: s,
            triggerReason: o
          } = e, c = ESe(t, s, o === "invoked", n);
          return c ? fk.isRefactorErrorInfo(c) ? i.provideRefactorNotApplicableReason ? [{
            name: K9,
            description: Ooe,
            actions: [{
              ...Loe,
              notApplicableReason: c.error
            }]
          }] : Ue : [{
            name: K9,
            description: Ooe,
            actions: [Loe]
          }] : Ue;
        },
        getEditsForAction(e, t) {
          E.assert(t === K9, "Unexpected refactor invoked");
          const { file: n, program: i, startPosition: s } = e, o = ESe(
            n,
            s,
            /*tryWithReferenceToken*/
            !0,
            i
          );
          if (!o || fk.isRefactorErrorInfo(o))
            return;
          const { references: c, declaration: _, replacement: u } = o;
          return { edits: nn.ChangeTracker.with(e, (m) => {
            for (const h of c) {
              const S = la(u) && Fe(h) && Gp(h.parent);
              S && m6(S) && !iv(S.parent.parent) ? cWe(m, n, S, u) : m.replaceNode(n, h, oWe(h, u));
            }
            m.delete(n, _);
          }) };
        }
      });
      function ESe(e, t, n, i) {
        var s, o;
        const c = i.getTypeChecker(), _ = h_(e, t), u = _.parent;
        if (Fe(_)) {
          if (eN(u) && R4(u) && Fe(u.name)) {
            if (((s = c.getMergedSymbol(u.symbol).declarations) == null ? void 0 : s.length) !== 1)
              return { error: hs(p.Variables_with_multiple_declarations_cannot_be_inlined) };
            if (DSe(u))
              return;
            const g = wSe(u, c, e);
            return g && { references: g, declaration: u, replacement: u.initializer };
          }
          if (n) {
            let g = c.resolveName(
              _.text,
              _,
              111551,
              /*excludeGlobals*/
              !1
            );
            if (g = g && c.getMergedSymbol(g), ((o = g?.declarations) == null ? void 0 : o.length) !== 1)
              return { error: hs(p.Variables_with_multiple_declarations_cannot_be_inlined) };
            const m = g.declarations[0];
            if (!eN(m) || !R4(m) || !Fe(m.name) || DSe(m))
              return;
            const h = wSe(m, c, e);
            return h && { references: h, declaration: m, replacement: m.initializer };
          }
          return { error: hs(p.Could_not_find_variable_to_inline) };
        }
      }
      function DSe(e) {
        const t = Us(e.parent.parent, Sc);
        return at(t.modifiers, Rx);
      }
      function wSe(e, t, n) {
        const i = [], s = Eo.Core.eachSymbolReferenceInFile(e.name, t, n, (o) => {
          if (Eo.isWriteAccessForReference(o) && !_u(o.parent) || bu(o.parent) || Oo(o.parent) || Vb(o.parent) || JP(e, o.pos))
            return !0;
          i.push(o);
        });
        return i.length === 0 || s ? void 0 : i;
      }
      function oWe(e, t) {
        t = qa(t);
        const { parent: n } = e;
        return lt(n) && (Q4(t) < Q4(n) || A9(n)) || Ts(t) && (Sb(n) || kn(n)) || kn(n) && (m_(t) || ua(t)) ? N.createParenthesizedExpression(t) : Fe(e) && _u(n) ? N.createPropertyAssignment(e, t) : t;
      }
      function cWe(e, t, n, i) {
        const s = n.parent, o = s.templateSpans.indexOf(n), c = o === 0 ? s.head : s.templateSpans[o - 1];
        e.replaceRangeWithText(
          t,
          {
            pos: c.getEnd() - 2,
            end: n.literal.getStart() + 1
          },
          i.text.replace(/\\/g, "\\\\").replace(/`/g, "\\`")
        );
      }
      var eL = "Move to a new file", Moe = hs(p.Move_to_a_new_file), Roe = {
        name: eL,
        description: Moe,
        kind: "refactor.move.newFile"
      };
      Xg(eL, {
        kinds: [Roe.kind],
        getAvailableActions: function(t) {
          const n = YA(t), i = t.file;
          if (t.triggerReason === "implicit" && t.endPosition !== void 0) {
            const s = _r(mi(i, t.startPosition), uk), o = _r(mi(i, t.endPosition), uk);
            if (s && !xi(s) && o && !xi(o))
              return Ue;
          }
          if (t.preferences.allowTextChangesInNewFiles && n) {
            const s = t.file, o = {
              start: { line: Js(s, n.all[0].getStart(s)).line, offset: Js(s, n.all[0].getStart(s)).character },
              end: { line: Js(s, pa(n.all).end).line, offset: Js(s, pa(n.all).end).character }
            };
            return [{ name: eL, description: Moe, actions: [{ ...Roe, range: o }] }];
          }
          return t.preferences.provideRefactorNotApplicableReason ? [{ name: eL, description: Moe, actions: [{ ...Roe, notApplicableReason: hs(p.Selection_is_not_a_valid_statement_or_statements) }] }] : Ue;
        },
        getEditsForAction: function(t, n) {
          E.assert(n === eL, "Wrong refactor invoked");
          const i = E.checkDefined(YA(t));
          return { edits: nn.ChangeTracker.with(t, (o) => lWe(t.file, t.program, i, o, t.host, t, t.preferences)), renameFilename: void 0, renameLocation: void 0 };
        }
      });
      function lWe(e, t, n, i, s, o, c) {
        const _ = t.getTypeChecker(), u = Z9(e, n.all, _), g = Eoe(e, t, s, n), m = U9(g, e.externalModuleIndicator ? 99 : e.commonJsModuleIndicator ? 1 : void 0, t, s), h = ku.createImportAdder(e, o.program, o.preferences, o.host), S = ku.createImportAdder(m, o.program, o.preferences, o.host);
        Soe(e, m, u, i, n, t, s, c, S, h), Toe(t, i, e.fileName, g, Nh(s));
      }
      var uWe = {}, joe = "Convert overload list to single signature", PSe = hs(p.Convert_overload_list_to_single_signature), NSe = {
        name: joe,
        description: PSe,
        kind: "refactor.rewrite.function.overloadList"
      };
      Xg(joe, {
        kinds: [NSe.kind],
        getEditsForAction: fWe,
        getAvailableActions: _We
      });
      function _We(e) {
        const { file: t, startPosition: n, program: i } = e;
        return ISe(t, n, i) ? [{
          name: joe,
          description: PSe,
          actions: [NSe]
        }] : Ue;
      }
      function fWe(e) {
        const { file: t, startPosition: n, program: i } = e, s = ISe(t, n, i);
        if (!s) return;
        const o = i.getTypeChecker(), c = s[s.length - 1];
        let _ = c;
        switch (c.kind) {
          case 173: {
            _ = N.updateMethodSignature(
              c,
              c.modifiers,
              c.name,
              c.questionToken,
              c.typeParameters,
              g(s),
              c.type
            );
            break;
          }
          case 174: {
            _ = N.updateMethodDeclaration(
              c,
              c.modifiers,
              c.asteriskToken,
              c.name,
              c.questionToken,
              c.typeParameters,
              g(s),
              c.type,
              c.body
            );
            break;
          }
          case 179: {
            _ = N.updateCallSignature(
              c,
              c.typeParameters,
              g(s),
              c.type
            );
            break;
          }
          case 176: {
            _ = N.updateConstructorDeclaration(
              c,
              c.modifiers,
              g(s),
              c.body
            );
            break;
          }
          case 180: {
            _ = N.updateConstructSignature(
              c,
              c.typeParameters,
              g(s),
              c.type
            );
            break;
          }
          case 262: {
            _ = N.updateFunctionDeclaration(
              c,
              c.modifiers,
              c.asteriskToken,
              c.name,
              c.typeParameters,
              g(s),
              c.type,
              c.body
            );
            break;
          }
          default:
            return E.failBadSyntaxKind(c, "Unhandled signature kind in overload list conversion refactoring");
        }
        if (_ === c)
          return;
        return { renameFilename: void 0, renameLocation: void 0, edits: nn.ChangeTracker.with(e, (S) => {
          S.replaceNodeRange(t, s[0], s[s.length - 1], _);
        }) };
        function g(S) {
          const T = S[S.length - 1];
          return uo(T) && T.body && (S = S.slice(0, S.length - 1)), N.createNodeArray([
            N.createParameterDeclaration(
              /*modifiers*/
              void 0,
              N.createToken(
                26
                /* DotDotDotToken */
              ),
              "args",
              /*questionToken*/
              void 0,
              N.createUnionTypeNode(fr(S, m))
            )
          ]);
        }
        function m(S) {
          const T = fr(S.parameters, h);
          return an(
            N.createTupleTypeNode(T),
            at(T, (k) => !!Ar(l6(k))) ? 0 : 1
            /* SingleLine */
          );
        }
        function h(S) {
          E.assert(Fe(S.name));
          const T = ot(
            N.createNamedTupleMember(
              S.dotDotDotToken,
              S.name,
              S.questionToken,
              S.type || N.createKeywordTypeNode(
                133
                /* AnyKeyword */
              )
            ),
            S
          ), k = S.symbol && S.symbol.getDocumentationComment(o);
          if (k) {
            const D = e8(k);
            D.length && rv(T, [{
              text: `*
${D.split(`
`).map((w) => ` * ${w}`).join(`
`)}
 `,
              kind: 3,
              pos: -1,
              end: -1,
              hasTrailingNewLine: !0,
              hasLeadingNewline: !0
            }]);
          }
          return T;
        }
      }
      function ASe(e) {
        switch (e.kind) {
          case 173:
          case 174:
          case 179:
          case 176:
          case 180:
          case 262:
            return !0;
        }
        return !1;
      }
      function ISe(e, t, n) {
        const i = mi(e, t), s = _r(i, ASe);
        if (!s || uo(s) && s.body && q6(s.body, t))
          return;
        const o = n.getTypeChecker(), c = s.symbol;
        if (!c)
          return;
        const _ = c.declarations;
        if (Ar(_) <= 1 || !Pi(_, (S) => Er(S) === e) || !ASe(_[0]))
          return;
        const u = _[0].kind;
        if (!Pi(_, (S) => S.kind === u))
          return;
        const g = _;
        if (at(g, (S) => !!S.typeParameters || at(S.parameters, (T) => !!T.modifiers || !Fe(T.name))))
          return;
        const m = Oi(g, (S) => o.getSignatureFromDeclaration(S));
        if (Ar(m) !== Ar(_))
          return;
        const h = o.getReturnTypeOfSignature(m[0]);
        if (Pi(m, (S) => o.getReturnTypeOfSignature(S) === h))
          return g;
      }
      var Boe = "Add or remove braces in an arrow function", FSe = hs(p.Add_or_remove_braces_in_an_arrow_function), jq = {
        name: "Add braces to arrow function",
        description: hs(p.Add_braces_to_arrow_function),
        kind: "refactor.rewrite.arrow.braces.add"
      }, tL = {
        name: "Remove braces from arrow function",
        description: hs(p.Remove_braces_from_arrow_function),
        kind: "refactor.rewrite.arrow.braces.remove"
      };
      Xg(Boe, {
        kinds: [tL.kind],
        getEditsForAction: dWe,
        getAvailableActions: pWe
      });
      function pWe(e) {
        const { file: t, startPosition: n, triggerReason: i } = e, s = OSe(t, n, i === "invoked");
        return s ? zh(s) ? e.preferences.provideRefactorNotApplicableReason ? [{
          name: Boe,
          description: FSe,
          actions: [
            { ...jq, notApplicableReason: s.error },
            { ...tL, notApplicableReason: s.error }
          ]
        }] : Ue : [{
          name: Boe,
          description: FSe,
          actions: [
            s.addBraces ? jq : tL
          ]
        }] : Ue;
      }
      function dWe(e, t) {
        const { file: n, startPosition: i } = e, s = OSe(n, i);
        E.assert(s && !zh(s), "Expected applicable refactor info");
        const { expression: o, returnStatement: c, func: _ } = s;
        let u;
        if (t === jq.name) {
          const m = N.createReturnStatement(o);
          u = N.createBlock(
            [m],
            /*multiLine*/
            !0
          ), Y6(
            o,
            m,
            n,
            3,
            /*hasTrailingNewLine*/
            !0
          );
        } else if (t === tL.name && c) {
          const m = o || N.createVoidZero();
          u = A9(m) ? N.createParenthesizedExpression(m) : m, zA(
            c,
            u,
            n,
            3,
            /*hasTrailingNewLine*/
            !1
          ), Y6(
            c,
            u,
            n,
            3,
            /*hasTrailingNewLine*/
            !1
          ), Tw(
            c,
            u,
            n,
            3,
            /*hasTrailingNewLine*/
            !1
          );
        } else
          E.fail("invalid action");
        return { renameFilename: void 0, renameLocation: void 0, edits: nn.ChangeTracker.with(e, (m) => {
          m.replaceNode(n, _.body, u);
        }) };
      }
      function OSe(e, t, n = !0, i) {
        const s = mi(e, t), o = Df(s);
        if (!o)
          return {
            error: hs(p.Could_not_find_a_containing_arrow_function)
          };
        if (!Co(o))
          return {
            error: hs(p.Containing_function_is_not_an_arrow_function)
          };
        if (!(!d_(o, s) || d_(o.body, s) && !n)) {
          if (kv(jq.kind, i) && lt(o.body))
            return { func: o, addBraces: !0, expression: o.body };
          if (kv(tL.kind, i) && Cs(o.body) && o.body.statements.length === 1) {
            const c = xa(o.body.statements);
            if (gf(c)) {
              const _ = c.expression && ua(n6(
                c.expression,
                /*stopAtCallExpressions*/
                !1
              )) ? N.createParenthesizedExpression(c.expression) : c.expression;
              return { func: o, addBraces: !1, expression: _, returnStatement: c };
            }
          }
        }
      }
      var mWe = {}, LSe = "Convert arrow function or function expression", gWe = hs(p.Convert_arrow_function_or_function_expression), rL = {
        name: "Convert to anonymous function",
        description: hs(p.Convert_to_anonymous_function),
        kind: "refactor.rewrite.function.anonymous"
      }, nL = {
        name: "Convert to named function",
        description: hs(p.Convert_to_named_function),
        kind: "refactor.rewrite.function.named"
      }, iL = {
        name: "Convert to arrow function",
        description: hs(p.Convert_to_arrow_function),
        kind: "refactor.rewrite.function.arrow"
      };
      Xg(LSe, {
        kinds: [
          rL.kind,
          nL.kind,
          iL.kind
        ],
        getEditsForAction: yWe,
        getAvailableActions: hWe
      });
      function hWe(e) {
        const { file: t, startPosition: n, program: i, kind: s } = e, o = RSe(t, n, i);
        if (!o) return Ue;
        const { selectedVariableDeclaration: c, func: _ } = o, u = [], g = [];
        if (kv(nL.kind, s)) {
          const m = c || Co(_) && Zn(_.parent) ? void 0 : hs(p.Could_not_convert_to_named_function);
          m ? g.push({ ...nL, notApplicableReason: m }) : u.push(nL);
        }
        if (kv(rL.kind, s)) {
          const m = !c && Co(_) ? void 0 : hs(p.Could_not_convert_to_anonymous_function);
          m ? g.push({ ...rL, notApplicableReason: m }) : u.push(rL);
        }
        if (kv(iL.kind, s)) {
          const m = ho(_) ? void 0 : hs(p.Could_not_convert_to_arrow_function);
          m ? g.push({ ...iL, notApplicableReason: m }) : u.push(iL);
        }
        return [{
          name: LSe,
          description: gWe,
          actions: u.length === 0 && e.preferences.provideRefactorNotApplicableReason ? g : u
        }];
      }
      function yWe(e, t) {
        const { file: n, startPosition: i, program: s } = e, o = RSe(n, i, s);
        if (!o) return;
        const { func: c } = o, _ = [];
        switch (t) {
          case rL.name:
            _.push(...TWe(e, c));
            break;
          case nL.name:
            const u = SWe(c);
            if (!u) return;
            _.push(...xWe(e, c, u));
            break;
          case iL.name:
            if (!ho(c)) return;
            _.push(...kWe(e, c));
            break;
          default:
            return E.fail("invalid action");
        }
        return { renameFilename: void 0, renameLocation: void 0, edits: _ };
      }
      function MSe(e) {
        let t = !1;
        return e.forEachChild(function n(i) {
          if (U6(i)) {
            t = !0;
            return;
          }
          !Xn(i) && !Tc(i) && !ho(i) && Ss(i, n);
        }), t;
      }
      function RSe(e, t, n) {
        const i = mi(e, t), s = n.getTypeChecker(), o = bWe(e, s, i.parent);
        if (o && !MSe(o.body) && !s.containsArgumentsReference(o))
          return { selectedVariableDeclaration: !0, func: o };
        const c = Df(i);
        if (c && (ho(c) || Co(c)) && !d_(c.body, i) && !MSe(c.body) && !s.containsArgumentsReference(c))
          return ho(c) && BSe(e, s, c) ? void 0 : { selectedVariableDeclaration: !1, func: c };
      }
      function vWe(e) {
        return Zn(e) || zl(e) && e.declarations.length === 1;
      }
      function bWe(e, t, n) {
        if (!vWe(n))
          return;
        const s = (Zn(n) ? n : xa(n.declarations)).initializer;
        if (s && (Co(s) || ho(s) && !BSe(e, t, s)))
          return s;
      }
      function jSe(e) {
        if (lt(e)) {
          const t = N.createReturnStatement(e), n = e.getSourceFile();
          return ot(t, e), tf(t), zA(
            e,
            t,
            n,
            /*commentKind*/
            void 0,
            /*hasTrailingNewLine*/
            !0
          ), N.createBlock(
            [t],
            /*multiLine*/
            !0
          );
        } else
          return e;
      }
      function SWe(e) {
        const t = e.parent;
        if (!Zn(t) || !R4(t)) return;
        const n = t.parent, i = n.parent;
        if (!(!zl(n) || !Sc(i) || !Fe(t.name)))
          return { variableDeclaration: t, variableDeclarationList: n, statement: i, name: t.name };
      }
      function TWe(e, t) {
        const { file: n } = e, i = jSe(t.body), s = N.createFunctionExpression(
          t.modifiers,
          t.asteriskToken,
          /*name*/
          void 0,
          t.typeParameters,
          t.parameters,
          t.type,
          i
        );
        return nn.ChangeTracker.with(e, (o) => o.replaceNode(n, t, s));
      }
      function xWe(e, t, n) {
        const { file: i } = e, s = jSe(t.body), { variableDeclaration: o, variableDeclarationList: c, statement: _, name: u } = n;
        QU(_);
        const g = W1(o) & 32 | Lu(t), m = N.createModifiersFromModifierFlags(g), h = N.createFunctionDeclaration(Ar(m) ? m : void 0, t.asteriskToken, u, t.typeParameters, t.parameters, t.type, s);
        return c.declarations.length === 1 ? nn.ChangeTracker.with(e, (S) => S.replaceNode(i, _, h)) : nn.ChangeTracker.with(e, (S) => {
          S.delete(i, o), S.insertNodeAfter(i, _, h);
        });
      }
      function kWe(e, t) {
        const { file: n } = e, s = t.body.statements[0];
        let o;
        CWe(t.body, s) ? (o = s.expression, tf(o), QS(s, o)) : o = t.body;
        const c = N.createArrowFunction(t.modifiers, t.typeParameters, t.parameters, t.type, N.createToken(
          39
          /* EqualsGreaterThanToken */
        ), o);
        return nn.ChangeTracker.with(e, (_) => _.replaceNode(n, t, c));
      }
      function CWe(e, t) {
        return e.statements.length === 1 && gf(t) && !!t.expression;
      }
      function BSe(e, t, n) {
        return !!n.name && Eo.Core.isSymbolReferencedInFile(n.name, t, e);
      }
      var EWe = {}, Bq = "Convert parameters to destructured object", DWe = 1, JSe = hs(p.Convert_parameters_to_destructured_object), zSe = {
        name: Bq,
        description: JSe,
        kind: "refactor.rewrite.parameters.toDestructured"
      };
      Xg(Bq, {
        kinds: [zSe.kind],
        getEditsForAction: PWe,
        getAvailableActions: wWe
      });
      function wWe(e) {
        const { file: t, startPosition: n } = e;
        return $u(t) || !USe(t, n, e.program.getTypeChecker()) ? Ue : [{
          name: Bq,
          description: JSe,
          actions: [zSe]
        }];
      }
      function PWe(e, t) {
        E.assert(t === Bq, "Unexpected action name");
        const { file: n, startPosition: i, program: s, cancellationToken: o, host: c } = e, _ = USe(n, i, s.getTypeChecker());
        if (!_ || !o) return;
        const u = AWe(_, s, o);
        return u.valid ? { renameFilename: void 0, renameLocation: void 0, edits: nn.ChangeTracker.with(e, (m) => NWe(n, s, c, m, _, u)) } : { edits: [] };
      }
      function NWe(e, t, n, i, s, o) {
        const c = o.signature, _ = fr($Se(s, t, n), (m) => qa(m));
        if (c) {
          const m = fr($Se(c, t, n), (h) => qa(h));
          g(c, m);
        }
        g(s, _);
        const u = n4(
          o.functionCalls,
          /*comparer*/
          (m, h) => go(m.pos, h.pos)
        );
        for (const m of u)
          if (m.arguments && m.arguments.length) {
            const h = qa(
              zWe(s, m.arguments),
              /*includeTrivia*/
              !0
            );
            i.replaceNodeRange(
              Er(m),
              xa(m.arguments),
              pa(m.arguments),
              h,
              { leadingTriviaOption: nn.LeadingTriviaOption.IncludeAll, trailingTriviaOption: nn.TrailingTriviaOption.Include }
            );
          }
        function g(m, h) {
          i.replaceNodeRangeWithNodes(
            e,
            xa(m.parameters),
            pa(m.parameters),
            h,
            {
              joiner: ", ",
              // indentation is set to 0 because otherwise the object parameter will be indented if there is a `this` parameter
              indentation: 0,
              leadingTriviaOption: nn.LeadingTriviaOption.IncludeAll,
              trailingTriviaOption: nn.TrailingTriviaOption.Include
            }
          );
        }
      }
      function AWe(e, t, n) {
        const i = VWe(e), s = Xo(e) ? WWe(e) : [], o = pb([...i, ...s], Dy), c = t.getTypeChecker(), _ = oa(
          o,
          /*mapfn*/
          (h) => Eo.getReferenceEntriesForNode(-1, h, t, t.getSourceFiles(), n)
        ), u = g(_);
        return Pi(
          u.declarations,
          /*callback*/
          (h) => _s(o, h)
        ) || (u.valid = !1), u;
        function g(h) {
          const S = { accessExpressions: [], typeUsages: [] }, T = { functionCalls: [], declarations: [], classReferences: S, valid: !0 }, k = fr(i, m), D = fr(s, m), w = Xo(e), A = fr(i, (O) => Joe(O, c));
          for (const O of h) {
            if (O.kind === Eo.EntryKind.Span) {
              T.valid = !1;
              continue;
            }
            if (_s(A, m(O.node))) {
              if (LWe(O.node.parent)) {
                T.signature = O.node.parent;
                continue;
              }
              const j = VSe(O);
              if (j) {
                T.functionCalls.push(j);
                continue;
              }
            }
            const F = Joe(O.node, c);
            if (F && _s(A, F)) {
              const j = zoe(O);
              if (j) {
                T.declarations.push(j);
                continue;
              }
            }
            if (_s(k, m(O.node)) || pw(O.node)) {
              if (WSe(O))
                continue;
              const z = zoe(O);
              if (z) {
                T.declarations.push(z);
                continue;
              }
              const V = VSe(O);
              if (V) {
                T.functionCalls.push(V);
                continue;
              }
            }
            if (w && _s(D, m(O.node))) {
              if (WSe(O))
                continue;
              const z = zoe(O);
              if (z) {
                T.declarations.push(z);
                continue;
              }
              const V = IWe(O);
              if (V) {
                S.accessExpressions.push(V);
                continue;
              }
              if (el(e.parent)) {
                const G = FWe(O);
                if (G) {
                  S.typeUsages.push(G);
                  continue;
                }
              }
            }
            T.valid = !1;
          }
          return T;
        }
        function m(h) {
          const S = c.getSymbolAtLocation(h);
          return S && $U(S, c);
        }
      }
      function Joe(e, t) {
        const n = t8(e);
        if (n) {
          const i = t.getContextualTypeForObjectLiteralElement(n), s = i?.getSymbol();
          if (s && !(lc(s) & 6))
            return s;
        }
      }
      function WSe(e) {
        const t = e.node;
        if (Bu(t.parent) || Qp(t.parent) || bl(t.parent) || Hg(t.parent) || bu(t.parent) || Oo(t.parent))
          return t;
      }
      function zoe(e) {
        if (Dl(e.node.parent))
          return e.node;
      }
      function VSe(e) {
        if (e.node.parent) {
          const t = e.node, n = t.parent;
          switch (n.kind) {
            // foo(...) or super(...) or new Foo(...)
            case 213:
            case 214:
              const i = Mn(n, Gd);
              if (i && i.expression === t)
                return i;
              break;
            // x.foo(...)
            case 211:
              const s = Mn(n, kn);
              if (s && s.parent && s.name === t) {
                const c = Mn(s.parent, Gd);
                if (c && c.expression === s)
                  return c;
              }
              break;
            // x["foo"](...)
            case 212:
              const o = Mn(n, fo);
              if (o && o.parent && o.argumentExpression === t) {
                const c = Mn(o.parent, Gd);
                if (c && c.expression === o)
                  return c;
              }
              break;
          }
        }
      }
      function IWe(e) {
        if (e.node.parent) {
          const t = e.node, n = t.parent;
          switch (n.kind) {
            // `C.foo`
            case 211:
              const i = Mn(n, kn);
              if (i && i.expression === t)
                return i;
              break;
            // `C["foo"]`
            case 212:
              const s = Mn(n, fo);
              if (s && s.expression === t)
                return s;
              break;
          }
        }
      }
      function FWe(e) {
        const t = e.node;
        if ($S(t) === 2 || C5(t.parent))
          return t;
      }
      function USe(e, t, n) {
        const i = H6(e, t), s = lK(i);
        if (!OWe(i) && s && MWe(s, n) && d_(s, i) && !(s.body && d_(s.body, i)))
          return s;
      }
      function OWe(e) {
        const t = _r(e, FC);
        if (t) {
          const n = _r(t, (i) => !FC(i));
          return !!n && uo(n);
        }
        return !1;
      }
      function LWe(e) {
        return Xp(e) && (Yl(e.parent) || Yu(e.parent));
      }
      function MWe(e, t) {
        var n;
        if (!RWe(e.parameters, t)) return !1;
        switch (e.kind) {
          case 262:
            return qSe(e) && sL(e, t);
          case 174:
            if (ua(e.parent)) {
              const i = Joe(e.name, t);
              return ((n = i?.declarations) == null ? void 0 : n.length) === 1 && sL(e, t);
            }
            return sL(e, t);
          case 176:
            return el(e.parent) ? qSe(e.parent) && sL(e, t) : HSe(e.parent.parent) && sL(e, t);
          case 218:
          case 219:
            return HSe(e.parent);
        }
        return !1;
      }
      function sL(e, t) {
        return !!e.body && !t.isImplementationOfOverload(e);
      }
      function qSe(e) {
        return e.name ? !0 : !!$6(
          e,
          90
          /* DefaultKeyword */
        );
      }
      function RWe(e, t) {
        return BWe(e) >= DWe && Pi(
          e,
          /*callback*/
          (n) => jWe(n, t)
        );
      }
      function jWe(e, t) {
        if (Hm(e)) {
          const n = t.getTypeAtLocation(e);
          if (!t.isArrayType(n) && !t.isTupleType(n)) return !1;
        }
        return !e.modifiers && Fe(e.name);
      }
      function HSe(e) {
        return Zn(e) && BC(e) && Fe(e.name) && !e.type;
      }
      function Woe(e) {
        return e.length > 0 && U6(e[0].name);
      }
      function BWe(e) {
        return Woe(e) ? e.length - 1 : e.length;
      }
      function GSe(e) {
        return Woe(e) && (e = N.createNodeArray(e.slice(1), e.hasTrailingComma)), e;
      }
      function JWe(e, t) {
        return Fe(t) && ep(t) === e ? N.createShorthandPropertyAssignment(e) : N.createPropertyAssignment(e, t);
      }
      function zWe(e, t) {
        const n = GSe(e.parameters), i = Hm(pa(n)), s = i ? t.slice(0, n.length - 1) : t, o = fr(s, (_, u) => {
          const g = Jq(n[u]), m = JWe(g, _);
          return tf(m.name), tl(m) && tf(m.initializer), QS(_, m), m;
        });
        if (i && t.length >= n.length) {
          const _ = t.slice(n.length - 1), u = N.createPropertyAssignment(Jq(pa(n)), N.createArrayLiteralExpression(_));
          o.push(u);
        }
        return N.createObjectLiteralExpression(
          o,
          /*multiLine*/
          !1
        );
      }
      function $Se(e, t, n) {
        const i = t.getTypeChecker(), s = GSe(e.parameters), o = fr(s, m), c = N.createObjectBindingPattern(o), _ = h(s);
        let u;
        Pi(s, k) && (u = N.createObjectLiteralExpression());
        const g = N.createParameterDeclaration(
          /*modifiers*/
          void 0,
          /*dotDotDotToken*/
          void 0,
          c,
          /*questionToken*/
          void 0,
          _,
          u
        );
        if (Woe(e.parameters)) {
          const D = e.parameters[0], w = N.createParameterDeclaration(
            /*modifiers*/
            void 0,
            /*dotDotDotToken*/
            void 0,
            D.name,
            /*questionToken*/
            void 0,
            D.type
          );
          return tf(w.name), QS(D.name, w.name), D.type && (tf(w.type), QS(D.type, w.type)), N.createNodeArray([w, g]);
        }
        return N.createNodeArray([g]);
        function m(D) {
          const w = N.createBindingElement(
            /*dotDotDotToken*/
            void 0,
            /*propertyName*/
            void 0,
            Jq(D),
            Hm(D) && k(D) ? N.createArrayLiteralExpression() : D.initializer
          );
          return tf(w), D.initializer && w.initializer && QS(D.initializer, w.initializer), w;
        }
        function h(D) {
          const w = fr(D, S);
          return im(
            N.createTypeLiteralNode(w),
            1
            /* SingleLine */
          );
        }
        function S(D) {
          let w = D.type;
          !w && (D.initializer || Hm(D)) && (w = T(D));
          const A = N.createPropertySignature(
            /*modifiers*/
            void 0,
            Jq(D),
            k(D) ? N.createToken(
              58
              /* QuestionToken */
            ) : D.questionToken,
            w
          );
          return tf(A), QS(D.name, A.name), D.type && A.type && QS(D.type, A.type), A;
        }
        function T(D) {
          const w = i.getTypeAtLocation(D);
          return kw(w, D, t, n);
        }
        function k(D) {
          if (Hm(D)) {
            const w = i.getTypeAtLocation(D);
            return !i.isTupleType(w);
          }
          return i.isOptionalParameter(D);
        }
      }
      function Jq(e) {
        return ep(e.name);
      }
      function WWe(e) {
        switch (e.parent.kind) {
          case 263:
            const t = e.parent;
            return t.name ? [t.name] : [E.checkDefined(
              $6(
                t,
                90
                /* DefaultKeyword */
              ),
              "Nameless class declaration should be a default export"
            )];
          case 231:
            const i = e.parent, s = e.parent.parent, o = i.name;
            return o ? [o, s.name] : [s.name];
        }
      }
      function VWe(e) {
        switch (e.kind) {
          case 262:
            return e.name ? [e.name] : [E.checkDefined(
              $6(
                e,
                90
                /* DefaultKeyword */
              ),
              "Nameless function declaration should be a default export"
            )];
          case 174:
            return [e.name];
          case 176:
            const n = E.checkDefined(
              Za(e, 137, e.getSourceFile()),
              "Constructor declaration should have constructor keyword"
            );
            return e.parent.kind === 231 ? [e.parent.parent.name, n] : [n];
          case 219:
            return [e.parent.name];
          case 218:
            return e.name ? [e.name, e.parent.name] : [e.parent.name];
          default:
            return E.assertNever(e, `Unexpected function declaration kind ${e.kind}`);
        }
      }
      var UWe = {}, Voe = "Convert to template string", Uoe = hs(p.Convert_to_template_string), qoe = {
        name: Voe,
        description: Uoe,
        kind: "refactor.rewrite.string"
      };
      Xg(Voe, {
        kinds: [qoe.kind],
        getEditsForAction: HWe,
        getAvailableActions: qWe
      });
      function qWe(e) {
        const { file: t, startPosition: n } = e, i = XSe(t, n), s = Hoe(i), o = la(s), c = { name: Voe, description: Uoe, actions: [] };
        return o && e.triggerReason !== "invoked" ? Ue : dd(s) && (o || _n(s) && Goe(s).isValidConcatenation) ? (c.actions.push(qoe), [c]) : e.preferences.provideRefactorNotApplicableReason ? (c.actions.push({ ...qoe, notApplicableReason: hs(p.Can_only_convert_string_concatenations_and_string_literals) }), [c]) : Ue;
      }
      function XSe(e, t) {
        const n = mi(e, t), i = Hoe(n);
        return !Goe(i).isValidConcatenation && Zu(i.parent) && _n(i.parent.parent) ? i.parent.parent : n;
      }
      function HWe(e, t) {
        const { file: n, startPosition: i } = e, s = XSe(n, i);
        switch (t) {
          case Uoe:
            return { edits: GWe(e, s) };
          default:
            return E.fail("invalid action");
        }
      }
      function GWe(e, t) {
        const n = Hoe(t), i = e.file, s = ZWe(Goe(n), i), o = Iy(i.text, n.end);
        if (o) {
          const c = o[o.length - 1], _ = { pos: o[0].pos, end: c.end };
          return nn.ChangeTracker.with(e, (u) => {
            u.deleteRange(i, _), u.replaceNode(i, n, s);
          });
        } else
          return nn.ChangeTracker.with(e, (c) => c.replaceNode(i, n, s));
      }
      function $We(e) {
        return !(e.operatorToken.kind === 64 || e.operatorToken.kind === 65);
      }
      function Hoe(e) {
        return _r(e.parent, (n) => {
          switch (n.kind) {
            case 211:
            case 212:
              return !1;
            case 228:
            case 226:
              return !(_n(n.parent) && $We(n.parent));
            default:
              return "quit";
          }
        }) || e;
      }
      function Goe(e) {
        const t = (c) => {
          if (!_n(c))
            return { nodes: [c], operators: [], validOperators: !0, hasString: la(c) || PS(c) };
          const { nodes: _, operators: u, hasString: g, validOperators: m } = t(c.left);
          if (!(g || la(c.right) || xF(c.right)))
            return { nodes: [c], operators: [], hasString: !1, validOperators: !0 };
          const h = c.operatorToken.kind === 40, S = m && h;
          return _.push(c.right), u.push(c.operatorToken), { nodes: _, operators: u, hasString: !0, validOperators: S };
        }, { nodes: n, operators: i, validOperators: s, hasString: o } = t(e);
        return { nodes: n, operators: i, isValidConcatenation: s && o };
      }
      var XWe = (e, t) => (n, i) => {
        n < e.length && Tw(
          e[n],
          i,
          t,
          3,
          /*hasTrailingNewLine*/
          !1
        );
      }, QWe = (e, t, n) => (i, s) => {
        for (; i.length > 0; ) {
          const o = i.shift();
          Tw(
            e[o],
            s,
            t,
            3,
            /*hasTrailingNewLine*/
            !1
          ), n(o, s);
        }
      };
      function YWe(e) {
        return e.replace(/\\.|[$`]/g, (t) => t[0] === "\\" ? t : "\\" + t);
      }
      function QSe(e) {
        const t = Mx(e) || tz(e) ? -2 : -1;
        return Go(e).slice(1, t);
      }
      function YSe(e, t) {
        const n = [];
        let i = "", s = "";
        for (; e < t.length; ) {
          const o = t[e];
          if (Ba(o))
            i += o.text, s += YWe(Go(o).slice(1, -1)), n.push(e), e++;
          else if (xF(o)) {
            i += o.head.text, s += QSe(o.head);
            break;
          } else
            break;
        }
        return [e, i, s, n];
      }
      function ZWe({ nodes: e, operators: t }, n) {
        const i = XWe(t, n), s = QWe(e, n, i), [o, c, _, u] = YSe(0, e);
        if (o === e.length) {
          const h = N.createNoSubstitutionTemplateLiteral(c, _);
          return s(u, h), h;
        }
        const g = [], m = N.createTemplateHead(c, _);
        s(u, m);
        for (let h = o; h < e.length; h++) {
          const S = KWe(e[h]);
          i(h, S);
          const [T, k, D, w] = YSe(h + 1, e);
          h = T - 1;
          const A = h === e.length - 1;
          if (xF(S)) {
            const O = fr(S.templateSpans, (F, j) => {
              ZSe(F);
              const z = j === S.templateSpans.length - 1, V = F.literal.text + (z ? k : ""), G = QSe(F.literal) + (z ? D : "");
              return N.createTemplateSpan(
                F.expression,
                A && z ? N.createTemplateTail(V, G) : N.createTemplateMiddle(V, G)
              );
            });
            g.push(...O);
          } else {
            const O = A ? N.createTemplateTail(k, D) : N.createTemplateMiddle(k, D);
            s(w, O), g.push(N.createTemplateSpan(S, O));
          }
        }
        return N.createTemplateExpression(m, g);
      }
      function ZSe(e) {
        const t = e.getSourceFile();
        Tw(
          e,
          e.expression,
          t,
          3,
          /*hasTrailingNewLine*/
          !1
        ), zA(
          e.expression,
          e.expression,
          t,
          3,
          /*hasTrailingNewLine*/
          !1
        );
      }
      function KWe(e) {
        return Zu(e) && (ZSe(e), e = e.expression), e;
      }
      var eVe = {}, zq = "Convert to optional chain expression", $oe = hs(p.Convert_to_optional_chain_expression), Xoe = {
        name: zq,
        description: $oe,
        kind: "refactor.rewrite.expression.optionalChain"
      };
      Xg(zq, {
        kinds: [Xoe.kind],
        getEditsForAction: rVe,
        getAvailableActions: tVe
      });
      function tVe(e) {
        const t = KSe(e, e.triggerReason === "invoked");
        return t ? zh(t) ? e.preferences.provideRefactorNotApplicableReason ? [{
          name: zq,
          description: $oe,
          actions: [{ ...Xoe, notApplicableReason: t.error }]
        }] : Ue : [{
          name: zq,
          description: $oe,
          actions: [Xoe]
        }] : Ue;
      }
      function rVe(e, t) {
        const n = KSe(e);
        return E.assert(n && !zh(n), "Expected applicable refactor info"), { edits: nn.ChangeTracker.with(e, (s) => uVe(e.file, e.program.getTypeChecker(), s, n)), renameFilename: void 0, renameLocation: void 0 };
      }
      function Wq(e) {
        return _n(e) || FS(e);
      }
      function nVe(e) {
        return Pl(e) || gf(e) || Sc(e);
      }
      function Vq(e) {
        return Wq(e) || nVe(e);
      }
      function KSe(e, t = !0) {
        const { file: n, program: i } = e, s = lk(e), o = s.length === 0;
        if (o && !t) return;
        const c = mi(n, s.start), _ = mw(n, s.start + s.length), u = wc(c.pos, _ && _.end >= c.pos ? _.getEnd() : c.getEnd()), g = o ? cVe(c) : oVe(c, u), m = g && Vq(g) ? lVe(g) : void 0;
        if (!m) return { error: hs(p.Could_not_find_convertible_access_expression) };
        const h = i.getTypeChecker();
        return FS(m) ? iVe(m, h) : sVe(m);
      }
      function iVe(e, t) {
        const n = e.condition, i = Yoe(e.whenTrue);
        if (!i || t.isNullableType(t.getTypeAtLocation(i)))
          return { error: hs(p.Could_not_find_convertible_access_expression) };
        if ((kn(n) || Fe(n)) && Qoe(n, i.expression))
          return { finalExpression: i, occurrences: [n], expression: e };
        if (_n(n)) {
          const s = eTe(i.expression, n);
          return s ? { finalExpression: i, occurrences: s, expression: e } : { error: hs(p.Could_not_find_matching_access_expressions) };
        }
      }
      function sVe(e) {
        if (e.operatorToken.kind !== 56)
          return { error: hs(p.Can_only_convert_logical_AND_access_chains) };
        const t = Yoe(e.right);
        if (!t) return { error: hs(p.Could_not_find_convertible_access_expression) };
        const n = eTe(t.expression, e.left);
        return n ? { finalExpression: t, occurrences: n, expression: e } : { error: hs(p.Could_not_find_matching_access_expressions) };
      }
      function eTe(e, t) {
        const n = [];
        for (; _n(t) && t.operatorToken.kind === 56; ) {
          const s = Qoe(za(e), za(t.right));
          if (!s)
            break;
          n.push(s), e = s, t = t.left;
        }
        const i = Qoe(e, t);
        return i && n.push(i), n.length > 0 ? n : void 0;
      }
      function Qoe(e, t) {
        if (!(!Fe(t) && !kn(t) && !fo(t)))
          return aVe(e, t) ? t : void 0;
      }
      function aVe(e, t) {
        for (; (Ms(e) || kn(e) || fo(e)) && ZA(e) !== ZA(t); )
          e = e.expression;
        for (; kn(e) && kn(t) || fo(e) && fo(t); ) {
          if (ZA(e) !== ZA(t)) return !1;
          e = e.expression, t = t.expression;
        }
        return Fe(e) && Fe(t) && e.getText() === t.getText();
      }
      function ZA(e) {
        if (Fe(e) || wf(e))
          return e.getText();
        if (kn(e))
          return ZA(e.name);
        if (fo(e))
          return ZA(e.argumentExpression);
      }
      function oVe(e, t) {
        for (; e.parent; ) {
          if (Vq(e) && t.length !== 0 && e.end >= t.start + t.length)
            return e;
          e = e.parent;
        }
      }
      function cVe(e) {
        for (; e.parent; ) {
          if (Vq(e) && !Vq(e.parent))
            return e;
          e = e.parent;
        }
      }
      function lVe(e) {
        if (Wq(e))
          return e;
        if (Sc(e)) {
          const t = gx(e), n = t?.initializer;
          return n && Wq(n) ? n : void 0;
        }
        return e.expression && Wq(e.expression) ? e.expression : void 0;
      }
      function Yoe(e) {
        if (e = za(e), _n(e))
          return Yoe(e.left);
        if ((kn(e) || fo(e) || Ms(e)) && !hu(e))
          return e;
      }
      function tTe(e, t, n) {
        if (kn(t) || fo(t) || Ms(t)) {
          const i = tTe(e, t.expression, n), s = n.length > 0 ? n[n.length - 1] : void 0, o = s?.getText() === t.expression.getText();
          if (o && n.pop(), Ms(t))
            return o ? N.createCallChain(i, N.createToken(
              29
              /* QuestionDotToken */
            ), t.typeArguments, t.arguments) : N.createCallChain(i, t.questionDotToken, t.typeArguments, t.arguments);
          if (kn(t))
            return o ? N.createPropertyAccessChain(i, N.createToken(
              29
              /* QuestionDotToken */
            ), t.name) : N.createPropertyAccessChain(i, t.questionDotToken, t.name);
          if (fo(t))
            return o ? N.createElementAccessChain(i, N.createToken(
              29
              /* QuestionDotToken */
            ), t.argumentExpression) : N.createElementAccessChain(i, t.questionDotToken, t.argumentExpression);
        }
        return t;
      }
      function uVe(e, t, n, i, s) {
        const { finalExpression: o, occurrences: c, expression: _ } = i, u = c[c.length - 1], g = tTe(t, o, c);
        g && (kn(g) || fo(g) || Ms(g)) && (_n(_) ? n.replaceNodeRange(e, u, o, g) : FS(_) && n.replaceNode(e, _, N.createBinaryExpression(g, N.createToken(
          61
          /* QuestionQuestionToken */
        ), _.whenFalse)));
      }
      var rTe = {};
      Ta(rTe, {
        Messages: () => Kl,
        RangeFacts: () => sTe,
        getRangeToExtract: () => Zoe,
        getRefactorActionsToExtractSymbol: () => nTe,
        getRefactorEditsToExtractSymbol: () => iTe
      });
      var ww = "Extract Symbol", Pw = {
        name: "Extract Constant",
        description: hs(p.Extract_constant),
        kind: "refactor.extract.constant"
      }, Nw = {
        name: "Extract Function",
        description: hs(p.Extract_function),
        kind: "refactor.extract.function"
      };
      Xg(ww, {
        kinds: [
          Pw.kind,
          Nw.kind
        ],
        getEditsForAction: iTe,
        getAvailableActions: nTe
      });
      function nTe(e) {
        const t = e.kind, n = Zoe(e.file, lk(e), e.triggerReason === "invoked"), i = n.targetRange;
        if (i === void 0) {
          if (!n.errors || n.errors.length === 0 || !e.preferences.provideRefactorNotApplicableReason)
            return Ue;
          const D = [];
          return kv(Nw.kind, t) && D.push({
            name: ww,
            description: Nw.description,
            actions: [{ ...Nw, notApplicableReason: k(n.errors) }]
          }), kv(Pw.kind, t) && D.push({
            name: ww,
            description: Pw.description,
            actions: [{ ...Pw, notApplicableReason: k(n.errors) }]
          }), D;
        }
        const { affectedTextRange: s, extractions: o } = gVe(i, e);
        if (o === void 0)
          return Ue;
        const c = [], _ = /* @__PURE__ */ new Map();
        let u;
        const g = [], m = /* @__PURE__ */ new Map();
        let h, S = 0;
        for (const { functionExtraction: D, constantExtraction: w } of o) {
          if (kv(Nw.kind, t)) {
            const A = D.description;
            D.errors.length === 0 ? _.has(A) || (_.set(A, !0), c.push({
              description: A,
              name: `function_scope_${S}`,
              kind: Nw.kind,
              range: {
                start: { line: Js(e.file, s.pos).line, offset: Js(e.file, s.pos).character },
                end: { line: Js(e.file, s.end).line, offset: Js(e.file, s.end).character }
              }
            })) : u || (u = {
              description: A,
              name: `function_scope_${S}`,
              notApplicableReason: k(D.errors),
              kind: Nw.kind
            });
          }
          if (kv(Pw.kind, t)) {
            const A = w.description;
            w.errors.length === 0 ? m.has(A) || (m.set(A, !0), g.push({
              description: A,
              name: `constant_scope_${S}`,
              kind: Pw.kind,
              range: {
                start: { line: Js(e.file, s.pos).line, offset: Js(e.file, s.pos).character },
                end: { line: Js(e.file, s.end).line, offset: Js(e.file, s.end).character }
              }
            })) : h || (h = {
              description: A,
              name: `constant_scope_${S}`,
              notApplicableReason: k(w.errors),
              kind: Pw.kind
            });
          }
          S++;
        }
        const T = [];
        return c.length ? T.push({
          name: ww,
          description: hs(p.Extract_function),
          actions: c
        }) : e.preferences.provideRefactorNotApplicableReason && u && T.push({
          name: ww,
          description: hs(p.Extract_function),
          actions: [u]
        }), g.length ? T.push({
          name: ww,
          description: hs(p.Extract_constant),
          actions: g
        }) : e.preferences.provideRefactorNotApplicableReason && h && T.push({
          name: ww,
          description: hs(p.Extract_constant),
          actions: [h]
        }), T.length ? T : Ue;
        function k(D) {
          let w = D[0].messageText;
          return typeof w != "string" && (w = w.messageText), w;
        }
      }
      function iTe(e, t) {
        const i = Zoe(e.file, lk(e)).targetRange, s = /^function_scope_(\d+)$/.exec(t);
        if (s) {
          const c = +s[1];
          return E.assert(isFinite(c), "Expected to parse a finite number from the function scope index"), dVe(i, e, c);
        }
        const o = /^constant_scope_(\d+)$/.exec(t);
        if (o) {
          const c = +o[1];
          return E.assert(isFinite(c), "Expected to parse a finite number from the constant scope index"), mVe(i, e, c);
        }
        E.fail("Unrecognized action name");
      }
      var Kl;
      ((e) => {
        function t(n) {
          return { message: n, code: 0, category: 3, key: n };
        }
        e.cannotExtractRange = t("Cannot extract range."), e.cannotExtractImport = t("Cannot extract import statement."), e.cannotExtractSuper = t("Cannot extract super call."), e.cannotExtractJSDoc = t("Cannot extract JSDoc."), e.cannotExtractEmpty = t("Cannot extract empty range."), e.expressionExpected = t("expression expected."), e.uselessConstantType = t("No reason to extract constant of type."), e.statementOrExpressionExpected = t("Statement or expression expected."), e.cannotExtractRangeContainingConditionalBreakOrContinueStatements = t("Cannot extract range containing conditional break or continue statements."), e.cannotExtractRangeContainingConditionalReturnStatement = t("Cannot extract range containing conditional return statement."), e.cannotExtractRangeContainingLabeledBreakOrContinueStatementWithTargetOutsideOfTheRange = t("Cannot extract range containing labeled break or continue with target outside of the range."), e.cannotExtractRangeThatContainsWritesToReferencesLocatedOutsideOfTheTargetRangeInGenerators = t("Cannot extract range containing writes to references located outside of the target range in generators."), e.typeWillNotBeVisibleInTheNewScope = t("Type will not visible in the new scope."), e.functionWillNotBeVisibleInTheNewScope = t("Function will not visible in the new scope."), e.cannotExtractIdentifier = t("Select more than a single identifier."), e.cannotExtractExportedEntity = t("Cannot extract exported declaration"), e.cannotWriteInExpression = t("Cannot write back side-effects when extracting an expression"), e.cannotExtractReadonlyPropertyInitializerOutsideConstructor = t("Cannot move initialization of read-only class property outside of the constructor"), e.cannotExtractAmbientBlock = t("Cannot extract code from ambient contexts"), e.cannotAccessVariablesFromNestedScopes = t("Cannot access variables from nested scopes"), e.cannotExtractToJSClass = t("Cannot extract constant to a class scope in JS"), e.cannotExtractToExpressionArrowFunction = t("Cannot extract constant to an arrow function without a block"), e.cannotExtractFunctionsContainingThisToMethod = t("Cannot extract functions containing this to method");
      })(Kl || (Kl = {}));
      var sTe = /* @__PURE__ */ ((e) => (e[e.None = 0] = "None", e[e.HasReturn = 1] = "HasReturn", e[e.IsGenerator = 2] = "IsGenerator", e[e.IsAsyncFunction = 4] = "IsAsyncFunction", e[e.UsesThis = 8] = "UsesThis", e[e.UsesThisInFunction = 16] = "UsesThisInFunction", e[e.InStaticRegion = 32] = "InStaticRegion", e))(sTe || {});
      function Zoe(e, t, n = !0) {
        const { length: i } = t;
        if (i === 0 && !n)
          return { errors: [al(e, t.start, i, Kl.cannotExtractEmpty)] };
        const s = i === 0 && n, o = Gse(e, t.start), c = mw(e, Ko(t)), _ = o && c && n ? _Ve(o, c, e) : t, u = s ? MVe(o) : RA(o, e, _), g = s ? u : RA(c, e, _);
        let m = 0, h;
        if (!u || !g)
          return { errors: [al(e, t.start, i, Kl.cannotExtractRange)] };
        if (u.flags & 16777216)
          return { errors: [al(e, t.start, i, Kl.cannotExtractJSDoc)] };
        if (u.parent !== g.parent)
          return { errors: [al(e, t.start, i, Kl.cannotExtractRange)] };
        if (u !== g) {
          if (!uk(u.parent))
            return { errors: [al(e, t.start, i, Kl.cannotExtractRange)] };
          const O = [];
          for (const F of u.parent.statements) {
            if (F === u || O.length) {
              const j = A(F);
              if (j)
                return { errors: j };
              O.push(F);
            }
            if (F === g)
              break;
          }
          return O.length ? { targetRange: { range: O, facts: m, thisNode: h } } : { errors: [al(e, t.start, i, Kl.cannotExtractRange)] };
        }
        if (gf(u) && !u.expression)
          return { errors: [al(e, t.start, i, Kl.cannotExtractRange)] };
        const S = k(u), T = D(S) || A(S);
        if (T)
          return { errors: T };
        return { targetRange: { range: fVe(S), facts: m, thisNode: h } };
        function k(O) {
          if (gf(O)) {
            if (O.expression)
              return O.expression;
          } else if (Sc(O) || zl(O)) {
            const F = Sc(O) ? O.declarationList.declarations : O.declarations;
            let j = 0, z;
            for (const V of F)
              V.initializer && (j++, z = V.initializer);
            if (j === 1)
              return z;
          } else if (Zn(O) && O.initializer)
            return O.initializer;
          return O;
        }
        function D(O) {
          if (Fe(Pl(O) ? O.expression : O))
            return [Kr(O, Kl.cannotExtractIdentifier)];
        }
        function w(O, F) {
          let j = O;
          for (; j !== F; ) {
            if (j.kind === 172) {
              zs(j) && (m |= 32);
              break;
            } else if (j.kind === 169) {
              Df(j).kind === 176 && (m |= 32);
              break;
            } else j.kind === 174 && zs(j) && (m |= 32);
            j = j.parent;
          }
        }
        function A(O) {
          let F;
          if (((pe) => {
            pe[pe.None = 0] = "None", pe[pe.Break = 1] = "Break", pe[pe.Continue = 2] = "Continue", pe[pe.Return = 4] = "Return";
          })(F || (F = {})), E.assert(O.pos <= O.end, "This failure could trigger https://github.com/Microsoft/TypeScript/issues/20809 (1)"), E.assert(!gd(O.pos), "This failure could trigger https://github.com/Microsoft/TypeScript/issues/20809 (2)"), !yi(O) && !(dd(O) && aTe(O)) && !nce(O))
            return [Kr(O, Kl.statementOrExpressionExpected)];
          if (O.flags & 33554432)
            return [Kr(O, Kl.cannotExtractAmbientBlock)];
          const j = Jl(O);
          j && w(O, j);
          let z, V = 4, G;
          if (W(O), m & 8) {
            const pe = Ou(
              O,
              /*includeArrowFunctions*/
              !1,
              /*includeClassComputedPropertyName*/
              !1
            );
            (pe.kind === 262 || pe.kind === 174 && pe.parent.kind === 210 || pe.kind === 218) && (m |= 16);
          }
          return z;
          function W(pe) {
            if (z)
              return !0;
            if (Dl(pe)) {
              const U = pe.kind === 260 ? pe.parent.parent : pe;
              if (qn(
                U,
                32
                /* Export */
              ))
                return (z || (z = [])).push(Kr(pe, Kl.cannotExtractExportedEntity)), !0;
            }
            switch (pe.kind) {
              case 272:
                return (z || (z = [])).push(Kr(pe, Kl.cannotExtractImport)), !0;
              case 277:
                return (z || (z = [])).push(Kr(pe, Kl.cannotExtractExportedEntity)), !0;
              case 108:
                if (pe.parent.kind === 213) {
                  const U = Jl(pe);
                  if (U === void 0 || U.pos < t.start || U.end >= t.start + t.length)
                    return (z || (z = [])).push(Kr(pe, Kl.cannotExtractSuper)), !0;
                } else
                  m |= 8, h = pe;
                break;
              case 219:
                Ss(pe, function U(ee) {
                  if (U6(ee))
                    m |= 8, h = pe;
                  else {
                    if (Xn(ee) || Ts(ee) && !Co(ee))
                      return !1;
                    Ss(ee, U);
                  }
                });
              // falls through
              case 263:
              case 262:
                xi(pe.parent) && pe.parent.externalModuleIndicator === void 0 && (z || (z = [])).push(Kr(pe, Kl.functionWillNotBeVisibleInTheNewScope));
              // falls through
              case 231:
              case 218:
              case 174:
              case 176:
              case 177:
              case 178:
                return !1;
            }
            const K = V;
            switch (pe.kind) {
              case 245:
                V &= -5;
                break;
              case 258:
                V = 0;
                break;
              case 241:
                pe.parent && pe.parent.kind === 258 && pe.parent.finallyBlock === pe && (V = 4);
                break;
              case 297:
              case 296:
                V |= 1;
                break;
              default:
                Jy(
                  pe,
                  /*lookInLabeledStatements*/
                  !1
                ) && (V |= 3);
                break;
            }
            switch (pe.kind) {
              case 197:
              case 110:
                m |= 8, h = pe;
                break;
              case 256: {
                const U = pe.label;
                (G || (G = [])).push(U.escapedText), Ss(pe, W), G.pop();
                break;
              }
              case 252:
              case 251: {
                const U = pe.label;
                U ? _s(G, U.escapedText) || (z || (z = [])).push(Kr(pe, Kl.cannotExtractRangeContainingLabeledBreakOrContinueStatementWithTargetOutsideOfTheRange)) : V & (pe.kind === 252 ? 1 : 2) || (z || (z = [])).push(Kr(pe, Kl.cannotExtractRangeContainingConditionalBreakOrContinueStatements));
                break;
              }
              case 223:
                m |= 4;
                break;
              case 229:
                m |= 2;
                break;
              case 253:
                V & 4 ? m |= 1 : (z || (z = [])).push(Kr(pe, Kl.cannotExtractRangeContainingConditionalReturnStatement));
                break;
              default:
                Ss(pe, W);
                break;
            }
            V = K;
          }
        }
      }
      function _Ve(e, t, n) {
        const i = e.getStart(n);
        let s = t.getEnd();
        return n.text.charCodeAt(s) === 59 && s++, { start: i, length: s - i };
      }
      function fVe(e) {
        if (yi(e))
          return [e];
        if (dd(e))
          return Pl(e.parent) ? [e.parent] : e;
        if (nce(e))
          return e;
      }
      function Koe(e) {
        return Co(e) ? Wj(e.body) : uo(e) || xi(e) || om(e) || Xn(e);
      }
      function pVe(e) {
        let t = R0(e.range) ? xa(e.range) : e.range;
        if (e.facts & 8 && !(e.facts & 16)) {
          const i = Jl(t);
          if (i) {
            const s = _r(t, uo);
            return s ? [s, i] : [i];
          }
        }
        const n = [];
        for (; ; )
          if (t = t.parent, t.kind === 169 && (t = _r(t, (i) => uo(i)).parent), Koe(t) && (n.push(t), t.kind === 307))
            return n;
      }
      function dVe(e, t, n) {
        const { scopes: i, readsAndWrites: { target: s, usagesPerScope: o, functionErrorsPerScope: c, exposedVariableDeclarations: _ } } = ece(e, t);
        return E.assert(!c[n].length, "The extraction went missing? How?"), t.cancellationToken.throwIfCancellationRequested(), TVe(s, i[n], o[n], _, e, t);
      }
      function mVe(e, t, n) {
        const { scopes: i, readsAndWrites: { target: s, usagesPerScope: o, constantErrorsPerScope: c, exposedVariableDeclarations: _ } } = ece(e, t);
        E.assert(!c[n].length, "The extraction went missing? How?"), E.assert(_.length === 0, "Extract constant accepted a range containing a variable declaration?"), t.cancellationToken.throwIfCancellationRequested();
        const u = lt(s) ? s : s.statements[0].expression;
        return xVe(u, i[n], o[n], e.facts, t);
      }
      function gVe(e, t) {
        const { scopes: n, affectedTextRange: i, readsAndWrites: { functionErrorsPerScope: s, constantErrorsPerScope: o } } = ece(e, t), c = n.map((_, u) => {
          const g = hVe(_), m = yVe(_), h = uo(_) ? vVe(_) : Xn(_) ? bVe(_) : SVe(_);
          let S, T;
          return h === 1 ? (S = Jg(hs(p.Extract_to_0_in_1_scope), [g, "global"]), T = Jg(hs(p.Extract_to_0_in_1_scope), [m, "global"])) : h === 0 ? (S = Jg(hs(p.Extract_to_0_in_1_scope), [g, "module"]), T = Jg(hs(p.Extract_to_0_in_1_scope), [m, "module"])) : (S = Jg(hs(p.Extract_to_0_in_1), [g, h]), T = Jg(hs(p.Extract_to_0_in_1), [m, h])), u === 0 && !Xn(_) && (T = Jg(hs(p.Extract_to_0_in_enclosing_scope), [m])), {
            functionExtraction: {
              description: S,
              errors: s[u]
            },
            constantExtraction: {
              description: T,
              errors: o[u]
            }
          };
        });
        return { affectedTextRange: i, extractions: c };
      }
      function ece(e, t) {
        const { file: n } = t, i = pVe(e), s = OVe(e, n), o = LVe(
          e,
          i,
          s,
          n,
          t.program.getTypeChecker(),
          t.cancellationToken
        );
        return { scopes: i, affectedTextRange: s, readsAndWrites: o };
      }
      function hVe(e) {
        return uo(e) ? "inner function" : Xn(e) ? "method" : "function";
      }
      function yVe(e) {
        return Xn(e) ? "readonly field" : "constant";
      }
      function vVe(e) {
        switch (e.kind) {
          case 176:
            return "constructor";
          case 218:
          case 262:
            return e.name ? `function '${e.name.text}'` : KU;
          case 219:
            return "arrow function";
          case 174:
            return `method '${e.name.getText()}'`;
          case 177:
            return `'get ${e.name.getText()}'`;
          case 178:
            return `'set ${e.name.getText()}'`;
          default:
            E.assertNever(e, `Unexpected scope kind ${e.kind}`);
        }
      }
      function bVe(e) {
        return e.kind === 263 ? e.name ? `class '${e.name.text}'` : "anonymous class declaration" : e.name ? `class expression '${e.name.text}'` : "anonymous class expression";
      }
      function SVe(e) {
        return e.kind === 268 ? `namespace '${e.parent.name.getText()}'` : e.externalModuleIndicator ? 0 : 1;
      }
      function TVe(e, t, { usages: n, typeParameterUsages: i, substitutions: s }, o, c, _) {
        const u = _.program.getTypeChecker(), g = ga(_.program.getCompilerOptions()), m = ku.createImportAdder(_.file, _.program, _.preferences, _.host), h = t.getSourceFile(), S = YS(Xn(t) ? "newMethod" : "newFunction", h), T = tn(t), k = N.createIdentifier(S);
        let D;
        const w = [], A = [];
        let O;
        n.forEach((re, xe) => {
          let ue;
          if (!T) {
            let nt = u.getTypeOfSymbolAtLocation(re.symbol, re.node);
            nt = u.getBaseTypeOfLiteralType(nt), ue = ku.typeToAutoImportableTypeNode(
              u,
              m,
              nt,
              t,
              g,
              1,
              8
              /* AllowUnresolvedNames */
            );
          }
          const Xe = N.createParameterDeclaration(
            /*modifiers*/
            void 0,
            /*dotDotDotToken*/
            void 0,
            /*name*/
            xe,
            /*questionToken*/
            void 0,
            ue
          );
          w.push(Xe), re.usage === 2 && (O || (O = [])).push(re), A.push(N.createIdentifier(xe));
        });
        const F = rs(i.values(), (re) => ({ type: re, declaration: CVe(re, _.startPosition) }));
        F.sort(EVe);
        const j = F.length === 0 ? void 0 : Oi(F, ({ declaration: re }) => re), z = j !== void 0 ? j.map((re) => N.createTypeReferenceNode(
          re.name,
          /*typeArguments*/
          void 0
        )) : void 0;
        if (lt(e) && !T) {
          const re = u.getContextualType(e);
          D = u.typeToTypeNode(
            re,
            t,
            1,
            8
            /* AllowUnresolvedNames */
          );
        }
        const { body: V, returnValueProperty: G } = wVe(e, o, O, s, !!(c.facts & 1));
        tf(V);
        let W;
        const pe = !!(c.facts & 16);
        if (Xn(t)) {
          const re = T ? [] : [N.createModifier(
            123
            /* PrivateKeyword */
          )];
          c.facts & 32 && re.push(N.createModifier(
            126
            /* StaticKeyword */
          )), c.facts & 4 && re.push(N.createModifier(
            134
            /* AsyncKeyword */
          )), W = N.createMethodDeclaration(
            re.length ? re : void 0,
            c.facts & 2 ? N.createToken(
              42
              /* AsteriskToken */
            ) : void 0,
            k,
            /*questionToken*/
            void 0,
            j,
            w,
            D,
            V
          );
        } else
          pe && w.unshift(
            N.createParameterDeclaration(
              /*modifiers*/
              void 0,
              /*dotDotDotToken*/
              void 0,
              /*name*/
              "this",
              /*questionToken*/
              void 0,
              u.typeToTypeNode(
                u.getTypeAtLocation(c.thisNode),
                t,
                1,
                8
                /* AllowUnresolvedNames */
              ),
              /*initializer*/
              void 0
            )
          ), W = N.createFunctionDeclaration(
            c.facts & 4 ? [N.createToken(
              134
              /* AsyncKeyword */
            )] : void 0,
            c.facts & 2 ? N.createToken(
              42
              /* AsteriskToken */
            ) : void 0,
            k,
            j,
            w,
            D,
            V
          );
        const K = nn.ChangeTracker.fromContext(_), U = (R0(c.range) ? pa(c.range) : c.range).end, ee = AVe(U, t);
        ee ? K.insertNodeBefore(
          _.file,
          ee,
          W,
          /*blankLineBetween*/
          !0
        ) : K.insertNodeAtEndOfScope(_.file, t, W), m.writeFixes(K);
        const te = [], ie = DVe(t, c, S);
        pe && A.unshift(N.createIdentifier("this"));
        let fe = N.createCallExpression(
          pe ? N.createPropertyAccessExpression(
            ie,
            "call"
          ) : ie,
          z,
          // Note that no attempt is made to take advantage of type argument inference
          A
        );
        if (c.facts & 2 && (fe = N.createYieldExpression(N.createToken(
          42
          /* AsteriskToken */
        ), fe)), c.facts & 4 && (fe = N.createAwaitExpression(fe)), rce(e) && (fe = N.createJsxExpression(
          /*dotDotDotToken*/
          void 0,
          fe
        )), o.length && !O)
          if (E.assert(!G, "Expected no returnValueProperty"), E.assert(!(c.facts & 1), "Expected RangeFacts.HasReturn flag to be unset"), o.length === 1) {
            const re = o[0];
            te.push(N.createVariableStatement(
              /*modifiers*/
              void 0,
              N.createVariableDeclarationList(
                [N.createVariableDeclaration(
                  qa(re.name),
                  /*exclamationToken*/
                  void 0,
                  /*type*/
                  qa(re.type),
                  /*initializer*/
                  fe
                )],
                re.parent.flags
              )
            ));
          } else {
            const re = [], xe = [];
            let ue = o[0].parent.flags, Xe = !1;
            for (const oe of o) {
              re.push(N.createBindingElement(
                /*dotDotDotToken*/
                void 0,
                /*propertyName*/
                void 0,
                /*name*/
                qa(oe.name)
              ));
              const ve = u.typeToTypeNode(
                u.getBaseTypeOfLiteralType(u.getTypeAtLocation(oe)),
                t,
                1,
                8
                /* AllowUnresolvedNames */
              );
              xe.push(N.createPropertySignature(
                /*modifiers*/
                void 0,
                /*name*/
                oe.symbol.name,
                /*questionToken*/
                void 0,
                /*type*/
                ve
              )), Xe = Xe || oe.type !== void 0, ue = ue & oe.parent.flags;
            }
            const nt = Xe ? N.createTypeLiteralNode(xe) : void 0;
            nt && an(
              nt,
              1
              /* SingleLine */
            ), te.push(N.createVariableStatement(
              /*modifiers*/
              void 0,
              N.createVariableDeclarationList(
                [N.createVariableDeclaration(
                  N.createObjectBindingPattern(re),
                  /*exclamationToken*/
                  void 0,
                  /*type*/
                  nt,
                  /*initializer*/
                  fe
                )],
                ue
              )
            ));
          }
        else if (o.length || O) {
          if (o.length)
            for (const xe of o) {
              let ue = xe.parent.flags;
              ue & 2 && (ue = ue & -3 | 1), te.push(N.createVariableStatement(
                /*modifiers*/
                void 0,
                N.createVariableDeclarationList(
                  [N.createVariableDeclaration(
                    xe.symbol.name,
                    /*exclamationToken*/
                    void 0,
                    De(xe.type)
                  )],
                  ue
                )
              ));
            }
          G && te.push(N.createVariableStatement(
            /*modifiers*/
            void 0,
            N.createVariableDeclarationList(
              [N.createVariableDeclaration(
                G,
                /*exclamationToken*/
                void 0,
                De(D)
              )],
              1
              /* Let */
            )
          ));
          const re = tce(o, O);
          G && re.unshift(N.createShorthandPropertyAssignment(G)), re.length === 1 ? (E.assert(!G, "Shouldn't have returnValueProperty here"), te.push(N.createExpressionStatement(N.createAssignment(re[0].name, fe))), c.facts & 1 && te.push(N.createReturnStatement())) : (te.push(N.createExpressionStatement(N.createAssignment(N.createObjectLiteralExpression(re), fe))), G && te.push(N.createReturnStatement(N.createIdentifier(G))));
        } else
          c.facts & 1 ? te.push(N.createReturnStatement(fe)) : R0(c.range) ? te.push(N.createExpressionStatement(fe)) : te.push(fe);
        R0(c.range) ? K.replaceNodeRangeWithNodes(_.file, xa(c.range), pa(c.range), te) : K.replaceNodeWithNodes(_.file, c.range, te);
        const me = K.getChanges(), he = (R0(c.range) ? xa(c.range) : c.range).getSourceFile().fileName, Me = JA(
          me,
          he,
          S,
          /*preferLastLocation*/
          !1
        );
        return { renameFilename: he, renameLocation: Me, edits: me };
        function De(re) {
          if (re === void 0)
            return;
          const xe = qa(re);
          let ue = xe;
          for (; AS(ue); )
            ue = ue.type;
          return w0(ue) && Dn(
            ue.types,
            (Xe) => Xe.kind === 157
            /* UndefinedKeyword */
          ) ? xe : N.createUnionTypeNode([xe, N.createKeywordTypeNode(
            157
            /* UndefinedKeyword */
          )]);
        }
      }
      function xVe(e, t, { substitutions: n }, i, s) {
        const o = s.program.getTypeChecker(), c = t.getSourceFile(), _ = Ioe(e, t, o, c), u = tn(t);
        let g = u || !o.isContextSensitive(e) ? void 0 : o.typeToTypeNode(
          o.getContextualType(e),
          t,
          1,
          8
          /* AllowUnresolvedNames */
        ), m = PVe(za(e), n);
        ({ variableType: g, initializer: m } = D(g, m)), tf(m);
        const h = nn.ChangeTracker.fromContext(s);
        if (Xn(t)) {
          E.assert(!u, "Cannot extract to a JS class");
          const w = [];
          w.push(N.createModifier(
            123
            /* PrivateKeyword */
          )), i & 32 && w.push(N.createModifier(
            126
            /* StaticKeyword */
          )), w.push(N.createModifier(
            148
            /* ReadonlyKeyword */
          ));
          const A = N.createPropertyDeclaration(
            w,
            _,
            /*questionOrExclamationToken*/
            void 0,
            g,
            m
          );
          let O = N.createPropertyAccessExpression(
            i & 32 ? N.createIdentifier(t.name.getText()) : N.createThis(),
            N.createIdentifier(_)
          );
          rce(e) && (O = N.createJsxExpression(
            /*dotDotDotToken*/
            void 0,
            O
          ));
          const F = e.pos, j = IVe(F, t);
          h.insertNodeBefore(
            s.file,
            j,
            A,
            /*blankLineBetween*/
            !0
          ), h.replaceNode(s.file, e, O);
        } else {
          const w = N.createVariableDeclaration(
            _,
            /*exclamationToken*/
            void 0,
            g,
            m
          ), A = kVe(e, t);
          if (A) {
            h.insertNodeBefore(s.file, A, w);
            const O = N.createIdentifier(_);
            h.replaceNode(s.file, e, O);
          } else if (e.parent.kind === 244 && t === _r(e, Koe)) {
            const O = N.createVariableStatement(
              /*modifiers*/
              void 0,
              N.createVariableDeclarationList(
                [w],
                2
                /* Const */
              )
            );
            h.replaceNode(s.file, e.parent, O);
          } else {
            const O = N.createVariableStatement(
              /*modifiers*/
              void 0,
              N.createVariableDeclarationList(
                [w],
                2
                /* Const */
              )
            ), F = FVe(e, t);
            if (F.pos === 0 ? h.insertNodeAtTopOfFile(
              s.file,
              O,
              /*blankLineBetween*/
              !1
            ) : h.insertNodeBefore(
              s.file,
              F,
              O,
              /*blankLineBetween*/
              !1
            ), e.parent.kind === 244)
              h.delete(s.file, e.parent);
            else {
              let j = N.createIdentifier(_);
              rce(e) && (j = N.createJsxExpression(
                /*dotDotDotToken*/
                void 0,
                j
              )), h.replaceNode(s.file, e, j);
            }
          }
        }
        const S = h.getChanges(), T = e.getSourceFile().fileName, k = JA(
          S,
          T,
          _,
          /*preferLastLocation*/
          !0
        );
        return { renameFilename: T, renameLocation: k, edits: S };
        function D(w, A) {
          if (w === void 0) return { variableType: w, initializer: A };
          if (!ho(A) && !Co(A) || A.typeParameters) return { variableType: w, initializer: A };
          const O = o.getTypeAtLocation(e), F = zm(o.getSignaturesOfType(
            O,
            0
            /* Call */
          ));
          if (!F) return { variableType: w, initializer: A };
          if (F.getTypeParameters()) return { variableType: w, initializer: A };
          const j = [];
          let z = !1;
          for (const V of A.parameters)
            if (V.type)
              j.push(V);
            else {
              const G = o.getTypeAtLocation(V);
              G === o.getAnyType() && (z = !0), j.push(N.updateParameterDeclaration(V, V.modifiers, V.dotDotDotToken, V.name, V.questionToken, V.type || o.typeToTypeNode(
                G,
                t,
                1,
                8
                /* AllowUnresolvedNames */
              ), V.initializer));
            }
          if (z) return { variableType: w, initializer: A };
          if (w = void 0, Co(A))
            A = N.updateArrowFunction(A, Fp(e) ? yb(e) : void 0, A.typeParameters, j, A.type || o.typeToTypeNode(
              F.getReturnType(),
              t,
              1,
              8
              /* AllowUnresolvedNames */
            ), A.equalsGreaterThanToken, A.body);
          else {
            if (F && F.thisParameter) {
              const V = Xc(j);
              if (!V || Fe(V.name) && V.name.escapedText !== "this") {
                const G = o.getTypeOfSymbolAtLocation(F.thisParameter, e);
                j.splice(
                  0,
                  0,
                  N.createParameterDeclaration(
                    /*modifiers*/
                    void 0,
                    /*dotDotDotToken*/
                    void 0,
                    "this",
                    /*questionToken*/
                    void 0,
                    o.typeToTypeNode(
                      G,
                      t,
                      1,
                      8
                      /* AllowUnresolvedNames */
                    )
                  )
                );
              }
            }
            A = N.updateFunctionExpression(A, Fp(e) ? yb(e) : void 0, A.asteriskToken, A.name, A.typeParameters, j, A.type || o.typeToTypeNode(
              F.getReturnType(),
              t,
              1
              /* NoTruncation */
            ), A.body);
          }
          return { variableType: w, initializer: A };
        }
      }
      function kVe(e, t) {
        let n;
        for (; e !== void 0 && e !== t; ) {
          if (Zn(e) && e.initializer === n && zl(e.parent) && e.parent.declarations.length > 1)
            return e;
          n = e, e = e.parent;
        }
      }
      function CVe(e, t) {
        let n;
        const i = e.symbol;
        if (i && i.declarations)
          for (const s of i.declarations)
            (n === void 0 || s.pos < n.pos) && s.pos < t && (n = s);
        return n;
      }
      function EVe({ type: e, declaration: t }, { type: n, declaration: i }) {
        return nQ(t, i, "pos", go) || au(
          e.symbol ? e.symbol.getName() : "",
          n.symbol ? n.symbol.getName() : ""
        ) || go(e.id, n.id);
      }
      function DVe(e, t, n) {
        const i = N.createIdentifier(n);
        if (Xn(e)) {
          const s = t.facts & 32 ? N.createIdentifier(e.name.text) : N.createThis();
          return N.createPropertyAccessExpression(s, i);
        } else
          return i;
      }
      function wVe(e, t, n, i, s) {
        const o = n !== void 0 || t.length > 0;
        if (Cs(e) && !o && i.size === 0)
          return { body: N.createBlock(
            e.statements,
            /*multiLine*/
            !0
          ), returnValueProperty: void 0 };
        let c, _ = !1;
        const u = N.createNodeArray(Cs(e) ? e.statements.slice(0) : [yi(e) ? e : N.createReturnStatement(za(e))]);
        if (o || i.size) {
          const m = Lr(u, g, yi).slice();
          if (o && !s && yi(e)) {
            const h = tce(t, n);
            h.length === 1 ? m.push(N.createReturnStatement(h[0].name)) : m.push(N.createReturnStatement(N.createObjectLiteralExpression(h)));
          }
          return { body: N.createBlock(
            m,
            /*multiLine*/
            !0
          ), returnValueProperty: c };
        } else
          return { body: N.createBlock(
            u,
            /*multiLine*/
            !0
          ), returnValueProperty: void 0 };
        function g(m) {
          if (!_ && gf(m) && o) {
            const h = tce(t, n);
            return m.expression && (c || (c = "__return"), h.unshift(N.createPropertyAssignment(c, $e(m.expression, g, lt)))), h.length === 1 ? N.createReturnStatement(h[0].name) : N.createReturnStatement(N.createObjectLiteralExpression(h));
          } else {
            const h = _;
            _ = _ || uo(m) || Xn(m);
            const S = i.get(Oa(m).toString()), T = S ? qa(S) : yr(
              m,
              g,
              /*context*/
              void 0
            );
            return _ = h, T;
          }
        }
      }
      function PVe(e, t) {
        return t.size ? n(e) : e;
        function n(i) {
          const s = t.get(Oa(i).toString());
          return s ? qa(s) : yr(
            i,
            n,
            /*context*/
            void 0
          );
        }
      }
      function NVe(e) {
        if (uo(e)) {
          const t = e.body;
          if (Cs(t))
            return t.statements;
        } else {
          if (om(e) || xi(e))
            return e.statements;
          if (Xn(e))
            return e.members;
        }
        return Ue;
      }
      function AVe(e, t) {
        return Dn(NVe(t), (n) => n.pos >= e && uo(n) && !Xo(n));
      }
      function IVe(e, t) {
        const n = t.members;
        E.assert(n.length > 0, "Found no members");
        let i, s = !0;
        for (const o of n) {
          if (o.pos > e)
            return i || n[0];
          if (s && !is(o)) {
            if (i !== void 0)
              return o;
            s = !1;
          }
          i = o;
        }
        return i === void 0 ? E.fail() : i;
      }
      function FVe(e, t) {
        E.assert(!Xn(t));
        let n;
        for (let i = e; i !== t; i = i.parent)
          Koe(i) && (n = i);
        for (let i = (n || e).parent; ; i = i.parent) {
          if (uk(i)) {
            let s;
            for (const o of i.statements) {
              if (o.pos > e.pos)
                break;
              s = o;
            }
            return !s && h6(i) ? (E.assert(FD(i.parent.parent), "Grandparent isn't a switch statement"), i.parent.parent) : E.checkDefined(s, "prevStatement failed to get set");
          }
          E.assert(i !== t, "Didn't encounter a block-like before encountering scope");
        }
      }
      function tce(e, t) {
        const n = fr(e, (s) => N.createShorthandPropertyAssignment(s.symbol.name)), i = fr(t, (s) => N.createShorthandPropertyAssignment(s.symbol.name));
        return n === void 0 ? i : i === void 0 ? n : n.concat(i);
      }
      function R0(e) {
        return fs(e);
      }
      function OVe(e, t) {
        return R0(e.range) ? { pos: xa(e.range).getStart(t), end: pa(e.range).getEnd() } : e.range;
      }
      function LVe(e, t, n, i, s, o) {
        const c = /* @__PURE__ */ new Map(), _ = [], u = [], g = [], m = [], h = [], S = /* @__PURE__ */ new Map(), T = [];
        let k;
        const D = R0(e.range) ? e.range.length === 1 && Pl(e.range[0]) ? e.range[0].expression : void 0 : e.range;
        let w;
        if (D === void 0) {
          const te = e.range, ie = xa(te).getStart(), fe = pa(te).end;
          w = al(i, ie, fe - ie, Kl.expressionExpected);
        } else s.getTypeAtLocation(D).flags & 147456 && (w = Kr(D, Kl.uselessConstantType));
        for (const te of t) {
          _.push({ usages: /* @__PURE__ */ new Map(), typeParameterUsages: /* @__PURE__ */ new Map(), substitutions: /* @__PURE__ */ new Map() }), u.push(/* @__PURE__ */ new Map()), g.push([]);
          const ie = [];
          w && ie.push(w), Xn(te) && tn(te) && ie.push(Kr(te, Kl.cannotExtractToJSClass)), Co(te) && !Cs(te.body) && ie.push(Kr(te, Kl.cannotExtractToExpressionArrowFunction)), m.push(ie);
        }
        const A = /* @__PURE__ */ new Map(), O = R0(e.range) ? N.createBlock(e.range) : e.range, F = R0(e.range) ? xa(e.range) : e.range, j = z(F);
        if (G(O), j && !R0(e.range) && !um(e.range)) {
          const te = s.getContextualType(e.range);
          V(te);
        }
        if (c.size > 0) {
          const te = /* @__PURE__ */ new Map();
          let ie = 0;
          for (let fe = F; fe !== void 0 && ie < t.length; fe = fe.parent)
            if (fe === t[ie] && (te.forEach((me, q) => {
              _[ie].typeParameterUsages.set(q, me);
            }), ie++), lB(fe))
              for (const me of Ly(fe)) {
                const q = s.getTypeAtLocation(me);
                c.has(q.id.toString()) && te.set(q.id.toString(), q);
              }
          E.assert(ie === t.length, "Should have iterated all scopes");
        }
        if (h.length) {
          const te = cB(t[0], t[0].parent) ? t[0] : pd(t[0]);
          Ss(te, K);
        }
        for (let te = 0; te < t.length; te++) {
          const ie = _[te];
          if (te > 0 && (ie.usages.size > 0 || ie.typeParameterUsages.size > 0)) {
            const q = R0(e.range) ? e.range[0] : e.range;
            m[te].push(Kr(q, Kl.cannotAccessVariablesFromNestedScopes));
          }
          e.facts & 16 && Xn(t[te]) && g[te].push(Kr(e.thisNode, Kl.cannotExtractFunctionsContainingThisToMethod));
          let fe = !1, me;
          if (_[te].usages.forEach((q) => {
            q.usage === 2 && (fe = !0, q.symbol.flags & 106500 && q.symbol.valueDeclaration && $_(
              q.symbol.valueDeclaration,
              8
              /* Readonly */
            ) && (me = q.symbol.valueDeclaration));
          }), E.assert(R0(e.range) || T.length === 0, "No variable declarations expected if something was extracted"), fe && !R0(e.range)) {
            const q = Kr(e.range, Kl.cannotWriteInExpression);
            g[te].push(q), m[te].push(q);
          } else if (me && te > 0) {
            const q = Kr(me, Kl.cannotExtractReadonlyPropertyInitializerOutsideConstructor);
            g[te].push(q), m[te].push(q);
          } else if (k) {
            const q = Kr(k, Kl.cannotExtractExportedEntity);
            g[te].push(q), m[te].push(q);
          }
        }
        return { target: O, usagesPerScope: _, functionErrorsPerScope: g, constantErrorsPerScope: m, exposedVariableDeclarations: T };
        function z(te) {
          return !!_r(te, (ie) => lB(ie) && Ly(ie).length !== 0);
        }
        function V(te) {
          const ie = s.getSymbolWalker(() => (o.throwIfCancellationRequested(), !0)), { visitedTypes: fe } = ie.walkType(te);
          for (const me of fe)
            me.isTypeParameter() && c.set(me.id.toString(), me);
        }
        function G(te, ie = 1) {
          if (j) {
            const fe = s.getTypeAtLocation(te);
            V(fe);
          }
          if (Dl(te) && te.symbol && h.push(te), wl(te))
            G(
              te.left,
              2
              /* Write */
            ), G(te.right);
          else if (yZ(te))
            G(
              te.operand,
              2
              /* Write */
            );
          else if (kn(te) || fo(te))
            Ss(te, G);
          else if (Fe(te)) {
            if (!te.parent || Qu(te.parent) && te !== te.parent.left || kn(te.parent) && te !== te.parent.expression)
              return;
            W(
              te,
              ie,
              /*isTypeNode*/
              Yd(te)
            );
          } else
            Ss(te, G);
        }
        function W(te, ie, fe) {
          const me = pe(te, ie, fe);
          if (me)
            for (let q = 0; q < t.length; q++) {
              const he = u[q].get(me);
              he && _[q].substitutions.set(Oa(te).toString(), he);
            }
        }
        function pe(te, ie, fe) {
          const me = U(te);
          if (!me)
            return;
          const q = ea(me).toString(), he = A.get(q);
          if (he && he >= ie)
            return q;
          if (A.set(q, ie), he) {
            for (const re of _)
              re.usages.get(te.text) && re.usages.set(te.text, { usage: ie, symbol: me, node: te });
            return q;
          }
          const Me = me.getDeclarations(), De = Me && Dn(Me, (re) => re.getSourceFile() === i);
          if (De && !NA(n, De.getStart(), De.end)) {
            if (e.facts & 2 && ie === 2) {
              const re = Kr(te, Kl.cannotExtractRangeThatContainsWritesToReferencesLocatedOutsideOfTheTargetRangeInGenerators);
              for (const xe of g)
                xe.push(re);
              for (const xe of m)
                xe.push(re);
            }
            for (let re = 0; re < t.length; re++) {
              const xe = t[re];
              if (s.resolveName(
                me.name,
                xe,
                me.flags,
                /*excludeGlobals*/
                !1
              ) !== me && !u[re].has(q)) {
                const Xe = ee(me.exportSymbol || me, xe, fe);
                if (Xe)
                  u[re].set(q, Xe);
                else if (fe) {
                  if (!(me.flags & 262144)) {
                    const nt = Kr(te, Kl.typeWillNotBeVisibleInTheNewScope);
                    g[re].push(nt), m[re].push(nt);
                  }
                } else
                  _[re].usages.set(te.text, { usage: ie, symbol: me, node: te });
              }
            }
            return q;
          }
        }
        function K(te) {
          if (te === e.range || R0(e.range) && e.range.includes(te))
            return;
          const ie = Fe(te) ? U(te) : s.getSymbolAtLocation(te);
          if (ie) {
            const fe = Dn(h, (me) => me.symbol === ie);
            if (fe)
              if (Zn(fe)) {
                const me = fe.symbol.id.toString();
                S.has(me) || (T.push(fe), S.set(me, !0));
              } else
                k = k || fe;
          }
          Ss(te, K);
        }
        function U(te) {
          return te.parent && _u(te.parent) && te.parent.name === te ? s.getShorthandAssignmentValueSymbol(te.parent) : s.getSymbolAtLocation(te);
        }
        function ee(te, ie, fe) {
          if (!te)
            return;
          const me = te.getDeclarations();
          if (me && me.some((he) => he.parent === ie))
            return N.createIdentifier(te.name);
          const q = ee(te.parent, ie, fe);
          if (q !== void 0)
            return fe ? N.createQualifiedName(q, N.createIdentifier(te.name)) : N.createPropertyAccessExpression(q, te.name);
        }
      }
      function MVe(e) {
        return _r(e, (t) => t.parent && aTe(t) && !_n(t.parent));
      }
      function aTe(e) {
        const { parent: t } = e;
        switch (t.kind) {
          case 306:
            return !1;
        }
        switch (e.kind) {
          case 11:
            return t.kind !== 272 && t.kind !== 276;
          case 230:
          case 206:
          case 208:
            return !1;
          case 80:
            return t.kind !== 208 && t.kind !== 276 && t.kind !== 281;
        }
        return !0;
      }
      function rce(e) {
        return nce(e) || (lm(e) || MS(e) || cv(e)) && (lm(e.parent) || cv(e.parent));
      }
      function nce(e) {
        return la(e) && e.parent && um(e.parent);
      }
      var RVe = {}, Uq = "Generate 'get' and 'set' accessors", ice = hs(p.Generate_get_and_set_accessors), sce = {
        name: Uq,
        description: ice,
        kind: "refactor.rewrite.property.generateAccessors"
      };
      Xg(Uq, {
        kinds: [sce.kind],
        getEditsForAction: function(t, n) {
          if (!t.endPosition) return;
          const i = ku.getAccessorConvertiblePropertyAtPosition(t.file, t.program, t.startPosition, t.endPosition);
          E.assert(i && !zh(i), "Expected applicable refactor info");
          const s = ku.generateAccessorFromProperty(t.file, t.program, t.startPosition, t.endPosition, t, n);
          if (!s) return;
          const o = t.file.fileName, c = i.renameAccessor ? i.accessorName : i.fieldName, u = (Fe(c) ? 0 : -1) + JA(
            s,
            o,
            c.text,
            /*preferLastLocation*/
            Ni(i.declaration)
          );
          return { renameFilename: o, renameLocation: u, edits: s };
        },
        getAvailableActions(e) {
          if (!e.endPosition) return Ue;
          const t = ku.getAccessorConvertiblePropertyAtPosition(e.file, e.program, e.startPosition, e.endPosition, e.triggerReason === "invoked");
          return t ? zh(t) ? e.preferences.provideRefactorNotApplicableReason ? [{
            name: Uq,
            description: ice,
            actions: [{ ...sce, notApplicableReason: t.error }]
          }] : Ue : [{
            name: Uq,
            description: ice,
            actions: [sce]
          }] : Ue;
        }
      });
      var jVe = {}, qq = "Infer function return type", ace = hs(p.Infer_function_return_type), Hq = {
        name: qq,
        description: ace,
        kind: "refactor.rewrite.function.returnType"
      };
      Xg(qq, {
        kinds: [Hq.kind],
        getEditsForAction: BVe,
        getAvailableActions: JVe
      });
      function BVe(e) {
        const t = oTe(e);
        if (t && !zh(t))
          return { renameFilename: void 0, renameLocation: void 0, edits: nn.ChangeTracker.with(e, (i) => zVe(e.file, i, t.declaration, t.returnTypeNode)) };
      }
      function JVe(e) {
        const t = oTe(e);
        return t ? zh(t) ? e.preferences.provideRefactorNotApplicableReason ? [{
          name: qq,
          description: ace,
          actions: [{ ...Hq, notApplicableReason: t.error }]
        }] : Ue : [{
          name: qq,
          description: ace,
          actions: [Hq]
        }] : Ue;
      }
      function zVe(e, t, n, i) {
        const s = Za(n, 22, e), o = Co(n) && s === void 0, c = o ? xa(n.parameters) : s;
        c && (o && (t.insertNodeBefore(e, c, N.createToken(
          21
          /* OpenParenToken */
        )), t.insertNodeAfter(e, c, N.createToken(
          22
          /* CloseParenToken */
        ))), t.insertNodeAt(e, c.end, i, { prefix: ": " }));
      }
      function oTe(e) {
        if (tn(e.file) || !kv(Hq.kind, e.kind)) return;
        const t = h_(e.file, e.startPosition), n = _r(t, (c) => Cs(c) || c.parent && Co(c.parent) && (c.kind === 39 || c.parent.body === c) ? "quit" : WVe(c));
        if (!n || !n.body || n.type)
          return { error: hs(p.Return_type_must_be_inferred_from_a_function) };
        const i = e.program.getTypeChecker();
        let s;
        if (i.isImplementationOfOverload(n)) {
          const c = i.getTypeAtLocation(n).getCallSignatures();
          c.length > 1 && (s = i.getUnionType(Oi(c, (_) => _.getReturnType())));
        }
        if (!s) {
          const c = i.getSignatureFromDeclaration(n);
          if (c) {
            const _ = i.getTypePredicateOfSignature(c);
            if (_ && _.type) {
              const u = i.typePredicateToTypePredicateNode(
                _,
                n,
                1,
                8
                /* AllowUnresolvedNames */
              );
              if (u)
                return { declaration: n, returnTypeNode: u };
            } else
              s = i.getReturnTypeOfSignature(c);
          }
        }
        if (!s)
          return { error: hs(p.Could_not_determine_function_return_type) };
        const o = i.typeToTypeNode(
          s,
          n,
          1,
          8
          /* AllowUnresolvedNames */
        );
        if (o)
          return { declaration: n, returnTypeNode: o };
      }
      function WVe(e) {
        switch (e.kind) {
          case 262:
          case 218:
          case 219:
          case 174:
            return !0;
          default:
            return !1;
        }
      }
      var cTe = /* @__PURE__ */ ((e) => (e[e.typeOffset = 8] = "typeOffset", e[e.modifierMask = 255] = "modifierMask", e))(cTe || {}), lTe = /* @__PURE__ */ ((e) => (e[e.class = 0] = "class", e[e.enum = 1] = "enum", e[e.interface = 2] = "interface", e[e.namespace = 3] = "namespace", e[e.typeParameter = 4] = "typeParameter", e[e.type = 5] = "type", e[e.parameter = 6] = "parameter", e[e.variable = 7] = "variable", e[e.enumMember = 8] = "enumMember", e[e.property = 9] = "property", e[e.function = 10] = "function", e[e.member = 11] = "member", e))(lTe || {}), uTe = /* @__PURE__ */ ((e) => (e[e.declaration = 0] = "declaration", e[e.static = 1] = "static", e[e.async = 2] = "async", e[e.readonly = 3] = "readonly", e[e.defaultLibrary = 4] = "defaultLibrary", e[e.local = 5] = "local", e))(uTe || {});
      function _Te(e, t, n, i) {
        const s = oce(e, t, n, i);
        E.assert(s.spans.length % 3 === 0);
        const o = s.spans, c = [];
        for (let _ = 0; _ < o.length; _ += 3)
          c.push({
            textSpan: Gl(o[_], o[_ + 1]),
            classificationType: o[_ + 2]
          });
        return c;
      }
      function oce(e, t, n, i) {
        return {
          spans: VVe(e, n, i, t),
          endOfLineState: 0
          /* None */
        };
      }
      function VVe(e, t, n, i) {
        const s = [];
        return e && t && UVe(e, t, n, (c, _, u) => {
          s.push(c.getStart(t), c.getWidth(t), (_ + 1 << 8) + u);
        }, i), s;
      }
      function UVe(e, t, n, i, s) {
        const o = e.getTypeChecker();
        let c = !1;
        function _(u) {
          switch (u.kind) {
            case 267:
            case 263:
            case 264:
            case 262:
            case 231:
            case 218:
            case 219:
              s.throwIfCancellationRequested();
          }
          if (!u || !zP(n, u.pos, u.getFullWidth()) || u.getFullWidth() === 0)
            return;
          const g = c;
          if ((lm(u) || MS(u)) && (c = !0), g6(u) && (c = !1), Fe(u) && !c && !$Ve(u) && !yD(u.escapedText)) {
            let m = o.getSymbolAtLocation(u);
            if (m) {
              m.flags & 2097152 && (m = o.getAliasedSymbol(m));
              let h = qVe(m, $S(u));
              if (h !== void 0) {
                let S = 0;
                u.parent && (ya(u.parent) || dTe.get(u.parent.kind) === h) && u.parent.name === u && (S = 1), h === 6 && pTe(u) && (h = 9), h = HVe(o, u, h);
                const T = m.valueDeclaration;
                if (T) {
                  const k = W1(T), D = Ch(T);
                  k & 256 && (S |= 2), k & 1024 && (S |= 4), h !== 0 && h !== 2 && (k & 8 || D & 2 || m.getFlags() & 8) && (S |= 8), (h === 7 || h === 10) && GVe(T, t) && (S |= 32), e.isSourceFileDefaultLibrary(T.getSourceFile()) && (S |= 16);
                } else m.declarations && m.declarations.some((k) => e.isSourceFileDefaultLibrary(k.getSourceFile())) && (S |= 16);
                i(u, h, S);
              }
            }
          }
          Ss(u, _), c = g;
        }
        _(t);
      }
      function qVe(e, t) {
        const n = e.getFlags();
        if (n & 32)
          return 0;
        if (n & 384)
          return 1;
        if (n & 524288)
          return 5;
        if (n & 64) {
          if (t & 2)
            return 2;
        } else if (n & 262144)
          return 4;
        let i = e.valueDeclaration || e.declarations && e.declarations[0];
        return i && ya(i) && (i = fTe(i)), i && dTe.get(i.kind);
      }
      function HVe(e, t, n) {
        if (n === 7 || n === 9 || n === 6) {
          const i = e.getTypeAtLocation(t);
          if (i) {
            const s = (o) => o(i) || i.isUnion() && i.types.some(o);
            if (n !== 6 && s((o) => o.getConstructSignatures().length > 0))
              return 0;
            if (s((o) => o.getCallSignatures().length > 0) && !s((o) => o.getProperties().length > 0) || XVe(t))
              return n === 9 ? 11 : 10;
          }
        }
        return n;
      }
      function GVe(e, t) {
        return ya(e) && (e = fTe(e)), Zn(e) ? (!xi(e.parent.parent.parent) || Qb(e.parent)) && e.getSourceFile() === t : Tc(e) ? !xi(e.parent) && e.getSourceFile() === t : !1;
      }
      function fTe(e) {
        for (; ; )
          if (ya(e.parent.parent))
            e = e.parent.parent;
          else
            return e.parent.parent;
      }
      function $Ve(e) {
        const t = e.parent;
        return t && (Qp(t) || Bu(t) || Hg(t));
      }
      function XVe(e) {
        for (; pTe(e); )
          e = e.parent;
        return Ms(e.parent) && e.parent.expression === e;
      }
      function pTe(e) {
        return Qu(e.parent) && e.parent.right === e || kn(e.parent) && e.parent.name === e;
      }
      var dTe = /* @__PURE__ */ new Map([
        [
          260,
          7
          /* variable */
        ],
        [
          169,
          6
          /* parameter */
        ],
        [
          172,
          9
          /* property */
        ],
        [
          267,
          3
          /* namespace */
        ],
        [
          266,
          1
          /* enum */
        ],
        [
          306,
          8
          /* enumMember */
        ],
        [
          263,
          0
          /* class */
        ],
        [
          174,
          11
          /* member */
        ],
        [
          262,
          10
          /* function */
        ],
        [
          218,
          10
          /* function */
        ],
        [
          173,
          11
          /* member */
        ],
        [
          177,
          9
          /* property */
        ],
        [
          178,
          9
          /* property */
        ],
        [
          171,
          9
          /* property */
        ],
        [
          264,
          2
          /* interface */
        ],
        [
          265,
          5
          /* type */
        ],
        [
          168,
          4
          /* typeParameter */
        ],
        [
          303,
          9
          /* property */
        ],
        [
          304,
          9
          /* property */
        ]
      ]), mTe = "0.8";
      function gTe(e, t, n, i) {
        const s = y7(e) ? new cce(e, t, n) : e === 80 ? new yTe(80, t, n) : e === 81 ? new vTe(81, t, n) : new hTe(e, t, n);
        return s.parent = i, s.flags = i.flags & 101441536, s;
      }
      var cce = class {
        constructor(e, t, n) {
          this.pos = t, this.end = n, this.kind = e, this.id = 0, this.flags = 0, this.modifierFlagsCache = 0, this.transformFlags = 0, this.parent = void 0, this.original = void 0, this.emitNode = void 0;
        }
        assertHasRealPosition(e) {
          E.assert(!gd(this.pos) && !gd(this.end), e || "Node must have a real position for this operation");
        }
        getSourceFile() {
          return Er(this);
        }
        getStart(e, t) {
          return this.assertHasRealPosition(), Vy(this, e, t);
        }
        getFullStart() {
          return this.assertHasRealPosition(), this.pos;
        }
        getEnd() {
          return this.assertHasRealPosition(), this.end;
        }
        getWidth(e) {
          return this.assertHasRealPosition(), this.getEnd() - this.getStart(e);
        }
        getFullWidth() {
          return this.assertHasRealPosition(), this.end - this.pos;
        }
        getLeadingTriviaWidth(e) {
          return this.assertHasRealPosition(), this.getStart(e) - this.pos;
        }
        getFullText(e) {
          return this.assertHasRealPosition(), (e || this.getSourceFile()).text.substring(this.pos, this.end);
        }
        getText(e) {
          return this.assertHasRealPosition(), e || (e = this.getSourceFile()), e.text.substring(this.getStart(e), this.getEnd());
        }
        getChildCount(e) {
          return this.getChildren(e).length;
        }
        getChildAt(e, t) {
          return this.getChildren(t)[e];
        }
        getChildren(e = Er(this)) {
          return this.assertHasRealPosition("Node without a real position cannot be scanned and thus has no token nodes - use forEachChild and collect the result if that's fine"), yz(this, e) ?? zte(this, e, QVe(this, e));
        }
        getFirstToken(e) {
          this.assertHasRealPosition();
          const t = this.getChildren(e);
          if (!t.length)
            return;
          const n = Dn(
            t,
            (i) => i.kind < 309 || i.kind > 351
            /* LastJSDocNode */
          );
          return n.kind < 166 ? n : n.getFirstToken(e);
        }
        getLastToken(e) {
          this.assertHasRealPosition();
          const t = this.getChildren(e), n = Po(t);
          if (n)
            return n.kind < 166 ? n : n.getLastToken(e);
        }
        forEachChild(e, t) {
          return Ss(this, e, t);
        }
      };
      function QVe(e, t) {
        const n = [];
        if (E7(e))
          return e.forEachChild((c) => {
            n.push(c);
          }), n;
        Wl.setText((t || e.getSourceFile()).text);
        let i = e.pos;
        const s = (c) => {
          aL(n, i, c.pos, e), n.push(c), i = c.end;
        }, o = (c) => {
          aL(n, i, c.pos, e), n.push(YVe(c, e)), i = c.end;
        };
        return ar(e.jsDoc, s), i = e.pos, e.forEachChild(s, o), aL(n, i, e.end, e), Wl.setText(void 0), n;
      }
      function aL(e, t, n, i) {
        for (Wl.resetTokenState(t); t < n; ) {
          const s = Wl.scan(), o = Wl.getTokenEnd();
          if (o <= n) {
            if (s === 80) {
              if (Jee(i))
                continue;
              E.fail(`Did not expect ${E.formatSyntaxKind(i.kind)} to have an Identifier in its trivia`);
            }
            e.push(gTe(s, t, o, i));
          }
          if (t = o, s === 1)
            break;
        }
      }
      function YVe(e, t) {
        const n = gTe(352, e.pos, e.end, t), i = [];
        let s = e.pos;
        for (const o of e)
          aL(i, s, o.pos, t), i.push(o), s = o.end;
        return aL(i, s, e.end, t), n._children = i, n;
      }
      var lce = class {
        constructor(e, t, n) {
          this.pos = t, this.end = n, this.kind = e, this.id = 0, this.flags = 0, this.transformFlags = 0, this.parent = void 0, this.emitNode = void 0;
        }
        getSourceFile() {
          return Er(this);
        }
        getStart(e, t) {
          return Vy(this, e, t);
        }
        getFullStart() {
          return this.pos;
        }
        getEnd() {
          return this.end;
        }
        getWidth(e) {
          return this.getEnd() - this.getStart(e);
        }
        getFullWidth() {
          return this.end - this.pos;
        }
        getLeadingTriviaWidth(e) {
          return this.getStart(e) - this.pos;
        }
        getFullText(e) {
          return (e || this.getSourceFile()).text.substring(this.pos, this.end);
        }
        getText(e) {
          return e || (e = this.getSourceFile()), e.text.substring(this.getStart(e), this.getEnd());
        }
        getChildCount() {
          return this.getChildren().length;
        }
        getChildAt(e) {
          return this.getChildren()[e];
        }
        getChildren() {
          return this.kind === 1 && this.jsDoc || Ue;
        }
        getFirstToken() {
        }
        getLastToken() {
        }
        forEachChild() {
        }
      }, ZVe = class {
        constructor(e, t) {
          this.flags = e, this.escapedName = t, this.declarations = void 0, this.valueDeclaration = void 0, this.id = 0, this.mergeId = 0, this.parent = void 0, this.members = void 0, this.exports = void 0, this.exportSymbol = void 0, this.constEnumOnlyModule = void 0, this.isReferenced = void 0, this.lastAssignmentPos = void 0, this.links = void 0;
        }
        getFlags() {
          return this.flags;
        }
        get name() {
          return bc(this);
        }
        getEscapedName() {
          return this.escapedName;
        }
        getName() {
          return this.name;
        }
        getDeclarations() {
          return this.declarations;
        }
        getDocumentationComment(e) {
          if (!this.documentationComment)
            if (this.documentationComment = Ue, !this.declarations && Ig(this) && this.links.target && Ig(this.links.target) && this.links.target.links.tupleLabelDeclaration) {
              const t = this.links.target.links.tupleLabelDeclaration;
              this.documentationComment = oL([t], e);
            } else
              this.documentationComment = oL(this.declarations, e);
          return this.documentationComment;
        }
        getContextualDocumentationComment(e, t) {
          if (e) {
            if (Ag(e) && (this.contextualGetAccessorDocumentationComment || (this.contextualGetAccessorDocumentationComment = Ue, this.contextualGetAccessorDocumentationComment = oL(Tn(this.declarations, Ag), t)), Ar(this.contextualGetAccessorDocumentationComment)))
              return this.contextualGetAccessorDocumentationComment;
            if ($d(e) && (this.contextualSetAccessorDocumentationComment || (this.contextualSetAccessorDocumentationComment = Ue, this.contextualSetAccessorDocumentationComment = oL(Tn(this.declarations, $d), t)), Ar(this.contextualSetAccessorDocumentationComment)))
              return this.contextualSetAccessorDocumentationComment;
          }
          return this.getDocumentationComment(t);
        }
        getJsDocTags(e) {
          return this.tags === void 0 && (this.tags = Ue, this.tags = Gq(this.declarations, e)), this.tags;
        }
        getContextualJsDocTags(e, t) {
          if (e) {
            if (Ag(e) && (this.contextualGetAccessorTags || (this.contextualGetAccessorTags = Ue, this.contextualGetAccessorTags = Gq(Tn(this.declarations, Ag), t)), Ar(this.contextualGetAccessorTags)))
              return this.contextualGetAccessorTags;
            if ($d(e) && (this.contextualSetAccessorTags || (this.contextualSetAccessorTags = Ue, this.contextualSetAccessorTags = Gq(Tn(this.declarations, $d), t)), Ar(this.contextualSetAccessorTags)))
              return this.contextualSetAccessorTags;
          }
          return this.getJsDocTags(t);
        }
      }, hTe = class extends lce {
        constructor(e, t, n) {
          super(e, t, n);
        }
      }, yTe = class extends lce {
        constructor(e, t, n) {
          super(e, t, n);
        }
        get text() {
          return Pn(this);
        }
      }, vTe = class extends lce {
        constructor(e, t, n) {
          super(e, t, n);
        }
        get text() {
          return Pn(this);
        }
      }, KVe = class {
        constructor(e, t) {
          this.flags = t, this.checker = e;
        }
        getFlags() {
          return this.flags;
        }
        getSymbol() {
          return this.symbol;
        }
        getProperties() {
          return this.checker.getPropertiesOfType(this);
        }
        getProperty(e) {
          return this.checker.getPropertyOfType(this, e);
        }
        getApparentProperties() {
          return this.checker.getAugmentedPropertiesOfType(this);
        }
        getCallSignatures() {
          return this.checker.getSignaturesOfType(
            this,
            0
            /* Call */
          );
        }
        getConstructSignatures() {
          return this.checker.getSignaturesOfType(
            this,
            1
            /* Construct */
          );
        }
        getStringIndexType() {
          return this.checker.getIndexTypeOfType(
            this,
            0
            /* String */
          );
        }
        getNumberIndexType() {
          return this.checker.getIndexTypeOfType(
            this,
            1
            /* Number */
          );
        }
        getBaseTypes() {
          return this.isClassOrInterface() ? this.checker.getBaseTypes(this) : void 0;
        }
        isNullableType() {
          return this.checker.isNullableType(this);
        }
        getNonNullableType() {
          return this.checker.getNonNullableType(this);
        }
        getNonOptionalType() {
          return this.checker.getNonOptionalType(this);
        }
        getConstraint() {
          return this.checker.getBaseConstraintOfType(this);
        }
        getDefault() {
          return this.checker.getDefaultFromTypeParameter(this);
        }
        isUnion() {
          return !!(this.flags & 1048576);
        }
        isIntersection() {
          return !!(this.flags & 2097152);
        }
        isUnionOrIntersection() {
          return !!(this.flags & 3145728);
        }
        isLiteral() {
          return !!(this.flags & 2432);
        }
        isStringLiteral() {
          return !!(this.flags & 128);
        }
        isNumberLiteral() {
          return !!(this.flags & 256);
        }
        isTypeParameter() {
          return !!(this.flags & 262144);
        }
        isClassOrInterface() {
          return !!(Cn(this) & 3);
        }
        isClass() {
          return !!(Cn(this) & 1);
        }
        isIndexType() {
          return !!(this.flags & 4194304);
        }
        /**
         * This polyfills `referenceType.typeArguments` for API consumers
         */
        get typeArguments() {
          if (Cn(this) & 4)
            return this.checker.getTypeArguments(this);
        }
      }, eUe = class {
        // same
        constructor(e, t) {
          this.flags = t, this.checker = e;
        }
        getDeclaration() {
          return this.declaration;
        }
        getTypeParameters() {
          return this.typeParameters;
        }
        getParameters() {
          return this.parameters;
        }
        getReturnType() {
          return this.checker.getReturnTypeOfSignature(this);
        }
        getTypeParameterAtPosition(e) {
          const t = this.checker.getParameterType(this, e);
          if (t.isIndexType() && vD(t.type)) {
            const n = t.type.getConstraint();
            if (n)
              return this.checker.getIndexType(n);
          }
          return t;
        }
        getDocumentationComment() {
          return this.documentationComment || (this.documentationComment = oL(GT(this.declaration), this.checker));
        }
        getJsDocTags() {
          return this.jsDocTags || (this.jsDocTags = Gq(GT(this.declaration), this.checker));
        }
      };
      function bTe(e) {
        return U1(e).some((t) => t.tagName.text === "inheritDoc" || t.tagName.text === "inheritdoc");
      }
      function Gq(e, t) {
        if (!e) return Ue;
        let n = Dv.getJsDocTagsFromDeclarations(e, t);
        if (t && (n.length === 0 || e.some(bTe))) {
          const i = /* @__PURE__ */ new Set();
          for (const s of e) {
            const o = STe(t, s, (c) => {
              var _;
              if (!i.has(c))
                return i.add(c), s.kind === 177 || s.kind === 178 ? c.getContextualJsDocTags(s, t) : ((_ = c.declarations) == null ? void 0 : _.length) === 1 ? c.getJsDocTags(t) : void 0;
            });
            o && (n = [...o, ...n]);
          }
        }
        return n;
      }
      function oL(e, t) {
        if (!e) return Ue;
        let n = Dv.getJsDocCommentsFromDeclarations(e, t);
        if (t && (n.length === 0 || e.some(bTe))) {
          const i = /* @__PURE__ */ new Set();
          for (const s of e) {
            const o = STe(t, s, (c) => {
              if (!i.has(c))
                return i.add(c), s.kind === 177 || s.kind === 178 ? c.getContextualDocumentationComment(s, t) : c.getDocumentationComment(t);
            });
            o && (n = n.length === 0 ? o.slice() : o.concat(Q6(), n));
          }
        }
        return n;
      }
      function STe(e, t, n) {
        var i;
        const s = ((i = t.parent) == null ? void 0 : i.kind) === 176 ? t.parent.parent : t.parent;
        if (!s) return;
        const o = sl(t);
        return Ic(H4(s), (c) => {
          const _ = e.getTypeAtLocation(c), u = o && _.symbol ? e.getTypeOfSymbol(_.symbol) : _, g = e.getPropertyOfType(u, t.symbol.name);
          return g ? n(g) : void 0;
        });
      }
      var tUe = class extends cce {
        constructor(e, t, n) {
          super(e, t, n);
        }
        update(e, t) {
          return Fz(this, e, t);
        }
        getLineAndCharacterOfPosition(e) {
          return Js(this, e);
        }
        getLineStarts() {
          return Eg(this);
        }
        getPositionOfLineAndCharacter(e, t, n) {
          return o7(Eg(this), e, t, this.text, n);
        }
        getLineEndOfPosition(e) {
          const { line: t } = this.getLineAndCharacterOfPosition(e), n = this.getLineStarts();
          let i;
          t + 1 >= n.length && (i = this.getEnd()), i || (i = n[t + 1] - 1);
          const s = this.getFullText();
          return s[i] === `
` && s[i - 1] === "\r" ? i - 1 : i;
        }
        getNamedDeclarations() {
          return this.namedDeclarations || (this.namedDeclarations = this.computeNamedDeclarations()), this.namedDeclarations;
        }
        computeNamedDeclarations() {
          const e = Tp();
          return this.forEachChild(s), e;
          function t(o) {
            const c = i(o);
            c && e.add(c, o);
          }
          function n(o) {
            let c = e.get(o);
            return c || e.set(o, c = []), c;
          }
          function i(o) {
            const c = u7(o);
            return c && (ia(c) && kn(c.expression) ? c.expression.name.text : Bc(c) ? LA(c) : void 0);
          }
          function s(o) {
            switch (o.kind) {
              case 262:
              case 218:
              case 174:
              case 173:
                const c = o, _ = i(c);
                if (_) {
                  const m = n(_), h = Po(m);
                  h && c.parent === h.parent && c.symbol === h.symbol ? c.body && !h.body && (m[m.length - 1] = c) : m.push(c);
                }
                Ss(o, s);
                break;
              case 263:
              case 231:
              case 264:
              case 265:
              case 266:
              case 267:
              case 271:
              case 281:
              case 276:
              case 273:
              case 274:
              case 177:
              case 178:
              case 187:
                t(o), Ss(o, s);
                break;
              case 169:
                if (!qn(
                  o,
                  31
                  /* ParameterPropertyModifier */
                ))
                  break;
              // falls through
              case 260:
              case 208: {
                const m = o;
                if (Ps(m.name)) {
                  Ss(m.name, s);
                  break;
                }
                m.initializer && s(m.initializer);
              }
              // falls through
              case 306:
              case 172:
              case 171:
                t(o);
                break;
              case 278:
                const u = o;
                u.exportClause && (cp(u.exportClause) ? ar(u.exportClause.elements, s) : s(u.exportClause.name));
                break;
              case 272:
                const g = o.importClause;
                g && (g.name && t(g.name), g.namedBindings && (g.namedBindings.kind === 274 ? t(g.namedBindings) : ar(g.namedBindings.elements, s)));
                break;
              case 226:
                Pc(o) !== 0 && t(o);
              // falls through
              default:
                Ss(o, s);
            }
          }
        }
      }, rUe = class {
        constructor(e, t, n) {
          this.fileName = e, this.text = t, this.skipTrivia = n || ((i) => i);
        }
        getLineAndCharacterOfPosition(e) {
          return Js(this, e);
        }
      };
      function nUe() {
        return {
          getNodeConstructor: () => cce,
          getTokenConstructor: () => hTe,
          getIdentifierConstructor: () => yTe,
          getPrivateIdentifierConstructor: () => vTe,
          getSourceFileConstructor: () => tUe,
          getSymbolConstructor: () => ZVe,
          getTypeConstructor: () => KVe,
          getSignatureConstructor: () => eUe,
          getSourceMapSourceConstructor: () => rUe
        };
      }
      function KA(e) {
        let t = !0;
        for (const i in e)
          if (ao(e, i) && !TTe(i)) {
            t = !1;
            break;
          }
        if (t)
          return e;
        const n = {};
        for (const i in e)
          if (ao(e, i)) {
            const s = TTe(i) ? i : i.charAt(0).toLowerCase() + i.substr(1);
            n[s] = e[i];
          }
        return n;
      }
      function TTe(e) {
        return !e.length || e.charAt(0) === e.charAt(0).toLowerCase();
      }
      function e8(e) {
        return e ? fr(e, (t) => t.text).join("") : "";
      }
      function cL() {
        return {
          target: 1,
          jsx: 1
          /* Preserve */
        };
      }
      function $q() {
        return ku.getSupportedErrorCodes();
      }
      var iUe = class {
        constructor(e) {
          this.host = e;
        }
        getCurrentSourceFile(e) {
          var t, n, i, s, o, c, _, u;
          const g = this.host.getScriptSnapshot(e);
          if (!g)
            throw new Error("Could not find file: '" + e + "'.");
          const m = GU(e, this.host), h = this.host.getScriptVersion(e);
          let S;
          if (this.currentFileName !== e) {
            const T = {
              languageVersion: 99,
              impliedNodeFormat: mA(
                lo(e, this.host.getCurrentDirectory(), ((i = (n = (t = this.host).getCompilerHost) == null ? void 0 : n.call(t)) == null ? void 0 : i.getCanonicalFileName) || Nh(this.host)),
                (u = (_ = (c = (o = (s = this.host).getCompilerHost) == null ? void 0 : o.call(s)) == null ? void 0 : c.getModuleResolutionCache) == null ? void 0 : _.call(c)) == null ? void 0 : u.getPackageJsonInfoCache(),
                this.host,
                this.host.getCompilationSettings()
              ),
              setExternalModuleIndicator: rN(this.host.getCompilationSettings()),
              // These files are used to produce syntax-based highlighting, which reads JSDoc, so we must use ParseAll.
              jsDocParsingMode: 0
              /* ParseAll */
            };
            S = lL(
              e,
              g,
              T,
              h,
              /*setNodeParents*/
              !0,
              m
            );
          } else if (this.currentFileVersion !== h) {
            const T = g.getChangeRange(this.currentFileScriptSnapshot);
            S = Xq(this.currentSourceFile, g, h, T);
          }
          return S && (this.currentFileVersion = h, this.currentFileName = e, this.currentFileScriptSnapshot = g, this.currentSourceFile = S), this.currentSourceFile;
        }
      };
      function xTe(e, t, n) {
        e.version = n, e.scriptSnapshot = t;
      }
      function lL(e, t, n, i, s, o) {
        const c = Qx(e, ck(t), n, s, o);
        return xTe(c, t, i), c;
      }
      function Xq(e, t, n, i, s) {
        if (i && n !== e.version) {
          let c;
          const _ = i.span.start !== 0 ? e.text.substr(0, i.span.start) : "", u = Ko(i.span) !== e.text.length ? e.text.substr(Ko(i.span)) : "";
          if (i.newLength === 0)
            c = _ && u ? _ + u : _ || u;
          else {
            const m = t.getText(i.span.start, i.span.start + i.newLength);
            c = _ && u ? _ + m + u : _ ? _ + m : m + u;
          }
          const g = Fz(e, c, i, s);
          return xTe(g, t, n), g.nameTable = void 0, e !== g && e.scriptSnapshot && (e.scriptSnapshot.dispose && e.scriptSnapshot.dispose(), e.scriptSnapshot = void 0), g;
        }
        const o = {
          languageVersion: e.languageVersion,
          impliedNodeFormat: e.impliedNodeFormat,
          setExternalModuleIndicator: e.setExternalModuleIndicator,
          jsDocParsingMode: e.jsDocParsingMode
        };
        return lL(
          e.fileName,
          t,
          o,
          n,
          /*setNodeParents*/
          !0,
          e.scriptKind
        );
      }
      var sUe = {
        isCancellationRequested: Th,
        throwIfCancellationRequested: Ua
      }, aUe = class {
        constructor(e) {
          this.cancellationToken = e;
        }
        isCancellationRequested() {
          return this.cancellationToken.isCancellationRequested();
        }
        throwIfCancellationRequested() {
          var e;
          if (this.isCancellationRequested())
            throw (e = rn) == null || e.instant(rn.Phase.Session, "cancellationThrown", { kind: "CancellationTokenObject" }), new _4();
        }
      }, uce = class {
        constructor(e, t = 20) {
          this.hostCancellationToken = e, this.throttleWaitMilliseconds = t, this.lastCancellationCheckTime = 0;
        }
        isCancellationRequested() {
          const e = co();
          return Math.abs(e - this.lastCancellationCheckTime) >= this.throttleWaitMilliseconds ? (this.lastCancellationCheckTime = e, this.hostCancellationToken.isCancellationRequested()) : !1;
        }
        throwIfCancellationRequested() {
          var e;
          if (this.isCancellationRequested())
            throw (e = rn) == null || e.instant(rn.Phase.Session, "cancellationThrown", { kind: "ThrottledCancellationToken" }), new _4();
        }
      }, kTe = [
        "getSemanticDiagnostics",
        "getSuggestionDiagnostics",
        "getCompilerOptionsDiagnostics",
        "getSemanticClassifications",
        "getEncodedSemanticClassifications",
        "getCodeFixesAtPosition",
        "getCombinedCodeFix",
        "applyCodeActionCommand",
        "organizeImports",
        "getEditsForFileRename",
        "getEmitOutput",
        "getApplicableRefactors",
        "getEditsForRefactor",
        "prepareCallHierarchy",
        "provideCallHierarchyIncomingCalls",
        "provideCallHierarchyOutgoingCalls",
        "provideInlayHints",
        "getSupportedCodeFixes",
        "getPasteEdits"
      ], oUe = [
        ...kTe,
        "getCompletionsAtPosition",
        "getCompletionEntryDetails",
        "getCompletionEntrySymbol",
        "getSignatureHelpItems",
        "getQuickInfoAtPosition",
        "getDefinitionAtPosition",
        "getDefinitionAndBoundSpan",
        "getImplementationAtPosition",
        "getTypeDefinitionAtPosition",
        "getReferencesAtPosition",
        "findReferences",
        "getDocumentHighlights",
        "getNavigateToItems",
        "getRenameInfo",
        "findRenameLocations",
        "getApplicableRefactors",
        "preparePasteEditsForFile"
      ];
      function _ce(e, t = Lae(e.useCaseSensitiveFileNames && e.useCaseSensitiveFileNames(), e.getCurrentDirectory(), e.jsDocParsingMode), n) {
        var i;
        let s;
        n === void 0 ? s = 0 : typeof n == "boolean" ? s = n ? 2 : 0 : s = n;
        const o = new iUe(e);
        let c, _, u = 0;
        const g = e.getCancellationToken ? new aUe(e.getCancellationToken()) : sUe, m = e.getCurrentDirectory();
        _ee((i = e.getLocalizedDiagnosticMessages) == null ? void 0 : i.bind(e));
        function h(Ye) {
          e.log && e.log(Ye);
        }
        const S = TS(e), T = Hl(S), k = Xae({
          useCaseSensitiveFileNames: () => S,
          getCurrentDirectory: () => m,
          getProgram: O,
          fileExists: Ls(e, e.fileExists),
          readFile: Ls(e, e.readFile),
          getDocumentPositionMapper: Ls(e, e.getDocumentPositionMapper),
          getSourceFileLike: Ls(e, e.getSourceFileLike),
          log: h
        });
        function D(Ye) {
          const gt = c.getSourceFile(Ye);
          if (!gt) {
            const Jt = new Error(`Could not find source file: '${Ye}'.`);
            throw Jt.ProgramFiles = c.getSourceFiles().map((wt) => wt.fileName), Jt;
          }
          return gt;
        }
        function w() {
          e.updateFromProject && !e.updateFromProjectInProgress ? e.updateFromProject() : A();
        }
        function A() {
          var Ye, gt, Jt;
          if (E.assert(
            s !== 2
            /* Syntactic */
          ), e.getProjectVersion) {
            const ss = e.getProjectVersion();
            if (ss) {
              if (_ === ss && !((Ye = e.hasChangedAutomaticTypeDirectiveNames) != null && Ye.call(e)))
                return;
              _ = ss;
            }
          }
          const wt = e.getTypeRootsVersion ? e.getTypeRootsVersion() : 0;
          u !== wt && (h("TypeRoots version has changed; provide new program"), c = void 0, u = wt);
          const dr = e.getScriptFileNames().slice(), Kt = e.getCompilationSettings() || cL(), Mt = e.hasInvalidatedResolutions || Th, cr = Ls(e, e.hasInvalidatedLibResolutions) || Th, lr = Ls(e, e.hasChangedAutomaticTypeDirectiveNames), br = (gt = e.getProjectReferences) == null ? void 0 : gt.call(e);
          let $t, Qn = {
            getSourceFile: Bo,
            getSourceFileByPath: rf,
            getCancellationToken: () => g,
            getCanonicalFileName: T,
            useCaseSensitiveFileNames: () => S,
            getNewLine: () => x0(Kt),
            getDefaultLibFileName: (ss) => e.getDefaultLibFileName(ss),
            writeFile: Ua,
            getCurrentDirectory: () => m,
            fileExists: (ss) => e.fileExists(ss),
            readFile: (ss) => e.readFile && e.readFile(ss),
            getSymlinkCache: Ls(e, e.getSymlinkCache),
            realpath: Ls(e, e.realpath),
            directoryExists: (ss) => md(ss, e),
            getDirectories: (ss) => e.getDirectories ? e.getDirectories(ss) : [],
            readDirectory: (ss, Vs, Aa, Ca, zt) => (E.checkDefined(e.readDirectory, "'LanguageServiceHost.readDirectory' must be implemented to correctly process 'projectReferences'"), e.readDirectory(ss, Vs, Aa, Ca, zt)),
            onReleaseOldSourceFile: Pa,
            onReleaseParsedCommandLine: Wc,
            hasInvalidatedResolutions: Mt,
            hasInvalidatedLibResolutions: cr,
            hasChangedAutomaticTypeDirectiveNames: lr,
            trace: Ls(e, e.trace),
            resolveModuleNames: Ls(e, e.resolveModuleNames),
            getModuleResolutionCache: Ls(e, e.getModuleResolutionCache),
            createHash: Ls(e, e.createHash),
            resolveTypeReferenceDirectives: Ls(e, e.resolveTypeReferenceDirectives),
            resolveModuleNameLiterals: Ls(e, e.resolveModuleNameLiterals),
            resolveTypeReferenceDirectiveReferences: Ls(e, e.resolveTypeReferenceDirectiveReferences),
            resolveLibrary: Ls(e, e.resolveLibrary),
            useSourceOfProjectReferenceRedirect: Ls(e, e.useSourceOfProjectReferenceRedirect),
            getParsedCommandLine: gi,
            jsDocParsingMode: e.jsDocParsingMode,
            getGlobalTypingsCacheLocation: Ls(e, e.getGlobalTypingsCacheLocation)
          };
          const Ns = Qn.getSourceFile, { getSourceFileWithCache: $s } = aw(
            Qn,
            (ss) => lo(ss, m, T),
            (...ss) => Ns.call(Qn, ...ss)
          );
          Qn.getSourceFile = $s, (Jt = e.setCompilerHost) == null || Jt.call(e, Qn);
          const Es = {
            useCaseSensitiveFileNames: S,
            fileExists: (ss) => Qn.fileExists(ss),
            readFile: (ss) => Qn.readFile(ss),
            directoryExists: (ss) => Qn.directoryExists(ss),
            getDirectories: (ss) => Qn.getDirectories(ss),
            realpath: Qn.realpath,
            readDirectory: (...ss) => Qn.readDirectory(...ss),
            trace: Qn.trace,
            getCurrentDirectory: Qn.getCurrentDirectory,
            onUnRecoverableConfigFileDiagnostic: Ua
          }, Nc = t.getKeyForCompilationSettings(Kt);
          let qo = /* @__PURE__ */ new Set();
          if (uV(c, dr, Kt, (ss, Vs) => e.getScriptVersion(Vs), (ss) => Qn.fileExists(ss), Mt, cr, lr, gi, br)) {
            Qn = void 0, $t = void 0, qo = void 0;
            return;
          }
          c = gA({
            rootNames: dr,
            options: Kt,
            host: Qn,
            oldProgram: c,
            projectReferences: br
          }), Qn = void 0, $t = void 0, qo = void 0, k.clearCache(), c.getTypeChecker();
          return;
          function gi(ss) {
            const Vs = lo(ss, m, T), Aa = $t?.get(Vs);
            if (Aa !== void 0) return Aa || void 0;
            const Ca = e.getParsedCommandLine ? e.getParsedCommandLine(ss) : ps(ss);
            return ($t || ($t = /* @__PURE__ */ new Map())).set(Vs, Ca || !1), Ca;
          }
          function ps(ss) {
            const Vs = Bo(
              ss,
              100
              /* JSON */
            );
            if (Vs)
              return Vs.path = lo(ss, m, T), Vs.resolvedPath = Vs.path, Vs.originalFileName = Vs.fileName, GN(
                Vs,
                Es,
                Xi(Un(ss), m),
                /*existingOptions*/
                void 0,
                Xi(ss, m)
              );
          }
          function Wc(ss, Vs, Aa) {
            var Ca;
            e.getParsedCommandLine ? (Ca = e.onReleaseParsedCommandLine) == null || Ca.call(e, ss, Vs, Aa) : Vs && Lo(Vs.sourceFile, Aa);
          }
          function Lo(ss, Vs) {
            const Aa = t.getKeyForCompilationSettings(Vs);
            t.releaseDocumentWithKey(ss.resolvedPath, Aa, ss.scriptKind, ss.impliedNodeFormat);
          }
          function Pa(ss, Vs, Aa, Ca) {
            var zt;
            Lo(ss, Vs), (zt = e.onReleaseOldSourceFile) == null || zt.call(e, ss, Vs, Aa, Ca);
          }
          function Bo(ss, Vs, Aa, Ca) {
            return rf(ss, lo(ss, m, T), Vs, Aa, Ca);
          }
          function rf(ss, Vs, Aa, Ca, zt) {
            E.assert(Qn, "getOrCreateSourceFileByPath called after typical CompilerHost lifetime, check the callstack something with a reference to an old host.");
            const Ka = e.getScriptSnapshot(ss);
            if (!Ka)
              return;
            const Vc = GU(ss, e), tc = e.getScriptVersion(ss);
            if (!zt) {
              const eu = c && c.getSourceFileByPath(Vs);
              if (eu) {
                if (Vc === eu.scriptKind || qo.has(eu.resolvedPath))
                  return t.updateDocumentWithKey(ss, Vs, e, Nc, Ka, tc, Vc, Aa);
                t.releaseDocumentWithKey(eu.resolvedPath, t.getKeyForCompilationSettings(c.getCompilerOptions()), eu.scriptKind, eu.impliedNodeFormat), qo.add(eu.resolvedPath);
              }
            }
            return t.acquireDocumentWithKey(ss, Vs, e, Nc, Ka, tc, Vc, Aa);
          }
        }
        function O() {
          if (s === 2) {
            E.assert(c === void 0);
            return;
          }
          return w(), c;
        }
        function F() {
          var Ye;
          return (Ye = e.getPackageJsonAutoImportProvider) == null ? void 0 : Ye.call(e);
        }
        function j(Ye, gt) {
          const Jt = c.getTypeChecker(), wt = dr();
          if (!wt) return !1;
          for (const Mt of Ye)
            for (const cr of Mt.references) {
              const lr = Kt(cr);
              if (E.assertIsDefined(lr), gt.has(cr) || Eo.isDeclarationOfSymbol(lr, wt)) {
                gt.add(cr), cr.isDefinition = !0;
                const br = P9(cr, k, Ls(e, e.fileExists));
                br && gt.add(br);
              } else
                cr.isDefinition = !1;
            }
          return !0;
          function dr() {
            for (const Mt of Ye)
              for (const cr of Mt.references) {
                if (gt.has(cr)) {
                  const br = Kt(cr);
                  return E.assertIsDefined(br), Jt.getSymbolAtLocation(br);
                }
                const lr = P9(cr, k, Ls(e, e.fileExists));
                if (lr && gt.has(lr)) {
                  const br = Kt(lr);
                  if (br)
                    return Jt.getSymbolAtLocation(br);
                }
              }
          }
          function Kt(Mt) {
            const cr = c.getSourceFile(Mt.fileName);
            if (!cr) return;
            const lr = h_(cr, Mt.textSpan.start);
            return Eo.Core.getAdjustedNode(lr, { use: Eo.FindReferencesUse.References });
          }
        }
        function z() {
          if (c) {
            const Ye = t.getKeyForCompilationSettings(c.getCompilerOptions());
            ar(c.getSourceFiles(), (gt) => t.releaseDocumentWithKey(gt.resolvedPath, Ye, gt.scriptKind, gt.impliedNodeFormat)), c = void 0;
          }
        }
        function V() {
          z(), e = void 0;
        }
        function G(Ye) {
          return w(), c.getSyntacticDiagnostics(D(Ye), g).slice();
        }
        function W(Ye) {
          w();
          const gt = D(Ye), Jt = c.getSemanticDiagnostics(gt, g);
          if (!w_(c.getCompilerOptions()))
            return Jt.slice();
          const wt = c.getDeclarationDiagnostics(gt, g);
          return [...Jt, ...wt];
        }
        function pe(Ye, gt) {
          w();
          const Jt = D(Ye), wt = c.getCompilerOptions();
          if (a6(Jt, wt, c) || !dD(Jt, wt) || c.getCachedSemanticDiagnostics(Jt))
            return;
          const dr = K(Jt, gt);
          if (!dr)
            return;
          const Kt = Tj(dr.map((cr) => wc(cr.getFullStart(), cr.getEnd())));
          return {
            diagnostics: c.getSemanticDiagnostics(Jt, g, dr).slice(),
            spans: Kt
          };
        }
        function K(Ye, gt) {
          const Jt = [], wt = Tj(gt.map((dr) => L0(dr)));
          for (const dr of wt) {
            const Kt = U(Ye, dr);
            if (!Kt)
              return;
            Jt.push(...Kt);
          }
          if (Jt.length)
            return Jt;
        }
        function U(Ye, gt) {
          if (Sj(gt, Ye))
            return;
          const Jt = mw(Ye, Ko(gt)) || Ye, wt = _r(Jt, (Kt) => jY(Kt, gt)), dr = [];
          if (ee(gt, wt, dr), Ye.end === gt.start + gt.length && dr.push(Ye.endOfFileToken), !at(dr, xi))
            return dr;
        }
        function ee(Ye, gt, Jt) {
          return te(gt, Ye) ? Sj(Ye, gt) ? (ie(gt, Jt), !0) : uk(gt) ? fe(Ye, gt, Jt) : Xn(gt) ? me(Ye, gt, Jt) : (ie(gt, Jt), !0) : !1;
        }
        function te(Ye, gt) {
          const Jt = gt.start + gt.length;
          return Ye.pos < Jt && Ye.end > gt.start;
        }
        function ie(Ye, gt) {
          for (; Ye.parent && !Uee(Ye); )
            Ye = Ye.parent;
          gt.push(Ye);
        }
        function fe(Ye, gt, Jt) {
          const wt = [];
          return gt.statements.filter((Kt) => ee(Ye, Kt, wt)).length === gt.statements.length ? (ie(gt, Jt), !0) : (Jt.push(...wt), !1);
        }
        function me(Ye, gt, Jt) {
          var wt, dr, Kt;
          const Mt = (br) => WY(br, Ye);
          if ((wt = gt.modifiers) != null && wt.some(Mt) || gt.name && Mt(gt.name) || (dr = gt.typeParameters) != null && dr.some(Mt) || (Kt = gt.heritageClauses) != null && Kt.some(Mt))
            return ie(gt, Jt), !0;
          const cr = [];
          return gt.members.filter((br) => ee(Ye, br, cr)).length === gt.members.length ? (ie(gt, Jt), !0) : (Jt.push(...cr), !1);
        }
        function q(Ye) {
          return w(), Sq(D(Ye), c, g);
        }
        function he() {
          return w(), [...c.getOptionsDiagnostics(g), ...c.getGlobalDiagnostics(g)];
        }
        function Me(Ye, gt, Jt = Op, wt) {
          const dr = {
            ...Jt,
            // avoid excess property check
            includeCompletionsForModuleExports: Jt.includeCompletionsForModuleExports || Jt.includeExternalModuleExports,
            includeCompletionsWithInsertText: Jt.includeCompletionsWithInsertText || Jt.includeInsertTextCompletions
          };
          return w(), yk.getCompletionsAtPosition(
            e,
            c,
            h,
            D(Ye),
            gt,
            dr,
            Jt.triggerCharacter,
            Jt.triggerKind,
            g,
            wt && rl.getFormatContext(wt, e),
            Jt.includeSymbol
          );
        }
        function De(Ye, gt, Jt, wt, dr, Kt = Op, Mt) {
          return w(), yk.getCompletionEntryDetails(
            c,
            h,
            D(Ye),
            gt,
            { name: Jt, source: dr, data: Mt },
            e,
            wt && rl.getFormatContext(wt, e),
            // TODO: GH#18217
            Kt,
            g
          );
        }
        function re(Ye, gt, Jt, wt, dr = Op) {
          return w(), yk.getCompletionEntrySymbol(c, h, D(Ye), gt, { name: Jt, source: wt }, e, dr);
        }
        function xe(Ye, gt) {
          w();
          const Jt = D(Ye), wt = h_(Jt, gt);
          if (wt === Jt)
            return;
          const dr = c.getTypeChecker(), Kt = nt(wt), Mt = _Ue(Kt, dr);
          if (!Mt || dr.isUnknownSymbol(Mt)) {
            const Qn = oe(Jt, Kt, gt) ? dr.getTypeAtLocation(Kt) : void 0;
            return Qn && {
              kind: "",
              kindModifiers: "",
              textSpan: t_(Kt, Jt),
              displayParts: dr.runWithCancellationToken(g, (Ns) => jA(Ns, Qn, XS(Kt))),
              documentation: Qn.symbol ? Qn.symbol.getDocumentationComment(dr) : void 0,
              tags: Qn.symbol ? Qn.symbol.getJsDocTags(dr) : void 0
            };
          }
          const { symbolKind: cr, displayParts: lr, documentation: br, tags: $t } = dr.runWithCancellationToken(g, (Qn) => j0.getSymbolDisplayPartsDocumentationAndSymbolKind(Qn, Mt, Jt, XS(Kt), Kt));
          return {
            kind: cr,
            kindModifiers: j0.getSymbolModifiers(dr, Mt),
            textSpan: t_(Kt, Jt),
            displayParts: lr,
            documentation: br,
            tags: $t
          };
        }
        function ue(Ye, gt) {
          return w(), aG.preparePasteEdits(
            D(Ye),
            gt,
            c.getTypeChecker()
          );
        }
        function Xe(Ye, gt) {
          return w(), oG.pasteEditsProvider(
            D(Ye.targetFile),
            Ye.pastedText,
            Ye.pasteLocations,
            Ye.copiedFrom ? { file: D(Ye.copiedFrom.file), range: Ye.copiedFrom.range } : void 0,
            e,
            Ye.preferences,
            rl.getFormatContext(gt, e),
            g
          );
        }
        function nt(Ye) {
          return Hb(Ye.parent) && Ye.pos === Ye.parent.pos ? Ye.parent.expression : _6(Ye.parent) && Ye.pos === Ye.parent.pos || JC(Ye.parent) && Ye.parent.name === Ye || vd(Ye.parent) ? Ye.parent : Ye;
        }
        function oe(Ye, gt, Jt) {
          switch (gt.kind) {
            case 80:
              return gt.flags & 16777216 && !tn(gt) && (gt.parent.kind === 171 && gt.parent.name === gt || _r(
                gt,
                (wt) => wt.kind === 169
                /* Parameter */
              )) ? !1 : !pU(gt) && !dU(gt) && !Up(gt.parent);
            case 211:
            case 166:
              return !F0(Ye, Jt);
            case 110:
            case 197:
            case 108:
            case 202:
              return !0;
            case 236:
              return JC(gt);
            default:
              return !1;
          }
        }
        function ve(Ye, gt, Jt, wt) {
          return w(), sE.getDefinitionAtPosition(c, D(Ye), gt, Jt, wt);
        }
        function se(Ye, gt) {
          return w(), sE.getDefinitionAndBoundSpan(c, D(Ye), gt);
        }
        function Pe(Ye, gt) {
          return w(), sE.getTypeDefinitionAtPosition(c.getTypeChecker(), D(Ye), gt);
        }
        function Ee(Ye, gt) {
          return w(), Eo.getImplementationsAtPosition(c, g, c.getSourceFiles(), D(Ye), gt);
        }
        function Ce(Ye, gt, Jt) {
          const wt = Gs(Ye);
          E.assert(Jt.some((Mt) => Gs(Mt) === wt)), w();
          const dr = Oi(Jt, (Mt) => c.getSourceFile(Mt)), Kt = D(Ye);
          return G9.getDocumentHighlights(c, g, Kt, gt, dr);
        }
        function ze(Ye, gt, Jt, wt, dr) {
          w();
          const Kt = D(Ye), Mt = h9(h_(Kt, gt));
          if (NL.nodeIsEligibleForRename(Mt))
            if (Fe(Mt) && (yd(Mt.parent) || $b(Mt.parent)) && YC(Mt.escapedText)) {
              const { openingElement: cr, closingElement: lr } = Mt.parent.parent;
              return [cr, lr].map((br) => {
                const $t = t_(br.tagName, Kt);
                return {
                  fileName: Kt.fileName,
                  textSpan: $t,
                  ...Eo.toContextSpan($t, Kt, br.parent)
                };
              });
            } else {
              const cr = K_(Kt, dr ?? Op), lr = typeof dr == "boolean" ? dr : dr?.providePrefixAndSuffixTextForRename;
              return Bt(Mt, gt, { findInStrings: Jt, findInComments: wt, providePrefixAndSuffixTextForRename: lr, use: Eo.FindReferencesUse.Rename }, (br, $t, Qn) => Eo.toRenameLocation(br, $t, Qn, lr || !1, cr));
            }
        }
        function St(Ye, gt) {
          return w(), Bt(h_(D(Ye), gt), gt, { use: Eo.FindReferencesUse.References }, Eo.toReferenceEntry);
        }
        function Bt(Ye, gt, Jt, wt) {
          w();
          const dr = Jt && Jt.use === Eo.FindReferencesUse.Rename ? c.getSourceFiles().filter((Kt) => !c.isSourceFileDefaultLibrary(Kt)) : c.getSourceFiles();
          return Eo.findReferenceOrRenameEntries(c, g, dr, Ye, gt, Jt, wt);
        }
        function tr(Ye, gt) {
          return w(), Eo.findReferencedSymbols(c, g, c.getSourceFiles(), D(Ye), gt);
        }
        function Fr(Ye) {
          return w(), Eo.Core.getReferencesForFileName(Ye, c, c.getSourceFiles()).map(Eo.toReferenceEntry);
        }
        function it(Ye, gt, Jt, wt = !1, dr = !1) {
          w();
          const Kt = Jt ? [D(Jt)] : c.getSourceFiles();
          return M2e(Kt, c.getTypeChecker(), g, Ye, gt, wt, dr);
        }
        function Wt(Ye, gt, Jt) {
          w();
          const wt = D(Ye), dr = e.getCustomTransformers && e.getCustomTransformers();
          return Eie(c, wt, !!gt, g, dr, Jt);
        }
        function Wr(Ye, gt, { triggerReason: Jt } = Op) {
          w();
          const wt = D(Ye);
          return g8.getSignatureHelpItems(c, wt, gt, Jt, g);
        }
        function ai(Ye) {
          return o.getCurrentSourceFile(Ye);
        }
        function zi(Ye, gt, Jt) {
          const wt = o.getCurrentSourceFile(Ye), dr = h_(wt, gt);
          if (dr === wt)
            return;
          switch (dr.kind) {
            case 211:
            case 166:
            case 11:
            case 97:
            case 112:
            case 106:
            case 108:
            case 110:
            case 197:
            case 80:
              break;
            // Cant create the text span
            default:
              return;
          }
          let Kt = dr;
          for (; ; )
            if (V6(Kt) || Vse(Kt))
              Kt = Kt.parent;
            else if (gU(Kt))
              if (Kt.parent.parent.kind === 267 && Kt.parent.parent.body === Kt.parent)
                Kt = Kt.parent.parent.name;
              else
                break;
            else
              break;
          return wc(Kt.getStart(), dr.getEnd());
        }
        function Pt(Ye, gt) {
          const Jt = o.getCurrentSourceFile(Ye);
          return Yq.spanInSourceFileAtLocation(Jt, gt);
        }
        function Fn(Ye) {
          return J2e(o.getCurrentSourceFile(Ye), g);
        }
        function ii(Ye) {
          return z2e(o.getCurrentSourceFile(Ye), g);
        }
        function li(Ye, gt, Jt) {
          return w(), (Jt || "original") === "2020" ? _Te(c, g, D(Ye), gt) : Fae(c.getTypeChecker(), g, D(Ye), c.getClassifiableNames(), gt);
        }
        function cn(Ye, gt, Jt) {
          return w(), (Jt || "original") === "original" ? pq(c.getTypeChecker(), g, D(Ye), c.getClassifiableNames(), gt) : oce(c, g, D(Ye), gt);
        }
        function ci(Ye, gt) {
          return Oae(g, o.getCurrentSourceFile(Ye), gt);
        }
        function je(Ye, gt) {
          return dq(g, o.getCurrentSourceFile(Ye), gt);
        }
        function ut(Ye) {
          const gt = o.getCurrentSourceFile(Ye);
          return qH.collectElements(gt, g);
        }
        const er = new Map(Object.entries({
          19: 20,
          21: 22,
          23: 24,
          32: 30
          /* LessThanToken */
        }));
        er.forEach((Ye, gt) => er.set(Ye.toString(), Number(gt)));
        function Vr(Ye, gt) {
          const Jt = o.getCurrentSourceFile(Ye), wt = H6(Jt, gt), dr = wt.getStart(Jt) === gt ? er.get(wt.kind.toString()) : void 0, Kt = dr && Za(wt.parent, dr, Jt);
          return Kt ? [t_(wt, Jt), t_(Kt, Jt)].sort((Mt, cr) => Mt.start - cr.start) : Ue;
        }
        function zn(Ye, gt, Jt) {
          let wt = co();
          const dr = KA(Jt), Kt = o.getCurrentSourceFile(Ye);
          h("getIndentationAtPosition: getCurrentSourceFile: " + (co() - wt)), wt = co();
          const Mt = rl.SmartIndenter.getIndentation(gt, Kt, dr);
          return h("getIndentationAtPosition: computeIndentation  : " + (co() - wt)), Mt;
        }
        function Wn(Ye, gt, Jt, wt) {
          const dr = o.getCurrentSourceFile(Ye);
          return rl.formatSelection(gt, Jt, dr, rl.getFormatContext(KA(wt), e));
        }
        function bi(Ye, gt) {
          return rl.formatDocument(o.getCurrentSourceFile(Ye), rl.getFormatContext(KA(gt), e));
        }
        function ks(Ye, gt, Jt, wt) {
          const dr = o.getCurrentSourceFile(Ye), Kt = rl.getFormatContext(KA(wt), e);
          if (!F0(dr, gt))
            switch (Jt) {
              case "{":
                return rl.formatOnOpeningCurly(gt, dr, Kt);
              case "}":
                return rl.formatOnClosingCurly(gt, dr, Kt);
              case ";":
                return rl.formatOnSemicolon(gt, dr, Kt);
              case `
`:
                return rl.formatOnEnter(gt, dr, Kt);
            }
          return [];
        }
        function ta(Ye, gt, Jt, wt, dr, Kt = Op) {
          w();
          const Mt = D(Ye), cr = wc(gt, Jt), lr = rl.getFormatContext(dr, e);
          return oa(pb(wt, Dy, go), (br) => (g.throwIfCancellationRequested(), ku.getFixes({ errorCode: br, sourceFile: Mt, span: cr, program: c, host: e, cancellationToken: g, formatContext: lr, preferences: Kt })));
        }
        function gr(Ye, gt, Jt, wt = Op) {
          w(), E.assert(Ye.type === "file");
          const dr = D(Ye.fileName), Kt = rl.getFormatContext(Jt, e);
          return ku.getAllFixes({ fixId: gt, sourceFile: dr, program: c, host: e, cancellationToken: g, formatContext: Kt, preferences: wt });
        }
        function ms(Ye, gt, Jt = Op) {
          w(), E.assert(Ye.type === "file");
          const wt = D(Ye.fileName);
          if (cx(wt)) return Ue;
          const dr = rl.getFormatContext(gt, e), Kt = Ye.mode ?? (Ye.skipDestructiveCodeActions ? "SortAndCombine" : "All");
          return wv.organizeImports(wt, dr, e, c, Jt, Kt);
        }
        function He(Ye, gt, Jt, wt = Op) {
          return Rae(O(), Ye, gt, e, rl.getFormatContext(Jt, e), wt, k);
        }
        function Et(Ye, gt) {
          const Jt = typeof Ye == "string" ? gt : Ye;
          return fs(Jt) ? Promise.all(Jt.map((wt) => ne(wt))) : ne(Jt);
        }
        function ne(Ye) {
          const gt = (Jt) => lo(Jt, m, T);
          return E.assertEqual(Ye.type, "install package"), e.installPackage ? e.installPackage({ fileName: gt(Ye.file), packageName: Ye.packageName }) : Promise.reject("Host does not implement `installPackage`");
        }
        function rt(Ye, gt, Jt, wt) {
          const dr = wt ? rl.getFormatContext(wt, e).options : void 0;
          return Dv.getDocCommentTemplateAtPosition(Jh(e, dr), o.getCurrentSourceFile(Ye), gt, Jt);
        }
        function Q(Ye, gt, Jt) {
          if (Jt === 60)
            return !1;
          const wt = o.getCurrentSourceFile(Ye);
          if (ok(wt, gt))
            return !1;
          if (Qse(wt, gt))
            return Jt === 123;
          if (TU(wt, gt))
            return !1;
          switch (Jt) {
            case 39:
            case 34:
            case 96:
              return !F0(wt, gt);
          }
          return !0;
        }
        function Ne(Ye, gt) {
          const Jt = o.getCurrentSourceFile(Ye), wt = cl(gt, Jt);
          if (!wt) return;
          const dr = wt.kind === 32 && yd(wt.parent) ? wt.parent.parent : Lx(wt) && lm(wt.parent) ? wt.parent : void 0;
          if (dr && kt(dr))
            return { newText: `</${dr.openingElement.tagName.getText(Jt)}>` };
          const Kt = wt.kind === 32 && Yp(wt.parent) ? wt.parent.parent : Lx(wt) && cv(wt.parent) ? wt.parent : void 0;
          if (Kt && Ve(Kt))
            return { newText: "</>" };
        }
        function qe(Ye, gt) {
          const Jt = o.getCurrentSourceFile(Ye), wt = cl(gt, Jt);
          if (!wt || wt.parent.kind === 307) return;
          const dr = "[a-zA-Z0-9:\\-\\._$]*";
          if (cv(wt.parent.parent)) {
            const Kt = wt.parent.parent.openingFragment, Mt = wt.parent.parent.closingFragment;
            if (cx(Kt) || cx(Mt)) return;
            const cr = Kt.getStart(Jt) + 1, lr = Mt.getStart(Jt) + 2;
            return gt !== cr && gt !== lr ? void 0 : {
              ranges: [{ start: cr, length: 0 }, { start: lr, length: 0 }],
              wordPattern: dr
            };
          } else {
            const Kt = _r(wt.parent, ($s) => !!(yd($s) || $b($s)));
            if (!Kt) return;
            E.assert(yd(Kt) || $b(Kt), "tag should be opening or closing element");
            const Mt = Kt.parent.openingElement, cr = Kt.parent.closingElement, lr = Mt.tagName.getStart(Jt), br = Mt.tagName.end, $t = cr.tagName.getStart(Jt), Qn = cr.tagName.end;
            return lr === Mt.getStart(Jt) || $t === cr.getStart(Jt) || br === Mt.getEnd() || Qn === cr.getEnd() || !(lr <= gt && gt <= br || $t <= gt && gt <= Qn) || Mt.tagName.getText(Jt) !== cr.tagName.getText(Jt) ? void 0 : {
              ranges: [{ start: lr, length: br - lr }, { start: $t, length: Qn - $t }],
              wordPattern: dr
            };
          }
        }
        function Ze(Ye, gt) {
          return {
            lineStarts: Ye.getLineStarts(),
            firstLine: Ye.getLineAndCharacterOfPosition(gt.pos).line,
            lastLine: Ye.getLineAndCharacterOfPosition(gt.end).line
          };
        }
        function bt(Ye, gt, Jt) {
          const wt = o.getCurrentSourceFile(Ye), dr = [], { lineStarts: Kt, firstLine: Mt, lastLine: cr } = Ze(wt, gt);
          let lr = Jt || !1, br = Number.MAX_VALUE;
          const $t = /* @__PURE__ */ new Map(), Qn = new RegExp(/\S/), Ns = v9(wt, Kt[Mt]), $s = Ns ? "{/*" : "//";
          for (let Es = Mt; Es <= cr; Es++) {
            const Nc = wt.text.substring(Kt[Es], wt.getLineEndOfPosition(Kt[Es])), qo = Qn.exec(Nc);
            qo && (br = Math.min(br, qo.index), $t.set(Es.toString(), qo.index), Nc.substr(qo.index, $s.length) !== $s && (lr = Jt === void 0 || Jt));
          }
          for (let Es = Mt; Es <= cr; Es++) {
            if (Mt !== cr && Kt[Es] === gt.end)
              continue;
            const Nc = $t.get(Es.toString());
            Nc !== void 0 && (Ns ? dr.push(...Ie(Ye, { pos: Kt[Es] + br, end: wt.getLineEndOfPosition(Kt[Es]) }, lr, Ns)) : lr ? dr.push({
              newText: $s,
              span: {
                length: 0,
                start: Kt[Es] + br
              }
            }) : wt.text.substr(Kt[Es] + Nc, $s.length) === $s && dr.push({
              newText: "",
              span: {
                length: $s.length,
                start: Kt[Es] + Nc
              }
            }));
          }
          return dr;
        }
        function Ie(Ye, gt, Jt, wt) {
          var dr;
          const Kt = o.getCurrentSourceFile(Ye), Mt = [], { text: cr } = Kt;
          let lr = !1, br = Jt || !1;
          const $t = [];
          let { pos: Qn } = gt;
          const Ns = wt !== void 0 ? wt : v9(Kt, Qn), $s = Ns ? "{/*" : "/*", Es = Ns ? "*/}" : "*/", Nc = Ns ? "\\{\\/\\*" : "\\/\\*", qo = Ns ? "\\*\\/\\}" : "\\*\\/";
          for (; Qn <= gt.end; ) {
            const kc = cr.substr(Qn, $s.length) === $s ? $s.length : 0, gi = F0(Kt, Qn + kc);
            if (gi)
              Ns && (gi.pos--, gi.end++), $t.push(gi.pos), gi.kind === 3 && $t.push(gi.end), lr = !0, Qn = gi.end + 1;
            else {
              const ps = cr.substring(Qn, gt.end).search(`(${Nc})|(${qo})`);
              br = Jt !== void 0 ? Jt : br || !oae(cr, Qn, ps === -1 ? gt.end : Qn + ps), Qn = ps === -1 ? gt.end + 1 : Qn + ps + Es.length;
            }
          }
          if (br || !lr) {
            ((dr = F0(Kt, gt.pos)) == null ? void 0 : dr.kind) !== 2 && Ty($t, gt.pos, go), Ty($t, gt.end, go);
            const kc = $t[0];
            cr.substr(kc, $s.length) !== $s && Mt.push({
              newText: $s,
              span: {
                length: 0,
                start: kc
              }
            });
            for (let gi = 1; gi < $t.length - 1; gi++)
              cr.substr($t[gi] - Es.length, Es.length) !== Es && Mt.push({
                newText: Es,
                span: {
                  length: 0,
                  start: $t[gi]
                }
              }), cr.substr($t[gi], $s.length) !== $s && Mt.push({
                newText: $s,
                span: {
                  length: 0,
                  start: $t[gi]
                }
              });
            Mt.length % 2 !== 0 && Mt.push({
              newText: Es,
              span: {
                length: 0,
                start: $t[$t.length - 1]
              }
            });
          } else
            for (const kc of $t) {
              const gi = kc - Es.length > 0 ? kc - Es.length : 0, ps = cr.substr(gi, Es.length) === Es ? Es.length : 0;
              Mt.push({
                newText: "",
                span: {
                  length: $s.length,
                  start: kc - ps
                }
              });
            }
          return Mt;
        }
        function ft(Ye, gt) {
          const Jt = o.getCurrentSourceFile(Ye), { firstLine: wt, lastLine: dr } = Ze(Jt, gt);
          return wt === dr && gt.pos !== gt.end ? Ie(
            Ye,
            gt,
            /*insertComment*/
            !0
          ) : bt(
            Ye,
            gt,
            /*insertComment*/
            !0
          );
        }
        function _t(Ye, gt) {
          const Jt = o.getCurrentSourceFile(Ye), wt = [], { pos: dr } = gt;
          let { end: Kt } = gt;
          dr === Kt && (Kt += v9(Jt, dr) ? 2 : 1);
          for (let Mt = dr; Mt <= Kt; Mt++) {
            const cr = F0(Jt, Mt);
            if (cr) {
              switch (cr.kind) {
                case 2:
                  wt.push(...bt(
                    Ye,
                    { end: cr.end, pos: cr.pos + 1 },
                    /*insertComment*/
                    !1
                  ));
                  break;
                case 3:
                  wt.push(...Ie(
                    Ye,
                    { end: cr.end, pos: cr.pos + 1 },
                    /*insertComment*/
                    !1
                  ));
              }
              Mt = cr.end + 1;
            }
          }
          return wt;
        }
        function kt({ openingElement: Ye, closingElement: gt, parent: Jt }) {
          return !dv(Ye.tagName, gt.tagName) || lm(Jt) && dv(Ye.tagName, Jt.openingElement.tagName) && kt(Jt);
        }
        function Ve({ closingFragment: Ye, parent: gt }) {
          return !!(Ye.flags & 262144) || cv(gt) && Ve(gt);
        }
        function Rt(Ye, gt, Jt) {
          const wt = o.getCurrentSourceFile(Ye), dr = rl.getRangeOfEnclosingComment(wt, gt);
          return dr && (!Jt || dr.kind === 3) ? L0(dr) : void 0;
        }
        function Zr(Ye, gt) {
          w();
          const Jt = D(Ye);
          g.throwIfCancellationRequested();
          const wt = Jt.text, dr = [];
          if (gt.length > 0 && !lr(Jt.fileName)) {
            const br = Mt();
            let $t;
            for (; $t = br.exec(wt); ) {
              g.throwIfCancellationRequested();
              const Qn = 3;
              E.assert($t.length === gt.length + Qn);
              const Ns = $t[1], $s = $t.index + Ns.length;
              if (!F0(Jt, $s))
                continue;
              let Es;
              for (let qo = 0; qo < gt.length; qo++)
                $t[qo + Qn] && (Es = gt[qo]);
              if (Es === void 0) return E.fail();
              if (cr(wt.charCodeAt($s + Es.text.length)))
                continue;
              const Nc = $t[2];
              dr.push({ descriptor: Es, message: Nc, position: $s });
            }
          }
          return dr;
          function Kt(br) {
            return br.replace(/[-[\]/{}()*+?.\\^$|]/g, "\\$&");
          }
          function Mt() {
            const br = /(?:\/{2,}\s*)/.source, $t = /(?:\/\*+\s*)/.source, Ns = "(" + /(?:^(?:\s|\*)*)/.source + "|" + br + "|" + $t + ")", $s = "(?:" + fr(gt, (gi) => "(" + Kt(gi.text) + ")").join("|") + ")", Es = /(?:$|\*\/)/.source, Nc = /(?:.*?)/.source, qo = "(" + $s + Nc + ")", kc = Ns + qo + Es;
            return new RegExp(kc, "gim");
          }
          function cr(br) {
            return br >= 97 && br <= 122 || br >= 65 && br <= 90 || br >= 48 && br <= 57;
          }
          function lr(br) {
            return br.includes("/node_modules/");
          }
        }
        function we(Ye, gt, Jt) {
          return w(), NL.getRenameInfo(c, D(Ye), gt, Jt || {});
        }
        function mt(Ye, gt, Jt, wt, dr, Kt) {
          const [Mt, cr] = typeof gt == "number" ? [gt, void 0] : [gt.pos, gt.end];
          return {
            file: Ye,
            startPosition: Mt,
            endPosition: cr,
            program: O(),
            host: e,
            formatContext: rl.getFormatContext(wt, e),
            // TODO: GH#18217
            cancellationToken: g,
            preferences: Jt,
            triggerReason: dr,
            kind: Kt
          };
        }
        function _e(Ye, gt, Jt) {
          return {
            file: Ye,
            program: O(),
            host: e,
            span: gt,
            preferences: Jt,
            cancellationToken: g
          };
        }
        function M(Ye, gt) {
          return $H.getSmartSelectionRange(gt, o.getCurrentSourceFile(Ye));
        }
        function ye(Ye, gt, Jt = Op, wt, dr, Kt) {
          w();
          const Mt = D(Ye);
          return fk.getApplicableRefactors(mt(Mt, gt, Jt, Op, wt, dr), Kt);
        }
        function X(Ye, gt, Jt = Op) {
          w();
          const wt = D(Ye), dr = E.checkDefined(c.getSourceFiles()), Kt = fD(Ye), Mt = YA(mt(wt, gt, Jt, Op)), cr = Doe(Mt?.all), lr = Oi(dr, (br) => {
            const $t = fD(br.fileName);
            return !c?.isSourceFileFromExternalLibrary(wt) && !(wt === D(br.fileName) || Kt === ".ts" && $t === ".d.ts" || Kt === ".d.ts" && Wi(Qc(br.fileName), "lib.") && $t === ".d.ts") && (Kt === $t || (Kt === ".tsx" && $t === ".ts" || Kt === ".jsx" && $t === ".js") && !cr) ? br.fileName : void 0;
          });
          return { newFileName: Eoe(wt, c, e, Mt), files: lr };
        }
        function pt(Ye, gt, Jt, wt, dr, Kt = Op, Mt) {
          w();
          const cr = D(Ye);
          return fk.getEditsForRefactor(mt(cr, Jt, Kt, gt), wt, dr, Mt);
        }
        function jt(Ye, gt) {
          return gt === 0 ? { line: 0, character: 0 } : k.toLineColumnOffset(Ye, gt);
        }
        function ke(Ye, gt) {
          w();
          const Jt = pk.resolveCallHierarchyDeclaration(c, h_(D(Ye), gt));
          return Jt && iq(Jt, (wt) => pk.createCallHierarchyItem(c, wt));
        }
        function st(Ye, gt) {
          w();
          const Jt = D(Ye), wt = sq(pk.resolveCallHierarchyDeclaration(c, gt === 0 ? Jt : h_(Jt, gt)));
          return wt ? pk.getIncomingCalls(c, wt, g) : [];
        }
        function At(Ye, gt) {
          w();
          const Jt = D(Ye), wt = sq(pk.resolveCallHierarchyDeclaration(c, gt === 0 ? Jt : h_(Jt, gt)));
          return wt ? pk.getOutgoingCalls(c, wt) : [];
        }
        function Yr(Ye, gt, Jt = Op) {
          w();
          const wt = D(Ye);
          return WH.provideInlayHints(_e(wt, gt, Jt));
        }
        function Mr(Ye, gt, Jt, wt, dr) {
          return VH.mapCode(
            o.getCurrentSourceFile(Ye),
            gt,
            Jt,
            e,
            rl.getFormatContext(wt, e),
            dr
          );
        }
        const Rr = {
          dispose: V,
          cleanupSemanticCache: z,
          getSyntacticDiagnostics: G,
          getSemanticDiagnostics: W,
          getRegionSemanticDiagnostics: pe,
          getSuggestionDiagnostics: q,
          getCompilerOptionsDiagnostics: he,
          getSyntacticClassifications: ci,
          getSemanticClassifications: li,
          getEncodedSyntacticClassifications: je,
          getEncodedSemanticClassifications: cn,
          getCompletionsAtPosition: Me,
          getCompletionEntryDetails: De,
          getCompletionEntrySymbol: re,
          getSignatureHelpItems: Wr,
          getQuickInfoAtPosition: xe,
          getDefinitionAtPosition: ve,
          getDefinitionAndBoundSpan: se,
          getImplementationAtPosition: Ee,
          getTypeDefinitionAtPosition: Pe,
          getReferencesAtPosition: St,
          findReferences: tr,
          getFileReferences: Fr,
          getDocumentHighlights: Ce,
          getNameOrDottedNameSpan: zi,
          getBreakpointStatementAtPosition: Pt,
          getNavigateToItems: it,
          getRenameInfo: we,
          getSmartSelectionRange: M,
          findRenameLocations: ze,
          getNavigationBarItems: Fn,
          getNavigationTree: ii,
          getOutliningSpans: ut,
          getTodoComments: Zr,
          getBraceMatchingAtPosition: Vr,
          getIndentationAtPosition: zn,
          getFormattingEditsForRange: Wn,
          getFormattingEditsForDocument: bi,
          getFormattingEditsAfterKeystroke: ks,
          getDocCommentTemplateAtPosition: rt,
          isValidBraceCompletionAtPosition: Q,
          getJsxClosingTagAtPosition: Ne,
          getLinkedEditingRangeAtPosition: qe,
          getSpanOfEnclosingComment: Rt,
          getCodeFixesAtPosition: ta,
          getCombinedCodeFix: gr,
          applyCodeActionCommand: Et,
          organizeImports: ms,
          getEditsForFileRename: He,
          getEmitOutput: Wt,
          getNonBoundSourceFile: ai,
          getProgram: O,
          getCurrentProgram: () => c,
          getAutoImportProvider: F,
          updateIsDefinitionOfReferencedSymbols: j,
          getApplicableRefactors: ye,
          getEditsForRefactor: pt,
          getMoveToRefactoringFileSuggestions: X,
          toLineColumnOffset: jt,
          getSourceMapper: () => k,
          clearSourceMapperCache: () => k.clearCache(),
          prepareCallHierarchy: ke,
          provideCallHierarchyIncomingCalls: st,
          provideCallHierarchyOutgoingCalls: At,
          toggleLineComment: bt,
          toggleMultilineComment: Ie,
          commentSelection: ft,
          uncommentSelection: _t,
          provideInlayHints: Yr,
          getSupportedCodeFixes: $q,
          preparePasteEditsForFile: ue,
          getPasteEdits: Xe,
          mapCode: Mr
        };
        switch (s) {
          case 0:
            break;
          case 1:
            kTe.forEach(
              (Ye) => Rr[Ye] = () => {
                throw new Error(`LanguageService Operation: ${Ye} not allowed in LanguageServiceMode.PartialSemantic`);
              }
            );
            break;
          case 2:
            oUe.forEach(
              (Ye) => Rr[Ye] = () => {
                throw new Error(`LanguageService Operation: ${Ye} not allowed in LanguageServiceMode.Syntactic`);
              }
            );
            break;
          default:
            E.assertNever(s);
        }
        return Rr;
      }
      function Qq(e) {
        return e.nameTable || cUe(e), e.nameTable;
      }
      function cUe(e) {
        const t = e.nameTable = /* @__PURE__ */ new Map();
        e.forEachChild(function n(i) {
          if (Fe(i) && !dU(i) && i.escapedText || wf(i) && lUe(i)) {
            const s = X4(i);
            t.set(s, t.get(s) === void 0 ? i.pos : -1);
          } else if (Di(i)) {
            const s = i.escapedText;
            t.set(s, t.get(s) === void 0 ? i.pos : -1);
          }
          if (Ss(i, n), pf(i))
            for (const s of i.jsDoc)
              Ss(s, n);
        });
      }
      function lUe(e) {
        return Xm(e) || e.parent.kind === 283 || fUe(e) || j3(e);
      }
      function t8(e) {
        const t = uUe(e);
        return t && (ua(t.parent) || Xb(t.parent)) ? t : void 0;
      }
      function uUe(e) {
        switch (e.kind) {
          case 11:
          case 15:
          case 9:
            if (e.parent.kind === 167)
              return Uj(e.parent.parent) ? e.parent.parent : void 0;
          // falls through
          case 80:
            return Uj(e.parent) && (e.parent.parent.kind === 210 || e.parent.parent.kind === 292) && e.parent.name === e ? e.parent : void 0;
        }
      }
      function _Ue(e, t) {
        const n = t8(e);
        if (n) {
          const i = t.getContextualType(n.parent), s = i && uL(
            n,
            t,
            i,
            /*unionSymbolOk*/
            !1
          );
          if (s && s.length === 1)
            return xa(s);
        }
        return t.getSymbolAtLocation(e);
      }
      function uL(e, t, n, i) {
        const s = LA(e.name);
        if (!s) return Ue;
        if (!n.isUnion()) {
          const _ = n.getProperty(s);
          return _ ? [_] : Ue;
        }
        const o = ua(e.parent) || Xb(e.parent) ? Tn(n.types, (_) => !t.isTypeInvalidDueToUnionDiscriminant(_, e.parent)) : n.types, c = Oi(o, (_) => _.getProperty(s));
        if (i && (c.length === 0 || c.length === n.types.length)) {
          const _ = n.getProperty(s);
          if (_) return [_];
        }
        return !o.length && !c.length ? Oi(n.types, (_) => _.getProperty(s)) : pb(c, Dy);
      }
      function fUe(e) {
        return e && e.parent && e.parent.kind === 212 && e.parent.argumentExpression === e;
      }
      function fce(e) {
        if (dl)
          return An(Un(Gs(dl.getExecutingFilePath())), BP(e));
        throw new Error("getDefaultLibFilePath is only supported when consumed as a node module. ");
      }
      lee(nUe());
      function CTe(e, t, n) {
        const i = [];
        n = Cq(n, i);
        const s = fs(e) ? e : [e], o = cA(
          /*resolver*/
          void 0,
          /*host*/
          void 0,
          N,
          n,
          s,
          t,
          /*allowDtsFiles*/
          !0
        );
        return o.diagnostics = Ji(o.diagnostics, i), o;
      }
      var Yq = {};
      Ta(Yq, {
        spanInSourceFileAtLocation: () => pUe
      });
      function pUe(e, t) {
        if (e.isDeclarationFile)
          return;
        let n = mi(e, t);
        const i = e.getLineAndCharacterOfPosition(t).line;
        if (e.getLineAndCharacterOfPosition(n.getStart(e)).line > i) {
          const h = cl(n.pos, e);
          if (!h || e.getLineAndCharacterOfPosition(h.getEnd()).line !== i)
            return;
          n = h;
        }
        if (n.flags & 33554432)
          return;
        return m(n);
        function s(h, S) {
          const T = Zb(h) ? fb(h.modifiers, yl) : void 0, k = T ? ca(e.text, T.end) : h.getStart(e);
          return wc(k, (S || h).getEnd());
        }
        function o(h, S) {
          return s(h, a2(S, S.parent, e));
        }
        function c(h, S) {
          return h && i === e.getLineAndCharacterOfPosition(h.getStart(e)).line ? m(h) : m(S);
        }
        function _(h, S, T) {
          if (h) {
            const k = h.indexOf(S);
            if (k >= 0) {
              let D = k, w = k + 1;
              for (; D > 0 && T(h[D - 1]); ) D--;
              for (; w < h.length && T(h[w]); ) w++;
              return wc(ca(e.text, h[D].pos), h[w - 1].end);
            }
          }
          return s(S);
        }
        function u(h) {
          return m(cl(h.pos, e));
        }
        function g(h) {
          return m(a2(h, h.parent, e));
        }
        function m(h) {
          if (h) {
            const { parent: q } = h;
            switch (h.kind) {
              case 243:
                return T(h.declarationList.declarations[0]);
              case 260:
              case 172:
              case 171:
                return T(h);
              case 169:
                return D(h);
              case 262:
              case 174:
              case 173:
              case 177:
              case 178:
              case 176:
              case 218:
              case 219:
                return A(h);
              case 241:
                if (Eb(h))
                  return O(h);
              // falls through
              case 268:
                return F(h);
              case 299:
                return F(h.block);
              case 244:
                return s(h.expression);
              case 253:
                return s(h.getChildAt(0), h.expression);
              case 247:
                return o(h, h.expression);
              case 246:
                return m(h.statement);
              case 259:
                return s(h.getChildAt(0));
              case 245:
                return o(h, h.expression);
              case 256:
                return m(h.statement);
              case 252:
              case 251:
                return s(h.getChildAt(0), h.label);
              case 248:
                return z(h);
              case 249:
                return o(h, h.expression);
              case 250:
                return j(h);
              case 255:
                return o(h, h.expression);
              case 296:
              case 297:
                return m(h.statements[0]);
              case 258:
                return F(h.tryBlock);
              case 257:
                return s(h, h.expression);
              case 277:
                return s(h, h.expression);
              case 271:
                return s(h, h.moduleReference);
              case 272:
                return s(h, h.moduleSpecifier);
              case 278:
                return s(h, h.moduleSpecifier);
              case 267:
                if (jh(h) !== 1)
                  return;
              // falls through
              case 263:
              case 266:
              case 306:
              case 208:
                return s(h);
              case 254:
                return m(h.statement);
              case 170:
                return _(q.modifiers, h, yl);
              case 206:
              case 207:
                return V(h);
              // No breakpoint in interface, type alias
              case 264:
              case 265:
                return;
              // Tokens:
              case 27:
              case 1:
                return c(cl(h.pos, e));
              case 28:
                return u(h);
              case 19:
                return W(h);
              case 20:
                return pe(h);
              case 24:
                return K(h);
              case 21:
                return U(h);
              case 22:
                return ee(h);
              case 59:
                return te(h);
              case 32:
              case 30:
                return ie(h);
              // Keywords:
              case 117:
                return fe(h);
              case 93:
              case 85:
              case 98:
                return g(h);
              case 165:
                return me(h);
              default:
                if (O0(h))
                  return G(h);
                if ((h.kind === 80 || h.kind === 230 || h.kind === 303 || h.kind === 304) && O0(q))
                  return s(h);
                if (h.kind === 226) {
                  const { left: he, operatorToken: Me } = h;
                  if (O0(he))
                    return G(
                      he
                    );
                  if (Me.kind === 64 && O0(h.parent))
                    return s(h);
                  if (Me.kind === 28)
                    return m(he);
                }
                if (dd(h))
                  switch (q.kind) {
                    case 246:
                      return u(h);
                    case 170:
                      return m(h.parent);
                    case 248:
                    case 250:
                      return s(h);
                    case 226:
                      if (h.parent.operatorToken.kind === 28)
                        return s(h);
                      break;
                    case 219:
                      if (h.parent.body === h)
                        return s(h);
                      break;
                  }
                switch (h.parent.kind) {
                  case 303:
                    if (h.parent.name === h && !O0(h.parent.parent))
                      return m(h.parent.initializer);
                    break;
                  case 216:
                    if (h.parent.type === h)
                      return g(h.parent.type);
                    break;
                  case 260:
                  case 169: {
                    const { initializer: he, type: Me } = h.parent;
                    if (he === h || Me === h || Ah(h.kind))
                      return u(h);
                    break;
                  }
                  case 226: {
                    const { left: he } = h.parent;
                    if (O0(he) && h !== he)
                      return u(h);
                    break;
                  }
                  default:
                    if (Ts(h.parent) && h.parent.type === h)
                      return u(h);
                }
                return m(h.parent);
            }
          }
          function S(q) {
            return zl(q.parent) && q.parent.declarations[0] === q ? s(cl(q.pos, e, q.parent), q) : s(q);
          }
          function T(q) {
            if (q.parent.parent.kind === 249)
              return m(q.parent.parent);
            const he = q.parent;
            if (Ps(q.name))
              return V(q.name);
            if (_S(q) && q.initializer || qn(
              q,
              32
              /* Export */
            ) || he.parent.kind === 250)
              return S(q);
            if (zl(q.parent) && q.parent.declarations[0] !== q)
              return m(cl(q.pos, e, q.parent));
          }
          function k(q) {
            return !!q.initializer || q.dotDotDotToken !== void 0 || qn(
              q,
              3
              /* Private */
            );
          }
          function D(q) {
            if (Ps(q.name))
              return V(q.name);
            if (k(q))
              return s(q);
            {
              const he = q.parent, Me = he.parameters.indexOf(q);
              return E.assert(Me !== -1), Me !== 0 ? D(he.parameters[Me - 1]) : m(he.body);
            }
          }
          function w(q) {
            return qn(
              q,
              32
              /* Export */
            ) || q.parent.kind === 263 && q.kind !== 176;
          }
          function A(q) {
            if (q.body)
              return w(q) ? s(q) : m(q.body);
          }
          function O(q) {
            const he = q.statements.length ? q.statements[0] : q.getLastToken();
            return w(q.parent) ? c(q.parent, he) : m(he);
          }
          function F(q) {
            switch (q.parent.kind) {
              case 267:
                if (jh(q.parent) !== 1)
                  return;
              // Set on parent if on same line otherwise on first statement
              // falls through
              case 247:
              case 245:
              case 249:
                return c(q.parent, q.statements[0]);
              // Set span on previous token if it starts on same line otherwise on the first statement of the block
              case 248:
              case 250:
                return c(cl(q.pos, e, q.parent), q.statements[0]);
            }
            return m(q.statements[0]);
          }
          function j(q) {
            if (q.initializer.kind === 261) {
              const he = q.initializer;
              if (he.declarations.length > 0)
                return m(he.declarations[0]);
            } else
              return m(q.initializer);
          }
          function z(q) {
            if (q.initializer)
              return j(q);
            if (q.condition)
              return s(q.condition);
            if (q.incrementor)
              return s(q.incrementor);
          }
          function V(q) {
            const he = ar(q.elements, (Me) => Me.kind !== 232 ? Me : void 0);
            return he ? m(he) : q.parent.kind === 208 ? s(q.parent) : S(q.parent);
          }
          function G(q) {
            E.assert(
              q.kind !== 207 && q.kind !== 206
              /* ObjectBindingPattern */
            );
            const he = q.kind === 209 ? q.elements : q.properties, Me = ar(he, (De) => De.kind !== 232 ? De : void 0);
            return Me ? m(Me) : s(q.parent.kind === 226 ? q.parent : q);
          }
          function W(q) {
            switch (q.parent.kind) {
              case 266:
                const he = q.parent;
                return c(cl(q.pos, e, q.parent), he.members.length ? he.members[0] : he.getLastToken(e));
              case 263:
                const Me = q.parent;
                return c(cl(q.pos, e, q.parent), Me.members.length ? Me.members[0] : Me.getLastToken(e));
              case 269:
                return c(q.parent.parent, q.parent.clauses[0]);
            }
            return m(q.parent);
          }
          function pe(q) {
            switch (q.parent.kind) {
              case 268:
                if (jh(q.parent.parent) !== 1)
                  return;
              // falls through
              case 266:
              case 263:
                return s(q);
              case 241:
                if (Eb(q.parent))
                  return s(q);
              // falls through
              case 299:
                return m(Po(q.parent.statements));
              case 269:
                const he = q.parent, Me = Po(he.clauses);
                return Me ? m(Po(Me.statements)) : void 0;
              case 206:
                const De = q.parent;
                return m(Po(De.elements) || De);
              // Default to parent node
              default:
                if (O0(q.parent)) {
                  const re = q.parent;
                  return s(Po(re.properties) || re);
                }
                return m(q.parent);
            }
          }
          function K(q) {
            switch (q.parent.kind) {
              case 207:
                const he = q.parent;
                return s(Po(he.elements) || he);
              default:
                if (O0(q.parent)) {
                  const Me = q.parent;
                  return s(Po(Me.elements) || Me);
                }
                return m(q.parent);
            }
          }
          function U(q) {
            return q.parent.kind === 246 || // Go to while keyword and do action instead
            q.parent.kind === 213 || q.parent.kind === 214 ? u(q) : q.parent.kind === 217 ? g(q) : m(q.parent);
          }
          function ee(q) {
            switch (q.parent.kind) {
              case 218:
              case 262:
              case 219:
              case 174:
              case 173:
              case 177:
              case 178:
              case 176:
              case 247:
              case 246:
              case 248:
              case 250:
              case 213:
              case 214:
              case 217:
                return u(q);
              // Default to parent node
              default:
                return m(q.parent);
            }
          }
          function te(q) {
            return Ts(q.parent) || q.parent.kind === 303 || q.parent.kind === 169 ? u(q) : m(q.parent);
          }
          function ie(q) {
            return q.parent.kind === 216 ? g(q) : m(q.parent);
          }
          function fe(q) {
            return q.parent.kind === 246 ? o(q, q.parent.expression) : m(q.parent);
          }
          function me(q) {
            return q.parent.kind === 250 ? g(q) : m(q.parent);
          }
        }
      }
      var pk = {};
      Ta(pk, {
        createCallHierarchyItem: () => pce,
        getIncomingCalls: () => SUe,
        getOutgoingCalls: () => AUe,
        resolveCallHierarchyDeclaration: () => FTe
      });
      function dUe(e) {
        return (ho(e) || Kc(e)) && El(e);
      }
      function ETe(e) {
        return is(e) || Zn(e);
      }
      function r8(e) {
        return (ho(e) || Co(e) || Kc(e)) && ETe(e.parent) && e === e.parent.initializer && Fe(e.parent.name) && (!!(Ch(e.parent) & 2) || is(e.parent));
      }
      function DTe(e) {
        return xi(e) || zc(e) || Tc(e) || ho(e) || el(e) || Kc(e) || hc(e) || uc(e) || Xp(e) || ap(e) || P_(e);
      }
      function rE(e) {
        return xi(e) || zc(e) && Fe(e.name) || Tc(e) || el(e) || hc(e) || uc(e) || Xp(e) || ap(e) || P_(e) || dUe(e) || r8(e);
      }
      function wTe(e) {
        return xi(e) ? e : El(e) ? e.name : r8(e) ? e.parent.name : E.checkDefined(e.modifiers && Dn(e.modifiers, PTe));
      }
      function PTe(e) {
        return e.kind === 90;
      }
      function NTe(e, t) {
        const n = wTe(t);
        return n && e.getSymbolAtLocation(n);
      }
      function mUe(e, t) {
        if (xi(t))
          return { text: t.fileName, pos: 0, end: 0 };
        if ((Tc(t) || el(t)) && !El(t)) {
          const s = t.modifiers && Dn(t.modifiers, PTe);
          if (s)
            return { text: "default", pos: s.getStart(), end: s.getEnd() };
        }
        if (hc(t)) {
          const s = t.getSourceFile(), o = ca(s.text, nm(t).pos), c = o + 6, _ = e.getTypeChecker(), u = _.getSymbolAtLocation(t.parent);
          return { text: `${u ? `${_.symbolToString(u, t.parent)} ` : ""}static {}`, pos: o, end: c };
        }
        const n = r8(t) ? t.parent.name : E.checkDefined(ls(t), "Expected call hierarchy item to have a name");
        let i = Fe(n) ? Pn(n) : wf(n) ? n.text : ia(n) && wf(n.expression) ? n.expression.text : void 0;
        if (i === void 0) {
          const s = e.getTypeChecker(), o = s.getSymbolAtLocation(n);
          o && (i = s.symbolToString(o, t));
        }
        if (i === void 0) {
          const s = QW();
          i = LC((o) => s.writeNode(4, t, t.getSourceFile(), o));
        }
        return { text: i, pos: n.getStart(), end: n.getEnd() };
      }
      function gUe(e) {
        var t, n, i, s;
        if (r8(e))
          return is(e.parent) && Xn(e.parent.parent) ? Kc(e.parent.parent) ? (t = _7(e.parent.parent)) == null ? void 0 : t.getText() : (n = e.parent.parent.name) == null ? void 0 : n.getText() : om(e.parent.parent.parent.parent) && Fe(e.parent.parent.parent.parent.parent.name) ? e.parent.parent.parent.parent.parent.name.getText() : void 0;
        switch (e.kind) {
          case 177:
          case 178:
          case 174:
            return e.parent.kind === 210 ? (i = _7(e.parent)) == null ? void 0 : i.getText() : (s = ls(e.parent)) == null ? void 0 : s.getText();
          case 262:
          case 263:
          case 267:
            if (om(e.parent) && Fe(e.parent.parent.name))
              return e.parent.parent.name.getText();
        }
      }
      function ATe(e, t) {
        if (t.body)
          return t;
        if (Xo(t))
          return jg(t.parent);
        if (Tc(t) || uc(t)) {
          const n = NTe(e, t);
          return n && n.valueDeclaration && uo(n.valueDeclaration) && n.valueDeclaration.body ? n.valueDeclaration : void 0;
        }
        return t;
      }
      function ITe(e, t) {
        const n = NTe(e, t);
        let i;
        if (n && n.declarations) {
          const s = JI(n.declarations), o = fr(n.declarations, (u) => ({ file: u.getSourceFile().fileName, pos: u.pos }));
          s.sort((u, g) => au(o[u].file, o[g].file) || o[u].pos - o[g].pos);
          const c = fr(s, (u) => n.declarations[u]);
          let _;
          for (const u of c)
            rE(u) && ((!_ || _.parent !== u.parent || _.end !== u.pos) && (i = Dr(i, u)), _ = u);
        }
        return i;
      }
      function Zq(e, t) {
        return hc(t) ? t : uo(t) ? ATe(e, t) ?? ITe(e, t) ?? t : ITe(e, t) ?? t;
      }
      function FTe(e, t) {
        const n = e.getTypeChecker();
        let i = !1;
        for (; ; ) {
          if (rE(t))
            return Zq(n, t);
          if (DTe(t)) {
            const s = _r(t, rE);
            return s && Zq(n, s);
          }
          if (Xm(t)) {
            if (rE(t.parent))
              return Zq(n, t.parent);
            if (DTe(t.parent)) {
              const s = _r(t.parent, rE);
              return s && Zq(n, s);
            }
            return ETe(t.parent) && t.parent.initializer && r8(t.parent.initializer) ? t.parent.initializer : void 0;
          }
          if (Xo(t))
            return rE(t.parent) ? t.parent : void 0;
          if (t.kind === 126 && hc(t.parent)) {
            t = t.parent;
            continue;
          }
          if (Zn(t) && t.initializer && r8(t.initializer))
            return t.initializer;
          if (!i) {
            let s = n.getSymbolAtLocation(t);
            if (s && (s.flags & 2097152 && (s = n.getAliasedSymbol(s)), s.valueDeclaration)) {
              i = !0, t = s.valueDeclaration;
              continue;
            }
          }
          return;
        }
      }
      function pce(e, t) {
        const n = t.getSourceFile(), i = mUe(e, t), s = gUe(t), o = s2(t), c = gw(t), _ = wc(ca(
          n.text,
          t.getFullStart(),
          /*stopAfterLineBreak*/
          !1,
          /*stopAtComments*/
          !0
        ), t.getEnd()), u = wc(i.pos, i.end);
        return { file: n.fileName, kind: o, kindModifiers: c, name: i.text, containerName: s, span: _, selectionSpan: u };
      }
      function hUe(e) {
        return e !== void 0;
      }
      function yUe(e) {
        if (e.kind === Eo.EntryKind.Node) {
          const { node: t } = e;
          if (uU(
            t,
            /*includeElementAccess*/
            !0,
            /*skipPastOuterExpressions*/
            !0
          ) || Jse(
            t,
            /*includeElementAccess*/
            !0,
            /*skipPastOuterExpressions*/
            !0
          ) || zse(
            t,
            /*includeElementAccess*/
            !0,
            /*skipPastOuterExpressions*/
            !0
          ) || Wse(
            t,
            /*includeElementAccess*/
            !0,
            /*skipPastOuterExpressions*/
            !0
          ) || V6(t) || mU(t)) {
            const n = t.getSourceFile();
            return { declaration: _r(t, rE) || n, range: NU(t, n) };
          }
        }
      }
      function OTe(e) {
        return Oa(e.declaration);
      }
      function vUe(e, t) {
        return { from: e, fromSpans: t };
      }
      function bUe(e, t) {
        return vUe(pce(e, t[0].declaration), fr(t, (n) => L0(n.range)));
      }
      function SUe(e, t, n) {
        if (xi(t) || zc(t) || hc(t))
          return [];
        const i = wTe(t), s = Tn(Eo.findReferenceOrRenameEntries(
          e,
          n,
          e.getSourceFiles(),
          i,
          /*position*/
          0,
          { use: Eo.FindReferencesUse.References },
          yUe
        ), hUe);
        return s ? yC(s, OTe, (o) => bUe(e, o)) : [];
      }
      function TUe(e, t) {
        function n(s) {
          const o = iv(s) ? s.tag : yu(s) ? s.tagName : ko(s) || hc(s) ? s : s.expression, c = FTe(e, o);
          if (c) {
            const _ = NU(o, s.getSourceFile());
            if (fs(c))
              for (const u of c)
                t.push({ declaration: u, range: _ });
            else
              t.push({ declaration: c, range: _ });
          }
        }
        function i(s) {
          if (s && !(s.flags & 33554432)) {
            if (rE(s)) {
              if (Xn(s))
                for (const o of s.members)
                  o.name && ia(o.name) && i(o.name.expression);
              return;
            }
            switch (s.kind) {
              case 80:
              case 271:
              case 272:
              case 278:
              case 264:
              case 265:
                return;
              case 175:
                n(s);
                return;
              case 216:
              case 234:
                i(s.expression);
                return;
              case 260:
              case 169:
                i(s.name), i(s.initializer);
                return;
              case 213:
                n(s), i(s.expression), ar(s.arguments, i);
                return;
              case 214:
                n(s), i(s.expression), ar(s.arguments, i);
                return;
              case 215:
                n(s), i(s.tag), i(s.template);
                return;
              case 286:
              case 285:
                n(s), i(s.tagName), i(s.attributes);
                return;
              case 170:
                n(s), i(s.expression);
                return;
              case 211:
              case 212:
                n(s), Ss(s, i);
                break;
              case 238:
                i(s.expression);
                return;
            }
            Yd(s) || Ss(s, i);
          }
        }
        return i;
      }
      function xUe(e, t) {
        ar(e.statements, t);
      }
      function kUe(e, t) {
        !qn(
          e,
          128
          /* Ambient */
        ) && e.body && om(e.body) && ar(e.body.statements, t);
      }
      function CUe(e, t, n) {
        const i = ATe(e, t);
        i && (ar(i.parameters, n), n(i.body));
      }
      function EUe(e, t) {
        t(e.body);
      }
      function DUe(e, t) {
        ar(e.modifiers, t);
        const n = Ib(e);
        n && t(n.expression);
        for (const i of e.members)
          Fp(i) && ar(i.modifiers, t), is(i) ? t(i.initializer) : Xo(i) && i.body ? (ar(i.parameters, t), t(i.body)) : hc(i) && t(i);
      }
      function wUe(e, t) {
        const n = [], i = TUe(e, n);
        switch (t.kind) {
          case 307:
            xUe(t, i);
            break;
          case 267:
            kUe(t, i);
            break;
          case 262:
          case 218:
          case 219:
          case 174:
          case 177:
          case 178:
            CUe(e.getTypeChecker(), t, i);
            break;
          case 263:
          case 231:
            DUe(t, i);
            break;
          case 175:
            EUe(t, i);
            break;
          default:
            E.assertNever(t);
        }
        return n;
      }
      function PUe(e, t) {
        return { to: e, fromSpans: t };
      }
      function NUe(e, t) {
        return PUe(pce(e, t[0].declaration), fr(t, (n) => L0(n.range)));
      }
      function AUe(e, t) {
        return t.flags & 33554432 || Xp(t) ? [] : yC(wUe(e, t), OTe, (n) => NUe(e, n));
      }
      var dce = {};
      Ta(dce, {
        v2020: () => LTe
      });
      var LTe = {};
      Ta(LTe, {
        TokenEncodingConsts: () => cTe,
        TokenModifier: () => uTe,
        TokenType: () => lTe,
        getEncodedSemanticClassifications: () => oce,
        getSemanticClassifications: () => _Te
      });
      var ku = {};
      Ta(ku, {
        PreserveOptionalFlags: () => X6e,
        addNewNodeForMemberSymbol: () => Q6e,
        codeFixAll: () => Xa,
        createCodeFixAction: () => Rs,
        createCodeFixActionMaybeFixAll: () => hce,
        createCodeFixActionWithoutFixAll: () => kd,
        createCombinedCodeActions: () => dk,
        createFileTextChanges: () => MTe,
        createImportAdder: () => p2,
        createImportSpecifierResolver: () => Jqe,
        createMissingMemberNodes: () => jle,
        createSignatureDeclarationFromCallExpression: () => Ble,
        createSignatureDeclarationFromSignature: () => kH,
        createStubbedBody: () => hL,
        eachDiagnostic: () => mk,
        findAncestorMatchingSpan: () => Hle,
        generateAccessorFromProperty: () => iEe,
        getAccessorConvertiblePropertyAtPosition: () => oEe,
        getAllFixes: () => LUe,
        getAllSupers: () => Gle,
        getFixes: () => OUe,
        getImportCompletionAction: () => zqe,
        getImportKind: () => lH,
        getJSDocTypedefNodes: () => jqe,
        getNoopSymbolTrackerWithResolver: () => iE,
        getPromoteTypeOnlyCompletionAction: () => Wqe,
        getSupportedErrorCodes: () => IUe,
        importFixName: () => ike,
        importSymbols: () => ZS,
        parameterShouldGetTypeFromJSDoc: () => pxe,
        registerCodeFix: () => Ys,
        setJsonCompilerOptionValue: () => Ule,
        setJsonCompilerOptionValues: () => Vle,
        tryGetAutoImportableReferenceFromTypeNode: () => d2,
        typeNodeToAutoImportableTypeNode: () => Jle,
        typePredicateToAutoImportableTypeNode: () => K6e,
        typeToAutoImportableTypeNode: () => CH,
        typeToMinimizedReferenceType: () => Z6e
      });
      var mce = Tp(), gce = /* @__PURE__ */ new Map();
      function kd(e, t, n) {
        return yce(
          e,
          c2(n),
          t,
          /*fixId*/
          void 0,
          /*fixAllDescription*/
          void 0
        );
      }
      function Rs(e, t, n, i, s, o) {
        return yce(e, c2(n), t, i, c2(s), o);
      }
      function hce(e, t, n, i, s, o) {
        return yce(e, c2(n), t, i, s && c2(s), o);
      }
      function yce(e, t, n, i, s, o) {
        return { fixName: e, description: t, changes: n, fixId: i, fixAllDescription: s, commands: o ? [o] : void 0 };
      }
      function Ys(e) {
        for (const t of e.errorCodes)
          vce = void 0, mce.add(String(t), e);
        if (e.fixIds)
          for (const t of e.fixIds)
            E.assert(!gce.has(t)), gce.set(t, e);
      }
      var vce;
      function IUe() {
        return vce ?? (vce = rs(mce.keys()));
      }
      function FUe(e, t) {
        const { errorCodes: n } = e;
        let i = 0;
        for (const o of t)
          if (_s(n, o.code) && i++, i > 1) break;
        const s = i < 2;
        return ({ fixId: o, fixAllDescription: c, ..._ }) => s ? _ : { ..._, fixId: o, fixAllDescription: c };
      }
      function OUe(e) {
        const t = RTe(e), n = mce.get(String(e.errorCode));
        return oa(n, (i) => fr(i.getCodeActions(e), FUe(i, t)));
      }
      function LUe(e) {
        return gce.get(Us(e.fixId, cs)).getAllCodeActions(e);
      }
      function dk(e, t) {
        return { changes: e, commands: t };
      }
      function MTe(e, t) {
        return { fileName: e, textChanges: t };
      }
      function Xa(e, t, n) {
        const i = [], s = nn.ChangeTracker.with(e, (o) => mk(e, t, (c) => n(o, c, i)));
        return dk(s, i.length === 0 ? void 0 : i);
      }
      function mk(e, t, n) {
        for (const i of RTe(e))
          _s(t, i.code) && n(i);
      }
      function RTe({ program: e, sourceFile: t, cancellationToken: n }) {
        const i = [
          ...e.getSemanticDiagnostics(t, n),
          ...e.getSyntacticDiagnostics(t, n),
          ...Sq(t, e, n)
        ];
        return w_(e.getCompilerOptions()) && i.push(
          ...e.getDeclarationDiagnostics(t, n)
        ), i;
      }
      var bce = "addConvertToUnknownForNonOverlappingTypes", jTe = [p.Conversion_of_type_0_to_type_1_may_be_a_mistake_because_neither_type_sufficiently_overlaps_with_the_other_If_this_was_intentional_convert_the_expression_to_unknown_first.code];
      Ys({
        errorCodes: jTe,
        getCodeActions: function(t) {
          const n = JTe(t.sourceFile, t.span.start);
          if (n === void 0) return;
          const i = nn.ChangeTracker.with(t, (s) => BTe(s, t.sourceFile, n));
          return [Rs(bce, i, p.Add_unknown_conversion_for_non_overlapping_types, bce, p.Add_unknown_to_all_conversions_of_non_overlapping_types)];
        },
        fixIds: [bce],
        getAllCodeActions: (e) => Xa(e, jTe, (t, n) => {
          const i = JTe(n.file, n.start);
          i && BTe(t, n.file, i);
        })
      });
      function BTe(e, t, n) {
        const i = p6(n) ? N.createAsExpression(n.expression, N.createKeywordTypeNode(
          159
          /* UnknownKeyword */
        )) : N.createTypeAssertion(N.createKeywordTypeNode(
          159
          /* UnknownKeyword */
        ), n.expression);
        e.replaceNode(t, n.expression, i);
      }
      function JTe(e, t) {
        if (!tn(e))
          return _r(mi(e, t), (n) => p6(n) || TF(n));
      }
      Ys({
        errorCodes: [
          p.await_expressions_are_only_allowed_at_the_top_level_of_a_file_when_that_file_is_a_module_but_this_file_has_no_imports_or_exports_Consider_adding_an_empty_export_to_make_this_file_a_module.code,
          p.await_using_statements_are_only_allowed_at_the_top_level_of_a_file_when_that_file_is_a_module_but_this_file_has_no_imports_or_exports_Consider_adding_an_empty_export_to_make_this_file_a_module.code,
          p.for_await_loops_are_only_allowed_at_the_top_level_of_a_file_when_that_file_is_a_module_but_this_file_has_no_imports_or_exports_Consider_adding_an_empty_export_to_make_this_file_a_module.code
        ],
        getCodeActions: function(t) {
          const { sourceFile: n } = t, i = nn.ChangeTracker.with(t, (s) => {
            const o = N.createExportDeclaration(
              /*modifiers*/
              void 0,
              /*isTypeOnly*/
              !1,
              N.createNamedExports([]),
              /*moduleSpecifier*/
              void 0
            );
            s.insertNodeAtEndOfScope(n, n, o);
          });
          return [kd("addEmptyExportDeclaration", i, p.Add_export_to_make_this_file_into_a_module)];
        }
      });
      var Sce = "addMissingAsync", zTe = [
        p.Argument_of_type_0_is_not_assignable_to_parameter_of_type_1.code,
        p.Type_0_is_not_assignable_to_type_1.code,
        p.Type_0_is_not_comparable_to_type_1.code
      ];
      Ys({
        fixIds: [Sce],
        errorCodes: zTe,
        getCodeActions: function(t) {
          const { sourceFile: n, errorCode: i, cancellationToken: s, program: o, span: c } = t, _ = Dn(o.getTypeChecker().getDiagnostics(n, s), RUe(c, i)), u = _ && _.relatedInformation && Dn(_.relatedInformation, (h) => h.code === p.Did_you_mean_to_mark_this_function_as_async.code), g = VTe(n, u);
          return g ? [WTe(t, g, (h) => nn.ChangeTracker.with(t, h))] : void 0;
        },
        getAllCodeActions: (e) => {
          const { sourceFile: t } = e, n = /* @__PURE__ */ new Set();
          return Xa(e, zTe, (i, s) => {
            const o = s.relatedInformation && Dn(s.relatedInformation, (u) => u.code === p.Did_you_mean_to_mark_this_function_as_async.code), c = VTe(t, o);
            return c ? WTe(e, c, (u) => (u(i), []), n) : void 0;
          });
        }
      });
      function WTe(e, t, n, i) {
        const s = n((o) => MUe(o, e.sourceFile, t, i));
        return Rs(Sce, s, p.Add_async_modifier_to_containing_function, Sce, p.Add_all_missing_async_modifiers);
      }
      function MUe(e, t, n, i) {
        if (i && i.has(Oa(n)))
          return;
        i?.add(Oa(n));
        const s = N.replaceModifiers(
          qa(
            n,
            /*includeTrivia*/
            !0
          ),
          N.createNodeArray(N.createModifiersFromModifierFlags(
            S0(n) | 1024
            /* Async */
          ))
        );
        e.replaceNode(
          t,
          n,
          s
        );
      }
      function VTe(e, t) {
        if (!t) return;
        const n = mi(e, t.start);
        return _r(n, (s) => s.getStart(e) < t.start || s.getEnd() > Ko(t) ? "quit" : (Co(s) || uc(s) || ho(s) || Tc(s)) && X6(t, t_(s, e)));
      }
      function RUe(e, t) {
        return ({ start: n, length: i, relatedInformation: s, code: o }) => Cy(n) && Cy(i) && X6({ start: n, length: i }, e) && o === t && !!s && at(s, (c) => c.code === p.Did_you_mean_to_mark_this_function_as_async.code);
      }
      var Tce = "addMissingAwait", UTe = p.Property_0_does_not_exist_on_type_1.code, qTe = [
        p.This_expression_is_not_callable.code,
        p.This_expression_is_not_constructable.code
      ], xce = [
        p.An_arithmetic_operand_must_be_of_type_any_number_bigint_or_an_enum_type.code,
        p.The_left_hand_side_of_an_arithmetic_operation_must_be_of_type_any_number_bigint_or_an_enum_type.code,
        p.The_right_hand_side_of_an_arithmetic_operation_must_be_of_type_any_number_bigint_or_an_enum_type.code,
        p.Operator_0_cannot_be_applied_to_type_1.code,
        p.Operator_0_cannot_be_applied_to_types_1_and_2.code,
        p.This_comparison_appears_to_be_unintentional_because_the_types_0_and_1_have_no_overlap.code,
        p.This_condition_will_always_return_true_since_this_0_is_always_defined.code,
        p.Type_0_is_not_an_array_type.code,
        p.Type_0_is_not_an_array_type_or_a_string_type.code,
        p.Type_0_can_only_be_iterated_through_when_using_the_downlevelIteration_flag_or_with_a_target_of_es2015_or_higher.code,
        p.Type_0_is_not_an_array_type_or_a_string_type_or_does_not_have_a_Symbol_iterator_method_that_returns_an_iterator.code,
        p.Type_0_is_not_an_array_type_or_does_not_have_a_Symbol_iterator_method_that_returns_an_iterator.code,
        p.Type_0_must_have_a_Symbol_iterator_method_that_returns_an_iterator.code,
        p.Type_0_must_have_a_Symbol_asyncIterator_method_that_returns_an_async_iterator.code,
        p.Argument_of_type_0_is_not_assignable_to_parameter_of_type_1.code,
        UTe,
        ...qTe
      ];
      Ys({
        fixIds: [Tce],
        errorCodes: xce,
        getCodeActions: function(t) {
          const { sourceFile: n, errorCode: i, span: s, cancellationToken: o, program: c } = t, _ = HTe(n, i, s, o, c);
          if (!_)
            return;
          const u = t.program.getTypeChecker(), g = (m) => nn.ChangeTracker.with(t, m);
          return kP([
            GTe(t, _, i, u, g),
            $Te(t, _, i, u, g)
          ]);
        },
        getAllCodeActions: (e) => {
          const { sourceFile: t, program: n, cancellationToken: i } = e, s = e.program.getTypeChecker(), o = /* @__PURE__ */ new Set();
          return Xa(e, xce, (c, _) => {
            const u = HTe(t, _.code, _, i, n);
            if (!u)
              return;
            const g = (m) => (m(c), []);
            return GTe(e, u, _.code, s, g, o) || $Te(e, u, _.code, s, g, o);
          });
        }
      });
      function HTe(e, t, n, i, s) {
        const o = nq(e, n);
        return o && jUe(e, t, n, i, s) && XTe(o) ? o : void 0;
      }
      function GTe(e, t, n, i, s, o) {
        const { sourceFile: c, program: _, cancellationToken: u } = e, g = BUe(t, c, u, _, i);
        if (g) {
          const m = s((h) => {
            ar(g.initializers, ({ expression: S }) => kce(h, n, c, i, S, o)), o && g.needsSecondPassForFixAll && kce(h, n, c, i, t, o);
          });
          return kd(
            "addMissingAwaitToInitializer",
            m,
            g.initializers.length === 1 ? [p.Add_await_to_initializer_for_0, g.initializers[0].declarationSymbol.name] : p.Add_await_to_initializers
          );
        }
      }
      function $Te(e, t, n, i, s, o) {
        const c = s((_) => kce(_, n, e.sourceFile, i, t, o));
        return Rs(Tce, c, p.Add_await, Tce, p.Fix_all_expressions_possibly_missing_await);
      }
      function jUe(e, t, n, i, s) {
        const c = s.getTypeChecker().getDiagnostics(e, i);
        return at(c, ({ start: _, length: u, relatedInformation: g, code: m }) => Cy(_) && Cy(u) && X6({ start: _, length: u }, n) && m === t && !!g && at(g, (h) => h.code === p.Did_you_forget_to_use_await.code));
      }
      function BUe(e, t, n, i, s) {
        const o = JUe(e, s);
        if (!o)
          return;
        let c = o.isCompleteFix, _;
        for (const u of o.identifiers) {
          const g = s.getSymbolAtLocation(u);
          if (!g)
            continue;
          const m = Mn(g.valueDeclaration, Zn), h = m && Mn(m.name, Fe), S = Y1(
            m,
            243
            /* VariableStatement */
          );
          if (!m || !S || m.type || !m.initializer || S.getSourceFile() !== t || qn(
            S,
            32
            /* Export */
          ) || !h || !XTe(m.initializer)) {
            c = !1;
            continue;
          }
          const T = i.getSemanticDiagnostics(t, n);
          if (Eo.Core.eachSymbolReferenceInFile(h, s, t, (D) => u !== D && !zUe(D, T, t, s))) {
            c = !1;
            continue;
          }
          (_ || (_ = [])).push({
            expression: m.initializer,
            declarationSymbol: g
          });
        }
        return _ && {
          initializers: _,
          needsSecondPassForFixAll: !c
        };
      }
      function JUe(e, t) {
        if (kn(e.parent) && Fe(e.parent.expression))
          return { identifiers: [e.parent.expression], isCompleteFix: !0 };
        if (Fe(e))
          return { identifiers: [e], isCompleteFix: !0 };
        if (_n(e)) {
          let n, i = !0;
          for (const s of [e.left, e.right]) {
            const o = t.getTypeAtLocation(s);
            if (t.getPromisedTypeOfPromise(o)) {
              if (!Fe(s)) {
                i = !1;
                continue;
              }
              (n || (n = [])).push(s);
            }
          }
          return n && { identifiers: n, isCompleteFix: i };
        }
      }
      function zUe(e, t, n, i) {
        const s = kn(e.parent) ? e.parent.name : _n(e.parent) ? e.parent : e, o = Dn(t, (c) => c.start === s.getStart(n) && c.start + c.length === s.getEnd());
        return o && _s(xce, o.code) || // A Promise is usually not correct in a binary expression (it's not valid
        // in an arithmetic expression and an equality comparison seems unusual),
        // but if the other side of the binary expression has an error, the side
        // is typed `any` which will squash the error that would identify this
        // Promise as an invalid operand. So if the whole binary expression is
        // typed `any` as a result, there is a strong likelihood that this Promise
        // is accidentally missing `await`.
        i.getTypeAtLocation(s).flags & 1;
      }
      function XTe(e) {
        return e.flags & 65536 || !!_r(e, (t) => t.parent && Co(t.parent) && t.parent.body === t || Cs(t) && (t.parent.kind === 262 || t.parent.kind === 218 || t.parent.kind === 219 || t.parent.kind === 174));
      }
      function kce(e, t, n, i, s, o) {
        if (wN(s.parent) && !s.parent.awaitModifier) {
          const c = i.getTypeAtLocation(s), _ = i.getAnyAsyncIterableType();
          if (_ && i.isTypeAssignableTo(c, _)) {
            const u = s.parent;
            e.replaceNode(n, u, N.updateForOfStatement(u, N.createToken(
              135
              /* AwaitKeyword */
            ), u.initializer, u.expression, u.statement));
            return;
          }
        }
        if (_n(s))
          for (const c of [s.left, s.right]) {
            if (o && Fe(c)) {
              const g = i.getSymbolAtLocation(c);
              if (g && o.has(ea(g)))
                continue;
            }
            const _ = i.getTypeAtLocation(c), u = i.getPromisedTypeOfPromise(_) ? N.createAwaitExpression(c) : c;
            e.replaceNode(n, c, u);
          }
        else if (t === UTe && kn(s.parent)) {
          if (o && Fe(s.parent.expression)) {
            const c = i.getSymbolAtLocation(s.parent.expression);
            if (c && o.has(ea(c)))
              return;
          }
          e.replaceNode(
            n,
            s.parent.expression,
            N.createParenthesizedExpression(N.createAwaitExpression(s.parent.expression))
          ), QTe(e, s.parent.expression, n);
        } else if (_s(qTe, t) && Gd(s.parent)) {
          if (o && Fe(s)) {
            const c = i.getSymbolAtLocation(s);
            if (c && o.has(ea(c)))
              return;
          }
          e.replaceNode(n, s, N.createParenthesizedExpression(N.createAwaitExpression(s))), QTe(e, s, n);
        } else {
          if (o && Zn(s.parent) && Fe(s.parent.name)) {
            const c = i.getSymbolAtLocation(s.parent.name);
            if (c && !m0(o, ea(c)))
              return;
          }
          e.replaceNode(n, s, N.createAwaitExpression(s));
        }
      }
      function QTe(e, t, n) {
        const i = cl(t.pos, n);
        i && O9(i.end, i.parent, n) && e.insertText(n, t.getStart(n), ";");
      }
      var Cce = "addMissingConst", YTe = [
        p.Cannot_find_name_0.code,
        p.No_value_exists_in_scope_for_the_shorthand_property_0_Either_declare_one_or_provide_an_initializer.code
      ];
      Ys({
        errorCodes: YTe,
        getCodeActions: function(t) {
          const n = nn.ChangeTracker.with(t, (i) => ZTe(i, t.sourceFile, t.span.start, t.program));
          if (n.length > 0)
            return [Rs(Cce, n, p.Add_const_to_unresolved_variable, Cce, p.Add_const_to_all_unresolved_variables)];
        },
        fixIds: [Cce],
        getAllCodeActions: (e) => {
          const t = /* @__PURE__ */ new Set();
          return Xa(e, YTe, (n, i) => ZTe(n, i.file, i.start, e.program, t));
        }
      });
      function ZTe(e, t, n, i, s) {
        const o = mi(t, n), c = _r(o, (g) => uS(g.parent) ? g.parent.initializer === g : WUe(g) ? !1 : "quit");
        if (c) return Kq(e, c, t, s);
        const _ = o.parent;
        if (_n(_) && _.operatorToken.kind === 64 && Pl(_.parent))
          return Kq(e, o, t, s);
        if (Ql(_)) {
          const g = i.getTypeChecker();
          return Pi(_.elements, (m) => VUe(m, g)) ? Kq(e, _, t, s) : void 0;
        }
        const u = _r(o, (g) => Pl(g.parent) ? !0 : UUe(g) ? !1 : "quit");
        if (u) {
          const g = i.getTypeChecker();
          return KTe(u, g) ? Kq(e, u, t, s) : void 0;
        }
      }
      function Kq(e, t, n, i) {
        (!i || m0(i, t)) && e.insertModifierBefore(n, 87, t);
      }
      function WUe(e) {
        switch (e.kind) {
          case 80:
          case 209:
          case 210:
          case 303:
          case 304:
            return !0;
          default:
            return !1;
        }
      }
      function VUe(e, t) {
        const n = Fe(e) ? e : wl(
          e,
          /*excludeCompoundAssignment*/
          !0
        ) && Fe(e.left) ? e.left : void 0;
        return !!n && !t.getSymbolAtLocation(n);
      }
      function UUe(e) {
        switch (e.kind) {
          case 80:
          case 226:
          case 28:
            return !0;
          default:
            return !1;
        }
      }
      function KTe(e, t) {
        return _n(e) ? e.operatorToken.kind === 28 ? Pi([e.left, e.right], (n) => KTe(n, t)) : e.operatorToken.kind === 64 && Fe(e.left) && !t.getSymbolAtLocation(e.left) : !1;
      }
      var Ece = "addMissingDeclareProperty", exe = [
        p.Property_0_will_overwrite_the_base_property_in_1_If_this_is_intentional_add_an_initializer_Otherwise_add_a_declare_modifier_or_remove_the_redundant_declaration.code
      ];
      Ys({
        errorCodes: exe,
        getCodeActions: function(t) {
          const n = nn.ChangeTracker.with(t, (i) => txe(i, t.sourceFile, t.span.start));
          if (n.length > 0)
            return [Rs(Ece, n, p.Prefix_with_declare, Ece, p.Prefix_all_incorrect_property_declarations_with_declare)];
        },
        fixIds: [Ece],
        getAllCodeActions: (e) => {
          const t = /* @__PURE__ */ new Set();
          return Xa(e, exe, (n, i) => txe(n, i.file, i.start, t));
        }
      });
      function txe(e, t, n, i) {
        const s = mi(t, n);
        if (!Fe(s))
          return;
        const o = s.parent;
        o.kind === 172 && (!i || m0(i, o)) && e.insertModifierBefore(t, 138, o);
      }
      var Dce = "addMissingInvocationForDecorator", rxe = [p._0_accepts_too_few_arguments_to_be_used_as_a_decorator_here_Did_you_mean_to_call_it_first_and_write_0.code];
      Ys({
        errorCodes: rxe,
        getCodeActions: function(t) {
          const n = nn.ChangeTracker.with(t, (i) => nxe(i, t.sourceFile, t.span.start));
          return [Rs(Dce, n, p.Call_decorator_expression, Dce, p.Add_to_all_uncalled_decorators)];
        },
        fixIds: [Dce],
        getAllCodeActions: (e) => Xa(e, rxe, (t, n) => nxe(t, n.file, n.start))
      });
      function nxe(e, t, n) {
        const i = mi(t, n), s = _r(i, yl);
        E.assert(!!s, "Expected position to be owned by a decorator.");
        const o = N.createCallExpression(
          s.expression,
          /*typeArguments*/
          void 0,
          /*argumentsArray*/
          void 0
        );
        e.replaceNode(t, s.expression, o);
      }
      var wce = "addMissingResolutionModeImportAttribute", ixe = [
        p.Type_only_import_of_an_ECMAScript_module_from_a_CommonJS_module_must_have_a_resolution_mode_attribute.code,
        p.Type_import_of_an_ECMAScript_module_from_a_CommonJS_module_must_have_a_resolution_mode_attribute.code
      ];
      Ys({
        errorCodes: ixe,
        getCodeActions: function(t) {
          const n = nn.ChangeTracker.with(t, (i) => sxe(i, t.sourceFile, t.span.start, t.program, t.host, t.preferences));
          return [Rs(wce, n, p.Add_resolution_mode_import_attribute, wce, p.Add_resolution_mode_import_attribute_to_all_type_only_imports_that_need_it)];
        },
        fixIds: [wce],
        getAllCodeActions: (e) => Xa(e, ixe, (t, n) => sxe(t, n.file, n.start, e.program, e.host, e.preferences))
      });
      function sxe(e, t, n, i, s, o) {
        var c, _, u;
        const g = mi(t, n), m = _r(g, z_(Uo, am));
        E.assert(!!m, "Expected position to be owned by an ImportDeclaration or ImportType.");
        const h = K_(t, o) === 0, S = fx(m), T = !S || ((c = WS(
          S.text,
          t.fileName,
          i.getCompilerOptions(),
          s,
          i.getModuleResolutionCache(),
          /*redirectedReference*/
          void 0,
          99
          /* ESNext */
        ).resolvedModule) == null ? void 0 : c.resolvedFileName) === ((u = (_ = i.getResolvedModuleFromModuleSpecifier(
          S,
          t
        )) == null ? void 0 : _.resolvedModule) == null ? void 0 : u.resolvedFileName), k = m.attributes ? N.updateImportAttributes(
          m.attributes,
          N.createNodeArray([
            ...m.attributes.elements,
            N.createImportAttribute(
              N.createStringLiteral("resolution-mode", h),
              N.createStringLiteral(T ? "import" : "require", h)
            )
          ], m.attributes.elements.hasTrailingComma),
          m.attributes.multiLine
        ) : N.createImportAttributes(
          N.createNodeArray([
            N.createImportAttribute(
              N.createStringLiteral("resolution-mode", h),
              N.createStringLiteral(T ? "import" : "require", h)
            )
          ])
        );
        m.kind === 272 ? e.replaceNode(
          t,
          m,
          N.updateImportDeclaration(
            m,
            m.modifiers,
            m.importClause,
            m.moduleSpecifier,
            k
          )
        ) : e.replaceNode(
          t,
          m,
          N.updateImportTypeNode(
            m,
            m.argument,
            k,
            m.qualifier,
            m.typeArguments
          )
        );
      }
      var Pce = "addNameToNamelessParameter", axe = [p.Parameter_has_a_name_but_no_type_Did_you_mean_0_Colon_1.code];
      Ys({
        errorCodes: axe,
        getCodeActions: function(t) {
          const n = nn.ChangeTracker.with(t, (i) => oxe(i, t.sourceFile, t.span.start));
          return [Rs(Pce, n, p.Add_parameter_name, Pce, p.Add_names_to_all_parameters_without_names)];
        },
        fixIds: [Pce],
        getAllCodeActions: (e) => Xa(e, axe, (t, n) => oxe(t, n.file, n.start))
      });
      function oxe(e, t, n) {
        const i = mi(t, n), s = i.parent;
        if (!Ni(s))
          return E.fail("Tried to add a parameter name to a non-parameter: " + E.formatSyntaxKind(i.kind));
        const o = s.parent.parameters.indexOf(s);
        E.assert(!s.type, "Tried to add a parameter name to a parameter that already had one."), E.assert(o > -1, "Parameter not found in parent parameter list.");
        let c = s.name.getEnd(), _ = N.createTypeReferenceNode(
          s.name,
          /*typeArguments*/
          void 0
        ), u = cxe(t, s);
        for (; u; )
          _ = N.createArrayTypeNode(_), c = u.getEnd(), u = cxe(t, u);
        const g = N.createParameterDeclaration(
          s.modifiers,
          s.dotDotDotToken,
          "arg" + o,
          s.questionToken,
          s.dotDotDotToken && !EN(_) ? N.createArrayTypeNode(_) : _,
          s.initializer
        );
        e.replaceRange(t, tp(s.getStart(t), c), g);
      }
      function cxe(e, t) {
        const n = a2(t.name, t.parent, e);
        if (n && n.kind === 23 && N0(n.parent) && Ni(n.parent.parent))
          return n.parent.parent;
      }
      var lxe = "addOptionalPropertyUndefined", qUe = [
        p.Type_0_is_not_assignable_to_type_1_with_exactOptionalPropertyTypes_Colon_true_Consider_adding_undefined_to_the_type_of_the_target.code,
        p.Type_0_is_not_assignable_to_type_1_with_exactOptionalPropertyTypes_Colon_true_Consider_adding_undefined_to_the_types_of_the_target_s_properties.code,
        p.Argument_of_type_0_is_not_assignable_to_parameter_of_type_1_with_exactOptionalPropertyTypes_Colon_true_Consider_adding_undefined_to_the_types_of_the_target_s_properties.code
      ];
      Ys({
        errorCodes: qUe,
        getCodeActions(e) {
          const t = e.program.getTypeChecker(), n = HUe(e.sourceFile, e.span, t);
          if (!n.length)
            return;
          const i = nn.ChangeTracker.with(e, (s) => $Ue(s, n));
          return [kd(lxe, i, p.Add_undefined_to_optional_property_type)];
        },
        fixIds: [lxe]
      });
      function HUe(e, t, n) {
        var i, s;
        const o = uxe(nq(e, t), n);
        if (!o)
          return Ue;
        const { source: c, target: _ } = o, u = GUe(c, _, n) ? n.getTypeAtLocation(_.expression) : n.getTypeAtLocation(_);
        return (s = (i = u.symbol) == null ? void 0 : i.declarations) != null && s.some((g) => Er(g).fileName.match(/\.d\.ts$/)) ? Ue : n.getExactOptionalProperties(u);
      }
      function GUe(e, t, n) {
        return kn(t) && !!n.getExactOptionalProperties(n.getTypeAtLocation(t.expression)).length && n.getTypeAtLocation(e) === n.getUndefinedType();
      }
      function uxe(e, t) {
        var n;
        if (e) {
          if (_n(e.parent) && e.parent.operatorToken.kind === 64)
            return { source: e.parent.right, target: e.parent.left };
          if (Zn(e.parent) && e.parent.initializer)
            return { source: e.parent.initializer, target: e.parent.name };
          if (Ms(e.parent)) {
            const i = t.getSymbolAtLocation(e.parent.expression);
            if (!i?.valueDeclaration || !tx(i.valueDeclaration.kind) || !lt(e)) return;
            const s = e.parent.arguments.indexOf(e);
            if (s === -1) return;
            const o = i.valueDeclaration.parameters[s].name;
            if (Fe(o)) return { source: e, target: o };
          } else if (tl(e.parent) && Fe(e.parent.name) || _u(e.parent)) {
            const i = uxe(e.parent.parent, t);
            if (!i) return;
            const s = t.getPropertyOfType(t.getTypeAtLocation(i.target), e.parent.name.text), o = (n = s?.declarations) == null ? void 0 : n[0];
            return o ? {
              source: tl(e.parent) ? e.parent.initializer : e.parent.name,
              target: o
            } : void 0;
          }
        } else return;
      }
      function $Ue(e, t) {
        for (const n of t) {
          const i = n.valueDeclaration;
          if (i && (ju(i) || is(i)) && i.type) {
            const s = N.createUnionTypeNode([
              ...i.type.kind === 192 ? i.type.types : [i.type],
              N.createTypeReferenceNode("undefined")
            ]);
            e.replaceNode(i.getSourceFile(), i.type, s);
          }
        }
      }
      var Nce = "annotateWithTypeFromJSDoc", _xe = [p.JSDoc_types_may_be_moved_to_TypeScript_types.code];
      Ys({
        errorCodes: _xe,
        getCodeActions(e) {
          const t = fxe(e.sourceFile, e.span.start);
          if (!t) return;
          const n = nn.ChangeTracker.with(e, (i) => mxe(i, e.sourceFile, t));
          return [Rs(Nce, n, p.Annotate_with_type_from_JSDoc, Nce, p.Annotate_everything_with_types_from_JSDoc)];
        },
        fixIds: [Nce],
        getAllCodeActions: (e) => Xa(e, _xe, (t, n) => {
          const i = fxe(n.file, n.start);
          i && mxe(t, n.file, i);
        })
      });
      function fxe(e, t) {
        const n = mi(e, t);
        return Mn(Ni(n.parent) ? n.parent.parent : n.parent, pxe);
      }
      function pxe(e) {
        return XUe(e) && dxe(e);
      }
      function dxe(e) {
        return uo(e) ? e.parameters.some(dxe) || !e.type && !!qP(e) : !e.type && !!Oy(e);
      }
      function mxe(e, t, n) {
        if (uo(n) && (qP(n) || n.parameters.some((i) => !!Oy(i)))) {
          if (!n.typeParameters) {
            const s = T5(n);
            s.length && e.insertTypeParameters(t, n, s);
          }
          const i = Co(n) && !Za(n, 21, t);
          i && e.insertNodeBefore(t, xa(n.parameters), N.createToken(
            21
            /* OpenParenToken */
          ));
          for (const s of n.parameters)
            if (!s.type) {
              const o = Oy(s);
              o && e.tryInsertTypeAnnotation(t, s, $e(o, f2, si));
            }
          if (i && e.insertNodeAfter(t, pa(n.parameters), N.createToken(
            22
            /* CloseParenToken */
          )), !n.type) {
            const s = qP(n);
            s && e.tryInsertTypeAnnotation(t, n, $e(s, f2, si));
          }
        } else {
          const i = E.checkDefined(Oy(n), "A JSDocType for this declaration should exist");
          E.assert(!n.type, "The JSDocType decl should have a type"), e.tryInsertTypeAnnotation(t, n, $e(i, f2, si));
        }
      }
      function XUe(e) {
        return uo(e) || e.kind === 260 || e.kind === 171 || e.kind === 172;
      }
      function f2(e) {
        switch (e.kind) {
          case 312:
          case 313:
            return N.createTypeReferenceNode("any", Ue);
          case 316:
            return YUe(e);
          case 315:
            return f2(e.type);
          case 314:
            return ZUe(e);
          case 318:
            return KUe(e);
          case 317:
            return eqe(e);
          case 183:
            return rqe(e);
          case 322:
            return QUe(e);
          default:
            const t = yr(
              e,
              f2,
              /*context*/
              void 0
            );
            return an(
              t,
              1
              /* SingleLine */
            ), t;
        }
      }
      function QUe(e) {
        const t = N.createTypeLiteralNode(fr(e.jsDocPropertyTags, (n) => N.createPropertySignature(
          /*modifiers*/
          void 0,
          Fe(n.name) ? n.name : n.name.right,
          dN(n) ? N.createToken(
            58
            /* QuestionToken */
          ) : void 0,
          n.typeExpression && $e(n.typeExpression.type, f2, si) || N.createKeywordTypeNode(
            133
            /* AnyKeyword */
          )
        )));
        return an(
          t,
          1
          /* SingleLine */
        ), t;
      }
      function YUe(e) {
        return N.createUnionTypeNode([$e(e.type, f2, si), N.createTypeReferenceNode("undefined", Ue)]);
      }
      function ZUe(e) {
        return N.createUnionTypeNode([$e(e.type, f2, si), N.createTypeReferenceNode("null", Ue)]);
      }
      function KUe(e) {
        return N.createArrayTypeNode($e(e.type, f2, si));
      }
      function eqe(e) {
        return N.createFunctionTypeNode(Ue, e.parameters.map(tqe), e.type ?? N.createKeywordTypeNode(
          133
          /* AnyKeyword */
        ));
      }
      function tqe(e) {
        const t = e.parent.parameters.indexOf(e), n = e.type.kind === 318 && t === e.parent.parameters.length - 1, i = e.name || (n ? "rest" : "arg" + t), s = n ? N.createToken(
          26
          /* DotDotDotToken */
        ) : e.dotDotDotToken;
        return N.createParameterDeclaration(e.modifiers, s, i, e.questionToken, $e(e.type, f2, si), e.initializer);
      }
      function rqe(e) {
        let t = e.typeName, n = e.typeArguments;
        if (Fe(e.typeName)) {
          if (n5(e))
            return nqe(e);
          let i = e.typeName.text;
          switch (e.typeName.text) {
            case "String":
            case "Boolean":
            case "Object":
            case "Number":
              i = i.toLowerCase();
              break;
            case "array":
            case "date":
            case "promise":
              i = i[0].toUpperCase() + i.slice(1);
              break;
          }
          t = N.createIdentifier(i), (i === "Array" || i === "Promise") && !e.typeArguments ? n = N.createNodeArray([N.createTypeReferenceNode("any", Ue)]) : n = Lr(e.typeArguments, f2, si);
        }
        return N.createTypeReferenceNode(t, n);
      }
      function nqe(e) {
        const t = N.createParameterDeclaration(
          /*modifiers*/
          void 0,
          /*dotDotDotToken*/
          void 0,
          e.typeArguments[0].kind === 150 ? "n" : "s",
          /*questionToken*/
          void 0,
          N.createTypeReferenceNode(e.typeArguments[0].kind === 150 ? "number" : "string", []),
          /*initializer*/
          void 0
        ), n = N.createTypeLiteralNode([N.createIndexSignature(
          /*modifiers*/
          void 0,
          [t],
          e.typeArguments[1]
        )]);
        return an(
          n,
          1
          /* SingleLine */
        ), n;
      }
      var Ace = "convertFunctionToEs6Class", gxe = [p.This_constructor_function_may_be_converted_to_a_class_declaration.code];
      Ys({
        errorCodes: gxe,
        getCodeActions(e) {
          const t = nn.ChangeTracker.with(e, (n) => hxe(n, e.sourceFile, e.span.start, e.program.getTypeChecker(), e.preferences, e.program.getCompilerOptions()));
          return [Rs(Ace, t, p.Convert_function_to_an_ES2015_class, Ace, p.Convert_all_constructor_functions_to_classes)];
        },
        fixIds: [Ace],
        getAllCodeActions: (e) => Xa(e, gxe, (t, n) => hxe(t, n.file, n.start, e.program.getTypeChecker(), e.preferences, e.program.getCompilerOptions()))
      });
      function hxe(e, t, n, i, s, o) {
        const c = i.getSymbolAtLocation(mi(t, n));
        if (!c || !c.valueDeclaration || !(c.flags & 19))
          return;
        const _ = c.valueDeclaration;
        if (Tc(_) || ho(_))
          e.replaceNode(t, _, m(_));
        else if (Zn(_)) {
          const h = g(_);
          if (!h)
            return;
          const S = _.parent.parent;
          zl(_.parent) && _.parent.declarations.length > 1 ? (e.delete(t, _), e.insertNodeAfter(t, S, h)) : e.replaceNode(t, S, h);
        }
        function u(h) {
          const S = [];
          return h.exports && h.exports.forEach((D) => {
            if (D.name === "prototype" && D.declarations) {
              const w = D.declarations[0];
              if (D.declarations.length === 1 && kn(w) && _n(w.parent) && w.parent.operatorToken.kind === 64 && ua(w.parent.right)) {
                const A = w.parent.right;
                k(
                  A.symbol,
                  /*modifiers*/
                  void 0,
                  S
                );
              }
            } else
              k(D, [N.createToken(
                126
                /* StaticKeyword */
              )], S);
          }), h.members && h.members.forEach((D, w) => {
            var A, O, F, j;
            if (w === "constructor" && D.valueDeclaration) {
              const z = (j = (F = (O = (A = h.exports) == null ? void 0 : A.get("prototype")) == null ? void 0 : O.declarations) == null ? void 0 : F[0]) == null ? void 0 : j.parent;
              z && _n(z) && ua(z.right) && at(z.right.properties, tH) || e.delete(t, D.valueDeclaration.parent);
              return;
            }
            k(
              D,
              /*modifiers*/
              void 0,
              S
            );
          }), S;
          function T(D, w) {
            return ko(D) ? kn(D) && tH(D) ? !0 : Ts(w) : Pi(D.properties, (A) => !!(uc(A) || GP(A) || tl(A) && ho(A.initializer) && A.name || tH(A)));
          }
          function k(D, w, A) {
            if (!(D.flags & 8192) && !(D.flags & 4096))
              return;
            const O = D.valueDeclaration, F = O.parent, j = F.right;
            if (!T(O, j) || at(A, (pe) => {
              const K = ls(pe);
              return !!(K && Fe(K) && Pn(K) === bc(D));
            }))
              return;
            const z = F.parent && F.parent.kind === 244 ? F.parent : F;
            if (e.delete(t, z), !j) {
              A.push(N.createPropertyDeclaration(
                w,
                D.name,
                /*questionOrExclamationToken*/
                void 0,
                /*type*/
                void 0,
                /*initializer*/
                void 0
              ));
              return;
            }
            if (ko(O) && (ho(j) || Co(j))) {
              const pe = K_(t, s), K = iqe(O, o, pe);
              K && V(A, j, K);
              return;
            } else if (ua(j)) {
              ar(
                j.properties,
                (pe) => {
                  (uc(pe) || GP(pe)) && A.push(pe), tl(pe) && ho(pe.initializer) && V(A, pe.initializer, pe.name), tH(pe);
                }
              );
              return;
            } else {
              if ($u(t) || !kn(O)) return;
              const pe = N.createPropertyDeclaration(
                w,
                O.name,
                /*questionOrExclamationToken*/
                void 0,
                /*type*/
                void 0,
                j
              );
              Y6(F.parent, pe, t), A.push(pe);
              return;
            }
            function V(pe, K, U) {
              return ho(K) ? G(pe, K, U) : W(pe, K, U);
            }
            function G(pe, K, U) {
              const ee = Ji(w, eH(
                K,
                134
                /* AsyncKeyword */
              )), te = N.createMethodDeclaration(
                ee,
                /*asteriskToken*/
                void 0,
                U,
                /*questionToken*/
                void 0,
                /*typeParameters*/
                void 0,
                K.parameters,
                /*type*/
                void 0,
                K.body
              );
              Y6(F, te, t), pe.push(te);
            }
            function W(pe, K, U) {
              const ee = K.body;
              let te;
              ee.kind === 241 ? te = ee : te = N.createBlock([N.createReturnStatement(ee)]);
              const ie = Ji(w, eH(
                K,
                134
                /* AsyncKeyword */
              )), fe = N.createMethodDeclaration(
                ie,
                /*asteriskToken*/
                void 0,
                U,
                /*questionToken*/
                void 0,
                /*typeParameters*/
                void 0,
                K.parameters,
                /*type*/
                void 0,
                te
              );
              Y6(F, fe, t), pe.push(fe);
            }
          }
        }
        function g(h) {
          const S = h.initializer;
          if (!S || !ho(S) || !Fe(h.name))
            return;
          const T = u(h.symbol);
          S.body && T.unshift(N.createConstructorDeclaration(
            /*modifiers*/
            void 0,
            S.parameters,
            S.body
          ));
          const k = eH(
            h.parent.parent,
            95
            /* ExportKeyword */
          );
          return N.createClassDeclaration(
            k,
            h.name,
            /*typeParameters*/
            void 0,
            /*heritageClauses*/
            void 0,
            T
          );
        }
        function m(h) {
          const S = u(c);
          h.body && S.unshift(N.createConstructorDeclaration(
            /*modifiers*/
            void 0,
            h.parameters,
            h.body
          ));
          const T = eH(
            h,
            95
            /* ExportKeyword */
          );
          return N.createClassDeclaration(
            T,
            h.name,
            /*typeParameters*/
            void 0,
            /*heritageClauses*/
            void 0,
            S
          );
        }
      }
      function eH(e, t) {
        return Fp(e) ? Tn(e.modifiers, (n) => n.kind === t) : void 0;
      }
      function tH(e) {
        return e.name ? !!(Fe(e.name) && e.name.text === "constructor") : !1;
      }
      function iqe(e, t, n) {
        if (kn(e))
          return e.name;
        const i = e.argumentExpression;
        if (m_(i))
          return i;
        if (Ba(i))
          return C_(i.text, ga(t)) ? N.createIdentifier(i.text) : PS(i) ? N.createStringLiteral(
            i.text,
            n === 0
            /* Single */
          ) : i;
      }
      var Ice = "convertToAsyncFunction", yxe = [p.This_may_be_converted_to_an_async_function.code], rH = !0;
      Ys({
        errorCodes: yxe,
        getCodeActions(e) {
          rH = !0;
          const t = nn.ChangeTracker.with(e, (n) => vxe(n, e.sourceFile, e.span.start, e.program.getTypeChecker()));
          return rH ? [Rs(Ice, t, p.Convert_to_async_function, Ice, p.Convert_all_to_async_functions)] : [];
        },
        fixIds: [Ice],
        getAllCodeActions: (e) => Xa(e, yxe, (t, n) => vxe(t, n.file, n.start, e.program.getTypeChecker()))
      });
      function vxe(e, t, n, i) {
        const s = mi(t, n);
        let o;
        if (Fe(s) && Zn(s.parent) && s.parent.initializer && uo(s.parent.initializer) ? o = s.parent.initializer : o = Mn(Df(mi(t, n)), kq), !o)
          return;
        const c = /* @__PURE__ */ new Map(), _ = tn(o), u = aqe(o, i), g = oqe(o, i, c);
        if (!Tq(g, i))
          return;
        const m = g.body && Cs(g.body) ? sqe(g.body, i) : Ue, h = { checker: i, synthNamesMap: c, setOfExpressionsToReturn: u, isInJSFile: _ };
        if (!m.length)
          return;
        const S = ca(t.text, nm(o).pos);
        e.insertModifierAt(t, S, 134, { suffix: " " });
        for (const T of m)
          if (Ss(T, function k(D) {
            if (Ms(D)) {
              const w = nE(
                D,
                D,
                h,
                /*hasContinuation*/
                !1
              );
              if (gk())
                return !0;
              e.replaceNodeWithNodes(t, T, w);
            } else if (!Ts(D) && (Ss(D, k), gk()))
              return !0;
          }), gk())
            return;
      }
      function sqe(e, t) {
        const n = [];
        return qy(e, (i) => {
          $9(i, t) && n.push(i);
        }), n;
      }
      function aqe(e, t) {
        if (!e.body)
          return /* @__PURE__ */ new Set();
        const n = /* @__PURE__ */ new Set();
        return Ss(e.body, function i(s) {
          n8(s, t, "then") ? (n.add(Oa(s)), ar(s.arguments, i)) : n8(s, t, "catch") || n8(s, t, "finally") ? (n.add(Oa(s)), Ss(s, i)) : Sxe(s, t) ? n.add(Oa(s)) : Ss(s, i);
        }), n;
      }
      function n8(e, t, n) {
        if (!Ms(e)) return !1;
        const s = DA(e, n) && t.getTypeAtLocation(e);
        return !!(s && t.getPromisedTypeOfPromise(s));
      }
      function bxe(e, t) {
        return (Cn(e) & 4) !== 0 && e.target === t;
      }
      function nH(e, t, n) {
        if (e.expression.name.escapedText === "finally")
          return;
        const i = n.getTypeAtLocation(e.expression.expression);
        if (bxe(i, n.getPromiseType()) || bxe(i, n.getPromiseLikeType()))
          if (e.expression.name.escapedText === "then") {
            if (t === xy(e.arguments, 0))
              return xy(e.typeArguments, 0);
            if (t === xy(e.arguments, 1))
              return xy(e.typeArguments, 1);
          } else
            return xy(e.typeArguments, 0);
      }
      function Sxe(e, t) {
        return lt(e) ? !!t.getPromisedTypeOfPromise(t.getTypeAtLocation(e)) : !1;
      }
      function oqe(e, t, n) {
        const i = /* @__PURE__ */ new Map(), s = Tp();
        return Ss(e, function o(c) {
          if (!Fe(c)) {
            Ss(c, o);
            return;
          }
          const _ = t.getSymbolAtLocation(c);
          if (_) {
            const u = t.getTypeAtLocation(c), g = Dxe(u, t), m = ea(_).toString();
            if (g && !Ni(c.parent) && !uo(c.parent) && !n.has(m)) {
              const h = Xc(g.parameters), S = h?.valueDeclaration && Ni(h.valueDeclaration) && Mn(h.valueDeclaration.name, Fe) || N.createUniqueName(
                "result",
                16
                /* Optimistic */
              ), T = Txe(S, s);
              n.set(m, T), s.add(S.text, _);
            } else if (c.parent && (Ni(c.parent) || Zn(c.parent) || ya(c.parent))) {
              const h = c.text, S = s.get(h);
              if (S && S.some((T) => T !== _)) {
                const T = Txe(c, s);
                i.set(m, T.identifier), n.set(m, T), s.add(h, _);
              } else {
                const T = qa(c);
                n.set(m, Aw(T)), s.add(h, _);
              }
            }
          }
        }), BA(
          e,
          /*includeTrivia*/
          !0,
          (o) => {
            if (ya(o) && Fe(o.name) && Nf(o.parent)) {
              const c = t.getSymbolAtLocation(o.name), _ = c && i.get(String(ea(c)));
              if (_ && _.text !== (o.name || o.propertyName).getText())
                return N.createBindingElement(
                  o.dotDotDotToken,
                  o.propertyName || o.name,
                  _,
                  o.initializer
                );
            } else if (Fe(o)) {
              const c = t.getSymbolAtLocation(o), _ = c && i.get(String(ea(c)));
              if (_)
                return N.createIdentifier(_.text);
            }
          }
        );
      }
      function Txe(e, t) {
        const n = (t.get(e.text) || Ue).length, i = n === 0 ? e : N.createIdentifier(e.text + "_" + n);
        return Aw(i);
      }
      function gk() {
        return !rH;
      }
      function Cv() {
        return rH = !1, Ue;
      }
      function nE(e, t, n, i, s) {
        if (n8(t, n.checker, "then"))
          return uqe(t, xy(t.arguments, 0), xy(t.arguments, 1), n, i, s);
        if (n8(t, n.checker, "catch"))
          return Cxe(t, xy(t.arguments, 0), n, i, s);
        if (n8(t, n.checker, "finally"))
          return lqe(t, xy(t.arguments, 0), n, i, s);
        if (kn(t))
          return nE(e, t.expression, n, i, s);
        const o = n.checker.getTypeAtLocation(t);
        return o && n.checker.getPromisedTypeOfPromise(o) ? (E.assertNode(Vo(t).parent, kn), _qe(e, t, n, i, s)) : Cv();
      }
      function iH({ checker: e }, t) {
        if (t.kind === 106) return !0;
        if (Fe(t) && !Mo(t) && Pn(t) === "undefined") {
          const n = e.getSymbolAtLocation(t);
          return !n || e.isUndefinedSymbol(n);
        }
        return !1;
      }
      function cqe(e) {
        const t = N.createUniqueName(
          e.identifier.text,
          16
          /* Optimistic */
        );
        return Aw(t);
      }
      function xxe(e, t, n) {
        let i;
        return n && !s8(e, t) && (i8(n) ? (i = n, t.synthNamesMap.forEach((s, o) => {
          if (s.identifier.text === n.identifier.text) {
            const c = cqe(n);
            t.synthNamesMap.set(o, c);
          }
        })) : i = Aw(N.createUniqueName(
          "result",
          16
          /* Optimistic */
        ), n.types), Mce(i)), i;
      }
      function kxe(e, t, n, i, s) {
        const o = [];
        let c;
        if (i && !s8(e, t)) {
          c = qa(Mce(i));
          const _ = i.types, u = t.checker.getUnionType(
            _,
            2
            /* Subtype */
          ), g = t.isInJSFile ? void 0 : t.checker.typeToTypeNode(
            u,
            /*enclosingDeclaration*/
            void 0,
            /*flags*/
            void 0
          ), m = [N.createVariableDeclaration(
            c,
            /*exclamationToken*/
            void 0,
            g
          )], h = N.createVariableStatement(
            /*modifiers*/
            void 0,
            N.createVariableDeclarationList(
              m,
              1
              /* Let */
            )
          );
          o.push(h);
        }
        return o.push(n), s && c && dqe(s) && o.push(N.createVariableStatement(
          /*modifiers*/
          void 0,
          N.createVariableDeclarationList(
            [
              N.createVariableDeclaration(
                qa(Axe(s)),
                /*exclamationToken*/
                void 0,
                /*type*/
                void 0,
                c
              )
            ],
            2
            /* Const */
          )
        )), o;
      }
      function lqe(e, t, n, i, s) {
        if (!t || iH(n, t))
          return nE(
            /* returnContextNode */
            e,
            e.expression.expression,
            n,
            i,
            s
          );
        const o = xxe(e, n, s), c = nE(
          /*returnContextNode*/
          e,
          e.expression.expression,
          n,
          /*hasContinuation*/
          !0,
          o
        );
        if (gk()) return Cv();
        const _ = Oce(
          t,
          i,
          /*continuationArgName*/
          void 0,
          /*inputArgName*/
          void 0,
          e,
          n
        );
        if (gk()) return Cv();
        const u = N.createBlock(c), g = N.createBlock(_), m = N.createTryStatement(
          u,
          /*catchClause*/
          void 0,
          g
        );
        return kxe(e, n, m, o, s);
      }
      function Cxe(e, t, n, i, s) {
        if (!t || iH(n, t))
          return nE(
            /* returnContextNode */
            e,
            e.expression.expression,
            n,
            i,
            s
          );
        const o = Pxe(t, n), c = xxe(e, n, s), _ = nE(
          /*returnContextNode*/
          e,
          e.expression.expression,
          n,
          /*hasContinuation*/
          !0,
          c
        );
        if (gk()) return Cv();
        const u = Oce(t, i, c, o, e, n);
        if (gk()) return Cv();
        const g = N.createBlock(_), m = N.createCatchClause(o && qa(_L(o)), N.createBlock(u)), h = N.createTryStatement(
          g,
          m,
          /*finallyBlock*/
          void 0
        );
        return kxe(e, n, h, c, s);
      }
      function uqe(e, t, n, i, s, o) {
        if (!t || iH(i, t))
          return Cxe(e, n, i, s, o);
        if (n && !iH(i, n))
          return Cv();
        const c = Pxe(t, i), _ = nE(
          e.expression.expression,
          e.expression.expression,
          i,
          /*hasContinuation*/
          !0,
          c
        );
        if (gk()) return Cv();
        const u = Oce(t, s, o, c, e, i);
        return gk() ? Cv() : Ji(_, u);
      }
      function _qe(e, t, n, i, s) {
        if (s8(e, n)) {
          let o = qa(t);
          return i && (o = N.createAwaitExpression(o)), [N.createReturnStatement(o)];
        }
        return sH(
          s,
          N.createAwaitExpression(t),
          /*typeAnnotation*/
          void 0
        );
      }
      function sH(e, t, n) {
        return !e || Nxe(e) ? [N.createExpressionStatement(t)] : i8(e) && e.hasBeenDeclared ? [N.createExpressionStatement(N.createAssignment(qa(Lce(e)), t))] : [
          N.createVariableStatement(
            /*modifiers*/
            void 0,
            N.createVariableDeclarationList(
              [
                N.createVariableDeclaration(
                  qa(_L(e)),
                  /*exclamationToken*/
                  void 0,
                  n,
                  t
                )
              ],
              2
              /* Const */
            )
          )
        ];
      }
      function Fce(e, t) {
        if (t && e) {
          const n = N.createUniqueName(
            "result",
            16
            /* Optimistic */
          );
          return [
            ...sH(Aw(n), e, t),
            N.createReturnStatement(n)
          ];
        }
        return [N.createReturnStatement(e)];
      }
      function Oce(e, t, n, i, s, o) {
        var c;
        switch (e.kind) {
          case 106:
            break;
          case 211:
          case 80:
            if (!i)
              break;
            const _ = N.createCallExpression(
              qa(e),
              /*typeArguments*/
              void 0,
              i8(i) ? [Lce(i)] : []
            );
            if (s8(s, o))
              return Fce(_, nH(s, e, o.checker));
            const u = o.checker.getTypeAtLocation(e), g = o.checker.getSignaturesOfType(
              u,
              0
              /* Call */
            );
            if (!g.length)
              return Cv();
            const m = g[0].getReturnType(), h = sH(n, N.createAwaitExpression(_), nH(s, e, o.checker));
            return n && n.types.push(o.checker.getAwaitedType(m) || m), h;
          case 218:
          case 219: {
            const S = e.body, T = (c = Dxe(o.checker.getTypeAtLocation(e), o.checker)) == null ? void 0 : c.getReturnType();
            if (Cs(S)) {
              let k = [], D = !1;
              for (const w of S.statements)
                if (gf(w))
                  if (D = !0, $9(w, o.checker))
                    k = k.concat(wxe(o, w, t, n));
                  else {
                    const A = T && w.expression ? Exe(o.checker, T, w.expression) : w.expression;
                    k.push(...Fce(A, nH(s, e, o.checker)));
                  }
                else {
                  if (t && qy(w, db))
                    return Cv();
                  k.push(w);
                }
              return s8(s, o) ? k.map((w) => qa(w)) : fqe(
                k,
                n,
                o,
                D
              );
            } else {
              const k = xq(S, o.checker) ? wxe(o, N.createReturnStatement(S), t, n) : Ue;
              if (k.length > 0)
                return k;
              if (T) {
                const D = Exe(o.checker, T, S);
                if (s8(s, o))
                  return Fce(D, nH(s, e, o.checker));
                {
                  const w = sH(
                    n,
                    D,
                    /*typeAnnotation*/
                    void 0
                  );
                  return n && n.types.push(o.checker.getAwaitedType(T) || T), w;
                }
              } else
                return Cv();
            }
          }
          default:
            return Cv();
        }
        return Ue;
      }
      function Exe(e, t, n) {
        const i = qa(n);
        return e.getPromisedTypeOfPromise(t) ? N.createAwaitExpression(i) : i;
      }
      function Dxe(e, t) {
        const n = t.getSignaturesOfType(
          e,
          0
          /* Call */
        );
        return Po(n);
      }
      function fqe(e, t, n, i) {
        const s = [];
        for (const o of e)
          if (gf(o)) {
            if (o.expression) {
              const c = Sxe(o.expression, n.checker) ? N.createAwaitExpression(o.expression) : o.expression;
              t === void 0 ? s.push(N.createExpressionStatement(c)) : i8(t) && t.hasBeenDeclared ? s.push(N.createExpressionStatement(N.createAssignment(Lce(t), c))) : s.push(N.createVariableStatement(
                /*modifiers*/
                void 0,
                N.createVariableDeclarationList(
                  [N.createVariableDeclaration(
                    _L(t),
                    /*exclamationToken*/
                    void 0,
                    /*type*/
                    void 0,
                    c
                  )],
                  2
                  /* Const */
                )
              ));
            }
          } else
            s.push(qa(o));
        return !i && t !== void 0 && s.push(N.createVariableStatement(
          /*modifiers*/
          void 0,
          N.createVariableDeclarationList(
            [N.createVariableDeclaration(
              _L(t),
              /*exclamationToken*/
              void 0,
              /*type*/
              void 0,
              N.createIdentifier("undefined")
            )],
            2
            /* Const */
          )
        )), s;
      }
      function wxe(e, t, n, i) {
        let s = [];
        return Ss(t, function o(c) {
          if (Ms(c)) {
            const _ = nE(c, c, e, n, i);
            if (s = s.concat(_), s.length > 0)
              return;
          } else Ts(c) || Ss(c, o);
        }), s;
      }
      function Pxe(e, t) {
        const n = [];
        let i;
        if (uo(e)) {
          if (e.parameters.length > 0) {
            const u = e.parameters[0].name;
            i = s(u);
          }
        } else Fe(e) ? i = o(e) : kn(e) && Fe(e.name) && (i = o(e.name));
        if (!i || "identifier" in i && i.identifier.text === "undefined")
          return;
        return i;
        function s(u) {
          if (Fe(u)) return o(u);
          const g = oa(u.elements, (m) => vl(m) ? [] : [s(m.name)]);
          return pqe(u, g);
        }
        function o(u) {
          const g = _(u), m = c(g);
          return m && t.synthNamesMap.get(ea(m).toString()) || Aw(u, n);
        }
        function c(u) {
          var g;
          return ((g = Mn(u, fd)) == null ? void 0 : g.symbol) ?? t.checker.getSymbolAtLocation(u);
        }
        function _(u) {
          return u.original ? u.original : u;
        }
      }
      function Nxe(e) {
        return e ? i8(e) ? !e.identifier.text : Pi(e.elements, Nxe) : !0;
      }
      function Aw(e, t = []) {
        return { kind: 0, identifier: e, types: t, hasBeenDeclared: !1, hasBeenReferenced: !1 };
      }
      function pqe(e, t = Ue, n = []) {
        return { kind: 1, bindingPattern: e, elements: t, types: n };
      }
      function Lce(e) {
        return e.hasBeenReferenced = !0, e.identifier;
      }
      function _L(e) {
        return i8(e) ? Mce(e) : Axe(e);
      }
      function Axe(e) {
        for (const t of e.elements)
          _L(t);
        return e.bindingPattern;
      }
      function Mce(e) {
        return e.hasBeenDeclared = !0, e.identifier;
      }
      function i8(e) {
        return e.kind === 0;
      }
      function dqe(e) {
        return e.kind === 1;
      }
      function s8(e, t) {
        return !!e.original && t.setOfExpressionsToReturn.has(Oa(e.original));
      }
      Ys({
        errorCodes: [p.File_is_a_CommonJS_module_it_may_be_converted_to_an_ES_module.code],
        getCodeActions(e) {
          const { sourceFile: t, program: n, preferences: i } = e, s = nn.ChangeTracker.with(e, (o) => {
            if (gqe(t, n.getTypeChecker(), o, ga(n.getCompilerOptions()), K_(t, i)))
              for (const _ of n.getSourceFiles())
                mqe(_, t, n, o, K_(_, i));
          });
          return [kd("convertToEsModule", s, p.Convert_to_ES_module)];
        }
      });
      function mqe(e, t, n, i, s) {
        var o;
        for (const c of e.imports) {
          const _ = (o = n.getResolvedModuleFromModuleSpecifier(c, e)) == null ? void 0 : o.resolvedModule;
          if (!_ || _.resolvedFileName !== t.fileName)
            continue;
          const u = V4(c);
          switch (u.kind) {
            case 271:
              i.replaceNode(e, u, p1(
                u.name,
                /*namedImports*/
                void 0,
                c,
                s
              ));
              break;
            case 213:
              f_(
                u,
                /*requireStringLiteralLikeArgument*/
                !1
              ) && i.replaceNode(e, u, N.createPropertyAccessExpression(qa(u), "default"));
              break;
          }
        }
      }
      function gqe(e, t, n, i, s) {
        const o = { original: Pqe(e), additional: /* @__PURE__ */ new Set() }, c = hqe(e, t, o);
        yqe(e, c, n);
        let _ = !1, u;
        for (const g of Tn(e.statements, Sc)) {
          const m = Fxe(e, g, n, t, o, i, s);
          m && A7(m, u ?? (u = /* @__PURE__ */ new Map()));
        }
        for (const g of Tn(e.statements, (m) => !Sc(m))) {
          const m = vqe(e, g, t, n, o, i, c, u, s);
          _ = _ || m;
        }
        return u?.forEach((g, m) => {
          n.replaceNode(e, m, g);
        }), _;
      }
      function hqe(e, t, n) {
        const i = /* @__PURE__ */ new Map();
        return Ixe(e, (s) => {
          const { text: o } = s.name;
          !i.has(o) && (IB(s.name) || t.resolveName(
            o,
            s,
            111551,
            /*excludeGlobals*/
            !0
          )) && i.set(o, aH(`_${o}`, n));
        }), i;
      }
      function yqe(e, t, n) {
        Ixe(e, (i, s) => {
          if (s)
            return;
          const { text: o } = i.name;
          n.replaceNode(e, i, N.createIdentifier(t.get(o) || o));
        });
      }
      function Ixe(e, t) {
        e.forEachChild(function n(i) {
          if (kn(i) && Kb(e, i.expression) && Fe(i.name)) {
            const { parent: s } = i;
            t(
              i,
              _n(s) && s.left === i && s.operatorToken.kind === 64
              /* EqualsToken */
            );
          }
          i.forEachChild(n);
        });
      }
      function vqe(e, t, n, i, s, o, c, _, u) {
        switch (t.kind) {
          case 243:
            return Fxe(e, t, i, n, s, o, u), !1;
          case 244: {
            const { expression: g } = t;
            switch (g.kind) {
              case 213:
                return f_(
                  g,
                  /*requireStringLiteralLikeArgument*/
                  !0
                ) && i.replaceNode(e, t, p1(
                  /*defaultImport*/
                  void 0,
                  /*namedImports*/
                  void 0,
                  g.arguments[0],
                  u
                )), !1;
              case 226: {
                const { operatorToken: m } = g;
                return m.kind === 64 && Sqe(e, n, g, i, c, _);
              }
            }
          }
          // falls through
          default:
            return !1;
        }
      }
      function Fxe(e, t, n, i, s, o, c) {
        const { declarationList: _ } = t;
        let u = !1;
        const g = fr(_.declarations, (m) => {
          const { name: h, initializer: S } = m;
          if (S) {
            if (Kb(e, S))
              return u = !0, Iw([]);
            if (f_(
              S,
              /*requireStringLiteralLikeArgument*/
              !0
            ))
              return u = !0, Dqe(h, S.arguments[0], i, s, o, c);
            if (kn(S) && f_(
              S.expression,
              /*requireStringLiteralLikeArgument*/
              !0
            ))
              return u = !0, bqe(h, S.name.text, S.expression.arguments[0], s, c);
          }
          return Iw([N.createVariableStatement(
            /*modifiers*/
            void 0,
            N.createVariableDeclarationList([m], _.flags)
          )]);
        });
        if (u) {
          n.replaceNodeWithNodes(e, t, oa(g, (h) => h.newImports));
          let m;
          return ar(g, (h) => {
            h.useSitesToUnqualify && A7(h.useSitesToUnqualify, m ?? (m = /* @__PURE__ */ new Map()));
          }), m;
        }
      }
      function bqe(e, t, n, i, s) {
        switch (e.kind) {
          case 206:
          case 207: {
            const o = aH(t, i);
            return Iw([
              Rxe(o, t, n, s),
              oH(
                /*modifiers*/
                void 0,
                e,
                N.createIdentifier(o)
              )
            ]);
          }
          case 80:
            return Iw([Rxe(e.text, t, n, s)]);
          default:
            return E.assertNever(e, `Convert to ES module got invalid syntax form ${e.kind}`);
        }
      }
      function Sqe(e, t, n, i, s, o) {
        const { left: c, right: _ } = n;
        if (!kn(c))
          return !1;
        if (Kb(e, c))
          if (Kb(e, _))
            i.delete(e, n.parent);
          else {
            const u = ua(_) ? Tqe(_, o) : f_(
              _,
              /*requireStringLiteralLikeArgument*/
              !0
            ) ? kqe(_.arguments[0], t) : void 0;
            return u ? (i.replaceNodeWithNodes(e, n.parent, u[0]), u[1]) : (i.replaceRangeWithText(e, tp(c.getStart(e), _.pos), "export default"), !0);
          }
        else Kb(e, c.expression) && xqe(e, n, i, s);
        return !1;
      }
      function Tqe(e, t) {
        const n = bR(e.properties, (i) => {
          switch (i.kind) {
            case 177:
            case 178:
            // TODO: Maybe we should handle this? See fourslash test `refactorConvertToEs6Module_export_object_shorthand.ts`.
            // falls through
            case 304:
            case 305:
              return;
            case 303:
              return Fe(i.name) ? Eqe(i.name.text, i.initializer, t) : void 0;
            case 174:
              return Fe(i.name) ? Mxe(i.name.text, [N.createToken(
                95
                /* ExportKeyword */
              )], i, t) : void 0;
            default:
              E.assertNever(i, `Convert to ES6 got invalid prop kind ${i.kind}`);
          }
        });
        return n && [n, !1];
      }
      function xqe(e, t, n, i) {
        const { text: s } = t.left.name, o = i.get(s);
        if (o !== void 0) {
          const c = [
            oH(
              /*modifiers*/
              void 0,
              o,
              t.right
            ),
            Bce([N.createExportSpecifier(
              /*isTypeOnly*/
              !1,
              o,
              s
            )])
          ];
          n.replaceNodeWithNodes(e, t.parent, c);
        } else
          Cqe(t, e, n);
      }
      function kqe(e, t) {
        const n = e.text, i = t.getSymbolAtLocation(e), s = i ? i.exports : mR;
        return s.has(
          "export="
          /* ExportEquals */
        ) ? [[Rce(n)], !0] : s.has(
          "default"
          /* Default */
        ) ? (
          // If there's some non-default export, must include both `export *` and `export default`.
          s.size > 1 ? [[Oxe(n), Rce(n)], !0] : [[Rce(n)], !0]
        ) : [[Oxe(n)], !1];
      }
      function Oxe(e) {
        return Bce(
          /*exportSpecifiers*/
          void 0,
          e
        );
      }
      function Rce(e) {
        return Bce([N.createExportSpecifier(
          /*isTypeOnly*/
          !1,
          /*propertyName*/
          void 0,
          "default"
        )], e);
      }
      function Cqe({ left: e, right: t, parent: n }, i, s) {
        const o = e.name.text;
        if ((ho(t) || Co(t) || Kc(t)) && (!t.name || t.name.text === o)) {
          s.replaceRange(i, { pos: e.getStart(i), end: t.getStart(i) }, N.createToken(
            95
            /* ExportKeyword */
          ), { suffix: " " }), t.name || s.insertName(i, t, o);
          const c = Za(n, 27, i);
          c && s.delete(i, c);
        } else
          s.replaceNodeRangeWithNodes(i, e.expression, Za(e, 25, i), [N.createToken(
            95
            /* ExportKeyword */
          ), N.createToken(
            87
            /* ConstKeyword */
          )], { joiner: " ", suffix: " " });
      }
      function Eqe(e, t, n) {
        const i = [N.createToken(
          95
          /* ExportKeyword */
        )];
        switch (t.kind) {
          case 218: {
            const { name: o } = t;
            if (o && o.text !== e)
              return s();
          }
          // falls through
          case 219:
            return Mxe(e, i, t, n);
          case 231:
            return Aqe(e, i, t, n);
          default:
            return s();
        }
        function s() {
          return oH(i, N.createIdentifier(e), jce(t, n));
        }
      }
      function jce(e, t) {
        if (!t || !at(rs(t.keys()), (i) => d_(e, i)))
          return e;
        return fs(e) ? XU(
          e,
          /*includeTrivia*/
          !0,
          n
        ) : BA(
          e,
          /*includeTrivia*/
          !0,
          n
        );
        function n(i) {
          if (i.kind === 211) {
            const s = t.get(i);
            return t.delete(i), s;
          }
        }
      }
      function Dqe(e, t, n, i, s, o) {
        switch (e.kind) {
          case 206: {
            const c = bR(e.elements, (_) => _.dotDotDotToken || _.initializer || _.propertyName && !Fe(_.propertyName) || !Fe(_.name) ? void 0 : jxe(_.propertyName && _.propertyName.text, _.name.text));
            if (c)
              return Iw([p1(
                /*defaultImport*/
                void 0,
                c,
                t,
                o
              )]);
          }
          // falls through -- object destructuring has an interesting pattern and must be a variable declaration
          case 207: {
            const c = aH(qA(t.text, s), i);
            return Iw([
              p1(
                N.createIdentifier(c),
                /*namedImports*/
                void 0,
                t,
                o
              ),
              oH(
                /*modifiers*/
                void 0,
                qa(e),
                N.createIdentifier(c)
              )
            ]);
          }
          case 80:
            return wqe(e, t, n, i, o);
          default:
            return E.assertNever(e, `Convert to ES module got invalid name kind ${e.kind}`);
        }
      }
      function wqe(e, t, n, i, s) {
        const o = n.getSymbolAtLocation(e), c = /* @__PURE__ */ new Map();
        let _ = !1, u;
        for (const m of i.original.get(e.text)) {
          if (n.getSymbolAtLocation(m) !== o || m === e)
            continue;
          const { parent: h } = m;
          if (kn(h)) {
            const { name: { text: S } } = h;
            if (S === "default") {
              _ = !0;
              const T = m.getText();
              (u ?? (u = /* @__PURE__ */ new Map())).set(h, N.createIdentifier(T));
            } else {
              E.assert(h.expression === m, "Didn't expect expression === use");
              let T = c.get(S);
              T === void 0 && (T = aH(S, i), c.set(S, T)), (u ?? (u = /* @__PURE__ */ new Map())).set(h, N.createIdentifier(T));
            }
          } else
            _ = !0;
        }
        const g = c.size === 0 ? void 0 : rs(e4(c.entries(), ([m, h]) => N.createImportSpecifier(
          /*isTypeOnly*/
          !1,
          m === h ? void 0 : N.createIdentifier(m),
          N.createIdentifier(h)
        )));
        return g || (_ = !0), Iw(
          [p1(_ ? qa(e) : void 0, g, t, s)],
          u
        );
      }
      function aH(e, t) {
        for (; t.original.has(e) || t.additional.has(e); )
          e = `_${e}`;
        return t.additional.add(e), e;
      }
      function Pqe(e) {
        const t = Tp();
        return Lxe(e, (n) => t.add(n.text, n)), t;
      }
      function Lxe(e, t) {
        Fe(e) && Nqe(e) && t(e), e.forEachChild((n) => Lxe(n, t));
      }
      function Nqe(e) {
        const { parent: t } = e;
        switch (t.kind) {
          case 211:
            return t.name !== e;
          case 208:
            return t.propertyName !== e;
          case 276:
            return t.propertyName !== e;
          default:
            return !0;
        }
      }
      function Mxe(e, t, n, i) {
        return N.createFunctionDeclaration(
          Ji(t, o2(n.modifiers)),
          qa(n.asteriskToken),
          e,
          o2(n.typeParameters),
          o2(n.parameters),
          qa(n.type),
          N.converters.convertToFunctionBlock(jce(n.body, i))
        );
      }
      function Aqe(e, t, n, i) {
        return N.createClassDeclaration(
          Ji(t, o2(n.modifiers)),
          e,
          o2(n.typeParameters),
          o2(n.heritageClauses),
          jce(n.members, i)
        );
      }
      function Rxe(e, t, n, i) {
        return t === "default" ? p1(
          N.createIdentifier(e),
          /*namedImports*/
          void 0,
          n,
          i
        ) : p1(
          /*defaultImport*/
          void 0,
          [jxe(t, e)],
          n,
          i
        );
      }
      function jxe(e, t) {
        return N.createImportSpecifier(
          /*isTypeOnly*/
          !1,
          e !== void 0 && e !== t ? N.createIdentifier(e) : void 0,
          N.createIdentifier(t)
        );
      }
      function oH(e, t, n) {
        return N.createVariableStatement(
          e,
          N.createVariableDeclarationList(
            [N.createVariableDeclaration(
              t,
              /*exclamationToken*/
              void 0,
              /*type*/
              void 0,
              n
            )],
            2
            /* Const */
          )
        );
      }
      function Bce(e, t) {
        return N.createExportDeclaration(
          /*modifiers*/
          void 0,
          /*isTypeOnly*/
          !1,
          e && N.createNamedExports(e),
          t === void 0 ? void 0 : N.createStringLiteral(t)
        );
      }
      function Iw(e, t) {
        return {
          newImports: e,
          useSitesToUnqualify: t
        };
      }
      var Jce = "correctQualifiedNameToIndexedAccessType", Bxe = [p.Cannot_access_0_1_because_0_is_a_type_but_not_a_namespace_Did_you_mean_to_retrieve_the_type_of_the_property_1_in_0_with_0_1.code];
      Ys({
        errorCodes: Bxe,
        getCodeActions(e) {
          const t = Jxe(e.sourceFile, e.span.start);
          if (!t) return;
          const n = nn.ChangeTracker.with(e, (s) => zxe(s, e.sourceFile, t)), i = `${t.left.text}["${t.right.text}"]`;
          return [Rs(Jce, n, [p.Rewrite_as_the_indexed_access_type_0, i], Jce, p.Rewrite_all_as_indexed_access_types)];
        },
        fixIds: [Jce],
        getAllCodeActions: (e) => Xa(e, Bxe, (t, n) => {
          const i = Jxe(n.file, n.start);
          i && zxe(t, n.file, i);
        })
      });
      function Jxe(e, t) {
        const n = _r(mi(e, t), Qu);
        return E.assert(!!n, "Expected position to be owned by a qualified name."), Fe(n.left) ? n : void 0;
      }
      function zxe(e, t, n) {
        const i = n.right.text, s = N.createIndexedAccessTypeNode(
          N.createTypeReferenceNode(
            n.left,
            /*typeArguments*/
            void 0
          ),
          N.createLiteralTypeNode(N.createStringLiteral(i))
        );
        e.replaceNode(t, n, s);
      }
      var zce = [p.Re_exporting_a_type_when_0_is_enabled_requires_using_export_type.code], Wce = "convertToTypeOnlyExport";
      Ys({
        errorCodes: zce,
        getCodeActions: function(t) {
          const n = nn.ChangeTracker.with(t, (i) => Vxe(i, Wxe(t.span, t.sourceFile), t));
          if (n.length)
            return [Rs(Wce, n, p.Convert_to_type_only_export, Wce, p.Convert_all_re_exported_types_to_type_only_exports)];
        },
        fixIds: [Wce],
        getAllCodeActions: function(t) {
          const n = /* @__PURE__ */ new Set();
          return Xa(t, zce, (i, s) => {
            const o = Wxe(s, t.sourceFile);
            o && Pp(n, Oa(o.parent.parent)) && Vxe(i, o, t);
          });
        }
      });
      function Wxe(e, t) {
        return Mn(mi(t, e.start).parent, bu);
      }
      function Vxe(e, t, n) {
        if (!t)
          return;
        const i = t.parent, s = i.parent, o = Iqe(t, n);
        if (o.length === i.elements.length)
          e.insertModifierBefore(n.sourceFile, 156, i);
        else {
          const c = N.updateExportDeclaration(
            s,
            s.modifiers,
            /*isTypeOnly*/
            !1,
            N.updateNamedExports(i, Tn(i.elements, (u) => !_s(o, u))),
            s.moduleSpecifier,
            /*attributes*/
            void 0
          ), _ = N.createExportDeclaration(
            /*modifiers*/
            void 0,
            /*isTypeOnly*/
            !0,
            N.createNamedExports(o),
            s.moduleSpecifier,
            /*attributes*/
            void 0
          );
          e.replaceNode(n.sourceFile, s, c, {
            leadingTriviaOption: nn.LeadingTriviaOption.IncludeAll,
            trailingTriviaOption: nn.TrailingTriviaOption.Exclude
          }), e.insertNodeAfter(n.sourceFile, s, _);
        }
      }
      function Iqe(e, t) {
        const n = e.parent;
        if (n.elements.length === 1)
          return n.elements;
        const i = Dae(
          t_(n),
          t.program.getSemanticDiagnostics(t.sourceFile, t.cancellationToken)
        );
        return Tn(n.elements, (s) => {
          var o;
          return s === e || ((o = Eae(s, i)) == null ? void 0 : o.code) === zce[0];
        });
      }
      var Uxe = [
        p._0_is_a_type_and_must_be_imported_using_a_type_only_import_when_verbatimModuleSyntax_is_enabled.code,
        p._0_resolves_to_a_type_only_declaration_and_must_be_imported_using_a_type_only_import_when_verbatimModuleSyntax_is_enabled.code
      ], cH = "convertToTypeOnlyImport";
      Ys({
        errorCodes: Uxe,
        getCodeActions: function(t) {
          var n;
          const i = qxe(t.sourceFile, t.span.start);
          if (i) {
            const s = nn.ChangeTracker.with(t, (_) => fL(_, t.sourceFile, i)), o = i.kind === 276 && Uo(i.parent.parent.parent) && Hxe(i, t.sourceFile, t.program) ? nn.ChangeTracker.with(t, (_) => fL(_, t.sourceFile, i.parent.parent.parent)) : void 0, c = Rs(
              cH,
              s,
              i.kind === 276 ? [p.Use_type_0, ((n = i.propertyName) == null ? void 0 : n.text) ?? i.name.text] : p.Use_import_type,
              cH,
              p.Fix_all_with_type_only_imports
            );
            return at(o) ? [
              kd(cH, o, p.Use_import_type),
              c
            ] : [c];
          }
        },
        fixIds: [cH],
        getAllCodeActions: function(t) {
          const n = /* @__PURE__ */ new Set();
          return Xa(t, Uxe, (i, s) => {
            const o = qxe(s.file, s.start);
            o?.kind === 272 && !n.has(o) ? (fL(i, s.file, o), n.add(o)) : o?.kind === 276 && Uo(o.parent.parent.parent) && !n.has(o.parent.parent.parent) && Hxe(o, s.file, t.program) ? (fL(i, s.file, o.parent.parent.parent), n.add(o.parent.parent.parent)) : o?.kind === 276 && fL(i, s.file, o);
          });
        }
      });
      function qxe(e, t) {
        const { parent: n } = mi(e, t);
        return Bu(n) || Uo(n) && n.importClause ? n : void 0;
      }
      function Hxe(e, t, n) {
        if (e.parent.parent.name)
          return !1;
        const i = e.parent.elements.filter((o) => !o.isTypeOnly);
        if (i.length === 1)
          return !0;
        const s = n.getTypeChecker();
        for (const o of i)
          if (Eo.Core.eachSymbolReferenceInFile(o.name, s, t, (_) => {
            const u = s.getSymbolAtLocation(_);
            return !!u && s.symbolIsValue(u) || !ev(_);
          }))
            return !1;
        return !0;
      }
      function fL(e, t, n) {
        var i;
        if (Bu(n))
          e.replaceNode(t, n, N.updateImportSpecifier(
            n,
            /*isTypeOnly*/
            !0,
            n.propertyName,
            n.name
          ));
        else {
          const s = n.importClause;
          if (s.name && s.namedBindings)
            e.replaceNodeWithNodes(t, n, [
              N.createImportDeclaration(
                o2(
                  n.modifiers,
                  /*includeTrivia*/
                  !0
                ),
                N.createImportClause(
                  /*isTypeOnly*/
                  !0,
                  qa(
                    s.name,
                    /*includeTrivia*/
                    !0
                  ),
                  /*namedBindings*/
                  void 0
                ),
                qa(
                  n.moduleSpecifier,
                  /*includeTrivia*/
                  !0
                ),
                qa(
                  n.attributes,
                  /*includeTrivia*/
                  !0
                )
              ),
              N.createImportDeclaration(
                o2(
                  n.modifiers,
                  /*includeTrivia*/
                  !0
                ),
                N.createImportClause(
                  /*isTypeOnly*/
                  !0,
                  /*name*/
                  void 0,
                  qa(
                    s.namedBindings,
                    /*includeTrivia*/
                    !0
                  )
                ),
                qa(
                  n.moduleSpecifier,
                  /*includeTrivia*/
                  !0
                ),
                qa(
                  n.attributes,
                  /*includeTrivia*/
                  !0
                )
              )
            ]);
          else {
            const o = ((i = s.namedBindings) == null ? void 0 : i.kind) === 275 ? N.updateNamedImports(
              s.namedBindings,
              $c(s.namedBindings.elements, (_) => N.updateImportSpecifier(
                _,
                /*isTypeOnly*/
                !1,
                _.propertyName,
                _.name
              ))
            ) : s.namedBindings, c = N.updateImportDeclaration(n, n.modifiers, N.updateImportClause(
              s,
              /*isTypeOnly*/
              !0,
              s.name,
              o
            ), n.moduleSpecifier, n.attributes);
            e.replaceNode(t, n, c);
          }
        }
      }
      var Vce = "convertTypedefToType", Gxe = [p.JSDoc_typedef_may_be_converted_to_TypeScript_type.code];
      Ys({
        fixIds: [Vce],
        errorCodes: Gxe,
        getCodeActions(e) {
          const t = Jh(e.host, e.formatContext.options), n = mi(
            e.sourceFile,
            e.span.start
          );
          if (!n) return;
          const i = nn.ChangeTracker.with(e, (s) => $xe(s, n, e.sourceFile, t));
          if (i.length > 0)
            return [
              Rs(
                Vce,
                i,
                p.Convert_typedef_to_TypeScript_type,
                Vce,
                p.Convert_all_typedef_to_TypeScript_types
              )
            ];
        },
        getAllCodeActions: (e) => Xa(
          e,
          Gxe,
          (t, n) => {
            const i = Jh(e.host, e.formatContext.options), s = mi(n.file, n.start);
            s && $xe(t, s, n.file, i, !0);
          }
        )
      });
      function $xe(e, t, n, i, s = !1) {
        if (!jS(t)) return;
        const o = Oqe(t);
        if (!o) return;
        const c = t.parent, { leftSibling: _, rightSibling: u } = Fqe(t);
        let g = c.getStart(), m = "";
        !_ && c.comment && (g = Xxe(c, c.getStart(), t.getStart()), m = `${i} */${i}`), _ && (s && jS(_) ? (g = t.getStart(), m = "") : (g = Xxe(c, _.getStart(), t.getStart()), m = `${i} */${i}`));
        let h = c.getEnd(), S = "";
        u && (s && jS(u) ? (h = u.getStart(), S = `${i}${i}`) : (h = u.getStart(), S = `${i}/**${i} * `)), e.replaceRange(n, { pos: g, end: h }, o, { prefix: m, suffix: S });
      }
      function Fqe(e) {
        const t = e.parent, n = t.getChildCount() - 1, i = t.getChildren().findIndex(
          (c) => c.getStart() === e.getStart() && c.getEnd() === e.getEnd()
        ), s = i > 0 ? t.getChildAt(i - 1) : void 0, o = i < n ? t.getChildAt(i + 1) : void 0;
        return { leftSibling: s, rightSibling: o };
      }
      function Xxe(e, t, n) {
        const i = e.getText().substring(t - e.getStart(), n - e.getStart());
        for (let s = i.length; s > 0; s--)
          if (!/[*/\s]/.test(i.substring(s - 1, s)))
            return t + s;
        return n;
      }
      function Oqe(e) {
        var t;
        const { typeExpression: n } = e;
        if (!n) return;
        const i = (t = e.name) == null ? void 0 : t.getText();
        if (i) {
          if (n.kind === 322)
            return Lqe(i, n);
          if (n.kind === 309)
            return Mqe(i, n);
        }
      }
      function Lqe(e, t) {
        const n = Qxe(t);
        if (at(n))
          return N.createInterfaceDeclaration(
            /*modifiers*/
            void 0,
            e,
            /*typeParameters*/
            void 0,
            /*heritageClauses*/
            void 0,
            n
          );
      }
      function Mqe(e, t) {
        const n = qa(t.type);
        if (n)
          return N.createTypeAliasDeclaration(
            /*modifiers*/
            void 0,
            N.createIdentifier(e),
            /*typeParameters*/
            void 0,
            n
          );
      }
      function Qxe(e) {
        const t = e.jsDocPropertyTags;
        return at(t) ? Oi(t, (i) => {
          var s;
          const o = Rqe(i), c = (s = i.typeExpression) == null ? void 0 : s.type, _ = i.isBracketed;
          let u;
          if (c && RS(c)) {
            const g = Qxe(c);
            u = N.createTypeLiteralNode(g);
          } else c && (u = qa(c));
          if (u && o) {
            const g = _ ? N.createToken(
              58
              /* QuestionToken */
            ) : void 0;
            return N.createPropertySignature(
              /*modifiers*/
              void 0,
              o,
              g,
              u
            );
          }
        }) : void 0;
      }
      function Rqe(e) {
        return e.name.kind === 80 ? e.name.text : e.name.right.text;
      }
      function jqe(e) {
        return pf(e) ? oa(e.jsDoc, (t) => {
          var n;
          return (n = t.tags) == null ? void 0 : n.filter((i) => jS(i));
        }) : [];
      }
      var Uce = "convertLiteralTypeToMappedType", Yxe = [p._0_only_refers_to_a_type_but_is_being_used_as_a_value_here_Did_you_mean_to_use_1_in_0.code];
      Ys({
        errorCodes: Yxe,
        getCodeActions: function(t) {
          const { sourceFile: n, span: i } = t, s = Zxe(n, i.start);
          if (!s)
            return;
          const { name: o, constraint: c } = s, _ = nn.ChangeTracker.with(t, (u) => Kxe(u, n, s));
          return [Rs(Uce, _, [p.Convert_0_to_1_in_0, c, o], Uce, p.Convert_all_type_literals_to_mapped_type)];
        },
        fixIds: [Uce],
        getAllCodeActions: (e) => Xa(e, Yxe, (t, n) => {
          const i = Zxe(n.file, n.start);
          i && Kxe(t, n.file, i);
        })
      });
      function Zxe(e, t) {
        const n = mi(e, t);
        if (Fe(n)) {
          const i = Us(n.parent.parent, ju), s = n.getText(e);
          return {
            container: Us(i.parent, Yu),
            typeNode: i.type,
            constraint: s,
            name: s === "K" ? "P" : "K"
          };
        }
      }
      function Kxe(e, t, { container: n, typeNode: i, constraint: s, name: o }) {
        e.replaceNode(
          t,
          n,
          N.createMappedTypeNode(
            /*readonlyToken*/
            void 0,
            N.createTypeParameterDeclaration(
              /*modifiers*/
              void 0,
              o,
              N.createTypeReferenceNode(s)
            ),
            /*nameType*/
            void 0,
            /*questionToken*/
            void 0,
            i,
            /*members*/
            void 0
          )
        );
      }
      var eke = [
        p.Class_0_incorrectly_implements_interface_1.code,
        p.Class_0_incorrectly_implements_class_1_Did_you_mean_to_extend_1_and_inherit_its_members_as_a_subclass.code
      ], qce = "fixClassIncorrectlyImplementsInterface";
      Ys({
        errorCodes: eke,
        getCodeActions(e) {
          const { sourceFile: t, span: n } = e, i = tke(t, n.start);
          return Oi($C(i), (s) => {
            const o = nn.ChangeTracker.with(e, (c) => nke(e, s, t, i, c, e.preferences));
            return o.length === 0 ? void 0 : Rs(qce, o, [p.Implement_interface_0, s.getText(t)], qce, p.Implement_all_unimplemented_interfaces);
          });
        },
        fixIds: [qce],
        getAllCodeActions(e) {
          const t = /* @__PURE__ */ new Set();
          return Xa(e, eke, (n, i) => {
            const s = tke(i.file, i.start);
            if (Pp(t, Oa(s)))
              for (const o of $C(s))
                nke(e, o, i.file, s, n, e.preferences);
          });
        }
      });
      function tke(e, t) {
        return E.checkDefined(Jl(mi(e, t)), "There should be a containing class");
      }
      function rke(e) {
        return !e.valueDeclaration || !(Lu(e.valueDeclaration) & 2);
      }
      function nke(e, t, n, i, s, o) {
        const c = e.program.getTypeChecker(), _ = Bqe(i, c), u = c.getTypeAtLocation(t), m = c.getPropertiesOfType(u).filter(qI(rke, (w) => !_.has(w.escapedName))), h = c.getTypeAtLocation(i), S = Dn(i.members, (w) => Xo(w));
        h.getNumberIndexType() || k(
          u,
          1
          /* Number */
        ), h.getStringIndexType() || k(
          u,
          0
          /* String */
        );
        const T = p2(n, e.program, o, e.host);
        jle(i, m, n, e, o, T, (w) => D(n, i, w)), T.writeFixes(s);
        function k(w, A) {
          const O = c.getIndexInfoOfType(w, A);
          O && D(n, i, c.indexInfoToIndexSignatureDeclaration(
            O,
            i,
            /*flags*/
            void 0,
            /*internalFlags*/
            void 0,
            iE(e)
          ));
        }
        function D(w, A, O) {
          S ? s.insertNodeAfter(w, S, O) : s.insertMemberAtStart(w, A, O);
        }
      }
      function Bqe(e, t) {
        const n = Zd(e);
        if (!n) return qs();
        const i = t.getTypeAtLocation(n), s = t.getPropertiesOfType(i);
        return qs(s.filter(rke));
      }
      var ike = "import", ske = "fixMissingImport", ake = [
        p.Cannot_find_name_0.code,
        p.Cannot_find_name_0_Did_you_mean_1.code,
        p.Cannot_find_name_0_Did_you_mean_the_instance_member_this_0.code,
        p.Cannot_find_name_0_Did_you_mean_the_static_member_1_0.code,
        p.Cannot_find_namespace_0.code,
        p._0_refers_to_a_UMD_global_but_the_current_file_is_a_module_Consider_adding_an_import_instead.code,
        p._0_only_refers_to_a_type_but_is_being_used_as_a_value_here.code,
        p.No_value_exists_in_scope_for_the_shorthand_property_0_Either_declare_one_or_provide_an_initializer.code,
        p._0_cannot_be_used_as_a_value_because_it_was_imported_using_import_type.code,
        p.Cannot_find_name_0_Do_you_need_to_install_type_definitions_for_jQuery_Try_npm_i_save_dev_types_Slashjquery.code,
        p.Cannot_find_name_0_Do_you_need_to_change_your_target_library_Try_changing_the_lib_compiler_option_to_1_or_later.code,
        p.Cannot_find_name_0_Do_you_need_to_change_your_target_library_Try_changing_the_lib_compiler_option_to_include_dom.code,
        p.Cannot_find_name_0_Do_you_need_to_install_type_definitions_for_a_test_runner_Try_npm_i_save_dev_types_Slashjest_or_npm_i_save_dev_types_Slashmocha_and_then_add_jest_or_mocha_to_the_types_field_in_your_tsconfig.code,
        p.Cannot_find_name_0_Did_you_mean_to_write_this_in_an_async_function.code,
        p.Cannot_find_name_0_Do_you_need_to_install_type_definitions_for_jQuery_Try_npm_i_save_dev_types_Slashjquery_and_then_add_jquery_to_the_types_field_in_your_tsconfig.code,
        p.Cannot_find_name_0_Do_you_need_to_install_type_definitions_for_a_test_runner_Try_npm_i_save_dev_types_Slashjest_or_npm_i_save_dev_types_Slashmocha.code,
        p.Cannot_find_name_0_Do_you_need_to_install_type_definitions_for_node_Try_npm_i_save_dev_types_Slashnode.code,
        p.Cannot_find_name_0_Do_you_need_to_install_type_definitions_for_node_Try_npm_i_save_dev_types_Slashnode_and_then_add_node_to_the_types_field_in_your_tsconfig.code,
        p.Cannot_find_namespace_0_Did_you_mean_1.code,
        p.Cannot_extend_an_interface_0_Did_you_mean_implements.code,
        p.This_JSX_tag_requires_0_to_be_in_scope_but_it_could_not_be_found.code
      ];
      Ys({
        errorCodes: ake,
        getCodeActions(e) {
          const { errorCode: t, preferences: n, sourceFile: i, span: s, program: o } = e, c = fke(
            e,
            t,
            s.start,
            /*useAutoImportProvider*/
            !0
          );
          if (c)
            return c.map(
              ({ fix: _, symbolName: u, errorIdentifierText: g }) => $ce(
                e,
                i,
                u,
                _,
                /*includeSymbolNameInDescription*/
                u !== g,
                o,
                n
              )
            );
        },
        fixIds: [ske],
        getAllCodeActions: (e) => {
          const { sourceFile: t, program: n, preferences: i, host: s, cancellationToken: o } = e, c = oke(
            t,
            n,
            /*useAutoImportProvider*/
            !0,
            i,
            s,
            o
          );
          return mk(e, ake, (_) => c.addImportFromDiagnostic(_, e)), dk(nn.ChangeTracker.with(e, c.writeFixes));
        }
      });
      function p2(e, t, n, i, s) {
        return oke(
          e,
          t,
          /*useAutoImportProvider*/
          !1,
          n,
          i,
          s
        );
      }
      function oke(e, t, n, i, s, o) {
        const c = t.getCompilerOptions(), _ = [], u = [], g = /* @__PURE__ */ new Map(), m = /* @__PURE__ */ new Set(), h = /* @__PURE__ */ new Set(), S = /* @__PURE__ */ new Map();
        return { addImportFromDiagnostic: D, addImportFromExportedSymbol: w, addImportForModuleSymbol: A, writeFixes: z, hasFixes: G, addImportForUnresolvedIdentifier: k, addImportForNonExistentExport: O, removeExistingImport: F, addVerbatimImport: T };
        function T(W) {
          h.add(W);
        }
        function k(W, pe, K) {
          const U = Qqe(W, pe, K);
          !U || !U.length || j(xa(U));
        }
        function D(W, pe) {
          const K = fke(pe, W.code, W.start, n);
          !K || !K.length || j(xa(K));
        }
        function w(W, pe, K) {
          var U, ee;
          const te = E.checkDefined(W.parent, "Expected exported symbol to have module symbol as parent"), ie = B9(W, ga(c)), fe = t.getTypeChecker(), me = fe.getMergedSymbol($l(W, fe)), q = lke(
            e,
            me,
            ie,
            te,
            /*preferCapitalized*/
            !1,
            t,
            s,
            i,
            o
          );
          if (!q) {
            E.assert((U = i.autoImportFileExcludePatterns) == null ? void 0 : U.length);
            return;
          }
          const he = a8(e, t);
          let Me = Hce(
            e,
            q,
            t,
            /*position*/
            void 0,
            !!pe,
            he,
            s,
            i
          );
          if (Me) {
            const De = ((ee = Mn(K?.name, Fe)) == null ? void 0 : ee.text) ?? ie;
            let re, xe;
            K && NC(K) && (Me.kind === 3 || Me.kind === 2) && Me.addAsTypeOnly === 1 && (re = 2), W.name !== De && (xe = W.name), Me = {
              ...Me,
              ...re === void 0 ? {} : { addAsTypeOnly: re },
              ...xe === void 0 ? {} : { propertyName: xe }
            }, j({ fix: Me, symbolName: De ?? ie });
          }
        }
        function A(W, pe, K) {
          var U, ee, te;
          const ie = t.getTypeChecker(), fe = ie.getAliasedSymbol(W);
          E.assert(fe.flags & 1536, "Expected symbol to be a module");
          const me = bv(t, s), q = Bh.getModuleSpecifiersWithCacheInfo(
            fe,
            ie,
            c,
            e,
            me,
            i,
            /*options*/
            void 0,
            /*forAutoImport*/
            !0
          ), he = a8(e, t);
          let Me = dL(
            pe,
            /*isForNewImportDeclaration*/
            !0,
            /*symbol*/
            void 0,
            W.flags,
            t.getTypeChecker(),
            c
          );
          Me = Me === 1 && NC(K) ? 2 : 1;
          const De = Uo(K) ? vS(K) ? 1 : 2 : Bu(K) ? 0 : Qp(K) && K.name ? 1 : 2, re = [{
            symbol: W,
            moduleSymbol: fe,
            moduleFileName: (te = (ee = (U = fe.declarations) == null ? void 0 : U[0]) == null ? void 0 : ee.getSourceFile()) == null ? void 0 : te.fileName,
            exportKind: 4,
            targetFlags: W.flags,
            isFromPackageJson: !1
          }], xe = Hce(
            e,
            re,
            t,
            /*position*/
            void 0,
            !!pe,
            he,
            s,
            i
          );
          let ue;
          xe && De !== 2 ? ue = {
            ...xe,
            addAsTypeOnly: Me,
            importKind: De
          } : ue = {
            kind: 3,
            moduleSpecifierKind: xe !== void 0 ? xe.moduleSpecifierKind : q.kind,
            moduleSpecifier: xe !== void 0 ? xe.moduleSpecifier : xa(q.moduleSpecifiers),
            importKind: De,
            addAsTypeOnly: Me,
            useRequire: he
          }, j({ fix: ue, symbolName: W.name });
        }
        function O(W, pe, K, U, ee) {
          const te = t.getSourceFile(pe), ie = a8(e, t);
          if (te && te.symbol) {
            const { fixes: fe } = pL(
              [{
                exportKind: K,
                isFromPackageJson: !1,
                moduleFileName: pe,
                moduleSymbol: te.symbol,
                targetFlags: U
              }],
              /*usagePosition*/
              void 0,
              ee,
              ie,
              t,
              e,
              s,
              i
            );
            fe.length && j({ fix: fe[0], symbolName: W });
          } else {
            const fe = U9(pe, 99, t, s), me = Bh.getLocalModuleSpecifierBetweenFileNames(
              e,
              pe,
              c,
              bv(t, s),
              i
            ), q = lH(fe, K, t), he = dL(
              ee,
              /*isForNewImportDeclaration*/
              !0,
              /*symbol*/
              void 0,
              U,
              t.getTypeChecker(),
              c
            );
            j({ fix: {
              kind: 3,
              moduleSpecifierKind: "relative",
              moduleSpecifier: me,
              importKind: q,
              addAsTypeOnly: he,
              useRequire: ie
            }, symbolName: W });
          }
        }
        function F(W) {
          W.kind === 273 && E.assertIsDefined(W.name, "ImportClause should have a name if it's being removed"), m.add(W);
        }
        function j(W) {
          var pe, K, U;
          const { fix: ee, symbolName: te } = W;
          switch (ee.kind) {
            case 0:
              _.push(ee);
              break;
            case 1:
              u.push(ee);
              break;
            case 2: {
              const { importClauseOrBindingPattern: q, importKind: he, addAsTypeOnly: Me, propertyName: De } = ee;
              let re = g.get(q);
              if (re || g.set(q, re = { importClauseOrBindingPattern: q, defaultImport: void 0, namedImports: /* @__PURE__ */ new Map() }), he === 0) {
                const xe = (pe = re?.namedImports.get(te)) == null ? void 0 : pe.addAsTypeOnly;
                re.namedImports.set(te, { addAsTypeOnly: ie(xe, Me), propertyName: De });
              } else
                E.assert(re.defaultImport === void 0 || re.defaultImport.name === te, "(Add to Existing) Default import should be missing or match symbolName"), re.defaultImport = {
                  name: te,
                  addAsTypeOnly: ie((K = re.defaultImport) == null ? void 0 : K.addAsTypeOnly, Me)
                };
              break;
            }
            case 3: {
              const { moduleSpecifier: q, importKind: he, useRequire: Me, addAsTypeOnly: De, propertyName: re } = ee, xe = fe(q, he, Me, De);
              switch (E.assert(xe.useRequire === Me, "(Add new) Tried to add an `import` and a `require` for the same module"), he) {
                case 1:
                  E.assert(xe.defaultImport === void 0 || xe.defaultImport.name === te, "(Add new) Default import should be missing or match symbolName"), xe.defaultImport = { name: te, addAsTypeOnly: ie((U = xe.defaultImport) == null ? void 0 : U.addAsTypeOnly, De) };
                  break;
                case 0:
                  const ue = (xe.namedImports || (xe.namedImports = /* @__PURE__ */ new Map())).get(te);
                  xe.namedImports.set(te, [ie(ue, De), re]);
                  break;
                case 3:
                  if (c.verbatimModuleSyntax) {
                    const Xe = (xe.namedImports || (xe.namedImports = /* @__PURE__ */ new Map())).get(te);
                    xe.namedImports.set(te, [ie(Xe, De), re]);
                  } else
                    E.assert(xe.namespaceLikeImport === void 0 || xe.namespaceLikeImport.name === te, "Namespacelike import shoudl be missing or match symbolName"), xe.namespaceLikeImport = { importKind: he, name: te, addAsTypeOnly: De };
                  break;
                case 2:
                  E.assert(xe.namespaceLikeImport === void 0 || xe.namespaceLikeImport.name === te, "Namespacelike import shoudl be missing or match symbolName"), xe.namespaceLikeImport = { importKind: he, name: te, addAsTypeOnly: De };
                  break;
              }
              break;
            }
            case 4:
              break;
            default:
              E.assertNever(ee, `fix wasn't never - got kind ${ee.kind}`);
          }
          function ie(q, he) {
            return Math.max(q ?? 0, he);
          }
          function fe(q, he, Me, De) {
            const re = me(
              q,
              /*topLevelTypeOnly*/
              !0
            ), xe = me(
              q,
              /*topLevelTypeOnly*/
              !1
            ), ue = S.get(re), Xe = S.get(xe), nt = {
              defaultImport: void 0,
              namedImports: void 0,
              namespaceLikeImport: void 0,
              useRequire: Me
            };
            return he === 1 && De === 2 ? ue || (S.set(re, nt), nt) : De === 1 && (ue || Xe) ? ue || Xe : Xe || (S.set(xe, nt), nt);
          }
          function me(q, he) {
            return `${he ? 1 : 0}|${q}`;
          }
        }
        function z(W, pe) {
          var K, U;
          let ee;
          e.imports !== void 0 && e.imports.length === 0 && pe !== void 0 ? ee = pe : ee = K_(e, i);
          for (const fe of _)
            Xce(W, e, fe);
          for (const fe of u)
            Ske(W, e, fe, ee);
          let te;
          if (m.size) {
            E.assert(Mg(e), "Cannot remove imports from a future source file");
            const fe = new Set(Oi([...m], (De) => _r(De, Uo))), me = new Set(Oi([...m], (De) => _r(De, x3))), q = [...fe].filter(
              (De) => {
                var re, xe, ue;
                return (
                  // nothing added to the import declaration
                  !g.has(De.importClause) && // no default, or default is being removed
                  (!((re = De.importClause) != null && re.name) || m.has(De.importClause)) && // no namespace import, or namespace import is being removed
                  (!Mn((xe = De.importClause) == null ? void 0 : xe.namedBindings, Hg) || m.has(De.importClause.namedBindings)) && // no named imports, or all named imports are being removed
                  (!Mn((ue = De.importClause) == null ? void 0 : ue.namedBindings, cm) || Pi(De.importClause.namedBindings.elements, (Xe) => m.has(Xe)))
                );
              }
            ), he = [...me].filter(
              (De) => (
                // no binding elements being added to the variable declaration
                (De.name.kind !== 206 || !g.has(De.name)) && // no binding elements, or all binding elements are being removed
                (De.name.kind !== 206 || Pi(De.name.elements, (re) => m.has(re)))
              )
            ), Me = [...fe].filter(
              (De) => {
                var re, xe;
                return (
                  // has named bindings
                  ((re = De.importClause) == null ? void 0 : re.namedBindings) && // is not being fully removed
                  q.indexOf(De) === -1 && // is not gaining named imports
                  !((xe = g.get(De.importClause)) != null && xe.namedImports) && // all named imports are being removed
                  (De.importClause.namedBindings.kind === 274 || Pi(De.importClause.namedBindings.elements, (ue) => m.has(ue)))
                );
              }
            );
            for (const De of [...q, ...he])
              W.delete(e, De);
            for (const De of Me)
              W.replaceNode(
                e,
                De.importClause,
                N.updateImportClause(
                  De.importClause,
                  De.importClause.isTypeOnly,
                  De.importClause.name,
                  /*namedBindings*/
                  void 0
                )
              );
            for (const De of m) {
              const re = _r(De, Uo);
              re && q.indexOf(re) === -1 && Me.indexOf(re) === -1 ? De.kind === 273 ? W.delete(e, De.name) : (E.assert(De.kind === 276, "NamespaceImport should have been handled earlier"), (K = g.get(re.importClause)) != null && K.namedImports ? (te ?? (te = /* @__PURE__ */ new Set())).add(De) : W.delete(e, De)) : De.kind === 208 ? (U = g.get(De.parent)) != null && U.namedImports ? (te ?? (te = /* @__PURE__ */ new Set())).add(De) : W.delete(e, De) : De.kind === 271 && W.delete(e, De);
            }
          }
          g.forEach(({ importClauseOrBindingPattern: fe, defaultImport: me, namedImports: q }) => {
            bke(
              W,
              e,
              fe,
              me,
              rs(q.entries(), ([he, { addAsTypeOnly: Me, propertyName: De }]) => ({ addAsTypeOnly: Me, propertyName: De, name: he })),
              te,
              i
            );
          });
          let ie;
          S.forEach(({ useRequire: fe, defaultImport: me, namedImports: q, namespaceLikeImport: he }, Me) => {
            const De = Me.slice(2), xe = (fe ? kke : xke)(
              De,
              ee,
              me,
              q && rs(q.entries(), ([ue, [Xe, nt]]) => ({ addAsTypeOnly: Xe, propertyName: nt, name: ue })),
              he,
              c,
              i
            );
            ie = WT(ie, xe);
          }), ie = WT(ie, V()), ie && jU(
            W,
            e,
            ie,
            /*blankLineBetween*/
            !0,
            i
          );
        }
        function V() {
          if (!h.size) return;
          const W = new Set(Oi([...h], (K) => _r(K, Uo))), pe = new Set(Oi([...h], (K) => _r(K, k3)));
          return [
            ...Oi([...h], (K) => K.kind === 271 ? qa(
              K,
              /*includeTrivia*/
              !0
            ) : void 0),
            ...[...W].map((K) => {
              var U;
              return h.has(K) ? qa(
                K,
                /*includeTrivia*/
                !0
              ) : qa(
                N.updateImportDeclaration(
                  K,
                  K.modifiers,
                  K.importClause && N.updateImportClause(
                    K.importClause,
                    K.importClause.isTypeOnly,
                    h.has(K.importClause) ? K.importClause.name : void 0,
                    h.has(K.importClause.namedBindings) ? K.importClause.namedBindings : (U = Mn(K.importClause.namedBindings, cm)) != null && U.elements.some((ee) => h.has(ee)) ? N.updateNamedImports(
                      K.importClause.namedBindings,
                      K.importClause.namedBindings.elements.filter((ee) => h.has(ee))
                    ) : void 0
                  ),
                  K.moduleSpecifier,
                  K.attributes
                ),
                /*includeTrivia*/
                !0
              );
            }),
            ...[...pe].map((K) => h.has(K) ? qa(
              K,
              /*includeTrivia*/
              !0
            ) : qa(
              N.updateVariableStatement(
                K,
                K.modifiers,
                N.updateVariableDeclarationList(
                  K.declarationList,
                  Oi(K.declarationList.declarations, (U) => h.has(U) ? U : N.updateVariableDeclaration(
                    U,
                    U.name.kind === 206 ? N.updateObjectBindingPattern(
                      U.name,
                      U.name.elements.filter((ee) => h.has(ee))
                    ) : U.name,
                    U.exclamationToken,
                    U.type,
                    U.initializer
                  ))
                )
              ),
              /*includeTrivia*/
              !0
            ))
          ];
        }
        function G() {
          return _.length > 0 || u.length > 0 || g.size > 0 || S.size > 0 || h.size > 0 || m.size > 0;
        }
      }
      function Jqe(e, t, n, i) {
        const s = Z6(e, i, n), o = uke(e, t);
        return { getModuleSpecifierForBestExportInfo: c };
        function c(_, u, g, m) {
          const { fixes: h, computedWithoutCacheCount: S } = pL(
            _,
            u,
            g,
            /*useRequire*/
            !1,
            t,
            e,
            n,
            i,
            o,
            m
          ), T = dke(h, e, t, s, n, i);
          return T && { ...T, computedWithoutCacheCount: S };
        }
      }
      function zqe(e, t, n, i, s, o, c, _, u, g, m, h) {
        let S;
        n ? (S = GA(i, c, _, m, h).get(i.path, n), E.assertIsDefined(S, "Some exportInfo should match the specified exportMapKey")) : (S = fj(wp(t.name)) ? [Vqe(e, s, t, _, c)] : lke(i, e, s, t, o, _, c, m, h), E.assertIsDefined(S, "Some exportInfo should match the specified symbol / moduleSymbol"));
        const T = a8(i, _), k = ev(mi(i, g)), D = E.checkDefined(Hce(i, S, _, g, k, T, c, m));
        return {
          moduleSpecifier: D.moduleSpecifier,
          codeAction: cke($ce(
            { host: c, formatContext: u, preferences: m },
            i,
            s,
            D,
            /*includeSymbolNameInDescription*/
            !1,
            _,
            m
          ))
        };
      }
      function Wqe(e, t, n, i, s, o) {
        const c = n.getCompilerOptions(), _ = DR(Gce(e, n.getTypeChecker(), t, c)), u = yke(e, t, _, n), g = _ !== t.text;
        return u && cke($ce(
          { host: i, formatContext: s, preferences: o },
          e,
          _,
          u,
          g,
          n,
          o
        ));
      }
      function Hce(e, t, n, i, s, o, c, _) {
        const u = Z6(e, _, c);
        return dke(pL(t, i, s, o, n, e, c, _).fixes, e, n, u, c, _);
      }
      function cke({ description: e, changes: t, commands: n }) {
        return { description: e, changes: t, commands: n };
      }
      function lke(e, t, n, i, s, o, c, _, u) {
        const g = _ke(o, c), m = _.autoImportFileExcludePatterns && Iae(c, _), h = o.getTypeChecker().getMergedSymbol(i), S = m && h.declarations && jo(
          h,
          307
          /* SourceFile */
        ), T = S && m(S);
        return GA(e, c, o, _, u).search(e.path, s, (k) => k === n, (k) => {
          const D = g(k[0].isFromPackageJson);
          if (D.getMergedSymbol($l(k[0].symbol, D)) === t && (T || k.some((w) => D.getMergedSymbol(w.moduleSymbol) === i || w.symbol.parent === i)))
            return k;
        });
      }
      function Vqe(e, t, n, i, s) {
        var o, c;
        const _ = g(
          i.getTypeChecker(),
          /*isFromPackageJson*/
          !1
        );
        if (_)
          return _;
        const u = (c = (o = s.getPackageJsonAutoImportProvider) == null ? void 0 : o.call(s)) == null ? void 0 : c.getTypeChecker();
        return E.checkDefined(u && g(
          u,
          /*isFromPackageJson*/
          !0
        ), "Could not find symbol in specified module for code actions");
        function g(m, h) {
          const S = q9(n, m);
          if (S && $l(S.symbol, m) === e)
            return { symbol: S.symbol, moduleSymbol: n, moduleFileName: void 0, exportKind: S.exportKind, targetFlags: $l(e, m).flags, isFromPackageJson: h };
          const T = m.tryGetMemberInModuleExportsAndProperties(t, n);
          if (T && $l(T, m) === e)
            return { symbol: T, moduleSymbol: n, moduleFileName: void 0, exportKind: 0, targetFlags: $l(e, m).flags, isFromPackageJson: h };
        }
      }
      function pL(e, t, n, i, s, o, c, _, u = Mg(o) ? uke(o, s) : void 0, g) {
        const m = s.getTypeChecker(), h = u ? oa(e, u.getImportsForExportInfo) : Ue, S = t !== void 0 && Uqe(h, t), T = Hqe(h, n, m, s.getCompilerOptions());
        if (T)
          return {
            computedWithoutCacheCount: 0,
            fixes: [...S ? [S] : Ue, T]
          };
        const { fixes: k, computedWithoutCacheCount: D = 0 } = $qe(
          e,
          h,
          s,
          o,
          t,
          n,
          i,
          c,
          _,
          g
        );
        return {
          computedWithoutCacheCount: D,
          fixes: [...S ? [S] : Ue, ...k]
        };
      }
      function Uqe(e, t) {
        return Ic(e, ({ declaration: n, importKind: i }) => {
          var s;
          if (i !== 0) return;
          const o = qqe(n), c = o && ((s = fx(n)) == null ? void 0 : s.text);
          if (c)
            return { kind: 0, namespacePrefix: o, usagePosition: t, moduleSpecifierKind: void 0, moduleSpecifier: c };
        });
      }
      function qqe(e) {
        var t, n, i;
        switch (e.kind) {
          case 260:
            return (t = Mn(e.name, Fe)) == null ? void 0 : t.text;
          case 271:
            return e.name.text;
          case 351:
          case 272:
            return (i = Mn((n = e.importClause) == null ? void 0 : n.namedBindings, Hg)) == null ? void 0 : i.name.text;
          default:
            return E.assertNever(e);
        }
      }
      function dL(e, t, n, i, s, o) {
        return e ? n && o.verbatimModuleSyntax && (!(i & 111551) || s.getTypeOnlyAliasDeclaration(n)) ? 2 : 1 : 4;
      }
      function Hqe(e, t, n, i) {
        let s;
        for (const c of e) {
          const _ = o(c);
          if (!_) continue;
          const u = NC(_.importClauseOrBindingPattern);
          if (_.addAsTypeOnly !== 4 && u || _.addAsTypeOnly === 4 && !u)
            return _;
          s ?? (s = _);
        }
        return s;
        function o({ declaration: c, importKind: _, symbol: u, targetFlags: g }) {
          if (_ === 3 || _ === 2 || c.kind === 271)
            return;
          if (c.kind === 260)
            return (_ === 0 || _ === 1) && c.name.kind === 206 ? {
              kind: 2,
              importClauseOrBindingPattern: c.name,
              importKind: _,
              moduleSpecifierKind: void 0,
              moduleSpecifier: c.initializer.arguments[0].text,
              addAsTypeOnly: 4
              /* NotAllowed */
            } : void 0;
          const { importClause: m } = c;
          if (!m || !Ba(c.moduleSpecifier))
            return;
          const { name: h, namedBindings: S } = m;
          if (m.isTypeOnly && !(_ === 0 && S))
            return;
          const T = dL(
            t,
            /*isForNewImportDeclaration*/
            !1,
            u,
            g,
            n,
            i
          );
          if (!(_ === 1 && (h || // Cannot add a default import to a declaration that already has one
          T === 2 && S)) && !(_ === 0 && S?.kind === 274))
            return {
              kind: 2,
              importClauseOrBindingPattern: m,
              importKind: _,
              moduleSpecifierKind: void 0,
              moduleSpecifier: c.moduleSpecifier.text,
              addAsTypeOnly: T
            };
        }
      }
      function uke(e, t) {
        const n = t.getTypeChecker();
        let i;
        for (const s of e.imports) {
          const o = V4(s);
          if (x3(o.parent)) {
            const c = n.resolveExternalModuleName(s);
            c && (i || (i = Tp())).add(ea(c), o.parent);
          } else if (o.kind === 272 || o.kind === 271 || o.kind === 351) {
            const c = n.getSymbolAtLocation(s);
            c && (i || (i = Tp())).add(ea(c), o);
          }
        }
        return {
          getImportsForExportInfo: ({ moduleSymbol: s, exportKind: o, targetFlags: c, symbol: _ }) => {
            const u = i?.get(ea(s));
            if (!u || $u(e) && !(c & 111551) && !Pi(u, _m)) return Ue;
            const g = lH(e, o, t);
            return u.map((m) => ({ declaration: m, importKind: g, symbol: _, targetFlags: c }));
          }
        };
      }
      function a8(e, t) {
        if (!Wg(e.fileName))
          return !1;
        if (e.commonJsModuleIndicator && !e.externalModuleIndicator) return !0;
        if (e.externalModuleIndicator && !e.commonJsModuleIndicator) return !1;
        const n = t.getCompilerOptions();
        if (n.configFile)
          return Mu(n) < 5;
        if (Yce(e, t) === 1) return !0;
        if (Yce(e, t) === 99) return !1;
        for (const i of t.getSourceFiles())
          if (!(i === e || !$u(i) || t.isSourceFileFromExternalLibrary(i))) {
            if (i.commonJsModuleIndicator && !i.externalModuleIndicator) return !0;
            if (i.externalModuleIndicator && !i.commonJsModuleIndicator) return !1;
          }
        return !0;
      }
      function _ke(e, t) {
        return qd((n) => n ? t.getPackageJsonAutoImportProvider().getTypeChecker() : e.getTypeChecker());
      }
      function Gqe(e, t, n, i, s, o, c, _, u) {
        const g = Wg(t.fileName), m = e.getCompilerOptions(), h = bv(e, c), S = _ke(e, c), T = vu(m), k = C9(T), D = u ? (O) => Bh.tryGetModuleSpecifiersFromCache(O.moduleSymbol, t, h, _) : (O, F) => Bh.getModuleSpecifiersWithCacheInfo(
          O.moduleSymbol,
          F,
          m,
          t,
          h,
          _,
          /*options*/
          void 0,
          /*forAutoImport*/
          !0
        );
        let w = 0;
        const A = oa(o, (O, F) => {
          const j = S(O.isFromPackageJson), { computedWithoutCache: z, moduleSpecifiers: V, kind: G } = D(O, j) ?? {}, W = !!(O.targetFlags & 111551), pe = dL(
            i,
            /*isForNewImportDeclaration*/
            !0,
            O.symbol,
            O.targetFlags,
            j,
            m
          );
          return w += z ? 1 : 0, Oi(V, (K) => {
            if (k && c1(K))
              return;
            if (!W && g && n !== void 0)
              return { kind: 1, moduleSpecifierKind: G, moduleSpecifier: K, usagePosition: n, exportInfo: O, isReExport: F > 0 };
            const U = lH(t, O.exportKind, e);
            let ee;
            if (n !== void 0 && U === 3 && O.exportKind === 0) {
              const te = j.resolveExternalModuleSymbol(O.moduleSymbol);
              let ie;
              te !== O.moduleSymbol && (ie = H9(te, j, ga(m), mo)), ie || (ie = UA(
                O.moduleSymbol,
                ga(m),
                /*forceCapitalize*/
                !1
              )), ee = { namespacePrefix: ie, usagePosition: n };
            }
            return {
              kind: 3,
              moduleSpecifierKind: G,
              moduleSpecifier: K,
              importKind: U,
              useRequire: s,
              addAsTypeOnly: pe,
              exportInfo: O,
              isReExport: F > 0,
              qualification: ee
            };
          });
        });
        return { computedWithoutCacheCount: w, fixes: A };
      }
      function $qe(e, t, n, i, s, o, c, _, u, g) {
        const m = Ic(t, (h) => Xqe(h, o, c, n.getTypeChecker(), n.getCompilerOptions()));
        return m ? { fixes: [m] } : Gqe(n, i, s, o, c, e, _, u, g);
      }
      function Xqe({ declaration: e, importKind: t, symbol: n, targetFlags: i }, s, o, c, _) {
        var u;
        const g = (u = fx(e)) == null ? void 0 : u.text;
        if (g) {
          const m = o ? 4 : dL(
            s,
            /*isForNewImportDeclaration*/
            !0,
            n,
            i,
            c,
            _
          );
          return { kind: 3, moduleSpecifierKind: void 0, moduleSpecifier: g, importKind: t, addAsTypeOnly: m, useRequire: o };
        }
      }
      function fke(e, t, n, i) {
        const s = mi(e.sourceFile, n);
        let o;
        if (t === p._0_refers_to_a_UMD_global_but_the_current_file_is_a_module_Consider_adding_an_import_instead.code)
          o = eHe(e, s);
        else if (Fe(s))
          if (t === p._0_cannot_be_used_as_a_value_because_it_was_imported_using_import_type.code) {
            const _ = DR(Gce(e.sourceFile, e.program.getTypeChecker(), s, e.program.getCompilerOptions())), u = yke(e.sourceFile, s, _, e.program);
            return u && [{ fix: u, symbolName: _, errorIdentifierText: s.text }];
          } else
            o = hke(e, s, i);
        else return;
        const c = Z6(e.sourceFile, e.preferences, e.host);
        return o && pke(o, e.sourceFile, e.program, c, e.host, e.preferences);
      }
      function pke(e, t, n, i, s, o) {
        const c = (_) => lo(_, s.getCurrentDirectory(), Nh(s));
        return J_(e, (_, u) => J1(!!_.isJsxNamespaceFix, !!u.isJsxNamespaceFix) || go(_.fix.kind, u.fix.kind) || mke(_.fix, u.fix, t, n, o, i.allowsImportingSpecifier, c));
      }
      function Qqe(e, t, n) {
        const i = hke(e, t, n), s = Z6(e.sourceFile, e.preferences, e.host);
        return i && pke(i, e.sourceFile, e.program, s, e.host, e.preferences);
      }
      function dke(e, t, n, i, s, o) {
        if (at(e))
          return e[0].kind === 0 || e[0].kind === 2 ? e[0] : e.reduce(
            (c, _) => (
              // Takes true branch of conditional if `fix` is better than `best`
              mke(
                _,
                c,
                t,
                n,
                o,
                i.allowsImportingSpecifier,
                (u) => lo(u, s.getCurrentDirectory(), Nh(s))
              ) === -1 ? _ : c
            )
          );
      }
      function mke(e, t, n, i, s, o, c) {
        return e.kind !== 0 && t.kind !== 0 ? J1(
          t.moduleSpecifierKind !== "node_modules" || o(t.moduleSpecifier),
          e.moduleSpecifierKind !== "node_modules" || o(e.moduleSpecifier)
        ) || Yqe(e, t, s) || Kqe(e.moduleSpecifier, t.moduleSpecifier, n, i) || J1(
          gke(e, n.path, c),
          gke(t, n.path, c)
        ) || uN(e.moduleSpecifier, t.moduleSpecifier) : 0;
      }
      function Yqe(e, t, n) {
        return n.importModuleSpecifierPreference === "non-relative" || n.importModuleSpecifierPreference === "project-relative" ? J1(e.moduleSpecifierKind === "relative", t.moduleSpecifierKind === "relative") : 0;
      }
      function gke(e, t, n) {
        var i;
        if (e.isReExport && ((i = e.exportInfo) != null && i.moduleFileName) && Zqe(e.exportInfo.moduleFileName)) {
          const s = n(Un(e.exportInfo.moduleFileName));
          return Wi(t, s);
        }
        return !1;
      }
      function Zqe(e) {
        return Qc(
          e,
          [".js", ".jsx", ".d.ts", ".ts", ".tsx"],
          /*ignoreCase*/
          !0
        ) === "index";
      }
      function Kqe(e, t, n, i) {
        return Wi(e, "node:") && !Wi(t, "node:") ? z9(n, i) ? -1 : 1 : Wi(t, "node:") && !Wi(e, "node:") ? z9(n, i) ? 1 : -1 : 0;
      }
      function eHe({ sourceFile: e, program: t, host: n, preferences: i }, s) {
        const o = t.getTypeChecker(), c = tHe(s, o);
        if (!c) return;
        const _ = o.getAliasedSymbol(c), u = c.name, g = [{ symbol: c, moduleSymbol: _, moduleFileName: void 0, exportKind: 3, targetFlags: _.flags, isFromPackageJson: !1 }], m = a8(e, t);
        return pL(
          g,
          /*usagePosition*/
          void 0,
          /*isValidTypeOnlyUseSite*/
          !1,
          m,
          t,
          e,
          n,
          i
        ).fixes.map((S) => {
          var T;
          return { fix: S, symbolName: u, errorIdentifierText: (T = Mn(s, Fe)) == null ? void 0 : T.text };
        });
      }
      function tHe(e, t) {
        const n = Fe(e) ? t.getSymbolAtLocation(e) : void 0;
        if (I5(n)) return n;
        const { parent: i } = e;
        if (yu(i) && i.tagName === e || Yp(i)) {
          const s = t.resolveName(
            t.getJsxNamespace(i),
            yu(i) ? e : i,
            111551,
            /*excludeGlobals*/
            !1
          );
          if (I5(s))
            return s;
        }
      }
      function lH(e, t, n, i) {
        if (n.getCompilerOptions().verbatimModuleSyntax && cHe(e, n) === 1)
          return 3;
        switch (t) {
          case 0:
            return 0;
          case 1:
            return 1;
          case 2:
            return sHe(e, n.getCompilerOptions(), !!i);
          case 3:
            return rHe(e, n, !!i);
          case 4:
            return 2;
          default:
            return E.assertNever(t);
        }
      }
      function rHe(e, t, n) {
        if (Dx(t.getCompilerOptions()))
          return 1;
        const i = Mu(t.getCompilerOptions());
        switch (i) {
          case 2:
          case 1:
          case 3:
            return Wg(e.fileName) && (e.externalModuleIndicator || n) ? 2 : 3;
          case 4:
          case 5:
          case 6:
          case 7:
          case 99:
          case 0:
          case 200:
            return 2;
          case 100:
          case 101:
          case 199:
            return Yce(e, t) === 99 ? 2 : 3;
          default:
            return E.assertNever(i, `Unexpected moduleKind ${i}`);
        }
      }
      function hke({ sourceFile: e, program: t, cancellationToken: n, host: i, preferences: s }, o, c) {
        const _ = t.getTypeChecker(), u = t.getCompilerOptions();
        return oa(Gce(e, _, o, u), (g) => {
          if (g === "default")
            return;
          const m = ev(o), h = a8(e, t), S = iHe(g, VC(o), $S(o), n, e, t, c, i, s);
          return rs(
            vR(S.values(), (T) => pL(T, o.getStart(e), m, h, t, e, i, s).fixes),
            (T) => ({ fix: T, symbolName: g, errorIdentifierText: o.text, isJsxNamespaceFix: g !== o.text })
          );
        });
      }
      function yke(e, t, n, i) {
        const s = i.getTypeChecker(), o = s.resolveName(
          n,
          t,
          111551,
          /*excludeGlobals*/
          !0
        );
        if (!o) return;
        const c = s.getTypeOnlyAliasDeclaration(o);
        if (!(!c || Er(c) !== e))
          return { kind: 4, typeOnlyAliasDeclaration: c };
      }
      function Gce(e, t, n, i) {
        const s = n.parent;
        if ((yu(s) || $b(s)) && s.tagName === n && cq(i.jsx)) {
          const o = t.getJsxNamespace(e);
          if (nHe(o, n, t))
            return !YC(n.text) && !t.resolveName(
              n.text,
              n,
              111551,
              /*excludeGlobals*/
              !1
            ) ? [n.text, o] : [o];
        }
        return [n.text];
      }
      function nHe(e, t, n) {
        if (YC(t.text)) return !0;
        const i = n.resolveName(
          e,
          t,
          111551,
          /*excludeGlobals*/
          !0
        );
        return !i || at(i.declarations, h0) && !(i.flags & 111551);
      }
      function iHe(e, t, n, i, s, o, c, _, u) {
        var g;
        const m = Tp(), h = Z6(s, u, _), S = (g = _.getModuleSpecifierCache) == null ? void 0 : g.call(_), T = qd((D) => bv(D ? _.getPackageJsonAutoImportProvider() : o, _));
        function k(D, w, A, O, F, j) {
          const z = T(j);
          if (_q(F, s, w, D, u, h, z, S)) {
            const V = F.getTypeChecker();
            m.add(gae(A, V).toString(), { symbol: A, moduleSymbol: D, moduleFileName: w?.fileName, exportKind: O, targetFlags: $l(A, V).flags, isFromPackageJson: j });
          }
        }
        return fq(o, _, u, c, (D, w, A, O) => {
          const F = A.getTypeChecker();
          i.throwIfCancellationRequested();
          const j = A.getCompilerOptions(), z = q9(D, F);
          z && Eke(F.getSymbolFlags(z.symbol), n) && H9(z.symbol, F, ga(j), (G, W) => (t ? W ?? G : G) === e) && k(D, w, z.symbol, z.exportKind, A, O);
          const V = F.tryGetMemberInModuleExportsAndProperties(e, D);
          V && Eke(F.getSymbolFlags(V), n) && k(D, w, V, 0, A, O);
        }), m;
      }
      function sHe(e, t, n) {
        const i = Dx(t), s = Wg(e.fileName);
        if (!s && Mu(t) >= 5)
          return i ? 1 : 2;
        if (s)
          return e.externalModuleIndicator || n ? i ? 1 : 2 : 3;
        for (const o of e.statements ?? Ue)
          if (bl(o) && !cc(o.moduleReference))
            return 3;
        return i ? 1 : 3;
      }
      function $ce(e, t, n, i, s, o, c) {
        let _;
        const u = nn.ChangeTracker.with(e, (g) => {
          _ = aHe(g, t, n, i, s, o, c);
        });
        return Rs(ike, u, _, ske, p.Add_all_missing_imports);
      }
      function aHe(e, t, n, i, s, o, c) {
        const _ = K_(t, c);
        switch (i.kind) {
          case 0:
            return Xce(e, t, i), [p.Change_0_to_1, n, `${i.namespacePrefix}.${n}`];
          case 1:
            return Ske(e, t, i, _), [p.Change_0_to_1, n, Tke(i.moduleSpecifier, _) + n];
          case 2: {
            const { importClauseOrBindingPattern: u, importKind: g, addAsTypeOnly: m, moduleSpecifier: h } = i;
            bke(
              e,
              t,
              u,
              g === 1 ? { name: n, addAsTypeOnly: m } : void 0,
              g === 0 ? [{ name: n, addAsTypeOnly: m }] : Ue,
              /*removeExistingImportSpecifiers*/
              void 0,
              c
            );
            const S = wp(h);
            return s ? [p.Import_0_from_1, n, S] : [p.Update_import_from_0, S];
          }
          case 3: {
            const { importKind: u, moduleSpecifier: g, addAsTypeOnly: m, useRequire: h, qualification: S } = i, T = h ? kke : xke, k = u === 1 ? { name: n, addAsTypeOnly: m } : void 0, D = u === 0 ? [{ name: n, addAsTypeOnly: m }] : void 0, w = u === 2 || u === 3 ? { importKind: u, name: S?.namespacePrefix || n, addAsTypeOnly: m } : void 0;
            return jU(
              e,
              t,
              T(
                g,
                _,
                k,
                D,
                w,
                o.getCompilerOptions(),
                c
              ),
              /*blankLineBetween*/
              !0,
              c
            ), S && Xce(e, t, S), s ? [p.Import_0_from_1, n, g] : [p.Add_import_from_0, g];
          }
          case 4: {
            const { typeOnlyAliasDeclaration: u } = i, g = oHe(e, u, o, t, c);
            return g.kind === 276 ? [p.Remove_type_from_import_of_0_from_1, n, vke(g.parent.parent)] : [p.Remove_type_from_import_declaration_from_0, vke(g)];
          }
          default:
            return E.assertNever(i, `Unexpected fix kind ${i.kind}`);
        }
      }
      function vke(e) {
        var t, n;
        return e.kind === 271 ? ((n = Mn((t = Mn(e.moduleReference, Mh)) == null ? void 0 : t.expression, Ba)) == null ? void 0 : n.text) || e.moduleReference.getText() : Us(e.parent.moduleSpecifier, la).text;
      }
      function oHe(e, t, n, i, s) {
        const o = n.getCompilerOptions(), c = o.verbatimModuleSyntax;
        switch (t.kind) {
          case 276:
            if (t.isTypeOnly) {
              if (t.parent.elements.length > 1) {
                const u = N.updateImportSpecifier(
                  t,
                  /*isTypeOnly*/
                  !1,
                  t.propertyName,
                  t.name
                ), { specifierComparer: g } = wv.getNamedImportSpecifierComparerWithDetection(t.parent.parent.parent, s, i), m = wv.getImportSpecifierInsertionIndex(t.parent.elements, u, g);
                if (m !== t.parent.elements.indexOf(t))
                  return e.delete(i, t), e.insertImportSpecifierAtIndex(i, u, t.parent, m), t;
              }
              return e.deleteRange(i, { pos: Vy(t.getFirstToken()), end: Vy(t.propertyName ?? t.name) }), t;
            } else
              return E.assert(t.parent.parent.isTypeOnly), _(t.parent.parent), t.parent.parent;
          case 273:
            return _(t), t;
          case 274:
            return _(t.parent), t.parent;
          case 271:
            return e.deleteRange(i, t.getChildAt(1)), t;
          default:
            E.failBadSyntaxKind(t);
        }
        function _(u) {
          var g;
          if (e.delete(i, BU(u, i)), !o.allowImportingTsExtensions) {
            const m = fx(u.parent), h = m && ((g = n.getResolvedModuleFromModuleSpecifier(m, i)) == null ? void 0 : g.resolvedModule);
            if (h?.resolvedUsingTsExtension) {
              const S = FP(m.text, uA(m.text, o));
              e.replaceNode(i, m, N.createStringLiteral(S));
            }
          }
          if (c) {
            const m = Mn(u.namedBindings, cm);
            if (m && m.elements.length > 1) {
              wv.getNamedImportSpecifierComparerWithDetection(u.parent, s, i).isSorted !== !1 && t.kind === 276 && m.elements.indexOf(t) !== 0 && (e.delete(i, t), e.insertImportSpecifierAtIndex(i, t, m, 0));
              for (const S of m.elements)
                S !== t && !S.isTypeOnly && e.insertModifierBefore(i, 156, S);
            }
          }
        }
      }
      function bke(e, t, n, i, s, o, c) {
        var _;
        if (n.kind === 206) {
          if (o && n.elements.some((h) => o.has(h))) {
            e.replaceNode(
              t,
              n,
              N.createObjectBindingPattern([
                ...n.elements.filter((h) => !o.has(h)),
                ...i ? [N.createBindingElement(
                  /*dotDotDotToken*/
                  void 0,
                  /*propertyName*/
                  "default",
                  i.name
                )] : Ue,
                ...s.map((h) => N.createBindingElement(
                  /*dotDotDotToken*/
                  void 0,
                  h.propertyName,
                  h.name
                ))
              ])
            );
            return;
          }
          i && m(n, i.name, "default");
          for (const h of s)
            m(n, h.name, h.propertyName);
          return;
        }
        const u = n.isTypeOnly && at(
          [i, ...s],
          (h) => h?.addAsTypeOnly === 4
          /* NotAllowed */
        ), g = n.namedBindings && ((_ = Mn(n.namedBindings, cm)) == null ? void 0 : _.elements);
        if (i && (E.assert(!n.name, "Cannot add a default import to an import clause that already has one"), e.insertNodeAt(t, n.getStart(t), N.createIdentifier(i.name), { suffix: ", " })), s.length) {
          const { specifierComparer: h, isSorted: S } = wv.getNamedImportSpecifierComparerWithDetection(n.parent, c, t), T = J_(
            s.map(
              (k) => N.createImportSpecifier(
                (!n.isTypeOnly || u) && uH(k, c),
                k.propertyName === void 0 ? void 0 : N.createIdentifier(k.propertyName),
                N.createIdentifier(k.name)
              )
            ),
            h
          );
          if (o)
            e.replaceNode(
              t,
              n.namedBindings,
              N.updateNamedImports(
                n.namedBindings,
                J_([...g.filter((k) => !o.has(k)), ...T], h)
              )
            );
          else if (g?.length && S !== !1) {
            const k = u && g ? N.updateNamedImports(
              n.namedBindings,
              $c(g, (D) => N.updateImportSpecifier(
                D,
                /*isTypeOnly*/
                !0,
                D.propertyName,
                D.name
              ))
            ).elements : g;
            for (const D of T) {
              const w = wv.getImportSpecifierInsertionIndex(k, D, h);
              e.insertImportSpecifierAtIndex(t, D, n.namedBindings, w);
            }
          } else if (g?.length)
            for (const k of T)
              e.insertNodeInListAfter(t, pa(g), k, g);
          else if (T.length) {
            const k = N.createNamedImports(T);
            n.namedBindings ? e.replaceNode(t, n.namedBindings, k) : e.insertNodeAfter(t, E.checkDefined(n.name, "Import clause must have either named imports or a default import"), k);
          }
        }
        if (u && (e.delete(t, BU(n, t)), g))
          for (const h of g)
            e.insertModifierBefore(t, 156, h);
        function m(h, S, T) {
          const k = N.createBindingElement(
            /*dotDotDotToken*/
            void 0,
            T,
            S
          );
          h.elements.length ? e.insertNodeInListAfter(t, pa(h.elements), k) : e.replaceNode(t, h, N.createObjectBindingPattern([k]));
        }
      }
      function Xce(e, t, { namespacePrefix: n, usagePosition: i }) {
        e.insertText(t, i, n + ".");
      }
      function Ske(e, t, { moduleSpecifier: n, usagePosition: i }, s) {
        e.insertText(t, i, Tke(n, s));
      }
      function Tke(e, t) {
        const n = MU(t);
        return `import(${n}${e}${n}).`;
      }
      function Qce({ addAsTypeOnly: e }) {
        return e === 2;
      }
      function uH(e, t) {
        return Qce(e) || !!t.preferTypeOnlyAutoImports && e.addAsTypeOnly !== 4;
      }
      function xke(e, t, n, i, s, o, c) {
        const _ = yw(e, t);
        let u;
        if (n !== void 0 || i?.length) {
          const g = (!n || Qce(n)) && Pi(i, Qce) || (o.verbatimModuleSyntax || c.preferTypeOnlyAutoImports) && n?.addAsTypeOnly !== 4 && !at(
            i,
            (m) => m.addAsTypeOnly === 4
            /* NotAllowed */
          );
          u = WT(
            u,
            p1(
              n && N.createIdentifier(n.name),
              i?.map(
                (m) => N.createImportSpecifier(
                  !g && uH(m, c),
                  m.propertyName === void 0 ? void 0 : N.createIdentifier(m.propertyName),
                  N.createIdentifier(m.name)
                )
              ),
              e,
              t,
              g
            )
          );
        }
        if (s) {
          const g = s.importKind === 3 ? N.createImportEqualsDeclaration(
            /*modifiers*/
            void 0,
            uH(s, c),
            N.createIdentifier(s.name),
            N.createExternalModuleReference(_)
          ) : N.createImportDeclaration(
            /*modifiers*/
            void 0,
            N.createImportClause(
              uH(s, c),
              /*name*/
              void 0,
              N.createNamespaceImport(N.createIdentifier(s.name))
            ),
            _,
            /*attributes*/
            void 0
          );
          u = WT(u, g);
        }
        return E.checkDefined(u);
      }
      function kke(e, t, n, i, s) {
        const o = yw(e, t);
        let c;
        if (n || i?.length) {
          const _ = i?.map(({ name: g, propertyName: m }) => N.createBindingElement(
            /*dotDotDotToken*/
            void 0,
            m,
            g
          )) || [];
          n && _.unshift(N.createBindingElement(
            /*dotDotDotToken*/
            void 0,
            "default",
            n.name
          ));
          const u = Cke(N.createObjectBindingPattern(_), o);
          c = WT(c, u);
        }
        if (s) {
          const _ = Cke(s.name, o);
          c = WT(c, _);
        }
        return E.checkDefined(c);
      }
      function Cke(e, t) {
        return N.createVariableStatement(
          /*modifiers*/
          void 0,
          N.createVariableDeclarationList(
            [
              N.createVariableDeclaration(
                typeof e == "string" ? N.createIdentifier(e) : e,
                /*exclamationToken*/
                void 0,
                /*type*/
                void 0,
                N.createCallExpression(
                  N.createIdentifier("require"),
                  /*typeArguments*/
                  void 0,
                  [t]
                )
              )
            ],
            2
            /* Const */
          )
        );
      }
      function Eke(e, t) {
        return t === 7 ? !0 : t & 1 ? !!(e & 111551) : t & 2 ? !!(e & 788968) : t & 4 ? !!(e & 1920) : !1;
      }
      function Yce(e, t) {
        return Mg(e) ? t.getImpliedNodeFormatForEmit(e) : GS(e, t.getCompilerOptions());
      }
      function cHe(e, t) {
        return Mg(e) ? t.getEmitModuleFormatOfFile(e) : lw(e, t.getCompilerOptions());
      }
      var Zce = "addMissingConstraint", Dke = [
        // We want errors this could be attached to:
        // Diagnostics.This_type_parameter_probably_needs_an_extends_0_constraint
        p.Type_0_is_not_comparable_to_type_1.code,
        p.Type_0_is_not_assignable_to_type_1_Two_different_types_with_this_name_exist_but_they_are_unrelated.code,
        p.Type_0_is_not_assignable_to_type_1_with_exactOptionalPropertyTypes_Colon_true_Consider_adding_undefined_to_the_types_of_the_target_s_properties.code,
        p.Type_0_is_not_assignable_to_type_1.code,
        p.Argument_of_type_0_is_not_assignable_to_parameter_of_type_1_with_exactOptionalPropertyTypes_Colon_true_Consider_adding_undefined_to_the_types_of_the_target_s_properties.code,
        p.Property_0_is_incompatible_with_index_signature.code,
        p.Property_0_in_type_1_is_not_assignable_to_type_2.code,
        p.Type_0_does_not_satisfy_the_constraint_1.code
      ];
      Ys({
        errorCodes: Dke,
        getCodeActions(e) {
          const { sourceFile: t, span: n, program: i, preferences: s, host: o } = e, c = wke(i, t, n);
          if (c === void 0) return;
          const _ = nn.ChangeTracker.with(e, (u) => Pke(u, i, s, o, t, c));
          return [Rs(Zce, _, p.Add_extends_constraint, Zce, p.Add_extends_constraint_to_all_type_parameters)];
        },
        fixIds: [Zce],
        getAllCodeActions: (e) => {
          const { program: t, preferences: n, host: i } = e, s = /* @__PURE__ */ new Set();
          return dk(nn.ChangeTracker.with(e, (o) => {
            mk(e, Dke, (c) => {
              const _ = wke(t, c.file, Gl(c.start, c.length));
              if (_ && Pp(s, Oa(_.declaration)))
                return Pke(o, t, n, i, c.file, _);
            });
          }));
        }
      });
      function wke(e, t, n) {
        const i = Dn(e.getSemanticDiagnostics(t), (c) => c.start === n.start && c.length === n.length);
        if (i === void 0 || i.relatedInformation === void 0) return;
        const s = Dn(i.relatedInformation, (c) => c.code === p.This_type_parameter_might_need_an_extends_0_constraint.code);
        if (s === void 0 || s.file === void 0 || s.start === void 0 || s.length === void 0) return;
        let o = Hle(s.file, Gl(s.start, s.length));
        if (o !== void 0 && (Fe(o) && Fo(o.parent) && (o = o.parent), Fo(o))) {
          if (IS(o.parent)) return;
          const c = mi(t, n.start), _ = e.getTypeChecker();
          return { constraint: uHe(_, c) || lHe(s.messageText), declaration: o, token: c };
        }
      }
      function Pke(e, t, n, i, s, o) {
        const { declaration: c, constraint: _ } = o, u = t.getTypeChecker();
        if (cs(_))
          e.insertText(s, c.name.end, ` extends ${_}`);
        else {
          const g = ga(t.getCompilerOptions()), m = iE({ program: t, host: i }), h = p2(s, t, n, i), S = CH(
            u,
            h,
            _,
            /*contextNode*/
            void 0,
            g,
            /*flags*/
            void 0,
            /*internalFlags*/
            void 0,
            m
          );
          S && (e.replaceNode(s, c, N.updateTypeParameterDeclaration(
            c,
            /*modifiers*/
            void 0,
            c.name,
            S,
            c.default
          )), h.writeFixes(e));
        }
      }
      function lHe(e) {
        const [, t] = fm(e, `
`, 0).match(/`extends (.*)`/) || [];
        return t;
      }
      function uHe(e, t) {
        return si(t.parent) ? e.getTypeArgumentConstraint(t.parent) : (lt(t) ? e.getContextualType(t) : void 0) || e.getTypeAtLocation(t);
      }
      var Nke = "fixOverrideModifier", o8 = "fixAddOverrideModifier", mL = "fixRemoveOverrideModifier", Ake = [
        p.This_member_cannot_have_an_override_modifier_because_it_is_not_declared_in_the_base_class_0.code,
        p.This_member_cannot_have_an_override_modifier_because_its_containing_class_0_does_not_extend_another_class.code,
        p.This_member_must_have_an_override_modifier_because_it_overrides_an_abstract_method_that_is_declared_in_the_base_class_0.code,
        p.This_member_must_have_an_override_modifier_because_it_overrides_a_member_in_the_base_class_0.code,
        p.This_parameter_property_must_have_an_override_modifier_because_it_overrides_a_member_in_base_class_0.code,
        p.This_member_must_have_a_JSDoc_comment_with_an_override_tag_because_it_overrides_a_member_in_the_base_class_0.code,
        p.This_member_cannot_have_a_JSDoc_comment_with_an_override_tag_because_its_containing_class_0_does_not_extend_another_class.code,
        p.This_parameter_property_must_have_a_JSDoc_comment_with_an_override_tag_because_it_overrides_a_member_in_the_base_class_0.code,
        p.This_member_cannot_have_a_JSDoc_comment_with_an_override_tag_because_it_is_not_declared_in_the_base_class_0.code
      ], Ike = {
        // case #1:
        [p.This_member_must_have_an_override_modifier_because_it_overrides_a_member_in_the_base_class_0.code]: {
          descriptions: p.Add_override_modifier,
          fixId: o8,
          fixAllDescriptions: p.Add_all_missing_override_modifiers
        },
        [p.This_member_must_have_a_JSDoc_comment_with_an_override_tag_because_it_overrides_a_member_in_the_base_class_0.code]: {
          descriptions: p.Add_override_modifier,
          fixId: o8,
          fixAllDescriptions: p.Add_all_missing_override_modifiers
        },
        // case #2:
        [p.This_member_cannot_have_an_override_modifier_because_its_containing_class_0_does_not_extend_another_class.code]: {
          descriptions: p.Remove_override_modifier,
          fixId: mL,
          fixAllDescriptions: p.Remove_all_unnecessary_override_modifiers
        },
        [p.This_member_cannot_have_a_JSDoc_comment_with_an_override_tag_because_its_containing_class_0_does_not_extend_another_class.code]: {
          descriptions: p.Remove_override_modifier,
          fixId: mL,
          fixAllDescriptions: p.Remove_override_modifier
        },
        // case #3:
        [p.This_parameter_property_must_have_an_override_modifier_because_it_overrides_a_member_in_base_class_0.code]: {
          descriptions: p.Add_override_modifier,
          fixId: o8,
          fixAllDescriptions: p.Add_all_missing_override_modifiers
        },
        [p.This_parameter_property_must_have_a_JSDoc_comment_with_an_override_tag_because_it_overrides_a_member_in_the_base_class_0.code]: {
          descriptions: p.Add_override_modifier,
          fixId: o8,
          fixAllDescriptions: p.Add_all_missing_override_modifiers
        },
        // case #4:
        [p.This_member_must_have_an_override_modifier_because_it_overrides_an_abstract_method_that_is_declared_in_the_base_class_0.code]: {
          descriptions: p.Add_override_modifier,
          fixId: o8,
          fixAllDescriptions: p.Remove_all_unnecessary_override_modifiers
        },
        // case #5:
        [p.This_member_cannot_have_an_override_modifier_because_it_is_not_declared_in_the_base_class_0.code]: {
          descriptions: p.Remove_override_modifier,
          fixId: mL,
          fixAllDescriptions: p.Remove_all_unnecessary_override_modifiers
        },
        [p.This_member_cannot_have_a_JSDoc_comment_with_an_override_tag_because_it_is_not_declared_in_the_base_class_0.code]: {
          descriptions: p.Remove_override_modifier,
          fixId: mL,
          fixAllDescriptions: p.Remove_all_unnecessary_override_modifiers
        }
      };
      Ys({
        errorCodes: Ake,
        getCodeActions: function(t) {
          const { errorCode: n, span: i } = t, s = Ike[n];
          if (!s) return Ue;
          const { descriptions: o, fixId: c, fixAllDescriptions: _ } = s, u = nn.ChangeTracker.with(t, (g) => Fke(g, t, n, i.start));
          return [
            hce(Nke, u, o, c, _)
          ];
        },
        fixIds: [Nke, o8, mL],
        getAllCodeActions: (e) => Xa(e, Ake, (t, n) => {
          const { code: i, start: s } = n, o = Ike[i];
          !o || o.fixId !== e.fixId || Fke(t, e, i, s);
        })
      });
      function Fke(e, t, n, i) {
        switch (n) {
          case p.This_member_must_have_an_override_modifier_because_it_overrides_a_member_in_the_base_class_0.code:
          case p.This_member_must_have_a_JSDoc_comment_with_an_override_tag_because_it_overrides_a_member_in_the_base_class_0.code:
          case p.This_member_must_have_an_override_modifier_because_it_overrides_an_abstract_method_that_is_declared_in_the_base_class_0.code:
          case p.This_parameter_property_must_have_an_override_modifier_because_it_overrides_a_member_in_base_class_0.code:
          case p.This_parameter_property_must_have_a_JSDoc_comment_with_an_override_tag_because_it_overrides_a_member_in_the_base_class_0.code:
            return _He(e, t.sourceFile, i);
          case p.This_member_cannot_have_an_override_modifier_because_it_is_not_declared_in_the_base_class_0.code:
          case p.This_member_cannot_have_a_JSDoc_comment_with_an_override_tag_because_it_is_not_declared_in_the_base_class_0.code:
          case p.This_member_cannot_have_an_override_modifier_because_its_containing_class_0_does_not_extend_another_class.code:
          case p.This_member_cannot_have_a_JSDoc_comment_with_an_override_tag_because_its_containing_class_0_does_not_extend_another_class.code:
            return fHe(e, t.sourceFile, i);
          default:
            E.fail("Unexpected error code: " + n);
        }
      }
      function _He(e, t, n) {
        const i = Lke(t, n);
        if ($u(t)) {
          e.addJSDocTags(t, i, [N.createJSDocOverrideTag(N.createIdentifier("override"))]);
          return;
        }
        const s = i.modifiers || Ue, o = Dn(s, jx), c = Dn(s, Ste), _ = Dn(s, (h) => EU(h.kind)), u = fb(s, yl), g = c ? c.end : o ? o.end : _ ? _.end : u ? ca(t.text, u.end) : i.getStart(t), m = _ || o || c ? { prefix: " " } : { suffix: " " };
        e.insertModifierAt(t, g, 164, m);
      }
      function fHe(e, t, n) {
        const i = Lke(t, n);
        if ($u(t)) {
          e.filterJSDocTags(t, i, HI(wF));
          return;
        }
        const s = Dn(i.modifiers, Tte);
        E.assertIsDefined(s), e.deleteModifier(t, s);
      }
      function Oke(e) {
        switch (e.kind) {
          case 176:
          case 172:
          case 174:
          case 177:
          case 178:
            return !0;
          case 169:
            return U_(e, e.parent);
          default:
            return !1;
        }
      }
      function Lke(e, t) {
        const n = mi(e, t), i = _r(n, (s) => Xn(s) ? "quit" : Oke(s));
        return E.assert(i && Oke(i)), i;
      }
      var Kce = "fixNoPropertyAccessFromIndexSignature", Mke = [
        p.Property_0_comes_from_an_index_signature_so_it_must_be_accessed_with_0.code
      ];
      Ys({
        errorCodes: Mke,
        fixIds: [Kce],
        getCodeActions(e) {
          const { sourceFile: t, span: n, preferences: i } = e, s = jke(t, n.start), o = nn.ChangeTracker.with(e, (c) => Rke(c, e.sourceFile, s, i));
          return [Rs(Kce, o, [p.Use_element_access_for_0, s.name.text], Kce, p.Use_element_access_for_all_undeclared_properties)];
        },
        getAllCodeActions: (e) => Xa(e, Mke, (t, n) => Rke(t, n.file, jke(n.file, n.start), e.preferences))
      });
      function Rke(e, t, n, i) {
        const s = K_(t, i), o = N.createStringLiteral(
          n.name.text,
          s === 0
          /* Single */
        );
        e.replaceNode(
          t,
          n,
          m7(n) ? N.createElementAccessChain(n.expression, n.questionDotToken, o) : N.createElementAccessExpression(n.expression, o)
        );
      }
      function jke(e, t) {
        return Us(mi(e, t).parent, kn);
      }
      var ele = "fixImplicitThis", Bke = [p.this_implicitly_has_type_any_because_it_does_not_have_a_type_annotation.code];
      Ys({
        errorCodes: Bke,
        getCodeActions: function(t) {
          const { sourceFile: n, program: i, span: s } = t;
          let o;
          const c = nn.ChangeTracker.with(t, (_) => {
            o = Jke(_, n, s.start, i.getTypeChecker());
          });
          return o ? [Rs(ele, c, o, ele, p.Fix_all_implicit_this_errors)] : Ue;
        },
        fixIds: [ele],
        getAllCodeActions: (e) => Xa(e, Bke, (t, n) => {
          Jke(t, n.file, n.start, e.program.getTypeChecker());
        })
      });
      function Jke(e, t, n, i) {
        const s = mi(t, n);
        if (!U6(s)) return;
        const o = Ou(
          s,
          /*includeArrowFunctions*/
          !1,
          /*includeClassComputedPropertyName*/
          !1
        );
        if (!(!Tc(o) && !ho(o)) && !xi(Ou(
          o,
          /*includeArrowFunctions*/
          !1,
          /*includeClassComputedPropertyName*/
          !1
        ))) {
          const c = E.checkDefined(Za(o, 100, t)), { name: _ } = o, u = E.checkDefined(o.body);
          return ho(o) ? _ && Eo.Core.isSymbolReferencedInFile(_, i, t, u) ? void 0 : (e.delete(t, c), _ && e.delete(t, _), e.insertText(t, u.pos, " =>"), [p.Convert_function_expression_0_to_arrow_function, _ ? _.text : KU]) : (e.replaceNode(t, c, N.createToken(
            87
            /* ConstKeyword */
          )), e.insertText(t, _.end, " = "), e.insertText(t, u.pos, " =>"), [p.Convert_function_declaration_0_to_arrow_function, _.text]);
        }
      }
      var tle = "fixImportNonExportedMember", zke = [
        p.Module_0_declares_1_locally_but_it_is_not_exported.code
      ];
      Ys({
        errorCodes: zke,
        fixIds: [tle],
        getCodeActions(e) {
          const { sourceFile: t, span: n, program: i } = e, s = Wke(t, n.start, i);
          if (s === void 0) return;
          const o = nn.ChangeTracker.with(e, (c) => pHe(c, i, s));
          return [Rs(tle, o, [p.Export_0_from_module_1, s.exportName.node.text, s.moduleSpecifier], tle, p.Export_all_referenced_locals)];
        },
        getAllCodeActions(e) {
          const { program: t } = e;
          return dk(nn.ChangeTracker.with(e, (n) => {
            const i = /* @__PURE__ */ new Map();
            mk(e, zke, (s) => {
              const o = Wke(s.file, s.start, t);
              if (o === void 0) return;
              const { exportName: c, node: _, moduleSourceFile: u } = o;
              if (_H(u, c.isTypeOnly) === void 0 && pN(_))
                n.insertExportModifier(u, _);
              else {
                const g = i.get(u) || { typeOnlyExports: [], exports: [] };
                c.isTypeOnly ? g.typeOnlyExports.push(c) : g.exports.push(c), i.set(u, g);
              }
            }), i.forEach((s, o) => {
              const c = _H(
                o,
                /*isTypeOnly*/
                !0
              );
              c && c.isTypeOnly ? (rle(n, t, o, s.typeOnlyExports, c), rle(n, t, o, s.exports, _H(
                o,
                /*isTypeOnly*/
                !1
              ))) : rle(n, t, o, [...s.exports, ...s.typeOnlyExports], c);
            });
          }));
        }
      });
      function Wke(e, t, n) {
        var i, s;
        const o = mi(e, t);
        if (Fe(o)) {
          const c = _r(o, Uo);
          if (c === void 0) return;
          const _ = la(c.moduleSpecifier) ? c.moduleSpecifier : void 0;
          if (_ === void 0) return;
          const u = (i = n.getResolvedModuleFromModuleSpecifier(_, e)) == null ? void 0 : i.resolvedModule;
          if (u === void 0) return;
          const g = n.getSourceFile(u.resolvedFileName);
          if (g === void 0 || K6(n, g)) return;
          const m = g.symbol, h = (s = Mn(m.valueDeclaration, qm)) == null ? void 0 : s.locals;
          if (h === void 0) return;
          const S = h.get(o.escapedText);
          if (S === void 0) return;
          const T = dHe(S);
          return T === void 0 ? void 0 : { exportName: { node: o, isTypeOnly: Px(T) }, node: T, moduleSourceFile: g, moduleSpecifier: _.text };
        }
      }
      function pHe(e, t, { exportName: n, node: i, moduleSourceFile: s }) {
        const o = _H(s, n.isTypeOnly);
        o ? Vke(e, t, s, o, [n]) : pN(i) ? e.insertExportModifier(s, i) : Uke(e, t, s, [n]);
      }
      function rle(e, t, n, i, s) {
        Ar(i) && (s ? Vke(e, t, n, s, i) : Uke(e, t, n, i));
      }
      function _H(e, t) {
        const n = (i) => Oc(i) && (t && i.isTypeOnly || !i.isTypeOnly);
        return fb(e.statements, n);
      }
      function Vke(e, t, n, i, s) {
        const o = i.exportClause && cp(i.exportClause) ? i.exportClause.elements : N.createNodeArray([]), c = !i.isTypeOnly && !!(Np(t.getCompilerOptions()) || Dn(o, (_) => _.isTypeOnly));
        e.replaceNode(
          n,
          i,
          N.updateExportDeclaration(
            i,
            i.modifiers,
            i.isTypeOnly,
            N.createNamedExports(
              N.createNodeArray(
                [...o, ...qke(s, c)],
                /*hasTrailingComma*/
                o.hasTrailingComma
              )
            ),
            i.moduleSpecifier,
            i.attributes
          )
        );
      }
      function Uke(e, t, n, i) {
        e.insertNodeAtEndOfScope(n, n, N.createExportDeclaration(
          /*modifiers*/
          void 0,
          /*isTypeOnly*/
          !1,
          N.createNamedExports(qke(
            i,
            /*allowTypeModifier*/
            Np(t.getCompilerOptions())
          )),
          /*moduleSpecifier*/
          void 0,
          /*attributes*/
          void 0
        ));
      }
      function qke(e, t) {
        return N.createNodeArray(fr(e, (n) => N.createExportSpecifier(
          t && n.isTypeOnly,
          /*propertyName*/
          void 0,
          n.node
        )));
      }
      function dHe(e) {
        if (e.valueDeclaration === void 0)
          return Xc(e.declarations);
        const t = e.valueDeclaration, n = Zn(t) ? Mn(t.parent.parent, Sc) : void 0;
        return n && Ar(n.declarationList.declarations) === 1 ? n : t;
      }
      var nle = "fixIncorrectNamedTupleSyntax", mHe = [
        p.A_labeled_tuple_element_is_declared_as_optional_with_a_question_mark_after_the_name_and_before_the_colon_rather_than_after_the_type.code,
        p.A_labeled_tuple_element_is_declared_as_rest_with_a_before_the_name_rather_than_before_the_type.code
      ];
      Ys({
        errorCodes: mHe,
        getCodeActions: function(t) {
          const { sourceFile: n, span: i } = t, s = gHe(n, i.start), o = nn.ChangeTracker.with(t, (c) => hHe(c, n, s));
          return [Rs(nle, o, p.Move_labeled_tuple_element_modifiers_to_labels, nle, p.Move_labeled_tuple_element_modifiers_to_labels)];
        },
        fixIds: [nle]
      });
      function gHe(e, t) {
        const n = mi(e, t);
        return _r(
          n,
          (i) => i.kind === 202
          /* NamedTupleMember */
        );
      }
      function hHe(e, t, n) {
        if (!n)
          return;
        let i = n.type, s = !1, o = !1;
        for (; i.kind === 190 || i.kind === 191 || i.kind === 196; )
          i.kind === 190 ? s = !0 : i.kind === 191 && (o = !0), i = i.type;
        const c = N.updateNamedTupleMember(
          n,
          n.dotDotDotToken || (o ? N.createToken(
            26
            /* DotDotDotToken */
          ) : void 0),
          n.name,
          n.questionToken || (s ? N.createToken(
            58
            /* QuestionToken */
          ) : void 0),
          i
        );
        c !== n && e.replaceNode(t, n, c);
      }
      var Hke = "fixSpelling", Gke = [
        p.Property_0_does_not_exist_on_type_1_Did_you_mean_2.code,
        p.Property_0_may_not_exist_on_type_1_Did_you_mean_2.code,
        p.Cannot_find_name_0_Did_you_mean_1.code,
        p.Could_not_find_name_0_Did_you_mean_1.code,
        p.Cannot_find_namespace_0_Did_you_mean_1.code,
        p.Cannot_find_name_0_Did_you_mean_the_instance_member_this_0.code,
        p.Cannot_find_name_0_Did_you_mean_the_static_member_1_0.code,
        p._0_has_no_exported_member_named_1_Did_you_mean_2.code,
        p.This_member_cannot_have_an_override_modifier_because_it_is_not_declared_in_the_base_class_0_Did_you_mean_1.code,
        p.This_member_cannot_have_a_JSDoc_comment_with_an_override_tag_because_it_is_not_declared_in_the_base_class_0_Did_you_mean_1.code,
        // for JSX class components
        p.No_overload_matches_this_call.code,
        // for JSX FC
        p.Type_0_is_not_assignable_to_type_1.code
      ];
      Ys({
        errorCodes: Gke,
        getCodeActions(e) {
          const { sourceFile: t, errorCode: n } = e, i = $ke(t, e.span.start, e, n);
          if (!i) return;
          const { node: s, suggestedSymbol: o } = i, c = ga(e.host.getCompilationSettings()), _ = nn.ChangeTracker.with(e, (u) => Xke(u, t, s, o, c));
          return [Rs("spelling", _, [p.Change_spelling_to_0, bc(o)], Hke, p.Fix_all_detected_spelling_errors)];
        },
        fixIds: [Hke],
        getAllCodeActions: (e) => Xa(e, Gke, (t, n) => {
          const i = $ke(n.file, n.start, e, n.code), s = ga(e.host.getCompilationSettings());
          i && Xke(t, e.sourceFile, i.node, i.suggestedSymbol, s);
        })
      });
      function $ke(e, t, n, i) {
        const s = mi(e, t), o = s.parent;
        if ((i === p.No_overload_matches_this_call.code || i === p.Type_0_is_not_assignable_to_type_1.code) && !um(o)) return;
        const c = n.program.getTypeChecker();
        let _;
        if (kn(o) && o.name === s) {
          E.assert(Ng(s), "Expected an identifier for spelling (property access)");
          let u = c.getTypeAtLocation(o.expression);
          o.flags & 64 && (u = c.getNonNullableType(u)), _ = c.getSuggestedSymbolForNonexistentProperty(s, u);
        } else if (_n(o) && o.operatorToken.kind === 103 && o.left === s && Di(s)) {
          const u = c.getTypeAtLocation(o.right);
          _ = c.getSuggestedSymbolForNonexistentProperty(s, u);
        } else if (Qu(o) && o.right === s) {
          const u = c.getSymbolAtLocation(o.left);
          u && u.flags & 1536 && (_ = c.getSuggestedSymbolForNonexistentModule(o.right, u));
        } else if (Bu(o) && o.name === s) {
          E.assertNode(s, Fe, "Expected an identifier for spelling (import)");
          const u = _r(s, Uo), g = vHe(n, u, e);
          g && g.symbol && (_ = c.getSuggestedSymbolForNonexistentModule(s, g.symbol));
        } else if (um(o) && o.name === s) {
          E.assertNode(s, Fe, "Expected an identifier for JSX attribute");
          const u = _r(s, yu), g = c.getContextualTypeForArgumentAtIndex(u, 0);
          _ = c.getSuggestedSymbolForNonexistentJSXAttribute(s, g);
        } else if (x5(o) && Jc(o) && o.name === s) {
          const u = _r(s, Xn), g = u ? Zd(u) : void 0, m = g ? c.getTypeAtLocation(g) : void 0;
          m && (_ = c.getSuggestedSymbolForNonexistentClassMember(Go(s), m));
        } else {
          const u = $S(s), g = Go(s);
          E.assert(g !== void 0, "name should be defined"), _ = c.getSuggestedSymbolForNonexistentSymbol(s, g, yHe(u));
        }
        return _ === void 0 ? void 0 : { node: s, suggestedSymbol: _ };
      }
      function Xke(e, t, n, i, s) {
        const o = bc(i);
        if (!C_(o, s) && kn(n.parent)) {
          const c = i.valueDeclaration;
          c && El(c) && Di(c.name) ? e.replaceNode(t, n, N.createIdentifier(o)) : e.replaceNode(t, n.parent, N.createElementAccessExpression(n.parent.expression, N.createStringLiteral(o)));
        } else
          e.replaceNode(t, n, N.createIdentifier(o));
      }
      function yHe(e) {
        let t = 0;
        return e & 4 && (t |= 1920), e & 2 && (t |= 788968), e & 1 && (t |= 111551), t;
      }
      function vHe(e, t, n) {
        var i;
        if (!t || !Ba(t.moduleSpecifier)) return;
        const s = (i = e.program.getResolvedModuleFromModuleSpecifier(t.moduleSpecifier, n)) == null ? void 0 : i.resolvedModule;
        if (s)
          return e.program.getSourceFile(s.resolvedFileName);
      }
      var ile = "returnValueCorrect", sle = "fixAddReturnStatement", ale = "fixRemoveBracesFromArrowFunctionBody", ole = "fixWrapTheBlockWithParen", Qke = [
        p.A_function_whose_declared_type_is_neither_undefined_void_nor_any_must_return_a_value.code,
        p.Type_0_is_not_assignable_to_type_1.code,
        p.Argument_of_type_0_is_not_assignable_to_parameter_of_type_1.code
      ];
      Ys({
        errorCodes: Qke,
        fixIds: [sle, ale, ole],
        getCodeActions: function(t) {
          const { program: n, sourceFile: i, span: { start: s }, errorCode: o } = t, c = Zke(n.getTypeChecker(), i, s, o);
          if (c)
            return c.kind === 0 ? Dr(
              [SHe(t, c.expression, c.statement)],
              Co(c.declaration) ? THe(t, c.declaration, c.expression, c.commentSource) : void 0
            ) : [xHe(t, c.declaration, c.expression)];
        },
        getAllCodeActions: (e) => Xa(e, Qke, (t, n) => {
          const i = Zke(e.program.getTypeChecker(), n.file, n.start, n.code);
          if (i)
            switch (e.fixId) {
              case sle:
                Kke(t, n.file, i.expression, i.statement);
                break;
              case ale:
                if (!Co(i.declaration)) return;
                eCe(
                  t,
                  n.file,
                  i.declaration,
                  i.expression,
                  i.commentSource
                );
                break;
              case ole:
                if (!Co(i.declaration)) return;
                tCe(t, n.file, i.declaration, i.expression);
                break;
              default:
                E.fail(JSON.stringify(e.fixId));
            }
        })
      });
      function Yke(e, t, n) {
        const i = e.createSymbol(4, t.escapedText);
        i.links.type = e.getTypeAtLocation(n);
        const s = qs([i]);
        return e.createAnonymousType(
          /*symbol*/
          void 0,
          s,
          [],
          [],
          []
        );
      }
      function cle(e, t, n, i) {
        if (!t.body || !Cs(t.body) || Ar(t.body.statements) !== 1) return;
        const s = xa(t.body.statements);
        if (Pl(s) && lle(e, t, e.getTypeAtLocation(s.expression), n, i))
          return {
            declaration: t,
            kind: 0,
            expression: s.expression,
            statement: s,
            commentSource: s.expression
          };
        if (i1(s) && Pl(s.statement)) {
          const o = N.createObjectLiteralExpression([N.createPropertyAssignment(s.label, s.statement.expression)]), c = Yke(e, s.label, s.statement.expression);
          if (lle(e, t, c, n, i))
            return Co(t) ? {
              declaration: t,
              kind: 1,
              expression: o,
              statement: s,
              commentSource: s.statement.expression
            } : {
              declaration: t,
              kind: 0,
              expression: o,
              statement: s,
              commentSource: s.statement.expression
            };
        } else if (Cs(s) && Ar(s.statements) === 1) {
          const o = xa(s.statements);
          if (i1(o) && Pl(o.statement)) {
            const c = N.createObjectLiteralExpression([N.createPropertyAssignment(o.label, o.statement.expression)]), _ = Yke(e, o.label, o.statement.expression);
            if (lle(e, t, _, n, i))
              return {
                declaration: t,
                kind: 0,
                expression: c,
                statement: s,
                commentSource: o
              };
          }
        }
      }
      function lle(e, t, n, i, s) {
        if (s) {
          const o = e.getSignatureFromDeclaration(t);
          if (o) {
            qn(
              t,
              1024
              /* Async */
            ) && (n = e.createPromiseType(n));
            const c = e.createSignature(
              t,
              o.typeParameters,
              o.thisParameter,
              o.parameters,
              n,
              /*typePredicate*/
              void 0,
              o.minArgumentCount,
              o.flags
            );
            n = e.createAnonymousType(
              /*symbol*/
              void 0,
              qs(),
              [c],
              [],
              []
            );
          } else
            n = e.getAnyType();
        }
        return e.isTypeAssignableTo(n, i);
      }
      function Zke(e, t, n, i) {
        const s = mi(t, n);
        if (!s.parent) return;
        const o = _r(s.parent, uo);
        switch (i) {
          case p.A_function_whose_declared_type_is_neither_undefined_void_nor_any_must_return_a_value.code:
            return !o || !o.body || !o.type || !d_(o.type, s) ? void 0 : cle(
              e,
              o,
              e.getTypeFromTypeNode(o.type),
              /*isFunctionType*/
              !1
            );
          case p.Argument_of_type_0_is_not_assignable_to_parameter_of_type_1.code:
            if (!o || !Ms(o.parent) || !o.body) return;
            const c = o.parent.arguments.indexOf(o);
            if (c === -1) return;
            const _ = e.getContextualTypeForArgumentAtIndex(o.parent, c);
            return _ ? cle(
              e,
              o,
              _,
              /*isFunctionType*/
              !0
            ) : void 0;
          case p.Type_0_is_not_assignable_to_type_1.code:
            if (!Xm(s) || !M4(s.parent) && !um(s.parent)) return;
            const u = bHe(s.parent);
            return !u || !uo(u) || !u.body ? void 0 : cle(
              e,
              u,
              e.getTypeAtLocation(s.parent),
              /*isFunctionType*/
              !0
            );
        }
      }
      function bHe(e) {
        switch (e.kind) {
          case 260:
          case 169:
          case 208:
          case 172:
          case 303:
            return e.initializer;
          case 291:
            return e.initializer && (g6(e.initializer) ? e.initializer.expression : void 0);
          case 304:
          case 171:
          case 306:
          case 348:
          case 341:
            return;
        }
      }
      function Kke(e, t, n, i) {
        tf(n);
        const s = WA(t);
        e.replaceNode(t, i, N.createReturnStatement(n), {
          leadingTriviaOption: nn.LeadingTriviaOption.Exclude,
          trailingTriviaOption: nn.TrailingTriviaOption.Exclude,
          suffix: s ? ";" : void 0
        });
      }
      function eCe(e, t, n, i, s, o) {
        const c = A9(i) ? N.createParenthesizedExpression(i) : i;
        tf(s), QS(s, c), e.replaceNode(t, n.body, c);
      }
      function tCe(e, t, n, i) {
        e.replaceNode(t, n.body, N.createParenthesizedExpression(i));
      }
      function SHe(e, t, n) {
        const i = nn.ChangeTracker.with(e, (s) => Kke(s, e.sourceFile, t, n));
        return Rs(ile, i, p.Add_a_return_statement, sle, p.Add_all_missing_return_statement);
      }
      function THe(e, t, n, i) {
        const s = nn.ChangeTracker.with(e, (o) => eCe(
          o,
          e.sourceFile,
          t,
          n,
          i
        ));
        return Rs(ile, s, p.Remove_braces_from_arrow_function_body, ale, p.Remove_braces_from_all_arrow_function_bodies_with_relevant_issues);
      }
      function xHe(e, t, n) {
        const i = nn.ChangeTracker.with(e, (s) => tCe(s, e.sourceFile, t, n));
        return Rs(ile, i, p.Wrap_the_following_body_with_parentheses_which_should_be_an_object_literal, ole, p.Wrap_all_object_literal_with_parentheses);
      }
      var Ev = "fixMissingMember", fH = "fixMissingProperties", pH = "fixMissingAttributes", dH = "fixMissingFunctionDeclaration", rCe = [
        p.Property_0_does_not_exist_on_type_1.code,
        p.Property_0_does_not_exist_on_type_1_Did_you_mean_2.code,
        p.Property_0_is_missing_in_type_1_but_required_in_type_2.code,
        p.Type_0_is_missing_the_following_properties_from_type_1_Colon_2.code,
        p.Type_0_is_missing_the_following_properties_from_type_1_Colon_2_and_3_more.code,
        p.Argument_of_type_0_is_not_assignable_to_parameter_of_type_1.code,
        p.Cannot_find_name_0.code,
        p.Type_0_does_not_satisfy_the_expected_type_1.code
      ];
      Ys({
        errorCodes: rCe,
        getCodeActions(e) {
          const t = e.program.getTypeChecker(), n = nCe(e.sourceFile, e.span.start, e.errorCode, t, e.program);
          if (n) {
            if (n.kind === 3) {
              const i = nn.ChangeTracker.with(e, (s) => pCe(s, e, n));
              return [Rs(fH, i, p.Add_missing_properties, fH, p.Add_all_missing_properties)];
            }
            if (n.kind === 4) {
              const i = nn.ChangeTracker.with(e, (s) => fCe(s, e, n));
              return [Rs(pH, i, p.Add_missing_attributes, pH, p.Add_all_missing_attributes)];
            }
            if (n.kind === 2 || n.kind === 5) {
              const i = nn.ChangeTracker.with(e, (s) => _Ce(s, e, n));
              return [Rs(dH, i, [p.Add_missing_function_declaration_0, n.token.text], dH, p.Add_all_missing_function_declarations)];
            }
            if (n.kind === 1) {
              const i = nn.ChangeTracker.with(e, (s) => uCe(s, e.program.getTypeChecker(), n));
              return [Rs(Ev, i, [p.Add_missing_enum_member_0, n.token.text], Ev, p.Add_all_missing_members)];
            }
            return Ji(wHe(e, n), kHe(e, n));
          }
        },
        fixIds: [Ev, dH, fH, pH],
        getAllCodeActions: (e) => {
          const { program: t, fixId: n } = e, i = t.getTypeChecker(), s = /* @__PURE__ */ new Set(), o = /* @__PURE__ */ new Map();
          return dk(nn.ChangeTracker.with(e, (c) => {
            mk(e, rCe, (_) => {
              const u = nCe(_.file, _.start, _.code, i, e.program);
              if (u === void 0) return;
              const g = Oa(u.parentDeclaration) + "#" + (u.kind === 3 ? u.identifier || Oa(u.token) : u.token.text);
              if (Pp(s, g)) {
                if (n === dH && (u.kind === 2 || u.kind === 5))
                  _Ce(c, e, u);
                else if (n === fH && u.kind === 3)
                  pCe(c, e, u);
                else if (n === pH && u.kind === 4)
                  fCe(c, e, u);
                else if (u.kind === 1 && uCe(c, i, u), u.kind === 0) {
                  const { parentDeclaration: m, token: h } = u, S = r4(o, m, () => []);
                  S.some((T) => T.token.text === h.text) || S.push(u);
                }
              }
            }), o.forEach((_, u) => {
              const g = Yu(u) ? void 0 : Gle(u, i);
              for (const m of _) {
                if (g?.some((A) => {
                  const O = o.get(A);
                  return !!O && O.some(({ token: F }) => F.text === m.token.text);
                })) continue;
                const { parentDeclaration: h, declSourceFile: S, modifierFlags: T, token: k, call: D, isJSFile: w } = m;
                if (D && !Di(k))
                  lCe(e, c, D, k, T & 256, h, S);
                else if (w && !Yl(h) && !Yu(h))
                  iCe(c, S, h, k, !!(T & 256));
                else {
                  const A = aCe(i, h, k);
                  oCe(
                    c,
                    S,
                    h,
                    k.text,
                    A,
                    T & 256
                    /* Static */
                  );
                }
              }
            });
          }));
        }
      });
      function nCe(e, t, n, i, s) {
        var o, c;
        const _ = mi(e, t), u = _.parent;
        if (n === p.Argument_of_type_0_is_not_assignable_to_parameter_of_type_1.code) {
          if (!(_.kind === 19 && ua(u) && Ms(u.parent))) return;
          const k = oc(u.parent.arguments, (O) => O === u);
          if (k < 0) return;
          const D = i.getResolvedSignature(u.parent);
          if (!(D && D.declaration && D.parameters[k])) return;
          const w = D.parameters[k].valueDeclaration;
          if (!(w && Ni(w) && Fe(w.name))) return;
          const A = rs(i.getUnmatchedProperties(
            i.getTypeAtLocation(u),
            i.getParameterType(D, k).getNonNullableType(),
            /*requireOptionalProperties*/
            !1,
            /*matchDiscriminantProperties*/
            !1
          ));
          return Ar(A) ? { kind: 3, token: w.name, identifier: w.name.text, properties: A, parentDeclaration: u } : void 0;
        }
        if (_.kind === 19 || d6(u) || gf(u)) {
          const k = (d6(u) || gf(u)) && u.expression ? u.expression : u;
          if (ua(k)) {
            const D = d6(u) ? i.getTypeFromTypeNode(u.type) : i.getContextualType(k) || i.getTypeAtLocation(k), w = rs(i.getUnmatchedProperties(
              i.getTypeAtLocation(u),
              D.getNonNullableType(),
              /*requireOptionalProperties*/
              !1,
              /*matchDiscriminantProperties*/
              !1
            ));
            return Ar(w) ? { kind: 3, token: u, identifier: void 0, properties: w, parentDeclaration: k, indentation: gf(k.parent) || DN(k.parent) ? 0 : void 0 } : void 0;
          }
        }
        if (!Ng(_)) return;
        if (Fe(_) && y0(u) && u.initializer && ua(u.initializer)) {
          const k = (o = i.getContextualType(_) || i.getTypeAtLocation(_)) == null ? void 0 : o.getNonNullableType(), D = rs(i.getUnmatchedProperties(
            i.getTypeAtLocation(u.initializer),
            k,
            /*requireOptionalProperties*/
            !1,
            /*matchDiscriminantProperties*/
            !1
          ));
          return Ar(D) ? { kind: 3, token: _, identifier: _.text, properties: D, parentDeclaration: u.initializer } : void 0;
        }
        if (Fe(_) && yu(_.parent)) {
          const k = ga(s.getCompilerOptions()), D = NHe(i, k, _.parent);
          return Ar(D) ? { kind: 4, token: _, attributes: D, parentDeclaration: _.parent } : void 0;
        }
        if (Fe(_)) {
          const k = (c = i.getContextualType(_)) == null ? void 0 : c.getNonNullableType();
          if (k && Cn(k) & 16) {
            const D = Xc(i.getSignaturesOfType(
              k,
              0
              /* Call */
            ));
            return D === void 0 ? void 0 : { kind: 5, token: _, signature: D, sourceFile: e, parentDeclaration: dCe(_) };
          }
          if (Ms(u) && u.expression === _)
            return { kind: 2, token: _, call: u, sourceFile: e, modifierFlags: 0, parentDeclaration: dCe(_) };
        }
        if (!kn(u)) return;
        const g = IU(i.getTypeAtLocation(u.expression)), m = g.symbol;
        if (!m || !m.declarations) return;
        if (Fe(_) && Ms(u.parent)) {
          const k = Dn(m.declarations, zc), D = k?.getSourceFile();
          if (k && D && !K6(s, D))
            return { kind: 2, token: _, call: u.parent, sourceFile: D, modifierFlags: 32, parentDeclaration: k };
          const w = Dn(m.declarations, xi);
          if (e.commonJsModuleIndicator) return;
          if (w && !K6(s, w))
            return { kind: 2, token: _, call: u.parent, sourceFile: w, modifierFlags: 32, parentDeclaration: w };
        }
        const h = Dn(m.declarations, Xn);
        if (!h && Di(_)) return;
        const S = h || Dn(m.declarations, (k) => Yl(k) || Yu(k));
        if (S && !K6(s, S.getSourceFile())) {
          const k = !Yu(S) && (g.target || g) !== i.getDeclaredTypeOfSymbol(m);
          if (k && (Di(_) || Yl(S))) return;
          const D = S.getSourceFile(), w = Yu(S) ? 0 : (k ? 256 : 0) | (oq(_.text) ? 2 : 0), A = $u(D), O = Mn(u.parent, Ms);
          return { kind: 0, token: _, call: O, modifierFlags: w, parentDeclaration: S, declSourceFile: D, isJSFile: A };
        }
        const T = Dn(m.declarations, Gb);
        if (T && !(g.flags & 1056) && !Di(_) && !K6(s, T.getSourceFile()))
          return { kind: 1, token: _, parentDeclaration: T };
      }
      function kHe(e, t) {
        return t.isJSFile ? GT(CHe(e, t)) : EHe(e, t);
      }
      function CHe(e, { parentDeclaration: t, declSourceFile: n, modifierFlags: i, token: s }) {
        if (Yl(t) || Yu(t))
          return;
        const o = nn.ChangeTracker.with(e, (_) => iCe(_, n, t, s, !!(i & 256)));
        if (o.length === 0)
          return;
        const c = i & 256 ? p.Initialize_static_property_0 : Di(s) ? p.Declare_a_private_field_named_0 : p.Initialize_property_0_in_the_constructor;
        return Rs(Ev, o, [c, s.text], Ev, p.Add_all_missing_members);
      }
      function iCe(e, t, n, i, s) {
        const o = i.text;
        if (s) {
          if (n.kind === 231)
            return;
          const c = n.name.getText(), _ = sCe(N.createIdentifier(c), o);
          e.insertNodeAfter(t, n, _);
        } else if (Di(i)) {
          const c = N.createPropertyDeclaration(
            /*modifiers*/
            void 0,
            o,
            /*questionOrExclamationToken*/
            void 0,
            /*type*/
            void 0,
            /*initializer*/
            void 0
          ), _ = cCe(n);
          _ ? e.insertNodeAfter(t, _, c) : e.insertMemberAtStart(t, n, c);
        } else {
          const c = jg(n);
          if (!c)
            return;
          const _ = sCe(N.createThis(), o);
          e.insertNodeAtConstructorEnd(t, c, _);
        }
      }
      function sCe(e, t) {
        return N.createExpressionStatement(N.createAssignment(N.createPropertyAccessExpression(e, t), hk()));
      }
      function EHe(e, { parentDeclaration: t, declSourceFile: n, modifierFlags: i, token: s }) {
        const o = s.text, c = i & 256, _ = aCe(e.program.getTypeChecker(), t, s), u = (m) => nn.ChangeTracker.with(e, (h) => oCe(h, n, t, o, _, m)), g = [Rs(Ev, u(
          i & 256
          /* Static */
        ), [c ? p.Declare_static_property_0 : p.Declare_property_0, o], Ev, p.Add_all_missing_members)];
        return c || Di(s) || (i & 2 && g.unshift(kd(Ev, u(
          2
          /* Private */
        ), [p.Declare_private_property_0, o])), g.push(DHe(e, n, t, s.text, _))), g;
      }
      function aCe(e, t, n) {
        let i;
        if (n.parent.parent.kind === 226) {
          const s = n.parent.parent, o = n.parent === s.left ? s.right : s.left, c = e.getWidenedType(e.getBaseTypeOfLiteralType(e.getTypeAtLocation(o)));
          i = e.typeToTypeNode(
            c,
            t,
            1,
            8
            /* AllowUnresolvedNames */
          );
        } else {
          const s = e.getContextualType(n.parent);
          i = s ? e.typeToTypeNode(
            s,
            /*enclosingDeclaration*/
            void 0,
            1,
            8
            /* AllowUnresolvedNames */
          ) : void 0;
        }
        return i || N.createKeywordTypeNode(
          133
          /* AnyKeyword */
        );
      }
      function oCe(e, t, n, i, s, o) {
        const c = o ? N.createNodeArray(N.createModifiersFromModifierFlags(o)) : void 0, _ = Xn(n) ? N.createPropertyDeclaration(
          c,
          i,
          /*questionOrExclamationToken*/
          void 0,
          s,
          /*initializer*/
          void 0
        ) : N.createPropertySignature(
          /*modifiers*/
          void 0,
          i,
          /*questionToken*/
          void 0,
          s
        ), u = cCe(n);
        u ? e.insertNodeAfter(t, u, _) : e.insertMemberAtStart(t, n, _);
      }
      function cCe(e) {
        let t;
        for (const n of e.members) {
          if (!is(n)) break;
          t = n;
        }
        return t;
      }
      function DHe(e, t, n, i, s) {
        const o = N.createKeywordTypeNode(
          154
          /* StringKeyword */
        ), c = N.createParameterDeclaration(
          /*modifiers*/
          void 0,
          /*dotDotDotToken*/
          void 0,
          "x",
          /*questionToken*/
          void 0,
          o,
          /*initializer*/
          void 0
        ), _ = N.createIndexSignature(
          /*modifiers*/
          void 0,
          [c],
          s
        ), u = nn.ChangeTracker.with(e, (g) => g.insertMemberAtStart(t, n, _));
        return kd(Ev, u, [p.Add_index_signature_for_property_0, i]);
      }
      function wHe(e, t) {
        const { parentDeclaration: n, declSourceFile: i, modifierFlags: s, token: o, call: c } = t;
        if (c === void 0)
          return;
        const _ = o.text, u = (m) => nn.ChangeTracker.with(e, (h) => lCe(e, h, c, o, m, n, i)), g = [Rs(Ev, u(
          s & 256
          /* Static */
        ), [s & 256 ? p.Declare_static_method_0 : p.Declare_method_0, _], Ev, p.Add_all_missing_members)];
        return s & 2 && g.unshift(kd(Ev, u(
          2
          /* Private */
        ), [p.Declare_private_method_0, _])), g;
      }
      function lCe(e, t, n, i, s, o, c) {
        const _ = p2(c, e.program, e.preferences, e.host), u = Xn(o) ? 174 : 173, g = Ble(u, e, _, n, i, s, o), m = AHe(o, n);
        m ? t.insertNodeAfter(c, m, g) : t.insertMemberAtStart(c, o, g), _.writeFixes(t);
      }
      function uCe(e, t, { token: n, parentDeclaration: i }) {
        const s = at(i.members, (u) => {
          const g = t.getTypeAtLocation(u);
          return !!(g && g.flags & 402653316);
        }), o = i.getSourceFile(), c = N.createEnumMember(n, s ? N.createStringLiteral(n.text) : void 0), _ = Po(i.members);
        _ ? e.insertNodeInListAfter(o, _, c, i.members) : e.insertMemberAtStart(o, i, c);
      }
      function _Ce(e, t, n) {
        const i = K_(t.sourceFile, t.preferences), s = p2(t.sourceFile, t.program, t.preferences, t.host), o = n.kind === 2 ? Ble(262, t, s, n.call, Pn(n.token), n.modifierFlags, n.parentDeclaration) : kH(
          262,
          t,
          i,
          n.signature,
          hL(p.Function_not_implemented.message, i),
          n.token,
          /*modifiers*/
          void 0,
          /*optional*/
          void 0,
          /*enclosingDeclaration*/
          void 0,
          s
        );
        o === void 0 && E.fail("fixMissingFunctionDeclaration codefix got unexpected error."), gf(n.parentDeclaration) ? e.insertNodeBefore(
          n.sourceFile,
          n.parentDeclaration,
          o,
          /*blankLineBetween*/
          !0
        ) : e.insertNodeAtEndOfScope(n.sourceFile, n.parentDeclaration, o), s.writeFixes(e);
      }
      function fCe(e, t, n) {
        const i = p2(t.sourceFile, t.program, t.preferences, t.host), s = K_(t.sourceFile, t.preferences), o = t.program.getTypeChecker(), c = n.parentDeclaration.attributes, _ = at(c.properties, Hx), u = fr(n.attributes, (h) => {
          const S = mH(t, o, i, s, o.getTypeOfSymbol(h), n.parentDeclaration), T = N.createIdentifier(h.name), k = N.createJsxAttribute(T, N.createJsxExpression(
            /*dotDotDotToken*/
            void 0,
            S
          ));
          return Wa(T, k), k;
        }), g = N.createJsxAttributes(_ ? [...u, ...c.properties] : [...c.properties, ...u]), m = { prefix: c.pos === c.end ? " " : void 0 };
        e.replaceNode(t.sourceFile, c, g, m), i.writeFixes(e);
      }
      function pCe(e, t, n) {
        const i = p2(t.sourceFile, t.program, t.preferences, t.host), s = K_(t.sourceFile, t.preferences), o = ga(t.program.getCompilerOptions()), c = t.program.getTypeChecker(), _ = fr(n.properties, (g) => {
          const m = mH(t, c, i, s, c.getTypeOfSymbol(g), n.parentDeclaration);
          return N.createPropertyAssignment(IHe(g, o, s, c), m);
        }), u = {
          leadingTriviaOption: nn.LeadingTriviaOption.Exclude,
          trailingTriviaOption: nn.TrailingTriviaOption.Exclude,
          indentation: n.indentation
        };
        e.replaceNode(t.sourceFile, n.parentDeclaration, N.createObjectLiteralExpression(
          [...n.parentDeclaration.properties, ..._],
          /*multiLine*/
          !0
        ), u), i.writeFixes(e);
      }
      function mH(e, t, n, i, s, o) {
        if (s.flags & 3)
          return hk();
        if (s.flags & 134217732)
          return N.createStringLiteral(
            "",
            /* isSingleQuote */
            i === 0
            /* Single */
          );
        if (s.flags & 8)
          return N.createNumericLiteral(0);
        if (s.flags & 64)
          return N.createBigIntLiteral("0n");
        if (s.flags & 16)
          return N.createFalse();
        if (s.flags & 1056) {
          const c = s.symbol.exports ? CP(s.symbol.exports.values()) : s.symbol, _ = s.symbol.parent && s.symbol.parent.flags & 256 ? s.symbol.parent : s.symbol, u = t.symbolToExpression(
            _,
            111551,
            /*enclosingDeclaration*/
            void 0,
            /*flags*/
            64
            /* UseFullyQualifiedType */
          );
          return c === void 0 || u === void 0 ? N.createNumericLiteral(0) : N.createPropertyAccessExpression(u, t.symbolToString(c));
        }
        if (s.flags & 256)
          return N.createNumericLiteral(s.value);
        if (s.flags & 2048)
          return N.createBigIntLiteral(s.value);
        if (s.flags & 128)
          return N.createStringLiteral(
            s.value,
            /* isSingleQuote */
            i === 0
            /* Single */
          );
        if (s.flags & 512)
          return s === t.getFalseType() || s === t.getFalseType(
            /*fresh*/
            !0
          ) ? N.createFalse() : N.createTrue();
        if (s.flags & 65536)
          return N.createNull();
        if (s.flags & 1048576)
          return Ic(s.types, (_) => mH(e, t, n, i, _, o)) ?? hk();
        if (t.isArrayLikeType(s))
          return N.createArrayLiteralExpression();
        if (PHe(s)) {
          const c = fr(t.getPropertiesOfType(s), (_) => {
            const u = mH(e, t, n, i, t.getTypeOfSymbol(_), o);
            return N.createPropertyAssignment(_.name, u);
          });
          return N.createObjectLiteralExpression(
            c,
            /*multiLine*/
            !0
          );
        }
        if (Cn(s) & 16) {
          if (Dn(s.symbol.declarations || Ue, z_(Ym, Xp, uc)) === void 0) return hk();
          const _ = t.getSignaturesOfType(
            s,
            0
            /* Call */
          );
          return _ === void 0 ? hk() : kH(
            218,
            e,
            i,
            _[0],
            hL(p.Function_not_implemented.message, i),
            /*name*/
            void 0,
            /*modifiers*/
            void 0,
            /*optional*/
            void 0,
            /*enclosingDeclaration*/
            o,
            n
          ) ?? hk();
        }
        if (Cn(s) & 1) {
          const c = Fh(s.symbol);
          if (c === void 0 || Rb(c)) return hk();
          const _ = jg(c);
          return _ && Ar(_.parameters) ? hk() : N.createNewExpression(
            N.createIdentifier(s.symbol.name),
            /*typeArguments*/
            void 0,
            /*argumentsArray*/
            void 0
          );
        }
        return hk();
      }
      function hk() {
        return N.createIdentifier("undefined");
      }
      function PHe(e) {
        return e.flags & 524288 && (Cn(e) & 128 || e.symbol && Mn(zm(e.symbol.declarations), Yu));
      }
      function NHe(e, t, n) {
        const i = e.getContextualType(n.attributes);
        if (i === void 0) return Ue;
        const s = i.getProperties();
        if (!Ar(s)) return Ue;
        const o = /* @__PURE__ */ new Set();
        for (const c of n.attributes.properties)
          if (um(c) && o.add(bD(c.name)), Hx(c)) {
            const _ = e.getTypeAtLocation(c.expression);
            for (const u of _.getProperties())
              o.add(u.escapedName);
          }
        return Tn(s, (c) => C_(
          c.name,
          t,
          1
          /* JSX */
        ) && !(c.flags & 16777216 || lc(c) & 48 || o.has(c.escapedName)));
      }
      function AHe(e, t) {
        if (Yu(e))
          return;
        const n = _r(t, (i) => uc(i) || Xo(i));
        return n && n.parent === e ? n : void 0;
      }
      function IHe(e, t, n, i) {
        if (Ig(e)) {
          const s = i.symbolToNode(
            e,
            111551,
            /*enclosingDeclaration*/
            void 0,
            /*flags*/
            void 0,
            1
            /* WriteComputedProps */
          );
          if (s && ia(s)) return s;
        }
        return tF(
          e.name,
          t,
          n === 0,
          /*stringNamed*/
          !1,
          /*isMethod*/
          !1
        );
      }
      function dCe(e) {
        if (_r(e, g6)) {
          const t = _r(e.parent, gf);
          if (t) return t;
        }
        return Er(e);
      }
      var ule = "addMissingNewOperator", mCe = [p.Value_of_type_0_is_not_callable_Did_you_mean_to_include_new.code];
      Ys({
        errorCodes: mCe,
        getCodeActions(e) {
          const { sourceFile: t, span: n } = e, i = nn.ChangeTracker.with(e, (s) => gCe(s, t, n));
          return [Rs(ule, i, p.Add_missing_new_operator_to_call, ule, p.Add_missing_new_operator_to_all_calls)];
        },
        fixIds: [ule],
        getAllCodeActions: (e) => Xa(e, mCe, (t, n) => gCe(t, e.sourceFile, n))
      });
      function gCe(e, t, n) {
        const i = Us(FHe(t, n), Ms), s = N.createNewExpression(i.expression, i.typeArguments, i.arguments);
        e.replaceNode(t, i, s);
      }
      function FHe(e, t) {
        let n = mi(e, t.start);
        const i = Ko(t);
        for (; n.end < i; )
          n = n.parent;
        return n;
      }
      var gH = "addMissingParam", hH = "addOptionalParam", hCe = [p.Expected_0_arguments_but_got_1.code];
      Ys({
        errorCodes: hCe,
        fixIds: [gH, hH],
        getCodeActions(e) {
          const t = yCe(e.sourceFile, e.program, e.span.start);
          if (t === void 0) return;
          const { name: n, declarations: i, newParameters: s, newOptionalParameters: o } = t, c = [];
          return Ar(s) && Dr(
            c,
            Rs(
              gH,
              nn.ChangeTracker.with(e, (_) => yH(_, e.program, e.preferences, e.host, i, s)),
              [Ar(s) > 1 ? p.Add_missing_parameters_to_0 : p.Add_missing_parameter_to_0, n],
              gH,
              p.Add_all_missing_parameters
            )
          ), Ar(o) && Dr(
            c,
            Rs(
              hH,
              nn.ChangeTracker.with(e, (_) => yH(_, e.program, e.preferences, e.host, i, o)),
              [Ar(o) > 1 ? p.Add_optional_parameters_to_0 : p.Add_optional_parameter_to_0, n],
              hH,
              p.Add_all_optional_parameters
            )
          ), c;
        },
        getAllCodeActions: (e) => Xa(e, hCe, (t, n) => {
          const i = yCe(e.sourceFile, e.program, n.start);
          if (i) {
            const { declarations: s, newParameters: o, newOptionalParameters: c } = i;
            e.fixId === gH && yH(t, e.program, e.preferences, e.host, s, o), e.fixId === hH && yH(t, e.program, e.preferences, e.host, s, c);
          }
        })
      });
      function yCe(e, t, n) {
        const i = mi(e, n), s = _r(i, Ms);
        if (s === void 0 || Ar(s.arguments) === 0)
          return;
        const o = t.getTypeChecker(), c = o.getTypeAtLocation(s.expression), _ = Tn(c.symbol.declarations, vCe);
        if (_ === void 0)
          return;
        const u = Po(_);
        if (u === void 0 || u.body === void 0 || K6(t, u.getSourceFile()))
          return;
        const g = OHe(u);
        if (g === void 0)
          return;
        const m = [], h = [], S = Ar(u.parameters), T = Ar(s.arguments);
        if (S > T)
          return;
        const k = [u, ...MHe(u, _)];
        for (let D = 0, w = 0, A = 0; D < T; D++) {
          const O = s.arguments[D], F = ko(O) ? fJ(O) : O, j = o.getWidenedType(o.getBaseTypeOfLiteralType(o.getTypeAtLocation(O))), z = w < S ? u.parameters[w] : void 0;
          if (z && o.isTypeAssignableTo(j, o.getTypeAtLocation(z))) {
            w++;
            continue;
          }
          const V = F && Fe(F) ? F.text : `p${A++}`, G = LHe(o, j, u);
          Dr(m, {
            pos: D,
            declaration: SCe(
              V,
              G,
              /*questionToken*/
              void 0
            )
          }), !jHe(k, w) && Dr(h, {
            pos: D,
            declaration: SCe(V, G, N.createToken(
              58
              /* QuestionToken */
            ))
          });
        }
        return {
          newParameters: m,
          newOptionalParameters: h,
          name: _o(g),
          declarations: k
        };
      }
      function OHe(e) {
        const t = ls(e);
        if (t)
          return t;
        if (Zn(e.parent) && Fe(e.parent.name) || is(e.parent) || Ni(e.parent))
          return e.parent.name;
      }
      function LHe(e, t, n) {
        return e.typeToTypeNode(
          e.getWidenedType(t),
          n,
          1,
          8
          /* AllowUnresolvedNames */
        ) ?? N.createKeywordTypeNode(
          159
          /* UnknownKeyword */
        );
      }
      function yH(e, t, n, i, s, o) {
        const c = ga(t.getCompilerOptions());
        ar(s, (_) => {
          const u = Er(_), g = p2(u, t, n, i);
          Ar(_.parameters) ? e.replaceNodeRangeWithNodes(
            u,
            xa(_.parameters),
            pa(_.parameters),
            bCe(g, c, _, o),
            {
              joiner: ", ",
              indentation: 0,
              leadingTriviaOption: nn.LeadingTriviaOption.IncludeAll,
              trailingTriviaOption: nn.TrailingTriviaOption.Include
            }
          ) : ar(bCe(g, c, _, o), (m, h) => {
            Ar(_.parameters) === 0 && h === 0 ? e.insertNodeAt(u, _.parameters.end, m) : e.insertNodeAtEndOfList(u, _.parameters, m);
          }), g.writeFixes(e);
        });
      }
      function vCe(e) {
        switch (e.kind) {
          case 262:
          case 218:
          case 174:
          case 219:
            return !0;
          default:
            return !1;
        }
      }
      function bCe(e, t, n, i) {
        const s = fr(n.parameters, (o) => N.createParameterDeclaration(
          o.modifiers,
          o.dotDotDotToken,
          o.name,
          o.questionToken,
          o.type,
          o.initializer
        ));
        for (const { pos: o, declaration: c } of i) {
          const _ = o > 0 ? s[o - 1] : void 0;
          s.splice(
            o,
            0,
            N.updateParameterDeclaration(
              c,
              c.modifiers,
              c.dotDotDotToken,
              c.name,
              _ && _.questionToken ? N.createToken(
                58
                /* QuestionToken */
              ) : c.questionToken,
              BHe(e, c.type, t),
              c.initializer
            )
          );
        }
        return s;
      }
      function MHe(e, t) {
        const n = [];
        for (const i of t)
          if (RHe(i)) {
            if (Ar(i.parameters) === Ar(e.parameters)) {
              n.push(i);
              continue;
            }
            if (Ar(i.parameters) > Ar(e.parameters))
              return [];
          }
        return n;
      }
      function RHe(e) {
        return vCe(e) && e.body === void 0;
      }
      function SCe(e, t, n) {
        return N.createParameterDeclaration(
          /*modifiers*/
          void 0,
          /*dotDotDotToken*/
          void 0,
          e,
          n,
          t,
          /*initializer*/
          void 0
        );
      }
      function jHe(e, t) {
        return Ar(e) && at(e, (n) => t < Ar(n.parameters) && !!n.parameters[t] && n.parameters[t].questionToken === void 0);
      }
      function BHe(e, t, n) {
        const i = d2(t, n);
        return i ? (ZS(e, i.symbols), i.typeNode) : t;
      }
      var JHe = "fixCannotFindModule", _le = "installTypesPackage", TCe = p.Cannot_find_module_0_or_its_corresponding_type_declarations.code, xCe = p.This_JSX_tag_requires_the_module_path_0_to_exist_but_none_could_be_found_Make_sure_you_have_types_for_the_appropriate_package_installed.code, kCe = [
        TCe,
        p.Could_not_find_a_declaration_file_for_module_0_1_implicitly_has_an_any_type.code,
        xCe
      ];
      Ys({
        errorCodes: kCe,
        getCodeActions: function(t) {
          const { host: n, sourceFile: i, span: { start: s }, errorCode: o } = t, c = o === xCe ? oN(t.program.getCompilerOptions(), i) : ECe(i, s);
          if (c === void 0) return;
          const _ = DCe(c, n, o);
          return _ === void 0 ? [] : [Rs(
            JHe,
            /*changes*/
            [],
            [p.Install_0, _],
            _le,
            p.Install_all_missing_types_packages,
            CCe(i.fileName, _)
          )];
        },
        fixIds: [_le],
        getAllCodeActions: (e) => Xa(e, kCe, (t, n, i) => {
          const s = ECe(n.file, n.start);
          if (s !== void 0)
            switch (e.fixId) {
              case _le: {
                const o = DCe(s, e.host, n.code);
                o && i.push(CCe(n.file.fileName, o));
                break;
              }
              default:
                E.fail(`Bad fixId: ${e.fixId}`);
            }
        })
      });
      function CCe(e, t) {
        return { type: "install package", file: e, packageName: t };
      }
      function ECe(e, t) {
        const n = Mn(mi(e, t), la);
        if (!n) return;
        const i = n.text, { packageName: s } = cO(i);
        return Cl(s) ? void 0 : s;
      }
      function DCe(e, t, n) {
        var i;
        return n === TCe ? c6.has(e) ? "@types/node" : void 0 : (i = t.isKnownTypesPackageName) != null && i.call(t, e) ? uO(e) : void 0;
      }
      var wCe = [
        p.Non_abstract_class_0_does_not_implement_inherited_abstract_member_1_from_class_2.code,
        p.Non_abstract_class_0_is_missing_implementations_for_the_following_members_of_1_Colon_2.code,
        p.Non_abstract_class_0_is_missing_implementations_for_the_following_members_of_1_Colon_2_and_3_more.code,
        p.Non_abstract_class_expression_does_not_implement_inherited_abstract_member_0_from_class_1.code,
        p.Non_abstract_class_expression_is_missing_implementations_for_the_following_members_of_0_Colon_1.code,
        p.Non_abstract_class_expression_is_missing_implementations_for_the_following_members_of_0_Colon_1_and_2_more.code
      ], fle = "fixClassDoesntImplementInheritedAbstractMember";
      Ys({
        errorCodes: wCe,
        getCodeActions: function(t) {
          const { sourceFile: n, span: i } = t, s = nn.ChangeTracker.with(t, (o) => NCe(PCe(n, i.start), n, t, o, t.preferences));
          return s.length === 0 ? void 0 : [Rs(fle, s, p.Implement_inherited_abstract_class, fle, p.Implement_all_inherited_abstract_classes)];
        },
        fixIds: [fle],
        getAllCodeActions: function(t) {
          const n = /* @__PURE__ */ new Set();
          return Xa(t, wCe, (i, s) => {
            const o = PCe(s.file, s.start);
            Pp(n, Oa(o)) && NCe(o, t.sourceFile, t, i, t.preferences);
          });
        }
      });
      function PCe(e, t) {
        const n = mi(e, t);
        return Us(n.parent, Xn);
      }
      function NCe(e, t, n, i, s) {
        const o = Zd(e), c = n.program.getTypeChecker(), _ = c.getTypeAtLocation(o), u = c.getPropertiesOfType(_).filter(zHe), g = p2(t, n.program, s, n.host);
        jle(e, u, t, n, s, g, (m) => i.insertMemberAtStart(t, e, m)), g.writeFixes(i);
      }
      function zHe(e) {
        const t = S0(xa(e.getDeclarations()));
        return !(t & 2) && !!(t & 64);
      }
      var ple = "classSuperMustPrecedeThisAccess", ACe = [p.super_must_be_called_before_accessing_this_in_the_constructor_of_a_derived_class.code];
      Ys({
        errorCodes: ACe,
        getCodeActions(e) {
          const { sourceFile: t, span: n } = e, i = FCe(t, n.start);
          if (!i) return;
          const { constructor: s, superCall: o } = i, c = nn.ChangeTracker.with(e, (_) => ICe(_, t, s, o));
          return [Rs(ple, c, p.Make_super_call_the_first_statement_in_the_constructor, ple, p.Make_all_super_calls_the_first_statement_in_their_constructor)];
        },
        fixIds: [ple],
        getAllCodeActions(e) {
          const { sourceFile: t } = e, n = /* @__PURE__ */ new Set();
          return Xa(e, ACe, (i, s) => {
            const o = FCe(s.file, s.start);
            if (!o) return;
            const { constructor: c, superCall: _ } = o;
            Pp(n, Oa(c.parent)) && ICe(i, t, c, _);
          });
        }
      });
      function ICe(e, t, n, i) {
        e.insertNodeAtConstructorStart(t, n, i), e.delete(t, i);
      }
      function FCe(e, t) {
        const n = mi(e, t);
        if (n.kind !== 110) return;
        const i = Df(n), s = OCe(i.body);
        return s && !s.expression.arguments.some((o) => kn(o) && o.expression === n) ? { constructor: i, superCall: s } : void 0;
      }
      function OCe(e) {
        return Pl(e) && dS(e.expression) ? e : Ts(e) ? void 0 : Ss(e, OCe);
      }
      var dle = "constructorForDerivedNeedSuperCall", LCe = [p.Constructors_for_derived_classes_must_contain_a_super_call.code];
      Ys({
        errorCodes: LCe,
        getCodeActions(e) {
          const { sourceFile: t, span: n } = e, i = MCe(t, n.start), s = nn.ChangeTracker.with(e, (o) => RCe(o, t, i));
          return [Rs(dle, s, p.Add_missing_super_call, dle, p.Add_all_missing_super_calls)];
        },
        fixIds: [dle],
        getAllCodeActions: (e) => Xa(e, LCe, (t, n) => RCe(t, e.sourceFile, MCe(n.file, n.start)))
      });
      function MCe(e, t) {
        const n = mi(e, t);
        return E.assert(Xo(n.parent), "token should be at the constructor declaration"), n.parent;
      }
      function RCe(e, t, n) {
        const i = N.createExpressionStatement(N.createCallExpression(
          N.createSuper(),
          /*typeArguments*/
          void 0,
          /*argumentsArray*/
          Ue
        ));
        e.insertNodeAtConstructorStart(t, n, i);
      }
      var jCe = "fixEnableJsxFlag", BCe = [p.Cannot_use_JSX_unless_the_jsx_flag_is_provided.code];
      Ys({
        errorCodes: BCe,
        getCodeActions: function(t) {
          const { configFile: n } = t.program.getCompilerOptions();
          if (n === void 0)
            return;
          const i = nn.ChangeTracker.with(t, (s) => JCe(s, n));
          return [
            kd(jCe, i, p.Enable_the_jsx_flag_in_your_configuration_file)
          ];
        },
        fixIds: [jCe],
        getAllCodeActions: (e) => Xa(e, BCe, (t) => {
          const { configFile: n } = e.program.getCompilerOptions();
          n !== void 0 && JCe(t, n);
        })
      });
      function JCe(e, t) {
        Ule(e, t, "jsx", N.createStringLiteral("react"));
      }
      var mle = "fixNaNEquality", zCe = [
        p.This_condition_will_always_return_0.code
      ];
      Ys({
        errorCodes: zCe,
        getCodeActions(e) {
          const { sourceFile: t, span: n, program: i } = e, s = WCe(i, t, n);
          if (s === void 0) return;
          const { suggestion: o, expression: c, arg: _ } = s, u = nn.ChangeTracker.with(e, (g) => VCe(g, t, _, c));
          return [Rs(mle, u, [p.Use_0, o], mle, p.Use_Number_isNaN_in_all_conditions)];
        },
        fixIds: [mle],
        getAllCodeActions: (e) => Xa(e, zCe, (t, n) => {
          const i = WCe(e.program, n.file, Gl(n.start, n.length));
          i && VCe(t, n.file, i.arg, i.expression);
        })
      });
      function WCe(e, t, n) {
        const i = Dn(e.getSemanticDiagnostics(t), (c) => c.start === n.start && c.length === n.length);
        if (i === void 0 || i.relatedInformation === void 0) return;
        const s = Dn(i.relatedInformation, (c) => c.code === p.Did_you_mean_0.code);
        if (s === void 0 || s.file === void 0 || s.start === void 0 || s.length === void 0) return;
        const o = Hle(s.file, Gl(s.start, s.length));
        if (o !== void 0 && lt(o) && _n(o.parent))
          return { suggestion: WHe(s.messageText), expression: o.parent, arg: o };
      }
      function VCe(e, t, n, i) {
        const s = N.createCallExpression(
          N.createPropertyAccessExpression(N.createIdentifier("Number"), N.createIdentifier("isNaN")),
          /*typeArguments*/
          void 0,
          [n]
        ), o = i.operatorToken.kind;
        e.replaceNode(
          t,
          i,
          o === 38 || o === 36 ? N.createPrefixUnaryExpression(54, s) : s
        );
      }
      function WHe(e) {
        const [, t] = fm(e, `
`, 0).match(/'(.*)'/) || [];
        return t;
      }
      Ys({
        errorCodes: [
          p.Top_level_await_expressions_are_only_allowed_when_the_module_option_is_set_to_es2022_esnext_system_node16_node18_nodenext_or_preserve_and_the_target_option_is_set_to_es2017_or_higher.code,
          p.Top_level_await_using_statements_are_only_allowed_when_the_module_option_is_set_to_es2022_esnext_system_node16_node18_nodenext_or_preserve_and_the_target_option_is_set_to_es2017_or_higher.code,
          p.Top_level_for_await_loops_are_only_allowed_when_the_module_option_is_set_to_es2022_esnext_system_node16_node18_nodenext_or_preserve_and_the_target_option_is_set_to_es2017_or_higher.code
        ],
        getCodeActions: function(t) {
          const n = t.program.getCompilerOptions(), { configFile: i } = n;
          if (i === void 0)
            return;
          const s = [], o = Mu(n);
          if (o >= 5 && o < 99) {
            const g = nn.ChangeTracker.with(t, (m) => {
              Ule(m, i, "module", N.createStringLiteral("esnext"));
            });
            s.push(kd("fixModuleOption", g, [p.Set_the_module_option_in_your_configuration_file_to_0, "esnext"]));
          }
          const _ = ga(n);
          if (_ < 4 || _ > 99) {
            const g = nn.ChangeTracker.with(t, (m) => {
              if (!j4(i)) return;
              const S = [["target", N.createStringLiteral("es2017")]];
              o === 1 && S.push(["module", N.createStringLiteral("commonjs")]), Vle(m, i, S);
            });
            s.push(kd("fixTargetOption", g, [p.Set_the_target_option_in_your_configuration_file_to_0, "es2017"]));
          }
          return s.length ? s : void 0;
        }
      });
      var gle = "fixPropertyAssignment", UCe = [
        p.Did_you_mean_to_use_a_Colon_An_can_only_follow_a_property_name_when_the_containing_object_literal_is_part_of_a_destructuring_pattern.code
      ];
      Ys({
        errorCodes: UCe,
        fixIds: [gle],
        getCodeActions(e) {
          const { sourceFile: t, span: n } = e, i = HCe(t, n.start), s = nn.ChangeTracker.with(e, (o) => qCe(o, e.sourceFile, i));
          return [Rs(gle, s, [p.Change_0_to_1, "=", ":"], gle, [p.Switch_each_misused_0_to_1, "=", ":"])];
        },
        getAllCodeActions: (e) => Xa(e, UCe, (t, n) => qCe(t, n.file, HCe(n.file, n.start)))
      });
      function qCe(e, t, n) {
        e.replaceNode(t, n, N.createPropertyAssignment(n.name, n.objectAssignmentInitializer));
      }
      function HCe(e, t) {
        return Us(mi(e, t).parent, _u);
      }
      var hle = "extendsInterfaceBecomesImplements", GCe = [p.Cannot_extend_an_interface_0_Did_you_mean_implements.code];
      Ys({
        errorCodes: GCe,
        getCodeActions(e) {
          const { sourceFile: t } = e, n = $Ce(t, e.span.start);
          if (!n) return;
          const { extendsToken: i, heritageClauses: s } = n, o = nn.ChangeTracker.with(e, (c) => XCe(c, t, i, s));
          return [Rs(hle, o, p.Change_extends_to_implements, hle, p.Change_all_extended_interfaces_to_implements)];
        },
        fixIds: [hle],
        getAllCodeActions: (e) => Xa(e, GCe, (t, n) => {
          const i = $Ce(n.file, n.start);
          i && XCe(t, n.file, i.extendsToken, i.heritageClauses);
        })
      });
      function $Ce(e, t) {
        const n = mi(e, t), i = Jl(n).heritageClauses, s = i[0].getFirstToken();
        return s.kind === 96 ? { extendsToken: s, heritageClauses: i } : void 0;
      }
      function XCe(e, t, n, i) {
        if (e.replaceNode(t, n, N.createToken(
          119
          /* ImplementsKeyword */
        )), i.length === 2 && i[0].token === 96 && i[1].token === 119) {
          const s = i[1].getFirstToken(), o = s.getFullStart();
          e.replaceRange(t, { pos: o, end: o }, N.createToken(
            28
            /* CommaToken */
          ));
          const c = t.text;
          let _ = s.end;
          for (; _ < c.length && Hd(c.charCodeAt(_)); )
            _++;
          e.deleteRange(t, { pos: s.getStart(), end: _ });
        }
      }
      var yle = "forgottenThisPropertyAccess", QCe = p.Cannot_find_name_0_Did_you_mean_the_static_member_1_0.code, YCe = [
        p.Cannot_find_name_0_Did_you_mean_the_instance_member_this_0.code,
        p.Private_identifiers_are_only_allowed_in_class_bodies_and_may_only_be_used_as_part_of_a_class_member_declaration_property_access_or_on_the_left_hand_side_of_an_in_expression.code,
        QCe
      ];
      Ys({
        errorCodes: YCe,
        getCodeActions(e) {
          const { sourceFile: t } = e, n = ZCe(t, e.span.start, e.errorCode);
          if (!n)
            return;
          const i = nn.ChangeTracker.with(e, (s) => KCe(s, t, n));
          return [Rs(yle, i, [p.Add_0_to_unresolved_variable, n.className || "this"], yle, p.Add_qualifier_to_all_unresolved_variables_matching_a_member_name)];
        },
        fixIds: [yle],
        getAllCodeActions: (e) => Xa(e, YCe, (t, n) => {
          const i = ZCe(n.file, n.start, n.code);
          i && KCe(t, e.sourceFile, i);
        })
      });
      function ZCe(e, t, n) {
        const i = mi(e, t);
        if (Fe(i) || Di(i))
          return { node: i, className: n === QCe ? Jl(i).name.text : void 0 };
      }
      function KCe(e, t, { node: n, className: i }) {
        tf(n), e.replaceNode(t, n, N.createPropertyAccessExpression(i ? N.createIdentifier(i) : N.createThis(), n));
      }
      var vle = "fixInvalidJsxCharacters_expression", vH = "fixInvalidJsxCharacters_htmlEntity", e6e = [
        p.Unexpected_token_Did_you_mean_or_gt.code,
        p.Unexpected_token_Did_you_mean_or_rbrace.code
      ];
      Ys({
        errorCodes: e6e,
        fixIds: [vle, vH],
        getCodeActions(e) {
          const { sourceFile: t, preferences: n, span: i } = e, s = nn.ChangeTracker.with(e, (c) => ble(
            c,
            n,
            t,
            i.start,
            /*useHtmlEntity*/
            !1
          )), o = nn.ChangeTracker.with(e, (c) => ble(
            c,
            n,
            t,
            i.start,
            /*useHtmlEntity*/
            !0
          ));
          return [
            Rs(vle, s, p.Wrap_invalid_character_in_an_expression_container, vle, p.Wrap_all_invalid_characters_in_an_expression_container),
            Rs(vH, o, p.Convert_invalid_character_to_its_html_entity_code, vH, p.Convert_all_invalid_characters_to_HTML_entity_code)
          ];
        },
        getAllCodeActions(e) {
          return Xa(e, e6e, (t, n) => ble(t, e.preferences, n.file, n.start, e.fixId === vH));
        }
      });
      var t6e = {
        ">": "&gt;",
        "}": "&rbrace;"
      };
      function VHe(e) {
        return ao(t6e, e);
      }
      function ble(e, t, n, i, s) {
        const o = n.getText()[i];
        if (!VHe(o))
          return;
        const c = s ? t6e[o] : `{${xw(n, t, o)}}`;
        e.replaceRangeWithText(n, { pos: i, end: i + 1 }, c);
      }
      var bH = "deleteUnmatchedParameter", r6e = "renameUnmatchedParameter", n6e = [
        p.JSDoc_param_tag_has_name_0_but_there_is_no_parameter_with_that_name.code
      ];
      Ys({
        fixIds: [bH, r6e],
        errorCodes: n6e,
        getCodeActions: function(t) {
          const { sourceFile: n, span: i } = t, s = [], o = i6e(n, i.start);
          if (o)
            return Dr(s, UHe(t, o)), Dr(s, qHe(t, o)), s;
        },
        getAllCodeActions: function(t) {
          const n = /* @__PURE__ */ new Map();
          return dk(nn.ChangeTracker.with(t, (i) => {
            mk(t, n6e, ({ file: s, start: o }) => {
              const c = i6e(s, o);
              c && n.set(c.signature, Dr(n.get(c.signature), c.jsDocParameterTag));
            }), n.forEach((s, o) => {
              if (t.fixId === bH) {
                const c = new Set(s);
                i.filterJSDocTags(o.getSourceFile(), o, (_) => !c.has(_));
              }
            });
          }));
        }
      });
      function UHe(e, { name: t, jsDocHost: n, jsDocParameterTag: i }) {
        const s = nn.ChangeTracker.with(e, (o) => o.filterJSDocTags(e.sourceFile, n, (c) => c !== i));
        return Rs(
          bH,
          s,
          [p.Delete_unused_param_tag_0, t.getText(e.sourceFile)],
          bH,
          p.Delete_all_unused_param_tags
        );
      }
      function qHe(e, { name: t, jsDocHost: n, signature: i, jsDocParameterTag: s }) {
        if (!Ar(i.parameters)) return;
        const o = e.sourceFile, c = U1(i), _ = /* @__PURE__ */ new Set();
        for (const h of c)
          Af(h) && Fe(h.name) && _.add(h.name.escapedText);
        const u = Ic(i.parameters, (h) => Fe(h.name) && !_.has(h.name.escapedText) ? h.name.getText(o) : void 0);
        if (u === void 0) return;
        const g = N.updateJSDocParameterTag(
          s,
          s.tagName,
          N.createIdentifier(u),
          s.isBracketed,
          s.typeExpression,
          s.isNameFirst,
          s.comment
        ), m = nn.ChangeTracker.with(e, (h) => h.replaceJSDocComment(o, n, fr(c, (S) => S === s ? g : S)));
        return kd(r6e, m, [p.Rename_param_tag_name_0_to_1, t.getText(o), u]);
      }
      function i6e(e, t) {
        const n = mi(e, t);
        if (n.parent && Af(n.parent) && Fe(n.parent.name)) {
          const i = n.parent, s = Nb(i), o = X1(i);
          if (s && o)
            return { jsDocHost: s, signature: o, name: n.parent.name, jsDocParameterTag: i };
        }
      }
      var Sle = "fixUnreferenceableDecoratorMetadata", HHe = [p.A_type_referenced_in_a_decorated_signature_must_be_imported_with_import_type_or_a_namespace_import_when_isolatedModules_and_emitDecoratorMetadata_are_enabled.code];
      Ys({
        errorCodes: HHe,
        getCodeActions: (e) => {
          const t = GHe(e.sourceFile, e.program, e.span.start);
          if (!t) return;
          const n = nn.ChangeTracker.with(e, (o) => t.kind === 276 && XHe(o, e.sourceFile, t, e.program)), i = nn.ChangeTracker.with(e, (o) => $He(o, e.sourceFile, t, e.program));
          let s;
          return n.length && (s = Dr(s, kd(Sle, n, p.Convert_named_imports_to_namespace_import))), i.length && (s = Dr(s, kd(Sle, i, p.Use_import_type))), s;
        },
        fixIds: [Sle]
      });
      function GHe(e, t, n) {
        const i = Mn(mi(e, n), Fe);
        if (!i || i.parent.kind !== 183) return;
        const o = t.getTypeChecker().getSymbolAtLocation(i);
        return Dn(o?.declarations || Ue, z_(Qp, Bu, bl));
      }
      function $He(e, t, n, i) {
        if (n.kind === 271) {
          e.insertModifierBefore(t, 156, n.name);
          return;
        }
        const s = n.kind === 273 ? n : n.parent.parent;
        if (s.name && s.namedBindings)
          return;
        const o = i.getTypeChecker();
        SK(s, (_) => {
          if ($l(_.symbol, o).flags & 111551) return !0;
        }) || e.insertModifierBefore(t, 156, s);
      }
      function XHe(e, t, n, i) {
        fk.doChangeNamedToNamespaceOrDefault(t, i, e, n.parent);
      }
      var gL = "unusedIdentifier", Tle = "unusedIdentifier_prefix", xle = "unusedIdentifier_delete", SH = "unusedIdentifier_deleteImports", kle = "unusedIdentifier_infer", s6e = [
        p._0_is_declared_but_its_value_is_never_read.code,
        p._0_is_declared_but_never_used.code,
        p.Property_0_is_declared_but_its_value_is_never_read.code,
        p.All_imports_in_import_declaration_are_unused.code,
        p.All_destructured_elements_are_unused.code,
        p.All_variables_are_unused.code,
        p.All_type_parameters_are_unused.code
      ];
      Ys({
        errorCodes: s6e,
        getCodeActions(e) {
          const { errorCode: t, sourceFile: n, program: i, cancellationToken: s } = e, o = i.getTypeChecker(), c = i.getSourceFiles(), _ = mi(n, e.span.start);
          if (Ip(_))
            return [Fw(nn.ChangeTracker.with(e, (h) => h.delete(n, _)), p.Remove_template_tag)];
          if (_.kind === 30) {
            const h = nn.ChangeTracker.with(e, (S) => o6e(S, n, _));
            return [Fw(h, p.Remove_type_parameters)];
          }
          const u = c6e(_);
          if (u) {
            const h = nn.ChangeTracker.with(e, (S) => S.delete(n, u));
            return [Rs(gL, h, [p.Remove_import_from_0, aee(u)], SH, p.Delete_all_unused_imports)];
          } else if (Cle(_)) {
            const h = nn.ChangeTracker.with(e, (S) => TH(
              n,
              _,
              S,
              o,
              c,
              i,
              s,
              /*isFixAll*/
              !1
            ));
            if (h.length)
              return [Rs(gL, h, [p.Remove_unused_declaration_for_Colon_0, _.getText(n)], SH, p.Delete_all_unused_imports)];
          }
          if (Nf(_.parent) || N0(_.parent)) {
            if (Ni(_.parent.parent)) {
              const h = _.parent.elements, S = [
                h.length > 1 ? p.Remove_unused_declarations_for_Colon_0 : p.Remove_unused_declaration_for_Colon_0,
                fr(h, (T) => T.getText(n)).join(", ")
              ];
              return [
                Fw(nn.ChangeTracker.with(e, (T) => QHe(T, n, _.parent)), S)
              ];
            }
            return [
              Fw(nn.ChangeTracker.with(e, (h) => YHe(e, h, n, _.parent)), p.Remove_unused_destructuring_declaration)
            ];
          }
          if (l6e(n, _))
            return [
              Fw(nn.ChangeTracker.with(e, (h) => u6e(h, n, _.parent)), p.Remove_variable_statement)
            ];
          if (Fe(_) && Tc(_.parent))
            return [Fw(nn.ChangeTracker.with(e, (h) => d6e(h, n, _.parent)), [p.Remove_unused_declaration_for_Colon_0, _.getText(n)])];
          const g = [];
          if (_.kind === 140) {
            const h = nn.ChangeTracker.with(e, (T) => a6e(T, n, _)), S = Us(_.parent, NS).typeParameter.name.text;
            g.push(Rs(gL, h, [p.Replace_infer_0_with_unknown, S], kle, p.Replace_all_unused_infer_with_unknown));
          } else {
            const h = nn.ChangeTracker.with(e, (S) => TH(
              n,
              _,
              S,
              o,
              c,
              i,
              s,
              /*isFixAll*/
              !1
            ));
            if (h.length) {
              const S = ia(_.parent) ? _.parent : _;
              g.push(Fw(h, [p.Remove_unused_declaration_for_Colon_0, S.getText(n)]));
            }
          }
          const m = nn.ChangeTracker.with(e, (h) => _6e(h, t, n, _));
          return m.length && g.push(Rs(gL, m, [p.Prefix_0_with_an_underscore, _.getText(n)], Tle, p.Prefix_all_unused_declarations_with_where_possible)), g;
        },
        fixIds: [Tle, xle, SH, kle],
        getAllCodeActions: (e) => {
          const { sourceFile: t, program: n, cancellationToken: i } = e, s = n.getTypeChecker(), o = n.getSourceFiles();
          return Xa(e, s6e, (c, _) => {
            const u = mi(t, _.start);
            switch (e.fixId) {
              case Tle:
                _6e(c, _.code, t, u);
                break;
              case SH: {
                const g = c6e(u);
                g ? c.delete(t, g) : Cle(u) && TH(
                  t,
                  u,
                  c,
                  s,
                  o,
                  n,
                  i,
                  /*isFixAll*/
                  !0
                );
                break;
              }
              case xle: {
                if (u.kind === 140 || Cle(u))
                  break;
                if (Ip(u))
                  c.delete(t, u);
                else if (u.kind === 30)
                  o6e(c, t, u);
                else if (Nf(u.parent)) {
                  if (u.parent.parent.initializer)
                    break;
                  (!Ni(u.parent.parent) || f6e(u.parent.parent, s, o)) && c.delete(t, u.parent.parent);
                } else {
                  if (N0(u.parent.parent) && u.parent.parent.parent.initializer)
                    break;
                  l6e(t, u) ? u6e(c, t, u.parent) : Fe(u) && Tc(u.parent) ? d6e(c, t, u.parent) : TH(
                    t,
                    u,
                    c,
                    s,
                    o,
                    n,
                    i,
                    /*isFixAll*/
                    !0
                  );
                }
                break;
              }
              case kle:
                u.kind === 140 && a6e(c, t, u);
                break;
              default:
                E.fail(JSON.stringify(e.fixId));
            }
          });
        }
      });
      function a6e(e, t, n) {
        e.replaceNode(t, n.parent, N.createKeywordTypeNode(
          159
          /* UnknownKeyword */
        ));
      }
      function Fw(e, t) {
        return Rs(gL, e, t, xle, p.Delete_all_unused_declarations);
      }
      function o6e(e, t, n) {
        e.delete(t, E.checkDefined(Us(n.parent, uB).typeParameters, "The type parameter to delete should exist"));
      }
      function Cle(e) {
        return e.kind === 102 || e.kind === 80 && (e.parent.kind === 276 || e.parent.kind === 273);
      }
      function c6e(e) {
        return e.kind === 102 ? Mn(e.parent, Uo) : void 0;
      }
      function l6e(e, t) {
        return zl(t.parent) && xa(t.parent.getChildren(e)) === t;
      }
      function u6e(e, t, n) {
        e.delete(t, n.parent.kind === 243 ? n.parent : n);
      }
      function QHe(e, t, n) {
        ar(n.elements, (i) => e.delete(t, i));
      }
      function YHe(e, t, n, { parent: i }) {
        if (Zn(i) && i.initializer && Sb(i.initializer))
          if (zl(i.parent) && Ar(i.parent.declarations) > 1) {
            const s = i.parent.parent, o = s.getStart(n), c = s.end;
            t.delete(n, i), t.insertNodeAt(n, c, i.initializer, {
              prefix: Jh(e.host, e.formatContext.options) + n.text.slice(N9(n.text, o - 1), o),
              suffix: WA(n) ? ";" : ""
            });
          } else
            t.replaceNode(n, i.parent, i.initializer);
        else
          t.delete(n, i);
      }
      function _6e(e, t, n, i) {
        t !== p.Property_0_is_declared_but_its_value_is_never_read.code && (i.kind === 140 && (i = Us(i.parent, NS).typeParameter.name), Fe(i) && ZHe(i) && (e.replaceNode(n, i, N.createIdentifier(`_${i.text}`)), Ni(i.parent) && wC(i.parent).forEach((s) => {
          Fe(s.name) && e.replaceNode(n, s.name, N.createIdentifier(`_${s.name.text}`));
        })));
      }
      function ZHe(e) {
        switch (e.parent.kind) {
          case 169:
          case 168:
            return !0;
          case 260:
            switch (e.parent.parent.parent.kind) {
              case 250:
              case 249:
                return !0;
            }
        }
        return !1;
      }
      function TH(e, t, n, i, s, o, c, _) {
        KHe(t, n, e, i, s, o, c, _), Fe(t) && Eo.Core.eachSymbolReferenceInFile(t, i, e, (u) => {
          kn(u.parent) && u.parent.name === u && (u = u.parent), !_ && nGe(u) && n.delete(e, u.parent.parent);
        });
      }
      function KHe(e, t, n, i, s, o, c, _) {
        const { parent: u } = e;
        if (Ni(u))
          eGe(t, n, u, i, s, o, c, _);
        else if (!(_ && Fe(e) && Eo.Core.isSymbolReferencedInFile(e, i, n))) {
          const g = Qp(u) ? e : ia(u) ? u.parent : u;
          E.assert(g !== n, "should not delete whole source file"), t.delete(n, g);
        }
      }
      function eGe(e, t, n, i, s, o, c, _ = !1) {
        if (tGe(i, t, n, s, o, c, _))
          if (n.modifiers && n.modifiers.length > 0 && (!Fe(n.name) || Eo.Core.isSymbolReferencedInFile(n.name, i, t)))
            for (const u of n.modifiers)
              Ks(u) && e.deleteModifier(t, u);
          else !n.initializer && f6e(n, i, s) && e.delete(t, n);
      }
      function f6e(e, t, n) {
        const i = e.parent.parameters.indexOf(e);
        return !Eo.Core.someSignatureUsage(e.parent, n, t, (s, o) => !o || o.arguments.length > i);
      }
      function tGe(e, t, n, i, s, o, c) {
        const { parent: _ } = n;
        switch (_.kind) {
          case 174:
          case 176:
            const u = _.parameters.indexOf(n), g = uc(_) ? _.name : _, m = Eo.Core.getReferencedSymbolsForNode(_.pos, g, s, i, o);
            if (m) {
              for (const h of m)
                for (const S of h.references)
                  if (S.kind === Eo.EntryKind.Node) {
                    const T = wD(S.node) && Ms(S.node.parent) && S.node.parent.arguments.length > u, k = kn(S.node.parent) && wD(S.node.parent.expression) && Ms(S.node.parent.parent) && S.node.parent.parent.arguments.length > u, D = (uc(S.node.parent) || Xp(S.node.parent)) && S.node.parent !== n.parent && S.node.parent.parameters.length > u;
                    if (T || k || D) return !1;
                  }
            }
            return !0;
          case 262:
            return _.name && rGe(e, t, _.name) ? p6e(_, n, c) : !0;
          case 218:
          case 219:
            return p6e(_, n, c);
          case 178:
            return !1;
          case 177:
            return !0;
          default:
            return E.failBadSyntaxKind(_);
        }
      }
      function rGe(e, t, n) {
        return !!Eo.Core.eachSymbolReferenceInFile(n, e, t, (i) => Fe(i) && Ms(i.parent) && i.parent.arguments.includes(i));
      }
      function p6e(e, t, n) {
        const i = e.parameters, s = i.indexOf(t);
        return E.assert(s !== -1, "The parameter should already be in the list"), n ? i.slice(s + 1).every((o) => Fe(o.name) && !o.symbol.isReferenced) : s === i.length - 1;
      }
      function nGe(e) {
        return (_n(e.parent) && e.parent.left === e || (az(e.parent) || sv(e.parent)) && e.parent.operand === e) && Pl(e.parent.parent);
      }
      function d6e(e, t, n) {
        const i = n.symbol.declarations;
        if (i)
          for (const s of i)
            e.delete(t, s);
      }
      var Ele = "fixUnreachableCode", m6e = [p.Unreachable_code_detected.code];
      Ys({
        errorCodes: m6e,
        getCodeActions(e) {
          if (e.program.getSyntacticDiagnostics(e.sourceFile, e.cancellationToken).length) return;
          const n = nn.ChangeTracker.with(e, (i) => g6e(i, e.sourceFile, e.span.start, e.span.length, e.errorCode));
          return [Rs(Ele, n, p.Remove_unreachable_code, Ele, p.Remove_all_unreachable_code)];
        },
        fixIds: [Ele],
        getAllCodeActions: (e) => Xa(e, m6e, (t, n) => g6e(t, n.file, n.start, n.length, n.code))
      });
      function g6e(e, t, n, i, s) {
        const o = mi(t, n), c = _r(o, yi);
        if (c.getStart(t) !== o.getStart(t)) {
          const u = JSON.stringify({
            statementKind: E.formatSyntaxKind(c.kind),
            tokenKind: E.formatSyntaxKind(o.kind),
            errorCode: s,
            start: n,
            length: i
          });
          E.fail("Token and statement should start at the same point. " + u);
        }
        const _ = (Cs(c.parent) ? c.parent : c).parent;
        if (!Cs(c.parent) || c === xa(c.parent.statements))
          switch (_.kind) {
            case 245:
              if (_.elseStatement) {
                if (Cs(c.parent))
                  break;
                e.replaceNode(t, c, N.createBlock(Ue));
                return;
              }
            // falls through
            case 247:
            case 248:
              e.delete(t, _);
              return;
          }
        if (Cs(c.parent)) {
          const u = n + i, g = E.checkDefined(iGe(PJ(c.parent.statements, c), (m) => m.pos < u), "Some statement should be last");
          e.deleteNodeRange(t, c, g);
        } else
          e.delete(t, c);
      }
      function iGe(e, t) {
        let n;
        for (const i of e) {
          if (!t(i)) break;
          n = i;
        }
        return n;
      }
      var Dle = "fixUnusedLabel", h6e = [p.Unused_label.code];
      Ys({
        errorCodes: h6e,
        getCodeActions(e) {
          const t = nn.ChangeTracker.with(e, (n) => y6e(n, e.sourceFile, e.span.start));
          return [Rs(Dle, t, p.Remove_unused_label, Dle, p.Remove_all_unused_labels)];
        },
        fixIds: [Dle],
        getAllCodeActions: (e) => Xa(e, h6e, (t, n) => y6e(t, n.file, n.start))
      });
      function y6e(e, t, n) {
        const i = mi(t, n), s = Us(i.parent, i1), o = i.getStart(t), c = s.statement.getStart(t), _ = rp(o, c, t) ? c : ca(
          t.text,
          Za(s, 59, t).end,
          /*stopAfterLineBreak*/
          !0
        );
        e.deleteRange(t, { pos: o, end: _ });
      }
      var v6e = "fixJSDocTypes_plain", wle = "fixJSDocTypes_nullable", b6e = [
        p.JSDoc_types_can_only_be_used_inside_documentation_comments.code,
        p._0_at_the_end_of_a_type_is_not_valid_TypeScript_syntax_Did_you_mean_to_write_1.code,
        p._0_at_the_start_of_a_type_is_not_valid_TypeScript_syntax_Did_you_mean_to_write_1.code
      ];
      Ys({
        errorCodes: b6e,
        getCodeActions(e) {
          const { sourceFile: t } = e, n = e.program.getTypeChecker(), i = T6e(t, e.span.start, n);
          if (!i) return;
          const { typeNode: s, type: o } = i, c = s.getText(t), _ = [u(o, v6e, p.Change_all_jsdoc_style_types_to_TypeScript)];
          return s.kind === 314 && _.push(u(o, wle, p.Change_all_jsdoc_style_types_to_TypeScript_and_add_undefined_to_nullable_types)), _;
          function u(g, m, h) {
            const S = nn.ChangeTracker.with(e, (T) => S6e(T, t, s, g, n));
            return Rs("jdocTypes", S, [p.Change_0_to_1, c, n.typeToString(g)], m, h);
          }
        },
        fixIds: [v6e, wle],
        getAllCodeActions(e) {
          const { fixId: t, program: n, sourceFile: i } = e, s = n.getTypeChecker();
          return Xa(e, b6e, (o, c) => {
            const _ = T6e(c.file, c.start, s);
            if (!_) return;
            const { typeNode: u, type: g } = _, m = u.kind === 314 && t === wle ? s.getNullableType(
              g,
              32768
              /* Undefined */
            ) : g;
            S6e(o, i, u, m, s);
          });
        }
      });
      function S6e(e, t, n, i, s) {
        e.replaceNode(t, n, s.typeToTypeNode(
          i,
          /*enclosingDeclaration*/
          n,
          /*flags*/
          void 0
        ));
      }
      function T6e(e, t, n) {
        const i = _r(mi(e, t), sGe), s = i && i.type;
        return s && { typeNode: s, type: aGe(n, s) };
      }
      function sGe(e) {
        switch (e.kind) {
          case 234:
          case 179:
          case 180:
          case 262:
          case 177:
          case 181:
          case 200:
          case 174:
          case 173:
          case 169:
          case 172:
          case 171:
          case 178:
          case 265:
          case 216:
          case 260:
            return !0;
          default:
            return !1;
        }
      }
      function aGe(e, t) {
        if (y6(t)) {
          const n = e.getTypeFromTypeNode(t.type);
          return n === e.getNeverType() || n === e.getVoidType() ? n : e.getUnionType(
            Dr([n, e.getUndefinedType()], t.postfix ? void 0 : e.getNullType())
          );
        }
        return e.getTypeFromTypeNode(t);
      }
      var Ple = "fixMissingCallParentheses", x6e = [
        p.This_condition_will_always_return_true_since_this_function_is_always_defined_Did_you_mean_to_call_it_instead.code
      ];
      Ys({
        errorCodes: x6e,
        fixIds: [Ple],
        getCodeActions(e) {
          const { sourceFile: t, span: n } = e, i = C6e(t, n.start);
          if (!i) return;
          const s = nn.ChangeTracker.with(e, (o) => k6e(o, e.sourceFile, i));
          return [Rs(Ple, s, p.Add_missing_call_parentheses, Ple, p.Add_all_missing_call_parentheses)];
        },
        getAllCodeActions: (e) => Xa(e, x6e, (t, n) => {
          const i = C6e(n.file, n.start);
          i && k6e(t, n.file, i);
        })
      });
      function k6e(e, t, n) {
        e.replaceNodeWithText(t, n, `${n.text}()`);
      }
      function C6e(e, t) {
        const n = mi(e, t);
        if (kn(n.parent)) {
          let i = n.parent;
          for (; kn(i.parent); )
            i = i.parent;
          return i.name;
        }
        if (Fe(n))
          return n;
      }
      var E6e = "fixMissingTypeAnnotationOnExports", Nle = "add-annotation", Ale = "add-type-assertion", oGe = "extract-expression", D6e = [
        p.Function_must_have_an_explicit_return_type_annotation_with_isolatedDeclarations.code,
        p.Method_must_have_an_explicit_return_type_annotation_with_isolatedDeclarations.code,
        p.At_least_one_accessor_must_have_an_explicit_type_annotation_with_isolatedDeclarations.code,
        p.Variable_must_have_an_explicit_type_annotation_with_isolatedDeclarations.code,
        p.Parameter_must_have_an_explicit_type_annotation_with_isolatedDeclarations.code,
        p.Property_must_have_an_explicit_type_annotation_with_isolatedDeclarations.code,
        p.Expression_type_can_t_be_inferred_with_isolatedDeclarations.code,
        p.Binding_elements_can_t_be_exported_directly_with_isolatedDeclarations.code,
        p.Computed_property_names_on_class_or_object_literals_cannot_be_inferred_with_isolatedDeclarations.code,
        p.Computed_properties_must_be_number_or_string_literals_variables_or_dotted_expressions_with_isolatedDeclarations.code,
        p.Enum_member_initializers_must_be_computable_without_references_to_external_symbols_with_isolatedDeclarations.code,
        p.Extends_clause_can_t_contain_an_expression_with_isolatedDeclarations.code,
        p.Objects_that_contain_shorthand_properties_can_t_be_inferred_with_isolatedDeclarations.code,
        p.Objects_that_contain_spread_assignments_can_t_be_inferred_with_isolatedDeclarations.code,
        p.Arrays_with_spread_elements_can_t_inferred_with_isolatedDeclarations.code,
        p.Default_exports_can_t_be_inferred_with_isolatedDeclarations.code,
        p.Only_const_arrays_can_be_inferred_with_isolatedDeclarations.code,
        p.Assigning_properties_to_functions_without_declaring_them_is_not_supported_with_isolatedDeclarations_Add_an_explicit_declaration_for_the_properties_assigned_to_this_function.code,
        p.Declaration_emit_for_this_parameter_requires_implicitly_adding_undefined_to_its_type_This_is_not_supported_with_isolatedDeclarations.code,
        p.Type_containing_private_name_0_can_t_be_used_with_isolatedDeclarations.code,
        p.Add_satisfies_and_a_type_assertion_to_this_expression_satisfies_T_as_T_to_make_the_type_explicit.code
      ], cGe = /* @__PURE__ */ new Set([
        177,
        174,
        172,
        262,
        218,
        219,
        260,
        169,
        277,
        263,
        206,
        207
        /* ArrayBindingPattern */
      ]), w6e = 531469, P6e = 1;
      Ys({
        errorCodes: D6e,
        fixIds: [E6e],
        getCodeActions(e) {
          const t = [];
          return Ow(Nle, t, e, 0, (n) => n.addTypeAnnotation(e.span)), Ow(Nle, t, e, 1, (n) => n.addTypeAnnotation(e.span)), Ow(Nle, t, e, 2, (n) => n.addTypeAnnotation(e.span)), Ow(Ale, t, e, 0, (n) => n.addInlineAssertion(e.span)), Ow(Ale, t, e, 1, (n) => n.addInlineAssertion(e.span)), Ow(Ale, t, e, 2, (n) => n.addInlineAssertion(e.span)), Ow(oGe, t, e, 0, (n) => n.extractAsVariable(e.span)), t;
        },
        getAllCodeActions: (e) => {
          const t = N6e(e, 0, (n) => {
            mk(e, D6e, (i) => {
              n.addTypeAnnotation(i);
            });
          });
          return dk(t.textChanges);
        }
      });
      function Ow(e, t, n, i, s) {
        const o = N6e(n, i, s);
        o.result && o.textChanges.length && t.push(Rs(
          e,
          o.textChanges,
          o.result,
          E6e,
          p.Add_all_missing_type_annotations
        ));
      }
      function N6e(e, t, n) {
        const i = { typeNode: void 0, mutatedTarget: !1 }, s = nn.ChangeTracker.fromContext(e), o = e.sourceFile, c = e.program, _ = c.getTypeChecker(), u = ga(c.getCompilerOptions()), g = p2(e.sourceFile, e.program, e.preferences, e.host), m = /* @__PURE__ */ new Set(), h = /* @__PURE__ */ new Set(), S = u1({
          preserveSourceNewlines: !1
        }), T = n({ addTypeAnnotation: k, addInlineAssertion: F, extractAsVariable: j });
        return g.writeFixes(s), {
          result: T,
          textChanges: s.getChanges()
        };
        function k(ve) {
          e.cancellationToken.throwIfCancellationRequested();
          const se = mi(o, ve.start), Pe = z(se);
          if (Pe)
            return Tc(Pe) ? D(Pe) : V(Pe);
          const Ee = nt(se);
          if (Ee)
            return V(Ee);
        }
        function D(ve) {
          var se;
          if (h?.has(ve)) return;
          h?.add(ve);
          const Pe = _.getTypeAtLocation(ve), Ee = _.getPropertiesOfType(Pe);
          if (!ve.name || Ee.length === 0) return;
          const Ce = [];
          for (const Bt of Ee)
            C_(Bt.name, ga(c.getCompilerOptions())) && (Bt.valueDeclaration && Zn(Bt.valueDeclaration) || Ce.push(N.createVariableStatement(
              [N.createModifier(
                95
                /* ExportKeyword */
              )],
              N.createVariableDeclarationList(
                [N.createVariableDeclaration(
                  Bt.name,
                  /*exclamationToken*/
                  void 0,
                  re(_.getTypeOfSymbol(Bt), ve),
                  /*initializer*/
                  void 0
                )]
              )
            )));
          if (Ce.length === 0) return;
          const ze = [];
          (se = ve.modifiers) != null && se.some(
            (Bt) => Bt.kind === 95
            /* ExportKeyword */
          ) && ze.push(N.createModifier(
            95
            /* ExportKeyword */
          )), ze.push(N.createModifier(
            138
            /* DeclareKeyword */
          ));
          const St = N.createModuleDeclaration(
            ze,
            ve.name,
            N.createModuleBlock(Ce),
            /*flags*/
            101441696
            /* ContextFlags */
          );
          return s.insertNodeAfter(o, ve, St), [p.Annotate_types_of_properties_expando_function_in_a_namespace];
        }
        function w(ve) {
          return !to(ve) && !Ms(ve) && !ua(ve) && !Ql(ve);
        }
        function A(ve, se) {
          return w(ve) && (ve = N.createParenthesizedExpression(ve)), N.createAsExpression(ve, se);
        }
        function O(ve, se) {
          return w(ve) && (ve = N.createParenthesizedExpression(ve)), N.createAsExpression(N.createSatisfiesExpression(ve, qa(se)), se);
        }
        function F(ve) {
          e.cancellationToken.throwIfCancellationRequested();
          const se = mi(o, ve.start);
          if (z(se)) return;
          const Ee = oe(se, ve);
          if (!Ee || bS(Ee) || bS(Ee.parent)) return;
          const Ce = lt(Ee), ze = _u(Ee);
          if (!ze && Dl(Ee) || _r(Ee, Ps) || _r(Ee, A0) || Ce && (_r(Ee, Q_) || _r(Ee, si)) || op(Ee))
            return;
          const St = _r(Ee, Zn), Bt = St && _.getTypeAtLocation(St);
          if (Bt && Bt.flags & 8192 || !(Ce || ze)) return;
          const { typeNode: tr, mutatedTarget: Fr } = ie(Ee, Bt);
          if (!(!tr || Fr))
            return ze ? s.insertNodeAt(
              o,
              Ee.end,
              A(
                qa(Ee.name),
                tr
              ),
              {
                prefix: ": "
              }
            ) : Ce ? s.replaceNode(
              o,
              Ee,
              O(
                qa(Ee),
                tr
              )
            ) : E.assertNever(Ee), [p.Add_satisfies_and_an_inline_type_assertion_with_0, Xe(tr)];
        }
        function j(ve) {
          e.cancellationToken.throwIfCancellationRequested();
          const se = mi(o, ve.start), Pe = oe(se, ve);
          if (!Pe || bS(Pe) || bS(Pe.parent) || !lt(Pe)) return;
          if (Ql(Pe))
            return s.replaceNode(
              o,
              Pe,
              A(Pe, N.createTypeReferenceNode("const"))
            ), [p.Mark_array_literal_as_const];
          const Ce = _r(Pe, tl);
          if (Ce) {
            if (Ce === Pe.parent && to(Pe)) return;
            const ze = N.createUniqueName(
              Ioe(Pe, o, _, o),
              16
              /* Optimistic */
            );
            let St = Pe, Bt = Pe;
            if (op(St) && (St = Gp(St.parent), Me(St.parent) ? Bt = St = St.parent : Bt = A(
              St,
              N.createTypeReferenceNode("const")
            )), to(St)) return;
            const tr = N.createVariableStatement(
              /*modifiers*/
              void 0,
              N.createVariableDeclarationList(
                [
                  N.createVariableDeclaration(
                    ze,
                    /*exclamationToken*/
                    void 0,
                    /*type*/
                    void 0,
                    Bt
                  )
                ],
                2
                /* Const */
              )
            ), Fr = _r(Pe, yi);
            return s.insertNodeBefore(o, Fr, tr), s.replaceNode(
              o,
              St,
              N.createAsExpression(
                N.cloneNode(ze),
                N.createTypeQueryNode(
                  N.cloneNode(ze)
                )
              )
            ), [p.Extract_to_variable_and_replace_with_0_as_typeof_0, Xe(ze)];
          }
        }
        function z(ve) {
          const se = _r(ve, (Pe) => yi(Pe) ? "quit" : Ix(Pe));
          if (se && Ix(se)) {
            let Pe = se;
            if (_n(Pe) && (Pe = Pe.left, !Ix(Pe)))
              return;
            const Ee = _.getTypeAtLocation(Pe.expression);
            if (!Ee) return;
            const Ce = _.getPropertiesOfType(Ee);
            if (at(Ce, (ze) => ze.valueDeclaration === se || ze.valueDeclaration === se.parent)) {
              const ze = Ee.symbol.valueDeclaration;
              if (ze) {
                if (Ky(ze) && Zn(ze.parent))
                  return ze.parent;
                if (Tc(ze))
                  return ze;
              }
            }
          }
        }
        function V(ve) {
          if (!m?.has(ve))
            switch (m?.add(ve), ve.kind) {
              case 169:
              case 172:
              case 260:
                return ue(ve);
              case 219:
              case 218:
              case 262:
              case 174:
              case 177:
                return G(ve, o);
              case 277:
                return W(ve);
              case 263:
                return pe(ve);
              case 206:
              case 207:
                return K(ve);
              default:
                throw new Error(`Cannot find a fix for the given node ${ve.kind}`);
            }
        }
        function G(ve, se) {
          if (ve.type)
            return;
          const { typeNode: Pe } = ie(ve);
          if (Pe)
            return s.tryInsertTypeAnnotation(
              se,
              ve,
              Pe
            ), [p.Add_return_type_0, Xe(Pe)];
        }
        function W(ve) {
          if (ve.isExportEquals)
            return;
          const { typeNode: se } = ie(ve.expression);
          if (!se) return;
          const Pe = N.createUniqueName("_default");
          return s.replaceNodeWithNodes(o, ve, [
            N.createVariableStatement(
              /*modifiers*/
              void 0,
              N.createVariableDeclarationList(
                [N.createVariableDeclaration(
                  Pe,
                  /*exclamationToken*/
                  void 0,
                  se,
                  ve.expression
                )],
                2
                /* Const */
              )
            ),
            N.updateExportAssignment(ve, ve?.modifiers, Pe)
          ]), [
            p.Extract_default_export_to_variable
          ];
        }
        function pe(ve) {
          var se, Pe;
          const Ee = (se = ve.heritageClauses) == null ? void 0 : se.find(
            (it) => it.token === 96
            /* ExtendsKeyword */
          ), Ce = Ee?.types[0];
          if (!Ce)
            return;
          const { typeNode: ze } = ie(Ce.expression);
          if (!ze)
            return;
          const St = N.createUniqueName(
            ve.name ? ve.name.text + "Base" : "Anonymous",
            16
            /* Optimistic */
          ), Bt = N.createVariableStatement(
            /*modifiers*/
            void 0,
            N.createVariableDeclarationList(
              [N.createVariableDeclaration(
                St,
                /*exclamationToken*/
                void 0,
                ze,
                Ce.expression
              )],
              2
              /* Const */
            )
          );
          s.insertNodeBefore(o, ve, Bt);
          const tr = Iy(o.text, Ce.end), Fr = ((Pe = tr?.[tr.length - 1]) == null ? void 0 : Pe.end) ?? Ce.end;
          return s.replaceRange(
            o,
            {
              pos: Ce.getFullStart(),
              end: Fr
            },
            St,
            {
              prefix: " "
            }
          ), [p.Extract_base_class_to_variable];
        }
        function K(ve) {
          var se;
          const Pe = ve.parent, Ee = ve.parent.parent.parent;
          if (!Pe.initializer) return;
          let Ce;
          const ze = [];
          if (Fe(Pe.initializer))
            Ce = { expression: { kind: 3, identifier: Pe.initializer } };
          else {
            const tr = N.createUniqueName(
              "dest",
              16
              /* Optimistic */
            );
            Ce = { expression: { kind: 3, identifier: tr } }, ze.push(N.createVariableStatement(
              /*modifiers*/
              void 0,
              N.createVariableDeclarationList(
                [N.createVariableDeclaration(
                  tr,
                  /*exclamationToken*/
                  void 0,
                  /*type*/
                  void 0,
                  Pe.initializer
                )],
                2
                /* Const */
              )
            ));
          }
          const St = [];
          N0(ve) ? U(ve, St, Ce) : ee(ve, St, Ce);
          const Bt = /* @__PURE__ */ new Map();
          for (const tr of St) {
            if (tr.element.propertyName && ia(tr.element.propertyName)) {
              const it = tr.element.propertyName.expression, Wt = N.getGeneratedNameForNode(it), Wr = N.createVariableDeclaration(
                Wt,
                /*exclamationToken*/
                void 0,
                /*type*/
                void 0,
                it
              ), ai = N.createVariableDeclarationList(
                [Wr],
                2
                /* Const */
              ), zi = N.createVariableStatement(
                /*modifiers*/
                void 0,
                ai
              );
              ze.push(zi), Bt.set(it, Wt);
            }
            const Fr = tr.element.name;
            if (N0(Fr))
              U(Fr, St, tr);
            else if (Nf(Fr))
              ee(Fr, St, tr);
            else {
              const { typeNode: it } = ie(Fr);
              let Wt = te(tr, Bt);
              if (tr.element.initializer) {
                const ai = (se = tr.element) == null ? void 0 : se.propertyName, zi = N.createUniqueName(
                  ai && Fe(ai) ? ai.text : "temp",
                  16
                  /* Optimistic */
                );
                ze.push(N.createVariableStatement(
                  /*modifiers*/
                  void 0,
                  N.createVariableDeclarationList(
                    [N.createVariableDeclaration(
                      zi,
                      /*exclamationToken*/
                      void 0,
                      /*type*/
                      void 0,
                      Wt
                    )],
                    2
                    /* Const */
                  )
                )), Wt = N.createConditionalExpression(
                  N.createBinaryExpression(
                    zi,
                    N.createToken(
                      37
                      /* EqualsEqualsEqualsToken */
                    ),
                    N.createIdentifier("undefined")
                  ),
                  N.createToken(
                    58
                    /* QuestionToken */
                  ),
                  tr.element.initializer,
                  N.createToken(
                    59
                    /* ColonToken */
                  ),
                  Wt
                );
              }
              const Wr = qn(
                Ee,
                32
                /* Export */
              ) ? [N.createToken(
                95
                /* ExportKeyword */
              )] : void 0;
              ze.push(N.createVariableStatement(
                Wr,
                N.createVariableDeclarationList(
                  [N.createVariableDeclaration(
                    Fr,
                    /*exclamationToken*/
                    void 0,
                    it,
                    Wt
                  )],
                  2
                  /* Const */
                )
              ));
            }
          }
          return Ee.declarationList.declarations.length > 1 && ze.push(N.updateVariableStatement(
            Ee,
            Ee.modifiers,
            N.updateVariableDeclarationList(
              Ee.declarationList,
              Ee.declarationList.declarations.filter((tr) => tr !== ve.parent)
            )
          )), s.replaceNodeWithNodes(o, Ee, ze), [
            p.Extract_binding_expressions_to_variable
          ];
        }
        function U(ve, se, Pe) {
          for (let Ee = 0; Ee < ve.elements.length; ++Ee) {
            const Ce = ve.elements[Ee];
            vl(Ce) || se.push({
              element: Ce,
              parent: Pe,
              expression: { kind: 2, arrayIndex: Ee }
            });
          }
        }
        function ee(ve, se, Pe) {
          for (const Ee of ve.elements) {
            let Ce;
            if (Ee.propertyName)
              if (ia(Ee.propertyName)) {
                se.push({
                  element: Ee,
                  parent: Pe,
                  expression: { kind: 1, computed: Ee.propertyName.expression }
                });
                continue;
              } else
                Ce = Ee.propertyName.text;
            else
              Ce = Ee.name.text;
            se.push({
              element: Ee,
              parent: Pe,
              expression: { kind: 0, text: Ce }
            });
          }
        }
        function te(ve, se) {
          const Pe = [ve];
          for (; ve.parent; )
            ve = ve.parent, Pe.push(ve);
          let Ee = Pe[Pe.length - 1].expression.identifier;
          for (let Ce = Pe.length - 2; Ce >= 0; --Ce) {
            const ze = Pe[Ce].expression;
            ze.kind === 0 ? Ee = N.createPropertyAccessChain(
              Ee,
              /*questionDotToken*/
              void 0,
              N.createIdentifier(ze.text)
            ) : ze.kind === 1 ? Ee = N.createElementAccessExpression(
              Ee,
              se.get(ze.computed)
            ) : ze.kind === 2 && (Ee = N.createElementAccessExpression(
              Ee,
              ze.arrayIndex
            ));
          }
          return Ee;
        }
        function ie(ve, se) {
          if (t === 1)
            return De(ve);
          let Pe;
          if (bS(ve)) {
            const ze = _.getSignatureFromDeclaration(ve);
            if (ze) {
              const St = _.getTypePredicateOfSignature(ze);
              if (St)
                return St.type ? {
                  typeNode: xe(St, _r(ve, Dl) ?? o, Ce(St.type)),
                  mutatedTarget: !1
                } : i;
              Pe = _.getReturnTypeOfSignature(ze);
            }
          } else
            Pe = _.getTypeAtLocation(ve);
          if (!Pe)
            return i;
          if (t === 2) {
            se && (Pe = se);
            const ze = _.getWidenedLiteralType(Pe);
            if (_.isTypeAssignableTo(ze, Pe))
              return i;
            Pe = ze;
          }
          const Ee = _r(ve, Dl) ?? o;
          return Ni(ve) && _.requiresAddingImplicitUndefined(ve, Ee) && (Pe = _.getUnionType(
            [_.getUndefinedType(), Pe],
            0
            /* None */
          )), {
            typeNode: re(Pe, Ee, Ce(Pe)),
            mutatedTarget: !1
          };
          function Ce(ze) {
            return (Zn(ve) || is(ve) && qn(
              ve,
              264
              /* Readonly */
            )) && ze.flags & 8192 ? 1048576 : 0;
          }
        }
        function fe(ve) {
          return N.createTypeQueryNode(qa(ve));
        }
        function me(ve, se = "temp") {
          const Pe = !!_r(ve, Me);
          return Pe ? he(
            ve,
            se,
            Pe,
            (Ee) => Ee.elements,
            op,
            N.createSpreadElement,
            (Ee) => N.createArrayLiteralExpression(
              Ee,
              /*multiLine*/
              !0
            ),
            (Ee) => N.createTupleTypeNode(Ee.map(N.createRestTypeNode))
          ) : i;
        }
        function q(ve, se = "temp") {
          const Pe = !!_r(ve, Me);
          return he(
            ve,
            se,
            Pe,
            (Ee) => Ee.properties,
            Gg,
            N.createSpreadAssignment,
            (Ee) => N.createObjectLiteralExpression(
              Ee,
              /*multiLine*/
              !0
            ),
            N.createIntersectionTypeNode
          );
        }
        function he(ve, se, Pe, Ee, Ce, ze, St, Bt) {
          const tr = [], Fr = [];
          let it;
          const Wt = _r(ve, yi);
          for (const zi of Ee(ve))
            Ce(zi) ? (ai(), to(zi.expression) ? (tr.push(fe(zi.expression)), Fr.push(zi)) : Wr(zi.expression)) : (it ?? (it = [])).push(zi);
          if (Fr.length === 0)
            return i;
          return ai(), s.replaceNode(o, ve, St(Fr)), {
            typeNode: Bt(tr),
            mutatedTarget: !0
          };
          function Wr(zi) {
            const Pt = N.createUniqueName(
              se + "_Part" + (Fr.length + 1),
              16
              /* Optimistic */
            ), Fn = Pe ? N.createAsExpression(
              zi,
              N.createTypeReferenceNode("const")
            ) : zi, ii = N.createVariableStatement(
              /*modifiers*/
              void 0,
              N.createVariableDeclarationList(
                [
                  N.createVariableDeclaration(
                    Pt,
                    /*exclamationToken*/
                    void 0,
                    /*type*/
                    void 0,
                    Fn
                  )
                ],
                2
                /* Const */
              )
            );
            s.insertNodeBefore(o, Wt, ii), tr.push(fe(Pt)), Fr.push(ze(Pt));
          }
          function ai() {
            it && (Wr(St(
              it
            )), it = void 0);
          }
        }
        function Me(ve) {
          return Tb(ve) && Up(ve.type);
        }
        function De(ve) {
          if (Ni(ve))
            return i;
          if (_u(ve))
            return {
              typeNode: fe(ve.name),
              mutatedTarget: !1
            };
          if (to(ve))
            return {
              typeNode: fe(ve),
              mutatedTarget: !1
            };
          if (Me(ve))
            return De(ve.expression);
          if (Ql(ve)) {
            const se = _r(ve, Zn), Pe = se && Fe(se.name) ? se.name.text : void 0;
            return me(ve, Pe);
          }
          if (ua(ve)) {
            const se = _r(ve, Zn), Pe = se && Fe(se.name) ? se.name.text : void 0;
            return q(ve, Pe);
          }
          if (Zn(ve) && ve.initializer)
            return De(ve.initializer);
          if (FS(ve)) {
            const { typeNode: se, mutatedTarget: Pe } = De(ve.whenTrue);
            if (!se) return i;
            const { typeNode: Ee, mutatedTarget: Ce } = De(ve.whenFalse);
            return Ee ? {
              typeNode: N.createUnionTypeNode([se, Ee]),
              mutatedTarget: Pe || Ce
            } : i;
          }
          return i;
        }
        function re(ve, se, Pe = 0) {
          let Ee = !1;
          const Ce = Z6e(_, ve, se, w6e | Pe, P6e, {
            moduleResolverHost: c,
            trackSymbol() {
              return !0;
            },
            reportTruncationError() {
              Ee = !0;
            }
          });
          if (!Ce)
            return;
          const ze = Jle(Ce, g, u);
          return Ee ? N.createKeywordTypeNode(
            133
            /* AnyKeyword */
          ) : ze;
        }
        function xe(ve, se, Pe = 0) {
          let Ee = !1;
          const Ce = K6e(_, g, ve, se, u, w6e | Pe, P6e, {
            moduleResolverHost: c,
            trackSymbol() {
              return !0;
            },
            reportTruncationError() {
              Ee = !0;
            }
          });
          return Ee ? N.createKeywordTypeNode(
            133
            /* AnyKeyword */
          ) : Ce;
        }
        function ue(ve) {
          const { typeNode: se } = ie(ve);
          if (se)
            return ve.type ? s.replaceNode(Er(ve), ve.type, se) : s.tryInsertTypeAnnotation(Er(ve), ve, se), [p.Add_annotation_of_type_0, Xe(se)];
        }
        function Xe(ve) {
          an(
            ve,
            1
            /* SingleLine */
          );
          const se = S.printNode(4, ve, o);
          return se.length > I4 ? se.substring(0, I4 - 3) + "..." : (an(
            ve,
            0
            /* None */
          ), se);
        }
        function nt(ve) {
          return _r(ve, (se) => cGe.has(se.kind) && (!Nf(se) && !N0(se) || Zn(se.parent)));
        }
        function oe(ve, se) {
          for (; ve && ve.end < se.start + se.length; )
            ve = ve.parent;
          for (; ve.parent.pos === ve.pos && ve.parent.end === ve.end; )
            ve = ve.parent;
          return Fe(ve) && y0(ve.parent) && ve.parent.initializer ? ve.parent.initializer : ve;
        }
      }
      var Ile = "fixAwaitInSyncFunction", A6e = [
        p.await_expressions_are_only_allowed_within_async_functions_and_at_the_top_levels_of_modules.code,
        p.await_using_statements_are_only_allowed_within_async_functions_and_at_the_top_levels_of_modules.code,
        p.for_await_loops_are_only_allowed_within_async_functions_and_at_the_top_levels_of_modules.code,
        p.Cannot_find_name_0_Did_you_mean_to_write_this_in_an_async_function.code
      ];
      Ys({
        errorCodes: A6e,
        getCodeActions(e) {
          const { sourceFile: t, span: n } = e, i = I6e(t, n.start);
          if (!i) return;
          const s = nn.ChangeTracker.with(e, (o) => F6e(o, t, i));
          return [Rs(Ile, s, p.Add_async_modifier_to_containing_function, Ile, p.Add_all_missing_async_modifiers)];
        },
        fixIds: [Ile],
        getAllCodeActions: function(t) {
          const n = /* @__PURE__ */ new Set();
          return Xa(t, A6e, (i, s) => {
            const o = I6e(s.file, s.start);
            !o || !Pp(n, Oa(o.insertBefore)) || F6e(i, t.sourceFile, o);
          });
        }
      });
      function lGe(e) {
        if (e.type)
          return e.type;
        if (Zn(e.parent) && e.parent.type && Ym(e.parent.type))
          return e.parent.type.type;
      }
      function I6e(e, t) {
        const n = mi(e, t), i = Df(n);
        if (!i)
          return;
        let s;
        switch (i.kind) {
          case 174:
            s = i.name;
            break;
          case 262:
          case 218:
            s = Za(i, 100, e);
            break;
          case 219:
            const o = i.typeParameters ? 30 : 21;
            s = Za(i, o, e) || xa(i.parameters);
            break;
          default:
            return;
        }
        return s && {
          insertBefore: s,
          returnType: lGe(i)
        };
      }
      function F6e(e, t, { insertBefore: n, returnType: i }) {
        if (i) {
          const s = v3(i);
          (!s || s.kind !== 80 || s.text !== "Promise") && e.replaceNode(t, i, N.createTypeReferenceNode("Promise", N.createNodeArray([i])));
        }
        e.insertModifierBefore(t, 134, n);
      }
      var O6e = [
        p._0_is_defined_as_an_accessor_in_class_1_but_is_overridden_here_in_2_as_an_instance_property.code,
        p._0_is_defined_as_a_property_in_class_1_but_is_overridden_here_in_2_as_an_accessor.code
      ], Fle = "fixPropertyOverrideAccessor";
      Ys({
        errorCodes: O6e,
        getCodeActions(e) {
          const t = L6e(e.sourceFile, e.span.start, e.span.length, e.errorCode, e);
          if (t)
            return [Rs(Fle, t, p.Generate_get_and_set_accessors, Fle, p.Generate_get_and_set_accessors_for_all_overriding_properties)];
        },
        fixIds: [Fle],
        getAllCodeActions: (e) => Xa(e, O6e, (t, n) => {
          const i = L6e(n.file, n.start, n.length, n.code, e);
          if (i)
            for (const s of i)
              t.pushRaw(e.sourceFile, s);
        })
      });
      function L6e(e, t, n, i, s) {
        let o, c;
        if (i === p._0_is_defined_as_an_accessor_in_class_1_but_is_overridden_here_in_2_as_an_instance_property.code)
          o = t, c = t + n;
        else if (i === p._0_is_defined_as_a_property_in_class_1_but_is_overridden_here_in_2_as_an_accessor.code) {
          const _ = s.program.getTypeChecker(), u = mi(e, t).parent;
          E.assert(By(u), "error span of fixPropertyOverrideAccessor should only be on an accessor");
          const g = u.parent;
          E.assert(Xn(g), "erroneous accessors should only be inside classes");
          const m = zm(Gle(g, _));
          if (!m) return [];
          const h = Ei(ux(u.name)), S = _.getPropertyOfType(_.getTypeAtLocation(m), h);
          if (!S || !S.valueDeclaration) return [];
          o = S.valueDeclaration.pos, c = S.valueDeclaration.end, e = Er(S.valueDeclaration);
        } else
          E.fail("fixPropertyOverrideAccessor codefix got unexpected error code " + i);
        return iEe(e, s.program, o, c, s, p.Generate_get_and_set_accessors.message);
      }
      var Ole = "inferFromUsage", M6e = [
        // Variable declarations
        p.Variable_0_implicitly_has_type_1_in_some_locations_where_its_type_cannot_be_determined.code,
        // Variable uses
        p.Variable_0_implicitly_has_an_1_type.code,
        // Parameter declarations
        p.Parameter_0_implicitly_has_an_1_type.code,
        p.Rest_parameter_0_implicitly_has_an_any_type.code,
        // Get Accessor declarations
        p.Property_0_implicitly_has_type_any_because_its_get_accessor_lacks_a_return_type_annotation.code,
        p._0_which_lacks_return_type_annotation_implicitly_has_an_1_return_type.code,
        // Set Accessor declarations
        p.Property_0_implicitly_has_type_any_because_its_set_accessor_lacks_a_parameter_type_annotation.code,
        // Property declarations
        p.Member_0_implicitly_has_an_1_type.code,
        //// Suggestions
        // Variable declarations
        p.Variable_0_implicitly_has_type_1_in_some_locations_but_a_better_type_may_be_inferred_from_usage.code,
        // Variable uses
        p.Variable_0_implicitly_has_an_1_type_but_a_better_type_may_be_inferred_from_usage.code,
        // Parameter declarations
        p.Parameter_0_implicitly_has_an_1_type_but_a_better_type_may_be_inferred_from_usage.code,
        p.Rest_parameter_0_implicitly_has_an_any_type_but_a_better_type_may_be_inferred_from_usage.code,
        // Get Accessor declarations
        p.Property_0_implicitly_has_type_any_but_a_better_type_for_its_get_accessor_may_be_inferred_from_usage.code,
        p._0_implicitly_has_an_1_return_type_but_a_better_type_may_be_inferred_from_usage.code,
        // Set Accessor declarations
        p.Property_0_implicitly_has_type_any_but_a_better_type_for_its_set_accessor_may_be_inferred_from_usage.code,
        // Property declarations
        p.Member_0_implicitly_has_an_1_type_but_a_better_type_may_be_inferred_from_usage.code,
        // Function expressions and declarations
        p.this_implicitly_has_type_any_because_it_does_not_have_a_type_annotation.code
      ];
      Ys({
        errorCodes: M6e,
        getCodeActions(e) {
          const { sourceFile: t, program: n, span: { start: i }, errorCode: s, cancellationToken: o, host: c, preferences: _ } = e, u = mi(t, i);
          let g;
          const m = nn.ChangeTracker.with(e, (S) => {
            g = R6e(
              S,
              t,
              u,
              s,
              n,
              o,
              /*markSeen*/
              db,
              c,
              _
            );
          }), h = g && ls(g);
          return !h || m.length === 0 ? void 0 : [Rs(Ole, m, [uGe(s, u), Go(h)], Ole, p.Infer_all_types_from_usage)];
        },
        fixIds: [Ole],
        getAllCodeActions(e) {
          const { sourceFile: t, program: n, cancellationToken: i, host: s, preferences: o } = e, c = G6();
          return Xa(e, M6e, (_, u) => {
            R6e(_, t, mi(u.file, u.start), u.code, n, i, c, s, o);
          });
        }
      });
      function uGe(e, t) {
        switch (e) {
          case p.Parameter_0_implicitly_has_an_1_type.code:
          case p.Parameter_0_implicitly_has_an_1_type_but_a_better_type_may_be_inferred_from_usage.code:
            return P_(Df(t)) ? p.Infer_type_of_0_from_usage : p.Infer_parameter_types_from_usage;
          // TODO: GH#18217
          case p.Rest_parameter_0_implicitly_has_an_any_type.code:
          case p.Rest_parameter_0_implicitly_has_an_any_type_but_a_better_type_may_be_inferred_from_usage.code:
            return p.Infer_parameter_types_from_usage;
          case p.this_implicitly_has_type_any_because_it_does_not_have_a_type_annotation.code:
            return p.Infer_this_type_of_0_from_usage;
          default:
            return p.Infer_type_of_0_from_usage;
        }
      }
      function _Ge(e) {
        switch (e) {
          case p.Variable_0_implicitly_has_type_1_in_some_locations_but_a_better_type_may_be_inferred_from_usage.code:
            return p.Variable_0_implicitly_has_type_1_in_some_locations_where_its_type_cannot_be_determined.code;
          case p.Variable_0_implicitly_has_an_1_type_but_a_better_type_may_be_inferred_from_usage.code:
            return p.Variable_0_implicitly_has_an_1_type.code;
          case p.Parameter_0_implicitly_has_an_1_type_but_a_better_type_may_be_inferred_from_usage.code:
            return p.Parameter_0_implicitly_has_an_1_type.code;
          case p.Rest_parameter_0_implicitly_has_an_any_type_but_a_better_type_may_be_inferred_from_usage.code:
            return p.Rest_parameter_0_implicitly_has_an_any_type.code;
          case p.Property_0_implicitly_has_type_any_but_a_better_type_for_its_get_accessor_may_be_inferred_from_usage.code:
            return p.Property_0_implicitly_has_type_any_because_its_get_accessor_lacks_a_return_type_annotation.code;
          case p._0_implicitly_has_an_1_return_type_but_a_better_type_may_be_inferred_from_usage.code:
            return p._0_which_lacks_return_type_annotation_implicitly_has_an_1_return_type.code;
          case p.Property_0_implicitly_has_type_any_but_a_better_type_for_its_set_accessor_may_be_inferred_from_usage.code:
            return p.Property_0_implicitly_has_type_any_because_its_set_accessor_lacks_a_parameter_type_annotation.code;
          case p.Member_0_implicitly_has_an_1_type_but_a_better_type_may_be_inferred_from_usage.code:
            return p.Member_0_implicitly_has_an_1_type.code;
        }
        return e;
      }
      function R6e(e, t, n, i, s, o, c, _, u) {
        if (!w4(n.kind) && n.kind !== 80 && n.kind !== 26 && n.kind !== 110)
          return;
        const { parent: g } = n, m = p2(t, s, u, _);
        switch (i = _Ge(i), i) {
          // Variable and Property declarations
          case p.Member_0_implicitly_has_an_1_type.code:
          case p.Variable_0_implicitly_has_type_1_in_some_locations_where_its_type_cannot_be_determined.code:
            if (Zn(g) && c(g) || is(g) || ju(g))
              return j6e(e, m, t, g, s, _, o), m.writeFixes(e), g;
            if (kn(g)) {
              const T = c8(g.name, s, o), k = kw(T, g, s, _);
              if (k) {
                const D = N.createJSDocTypeTag(
                  /*tagName*/
                  void 0,
                  N.createJSDocTypeExpression(k),
                  /*comment*/
                  void 0
                );
                e.addJSDocTags(t, Us(g.parent.parent, Pl), [D]);
              }
              return m.writeFixes(e), g;
            }
            return;
          case p.Variable_0_implicitly_has_an_1_type.code: {
            const T = s.getTypeChecker().getSymbolAtLocation(n);
            return T && T.valueDeclaration && Zn(T.valueDeclaration) && c(T.valueDeclaration) ? (j6e(e, m, Er(T.valueDeclaration), T.valueDeclaration, s, _, o), m.writeFixes(e), T.valueDeclaration) : void 0;
          }
        }
        const h = Df(n);
        if (h === void 0)
          return;
        let S;
        switch (i) {
          // Parameter declarations
          case p.Parameter_0_implicitly_has_an_1_type.code:
            if (P_(h)) {
              B6e(e, m, t, h, s, _, o), S = h;
              break;
            }
          // falls through
          case p.Rest_parameter_0_implicitly_has_an_any_type.code:
            if (c(h)) {
              const T = Us(g, Ni);
              fGe(e, m, t, T, h, s, _, o), S = T;
            }
            break;
          // Get Accessor declarations
          case p.Property_0_implicitly_has_type_any_because_its_get_accessor_lacks_a_return_type_annotation.code:
          case p._0_which_lacks_return_type_annotation_implicitly_has_an_1_return_type.code:
            ap(h) && Fe(h.name) && (xH(e, m, t, h, c8(h.name, s, o), s, _), S = h);
            break;
          // Set Accessor declarations
          case p.Property_0_implicitly_has_type_any_because_its_set_accessor_lacks_a_parameter_type_annotation.code:
            P_(h) && (B6e(e, m, t, h, s, _, o), S = h);
            break;
          // Function 'this'
          case p.this_implicitly_has_type_any_because_it_does_not_have_a_type_annotation.code:
            nn.isThisTypeAnnotatable(h) && c(h) && (pGe(e, t, h, s, _, o), S = h);
            break;
          default:
            return E.fail(String(i));
        }
        return m.writeFixes(e), S;
      }
      function j6e(e, t, n, i, s, o, c) {
        Fe(i.name) && xH(e, t, n, i, c8(i.name, s, c), s, o);
      }
      function fGe(e, t, n, i, s, o, c, _) {
        if (!Fe(i.name))
          return;
        const u = gGe(s, n, o, _);
        if (E.assert(s.parameters.length === u.length, "Parameter count and inference count should match"), tn(s))
          J6e(e, n, u, o, c);
        else {
          const g = Co(s) && !Za(s, 21, n);
          g && e.insertNodeBefore(n, xa(s.parameters), N.createToken(
            21
            /* OpenParenToken */
          ));
          for (const { declaration: m, type: h } of u)
            m && !m.type && !m.initializer && xH(e, t, n, m, h, o, c);
          g && e.insertNodeAfter(n, pa(s.parameters), N.createToken(
            22
            /* CloseParenToken */
          ));
        }
      }
      function pGe(e, t, n, i, s, o) {
        const c = z6e(n, t, i, o);
        if (!c || !c.length)
          return;
        const _ = Mle(i, c, o).thisParameter(), u = kw(_, n, i, s);
        u && (tn(n) ? dGe(e, t, n, u) : e.tryInsertThisTypeAnnotation(t, n, u));
      }
      function dGe(e, t, n, i) {
        e.addJSDocTags(t, n, [
          N.createJSDocThisTag(
            /*tagName*/
            void 0,
            N.createJSDocTypeExpression(i)
          )
        ]);
      }
      function B6e(e, t, n, i, s, o, c) {
        const _ = Xc(i.parameters);
        if (_ && Fe(i.name) && Fe(_.name)) {
          let u = c8(i.name, s, c);
          u === s.getTypeChecker().getAnyType() && (u = c8(_.name, s, c)), tn(i) ? J6e(e, n, [{ declaration: _, type: u }], s, o) : xH(e, t, n, _, u, s, o);
        }
      }
      function xH(e, t, n, i, s, o, c) {
        const _ = kw(s, i, o, c);
        if (_)
          if (tn(n) && i.kind !== 171) {
            const u = Zn(i) ? Mn(i.parent.parent, Sc) : i;
            if (!u)
              return;
            const g = N.createJSDocTypeExpression(_), m = ap(i) ? N.createJSDocReturnTag(
              /*tagName*/
              void 0,
              g,
              /*comment*/
              void 0
            ) : N.createJSDocTypeTag(
              /*tagName*/
              void 0,
              g,
              /*comment*/
              void 0
            );
            e.addJSDocTags(n, u, [m]);
          } else mGe(_, i, n, e, t, ga(o.getCompilerOptions())) || e.tryInsertTypeAnnotation(n, i, _);
      }
      function mGe(e, t, n, i, s, o) {
        const c = d2(e, o);
        return c && i.tryInsertTypeAnnotation(n, t, c.typeNode) ? (ar(c.symbols, (_) => s.addImportFromExportedSymbol(
          _,
          /*isValidTypeOnlyUseSite*/
          !0
        )), !0) : !1;
      }
      function J6e(e, t, n, i, s) {
        const o = n.length && n[0].declaration.parent;
        if (!o)
          return;
        const c = Oi(n, (_) => {
          const u = _.declaration;
          if (u.initializer || Oy(u) || !Fe(u.name))
            return;
          const g = _.type && kw(_.type, u, i, s);
          if (g) {
            const m = N.cloneNode(u.name);
            return an(
              m,
              7168
              /* NoNestedComments */
            ), { name: N.cloneNode(u.name), param: u, isOptional: !!_.isOptional, typeNode: g };
          }
        });
        if (c.length)
          if (Co(o) || ho(o)) {
            const _ = Co(o) && !Za(o, 21, t);
            _ && e.insertNodeBefore(t, xa(o.parameters), N.createToken(
              21
              /* OpenParenToken */
            )), ar(c, ({ typeNode: u, param: g }) => {
              const m = N.createJSDocTypeTag(
                /*tagName*/
                void 0,
                N.createJSDocTypeExpression(u)
              ), h = N.createJSDocComment(
                /*comment*/
                void 0,
                [m]
              );
              e.insertNodeAt(t, g.getStart(t), h, { suffix: " " });
            }), _ && e.insertNodeAfter(t, pa(o.parameters), N.createToken(
              22
              /* CloseParenToken */
            ));
          } else {
            const _ = fr(c, ({ name: u, typeNode: g, isOptional: m }) => N.createJSDocParameterTag(
              /*tagName*/
              void 0,
              u,
              /*isBracketed*/
              !!m,
              N.createJSDocTypeExpression(g),
              /*isNameFirst*/
              !1,
              /*comment*/
              void 0
            ));
            e.addJSDocTags(t, o, _);
          }
      }
      function Lle(e, t, n) {
        return Oi(Eo.getReferenceEntriesForNode(-1, e, t, t.getSourceFiles(), n), (i) => i.kind !== Eo.EntryKind.Span ? Mn(i.node, Fe) : void 0);
      }
      function c8(e, t, n) {
        const i = Lle(e, t, n);
        return Mle(t, i, n).single();
      }
      function gGe(e, t, n, i) {
        const s = z6e(e, t, n, i);
        return s && Mle(n, s, i).parameters(e) || e.parameters.map((o) => ({
          declaration: o,
          type: Fe(o.name) ? c8(o.name, n, i) : n.getTypeChecker().getAnyType()
        }));
      }
      function z6e(e, t, n, i) {
        let s;
        switch (e.kind) {
          case 176:
            s = Za(e, 137, t);
            break;
          case 219:
          case 218:
            const o = e.parent;
            s = (Zn(o) || is(o)) && Fe(o.name) ? o.name : e.name;
            break;
          case 262:
          case 174:
          case 173:
            s = e.name;
            break;
        }
        if (s)
          return Lle(s, n, i);
      }
      function Mle(e, t, n) {
        const i = e.getTypeChecker(), s = {
          string: () => i.getStringType(),
          number: () => i.getNumberType(),
          Array: (xe) => i.createArrayType(xe),
          Promise: (xe) => i.createPromiseType(xe)
        }, o = [
          i.getStringType(),
          i.getNumberType(),
          i.createArrayType(i.getAnyType()),
          i.createPromiseType(i.getAnyType())
        ];
        return {
          single: u,
          parameters: g,
          thisParameter: m
        };
        function c() {
          return {
            isNumber: void 0,
            isString: void 0,
            isNumberOrString: void 0,
            candidateTypes: void 0,
            properties: void 0,
            calls: void 0,
            constructs: void 0,
            numberIndex: void 0,
            stringIndex: void 0,
            candidateThisTypes: void 0,
            inferredTypes: void 0
          };
        }
        function _(xe) {
          const ue = /* @__PURE__ */ new Map();
          for (const nt of xe)
            nt.properties && nt.properties.forEach((oe, ve) => {
              ue.has(ve) || ue.set(ve, []), ue.get(ve).push(oe);
            });
          const Xe = /* @__PURE__ */ new Map();
          return ue.forEach((nt, oe) => {
            Xe.set(oe, _(nt));
          }), {
            isNumber: xe.some((nt) => nt.isNumber),
            isString: xe.some((nt) => nt.isString),
            isNumberOrString: xe.some((nt) => nt.isNumberOrString),
            candidateTypes: oa(xe, (nt) => nt.candidateTypes),
            properties: Xe,
            calls: oa(xe, (nt) => nt.calls),
            constructs: oa(xe, (nt) => nt.constructs),
            numberIndex: ar(xe, (nt) => nt.numberIndex),
            stringIndex: ar(xe, (nt) => nt.stringIndex),
            candidateThisTypes: oa(xe, (nt) => nt.candidateThisTypes),
            inferredTypes: void 0
            // clear type cache
          };
        }
        function u() {
          return pe(h(t));
        }
        function g(xe) {
          if (t.length === 0 || !xe.parameters)
            return;
          const ue = c();
          for (const nt of t)
            n.throwIfCancellationRequested(), S(nt, ue);
          const Xe = [...ue.constructs || [], ...ue.calls || []];
          return xe.parameters.map((nt, oe) => {
            const ve = [], se = Hm(nt);
            let Pe = !1;
            for (const Ce of Xe)
              if (Ce.argumentTypes.length <= oe)
                Pe = tn(xe), ve.push(i.getUndefinedType());
              else if (se)
                for (let ze = oe; ze < Ce.argumentTypes.length; ze++)
                  ve.push(i.getBaseTypeOfLiteralType(Ce.argumentTypes[ze]));
              else
                ve.push(i.getBaseTypeOfLiteralType(Ce.argumentTypes[oe]));
            if (Fe(nt.name)) {
              const Ce = h(Lle(nt.name, e, n));
              ve.push(...se ? Oi(Ce, i.getElementTypeOfArrayType) : Ce);
            }
            const Ee = pe(ve);
            return {
              type: se ? i.createArrayType(Ee) : Ee,
              isOptional: Pe && !se,
              declaration: nt
            };
          });
        }
        function m() {
          const xe = c();
          for (const ue of t)
            n.throwIfCancellationRequested(), S(ue, xe);
          return pe(xe.candidateThisTypes || Ue);
        }
        function h(xe) {
          const ue = c();
          for (const Xe of xe)
            n.throwIfCancellationRequested(), S(Xe, ue);
          return U(ue);
        }
        function S(xe, ue) {
          for (; tD(xe); )
            xe = xe.parent;
          switch (xe.parent.kind) {
            case 244:
              k(xe, ue);
              break;
            case 225:
              ue.isNumber = !0;
              break;
            case 224:
              D(xe.parent, ue);
              break;
            case 226:
              w(xe, xe.parent, ue);
              break;
            case 296:
            case 297:
              A(xe.parent, ue);
              break;
            case 213:
            case 214:
              xe.parent.expression === xe ? O(xe.parent, ue) : T(xe, ue);
              break;
            case 211:
              F(xe.parent, ue);
              break;
            case 212:
              j(xe.parent, xe, ue);
              break;
            case 303:
            case 304:
              z(xe.parent, ue);
              break;
            case 172:
              V(xe.parent, ue);
              break;
            case 260: {
              const { name: Xe, initializer: nt } = xe.parent;
              if (xe === Xe) {
                nt && De(ue, i.getTypeAtLocation(nt));
                break;
              }
            }
            // falls through
            default:
              return T(xe, ue);
          }
        }
        function T(xe, ue) {
          dd(xe) && De(ue, i.getContextualType(xe));
        }
        function k(xe, ue) {
          De(ue, Ms(xe) ? i.getVoidType() : i.getAnyType());
        }
        function D(xe, ue) {
          switch (xe.operator) {
            case 46:
            case 47:
            case 41:
            case 55:
              ue.isNumber = !0;
              break;
            case 40:
              ue.isNumberOrString = !0;
              break;
          }
        }
        function w(xe, ue, Xe) {
          switch (ue.operatorToken.kind) {
            // ExponentiationOperator
            case 43:
            // MultiplicativeOperator
            // falls through
            case 42:
            case 44:
            case 45:
            // ShiftOperator
            // falls through
            case 48:
            case 49:
            case 50:
            // BitwiseOperator
            // falls through
            case 51:
            case 52:
            case 53:
            // CompoundAssignmentOperator
            // falls through
            case 66:
            case 68:
            case 67:
            case 69:
            case 70:
            case 74:
            case 75:
            case 79:
            case 71:
            case 73:
            case 72:
            // AdditiveOperator
            // falls through
            case 41:
            // RelationalOperator
            // falls through
            case 30:
            case 33:
            case 32:
            case 34:
              const nt = i.getTypeAtLocation(ue.left === xe ? ue.right : ue.left);
              nt.flags & 1056 ? De(Xe, nt) : Xe.isNumber = !0;
              break;
            case 65:
            case 40:
              const oe = i.getTypeAtLocation(ue.left === xe ? ue.right : ue.left);
              oe.flags & 1056 ? De(Xe, oe) : oe.flags & 296 ? Xe.isNumber = !0 : oe.flags & 402653316 ? Xe.isString = !0 : oe.flags & 1 || (Xe.isNumberOrString = !0);
              break;
            //  AssignmentOperators
            case 64:
            case 35:
            case 37:
            case 38:
            case 36:
            case 77:
            case 78:
            case 76:
              De(Xe, i.getTypeAtLocation(ue.left === xe ? ue.right : ue.left));
              break;
            case 103:
              xe === ue.left && (Xe.isString = !0);
              break;
            // LogicalOperator Or NullishCoalescing
            case 57:
            case 61:
              xe === ue.left && (xe.parent.parent.kind === 260 || wl(
                xe.parent.parent,
                /*excludeCompoundAssignment*/
                !0
              )) && De(Xe, i.getTypeAtLocation(ue.right));
              break;
          }
        }
        function A(xe, ue) {
          De(ue, i.getTypeAtLocation(xe.parent.parent.expression));
        }
        function O(xe, ue) {
          const Xe = {
            argumentTypes: [],
            return_: c()
          };
          if (xe.arguments)
            for (const nt of xe.arguments)
              Xe.argumentTypes.push(i.getTypeAtLocation(nt));
          S(xe, Xe.return_), xe.kind === 213 ? (ue.calls || (ue.calls = [])).push(Xe) : (ue.constructs || (ue.constructs = [])).push(Xe);
        }
        function F(xe, ue) {
          const Xe = ec(xe.name.text);
          ue.properties || (ue.properties = /* @__PURE__ */ new Map());
          const nt = ue.properties.get(Xe) || c();
          S(xe, nt), ue.properties.set(Xe, nt);
        }
        function j(xe, ue, Xe) {
          if (ue === xe.argumentExpression) {
            Xe.isNumberOrString = !0;
            return;
          } else {
            const nt = i.getTypeAtLocation(xe.argumentExpression), oe = c();
            S(xe, oe), nt.flags & 296 ? Xe.numberIndex = oe : Xe.stringIndex = oe;
          }
        }
        function z(xe, ue) {
          const Xe = Zn(xe.parent.parent) ? xe.parent.parent : xe.parent;
          re(ue, i.getTypeAtLocation(Xe));
        }
        function V(xe, ue) {
          re(ue, i.getTypeAtLocation(xe.parent));
        }
        function G(xe, ue) {
          const Xe = [];
          for (const nt of xe)
            for (const { high: oe, low: ve } of ue)
              oe(nt) && (E.assert(!ve(nt), "Priority can't have both low and high"), Xe.push(ve));
          return xe.filter((nt) => Xe.every((oe) => !oe(nt)));
        }
        function W(xe) {
          return pe(U(xe));
        }
        function pe(xe) {
          if (!xe.length) return i.getAnyType();
          const ue = i.getUnionType([i.getStringType(), i.getNumberType()]);
          let nt = G(xe, [
            {
              high: (ve) => ve === i.getStringType() || ve === i.getNumberType(),
              low: (ve) => ve === ue
            },
            {
              high: (ve) => !(ve.flags & 16385),
              low: (ve) => !!(ve.flags & 16385)
            },
            {
              high: (ve) => !(ve.flags & 114689) && !(Cn(ve) & 16),
              low: (ve) => !!(Cn(ve) & 16)
            }
          ]);
          const oe = nt.filter(
            (ve) => Cn(ve) & 16
            /* Anonymous */
          );
          return oe.length && (nt = nt.filter((ve) => !(Cn(ve) & 16)), nt.push(K(oe))), i.getWidenedType(i.getUnionType(
            nt.map(i.getBaseTypeOfLiteralType),
            2
            /* Subtype */
          ));
        }
        function K(xe) {
          if (xe.length === 1)
            return xe[0];
          const ue = [], Xe = [], nt = [], oe = [];
          let ve = !1, se = !1;
          const Pe = Tp();
          for (const ze of xe) {
            for (const tr of i.getPropertiesOfType(ze))
              Pe.add(tr.escapedName, tr.valueDeclaration ? i.getTypeOfSymbolAtLocation(tr, tr.valueDeclaration) : i.getAnyType());
            ue.push(...i.getSignaturesOfType(
              ze,
              0
              /* Call */
            )), Xe.push(...i.getSignaturesOfType(
              ze,
              1
              /* Construct */
            ));
            const St = i.getIndexInfoOfType(
              ze,
              0
              /* String */
            );
            St && (nt.push(St.type), ve = ve || St.isReadonly);
            const Bt = i.getIndexInfoOfType(
              ze,
              1
              /* Number */
            );
            Bt && (oe.push(Bt.type), se = se || Bt.isReadonly);
          }
          const Ee = HX(Pe, (ze, St) => {
            const Bt = St.length < xe.length ? 16777216 : 0, tr = i.createSymbol(4 | Bt, ze);
            return tr.links.type = i.getUnionType(St), [ze, tr];
          }), Ce = [];
          return nt.length && Ce.push(i.createIndexInfo(i.getStringType(), i.getUnionType(nt), ve)), oe.length && Ce.push(i.createIndexInfo(i.getNumberType(), i.getUnionType(oe), se)), i.createAnonymousType(
            xe[0].symbol,
            Ee,
            ue,
            Xe,
            Ce
          );
        }
        function U(xe) {
          var ue, Xe, nt;
          const oe = [];
          xe.isNumber && oe.push(i.getNumberType()), xe.isString && oe.push(i.getStringType()), xe.isNumberOrString && oe.push(i.getUnionType([i.getStringType(), i.getNumberType()])), xe.numberIndex && oe.push(i.createArrayType(W(xe.numberIndex))), ((ue = xe.properties) != null && ue.size || (Xe = xe.constructs) != null && Xe.length || xe.stringIndex) && oe.push(ee(xe));
          const ve = (xe.candidateTypes || []).map((Pe) => i.getBaseTypeOfLiteralType(Pe)), se = (nt = xe.calls) != null && nt.length ? ee(xe) : void 0;
          return se && ve ? oe.push(i.getUnionType(
            [se, ...ve],
            2
            /* Subtype */
          )) : (se && oe.push(se), Ar(ve) && oe.push(...ve)), oe.push(...te(xe)), oe;
        }
        function ee(xe) {
          const ue = /* @__PURE__ */ new Map();
          xe.properties && xe.properties.forEach((ve, se) => {
            const Pe = i.createSymbol(4, se);
            Pe.links.type = W(ve), ue.set(se, Pe);
          });
          const Xe = xe.calls ? [Me(xe.calls)] : [], nt = xe.constructs ? [Me(xe.constructs)] : [], oe = xe.stringIndex ? [i.createIndexInfo(
            i.getStringType(),
            W(xe.stringIndex),
            /*isReadonly*/
            !1
          )] : [];
          return i.createAnonymousType(
            /*symbol*/
            void 0,
            ue,
            Xe,
            nt,
            oe
          );
        }
        function te(xe) {
          if (!xe.properties || !xe.properties.size) return [];
          const ue = o.filter((Xe) => ie(Xe, xe));
          return 0 < ue.length && ue.length < 3 ? ue.map((Xe) => fe(Xe, xe)) : [];
        }
        function ie(xe, ue) {
          return ue.properties ? !gl(ue.properties, (Xe, nt) => {
            const oe = i.getTypeOfPropertyOfType(xe, nt);
            return oe ? Xe.calls ? !i.getSignaturesOfType(
              oe,
              0
              /* Call */
            ).length || !i.isTypeAssignableTo(oe, he(Xe.calls)) : !i.isTypeAssignableTo(oe, W(Xe)) : !0;
          }) : !1;
        }
        function fe(xe, ue) {
          if (!(Cn(xe) & 4) || !ue.properties)
            return xe;
          const Xe = xe.target, nt = zm(Xe.typeParameters);
          if (!nt) return xe;
          const oe = [];
          return ue.properties.forEach((ve, se) => {
            const Pe = i.getTypeOfPropertyOfType(Xe, se);
            E.assert(!!Pe, "generic should have all the properties of its reference."), oe.push(...me(Pe, W(ve), nt));
          }), s[xe.symbol.escapedName](pe(oe));
        }
        function me(xe, ue, Xe) {
          if (xe === Xe)
            return [ue];
          if (xe.flags & 3145728)
            return oa(xe.types, (ve) => me(ve, ue, Xe));
          if (Cn(xe) & 4 && Cn(ue) & 4) {
            const ve = i.getTypeArguments(xe), se = i.getTypeArguments(ue), Pe = [];
            if (ve && se)
              for (let Ee = 0; Ee < ve.length; Ee++)
                se[Ee] && Pe.push(...me(ve[Ee], se[Ee], Xe));
            return Pe;
          }
          const nt = i.getSignaturesOfType(
            xe,
            0
            /* Call */
          ), oe = i.getSignaturesOfType(
            ue,
            0
            /* Call */
          );
          return nt.length === 1 && oe.length === 1 ? q(nt[0], oe[0], Xe) : [];
        }
        function q(xe, ue, Xe) {
          var nt;
          const oe = [];
          for (let Pe = 0; Pe < xe.parameters.length; Pe++) {
            const Ee = xe.parameters[Pe], Ce = ue.parameters[Pe], ze = xe.declaration && Hm(xe.declaration.parameters[Pe]);
            if (!Ce)
              break;
            let St = Ee.valueDeclaration ? i.getTypeOfSymbolAtLocation(Ee, Ee.valueDeclaration) : i.getAnyType();
            const Bt = ze && i.getElementTypeOfArrayType(St);
            Bt && (St = Bt);
            const tr = ((nt = Mn(Ce, Ig)) == null ? void 0 : nt.links.type) || (Ce.valueDeclaration ? i.getTypeOfSymbolAtLocation(Ce, Ce.valueDeclaration) : i.getAnyType());
            oe.push(...me(St, tr, Xe));
          }
          const ve = i.getReturnTypeOfSignature(xe), se = i.getReturnTypeOfSignature(ue);
          return oe.push(...me(ve, se, Xe)), oe;
        }
        function he(xe) {
          return i.createAnonymousType(
            /*symbol*/
            void 0,
            qs(),
            [Me(xe)],
            Ue,
            Ue
          );
        }
        function Me(xe) {
          const ue = [], Xe = Math.max(...xe.map((oe) => oe.argumentTypes.length));
          for (let oe = 0; oe < Xe; oe++) {
            const ve = i.createSymbol(1, ec(`arg${oe}`));
            ve.links.type = pe(xe.map((se) => se.argumentTypes[oe] || i.getUndefinedType())), xe.some((se) => se.argumentTypes[oe] === void 0) && (ve.flags |= 16777216), ue.push(ve);
          }
          const nt = W(_(xe.map((oe) => oe.return_)));
          return i.createSignature(
            /*declaration*/
            void 0,
            /*typeParameters*/
            void 0,
            /*thisParameter*/
            void 0,
            ue,
            nt,
            /*typePredicate*/
            void 0,
            Xe,
            0
            /* None */
          );
        }
        function De(xe, ue) {
          ue && !(ue.flags & 1) && !(ue.flags & 131072) && (xe.candidateTypes || (xe.candidateTypes = [])).push(ue);
        }
        function re(xe, ue) {
          ue && !(ue.flags & 1) && !(ue.flags & 131072) && (xe.candidateThisTypes || (xe.candidateThisTypes = [])).push(ue);
        }
      }
      var Rle = "fixReturnTypeInAsyncFunction", W6e = [
        p.The_return_type_of_an_async_function_or_method_must_be_the_global_Promise_T_type_Did_you_mean_to_write_Promise_0.code
      ];
      Ys({
        errorCodes: W6e,
        fixIds: [Rle],
        getCodeActions: function(t) {
          const { sourceFile: n, program: i, span: s } = t, o = i.getTypeChecker(), c = V6e(n, i.getTypeChecker(), s.start);
          if (!c)
            return;
          const { returnTypeNode: _, returnType: u, promisedTypeNode: g, promisedType: m } = c, h = nn.ChangeTracker.with(t, (S) => U6e(S, n, _, g));
          return [Rs(
            Rle,
            h,
            [p.Replace_0_with_Promise_1, o.typeToString(u), o.typeToString(m)],
            Rle,
            p.Fix_all_incorrect_return_type_of_an_async_functions
          )];
        },
        getAllCodeActions: (e) => Xa(e, W6e, (t, n) => {
          const i = V6e(n.file, e.program.getTypeChecker(), n.start);
          i && U6e(t, n.file, i.returnTypeNode, i.promisedTypeNode);
        })
      });
      function V6e(e, t, n) {
        if (tn(e))
          return;
        const i = mi(e, n), s = _r(i, uo), o = s?.type;
        if (!o)
          return;
        const c = t.getTypeFromTypeNode(o), _ = t.getAwaitedType(c) || t.getVoidType(), u = t.typeToTypeNode(
          _,
          /*enclosingDeclaration*/
          o,
          /*flags*/
          void 0
        );
        if (u)
          return { returnTypeNode: o, returnType: c, promisedTypeNode: u, promisedType: _ };
      }
      function U6e(e, t, n, i) {
        e.replaceNode(t, n, N.createTypeReferenceNode("Promise", [i]));
      }
      var q6e = "disableJsDiagnostics", H6e = "disableJsDiagnostics", G6e = Oi(Object.keys(p), (e) => {
        const t = p[e];
        return t.category === 1 ? t.code : void 0;
      });
      Ys({
        errorCodes: G6e,
        getCodeActions: function(t) {
          const { sourceFile: n, program: i, span: s, host: o, formatContext: c } = t;
          if (!tn(n) || !pD(n, i.getCompilerOptions()))
            return;
          const _ = n.checkJsDirective ? "" : Jh(o, c.options), u = [
            // fixId unnecessary because adding `// @ts-nocheck` even once will ignore every error in the file.
            kd(
              q6e,
              [MTe(n.fileName, [
                FA(
                  n.checkJsDirective ? wc(n.checkJsDirective.pos, n.checkJsDirective.end) : Gl(0, 0),
                  `// @ts-nocheck${_}`
                )
              ])],
              p.Disable_checking_for_this_file
            )
          ];
          return nn.isValidLocationToAddComment(n, s.start) && u.unshift(Rs(q6e, nn.ChangeTracker.with(t, (g) => $6e(g, n, s.start)), p.Ignore_this_error_message, H6e, p.Add_ts_ignore_to_all_error_messages)), u;
        },
        fixIds: [H6e],
        getAllCodeActions: (e) => {
          const t = /* @__PURE__ */ new Set();
          return Xa(e, G6e, (n, i) => {
            nn.isValidLocationToAddComment(i.file, i.start) && $6e(n, i.file, i.start, t);
          });
        }
      });
      function $6e(e, t, n, i) {
        const { line: s } = Js(t, n);
        (!i || m0(i, s)) && e.insertCommentBeforeLine(t, s, n, " @ts-ignore");
      }
      function jle(e, t, n, i, s, o, c) {
        const _ = e.symbol.members;
        for (const u of t)
          _.has(u.escapedName) || Q6e(
            u,
            e,
            n,
            i,
            s,
            o,
            c,
            /*body*/
            void 0
          );
      }
      function iE(e) {
        return {
          trackSymbol: () => !1,
          moduleResolverHost: OU(e.program, e.host)
        };
      }
      var X6e = /* @__PURE__ */ ((e) => (e[e.Method = 1] = "Method", e[e.Property = 2] = "Property", e[e.All = 3] = "All", e))(X6e || {});
      function Q6e(e, t, n, i, s, o, c, _, u = 3, g = !1) {
        const m = e.getDeclarations(), h = Xc(m), S = i.program.getTypeChecker(), T = ga(i.program.getCompilerOptions()), k = h?.kind ?? 171, D = ie(e, h), w = h ? Lu(h) : 0;
        let A = w & 256;
        A |= w & 1 ? 1 : w & 4 ? 4 : 0, h && u_(h) && (A |= 512);
        const O = pe(), F = S.getWidenedType(S.getTypeOfSymbolAtLocation(e, t)), j = !!(e.flags & 16777216), z = !!(t.flags & 33554432) || g, V = K_(n, s), G = 1 | (V === 0 ? 268435456 : 0);
        switch (k) {
          case 171:
          case 172:
            let fe = S.typeToTypeNode(F, t, G, 8, iE(i));
            if (o) {
              const q = d2(fe, T);
              q && (fe = q.typeNode, ZS(o, q.symbols));
            }
            c(N.createPropertyDeclaration(
              O,
              h ? U(D) : e.getName(),
              j && u & 2 ? N.createToken(
                58
                /* QuestionToken */
              ) : void 0,
              fe,
              /*initializer*/
              void 0
            ));
            break;
          case 177:
          case 178: {
            E.assertIsDefined(m);
            let q = S.typeToTypeNode(
              F,
              t,
              G,
              /*internalFlags*/
              void 0,
              iE(i)
            );
            const he = Mb(m, h), Me = he.secondAccessor ? [he.firstAccessor, he.secondAccessor] : [he.firstAccessor];
            if (o) {
              const De = d2(q, T);
              De && (q = De.typeNode, ZS(o, De.symbols));
            }
            for (const De of Me)
              if (ap(De))
                c(N.createGetAccessorDeclaration(
                  O,
                  U(D),
                  Ue,
                  te(q),
                  ee(_, V, z)
                ));
              else {
                E.assertNode(De, P_, "The counterpart to a getter should be a setter");
                const re = K4(De), xe = re && Fe(re.name) ? Pn(re.name) : void 0;
                c(N.createSetAccessorDeclaration(
                  O,
                  U(D),
                  zle(
                    1,
                    [xe],
                    [te(q)],
                    1,
                    /*inJs*/
                    !1
                  ),
                  ee(_, V, z)
                ));
              }
            break;
          }
          case 173:
          case 174:
            E.assertIsDefined(m);
            const me = F.isUnion() ? oa(F.types, (q) => q.getCallSignatures()) : F.getCallSignatures();
            if (!at(me))
              break;
            if (m.length === 1) {
              E.assert(me.length === 1, "One declaration implies one signature");
              const q = me[0];
              W(V, q, O, U(D), ee(_, V, z));
              break;
            }
            for (const q of me)
              q.declaration && q.declaration.flags & 33554432 || W(V, q, O, U(D));
            if (!z)
              if (m.length > me.length) {
                const q = S.getSignatureFromDeclaration(m[m.length - 1]);
                W(V, q, O, U(D), ee(_, V));
              } else
                E.assert(m.length === me.length, "Declarations and signatures should match count"), c(SGe(S, i, t, me, U(D), j && !!(u & 1), O, V, _));
            break;
        }
        function W(fe, me, q, he, Me) {
          const De = kH(174, i, fe, me, Me, he, q, j && !!(u & 1), t, o);
          De && c(De);
        }
        function pe() {
          let fe;
          return A && (fe = WT(fe, N.createModifiersFromModifierFlags(A))), K() && (fe = Dr(fe, N.createToken(
            164
            /* OverrideKeyword */
          ))), fe && N.createNodeArray(fe);
        }
        function K() {
          return !!(i.program.getCompilerOptions().noImplicitOverride && h && Rb(h));
        }
        function U(fe) {
          return Fe(fe) && fe.escapedText === "constructor" ? N.createComputedPropertyName(N.createStringLiteral(
            Pn(fe),
            V === 0
            /* Single */
          )) : qa(
            fe,
            /*includeTrivia*/
            !1
          );
        }
        function ee(fe, me, q) {
          return q ? void 0 : qa(
            fe,
            /*includeTrivia*/
            !1
          ) || Wle(me);
        }
        function te(fe) {
          return qa(
            fe,
            /*includeTrivia*/
            !1
          );
        }
        function ie(fe, me) {
          if (lc(fe) & 262144) {
            const q = fe.links.nameType;
            if (q && ip(q))
              return N.createIdentifier(Ei(sp(q)));
          }
          return qa(
            ls(me),
            /*includeTrivia*/
            !1
          );
        }
      }
      function kH(e, t, n, i, s, o, c, _, u, g) {
        const m = t.program, h = m.getTypeChecker(), S = ga(m.getCompilerOptions()), T = tn(u), k = 524545 | (n === 0 ? 268435456 : 0), D = h.signatureToSignatureDeclaration(i, e, u, k, 8, iE(t));
        if (!D)
          return;
        let w = T ? void 0 : D.typeParameters, A = D.parameters, O = T ? void 0 : qa(D.type);
        if (g) {
          if (w) {
            const V = $c(w, (G) => {
              let W = G.constraint, pe = G.default;
              if (W) {
                const K = d2(W, S);
                K && (W = K.typeNode, ZS(g, K.symbols));
              }
              if (pe) {
                const K = d2(pe, S);
                K && (pe = K.typeNode, ZS(g, K.symbols));
              }
              return N.updateTypeParameterDeclaration(
                G,
                G.modifiers,
                G.name,
                W,
                pe
              );
            });
            w !== V && (w = ot(N.createNodeArray(V, w.hasTrailingComma), w));
          }
          const z = $c(A, (V) => {
            let G = T ? void 0 : V.type;
            if (G) {
              const W = d2(G, S);
              W && (G = W.typeNode, ZS(g, W.symbols));
            }
            return N.updateParameterDeclaration(
              V,
              V.modifiers,
              V.dotDotDotToken,
              V.name,
              T ? void 0 : V.questionToken,
              G,
              V.initializer
            );
          });
          if (A !== z && (A = ot(N.createNodeArray(z, A.hasTrailingComma), A)), O) {
            const V = d2(O, S);
            V && (O = V.typeNode, ZS(g, V.symbols));
          }
        }
        const F = _ ? N.createToken(
          58
          /* QuestionToken */
        ) : void 0, j = D.asteriskToken;
        if (ho(D))
          return N.updateFunctionExpression(D, c, D.asteriskToken, Mn(o, Fe), w, A, O, s ?? D.body);
        if (Co(D))
          return N.updateArrowFunction(D, c, w, A, O, D.equalsGreaterThanToken, s ?? D.body);
        if (uc(D))
          return N.updateMethodDeclaration(D, c, j, o ?? N.createIdentifier(""), F, w, A, O, s);
        if (Tc(D))
          return N.updateFunctionDeclaration(D, c, D.asteriskToken, Mn(o, Fe), w, A, O, s ?? D.body);
      }
      function Ble(e, t, n, i, s, o, c) {
        const _ = K_(t.sourceFile, t.preferences), u = ga(t.program.getCompilerOptions()), g = iE(t), m = t.program.getTypeChecker(), h = tn(c), { typeArguments: S, arguments: T, parent: k } = i, D = h ? void 0 : m.getContextualType(i), w = fr(T, (pe) => Fe(pe) ? pe.text : kn(pe) && Fe(pe.name) ? pe.name.text : void 0), A = h ? [] : fr(T, (pe) => m.getTypeAtLocation(pe)), { argumentTypeNodes: O, argumentTypeParameters: F } = vGe(
          m,
          n,
          A,
          c,
          u,
          1,
          8,
          g
        ), j = o ? N.createNodeArray(N.createModifiersFromModifierFlags(o)) : void 0, z = DN(k) ? N.createToken(
          42
          /* AsteriskToken */
        ) : void 0, V = h ? void 0 : hGe(m, F, S), G = zle(
          T.length,
          w,
          O,
          /*minArgumentCount*/
          void 0,
          h
        ), W = h || D === void 0 ? void 0 : m.typeToTypeNode(
          D,
          c,
          /*flags*/
          void 0,
          /*internalFlags*/
          void 0,
          g
        );
        switch (e) {
          case 174:
            return N.createMethodDeclaration(
              j,
              z,
              s,
              /*questionToken*/
              void 0,
              V,
              G,
              W,
              Wle(_)
            );
          case 173:
            return N.createMethodSignature(
              j,
              s,
              /*questionToken*/
              void 0,
              V,
              G,
              W === void 0 ? N.createKeywordTypeNode(
                159
                /* UnknownKeyword */
              ) : W
            );
          case 262:
            return E.assert(typeof s == "string" || Fe(s), "Unexpected name"), N.createFunctionDeclaration(
              j,
              z,
              s,
              V,
              G,
              W,
              hL(p.Function_not_implemented.message, _)
            );
          default:
            E.fail("Unexpected kind");
        }
      }
      function hGe(e, t, n) {
        const i = new Set(t.map((o) => o[0])), s = new Map(t);
        if (n) {
          const o = n.filter((_) => !t.some((u) => {
            var g;
            return e.getTypeAtLocation(_) === ((g = u[1]) == null ? void 0 : g.argumentType);
          })), c = i.size + o.length;
          for (let _ = 0; i.size < c; _ += 1)
            i.add(Y6e(_));
        }
        return rs(
          i.values(),
          (o) => {
            var c;
            return N.createTypeParameterDeclaration(
              /*modifiers*/
              void 0,
              o,
              (c = s.get(o)) == null ? void 0 : c.constraint
            );
          }
        );
      }
      function Y6e(e) {
        return 84 + e <= 90 ? String.fromCharCode(84 + e) : `T${e}`;
      }
      function CH(e, t, n, i, s, o, c, _) {
        const u = e.typeToTypeNode(n, i, o, c, _);
        if (u)
          return Jle(u, t, s);
      }
      function Jle(e, t, n) {
        const i = d2(e, n);
        return i && (ZS(t, i.symbols), e = i.typeNode), qa(e);
      }
      function yGe(e, t) {
        E.assert(t.typeArguments);
        const n = t.typeArguments, i = t.target;
        for (let s = 0; s < n.length; s++) {
          const o = n.slice(0, s);
          if (e.fillMissingTypeArguments(
            o,
            i.typeParameters,
            s,
            /*isJavaScriptImplicitAny*/
            !1
          ).every((_, u) => _ === n[u]))
            return s;
        }
        return n.length;
      }
      function Z6e(e, t, n, i, s, o) {
        let c = e.typeToTypeNode(t, n, i, s, o);
        if (c) {
          if (X_(c)) {
            const _ = t;
            if (_.typeArguments && c.typeArguments) {
              const u = yGe(e, _);
              if (u < c.typeArguments.length) {
                const g = N.createNodeArray(c.typeArguments.slice(0, u));
                c = N.updateTypeReferenceNode(c, c.typeName, g);
              }
            }
          }
          return c;
        }
      }
      function K6e(e, t, n, i, s, o, c, _) {
        let u = e.typePredicateToTypePredicateNode(n, i, o, c, _);
        if (u?.type && am(u.type)) {
          const g = d2(u.type, s);
          g && (ZS(t, g.symbols), u = N.updateTypePredicateNode(u, u.assertsModifier, u.parameterName, g.typeNode));
        }
        return qa(u);
      }
      function eEe(e) {
        return e.isUnionOrIntersection() ? e.types.some(eEe) : e.flags & 262144;
      }
      function vGe(e, t, n, i, s, o, c, _) {
        const u = [], g = /* @__PURE__ */ new Map();
        for (let m = 0; m < n.length; m += 1) {
          const h = n[m];
          if (h.isUnionOrIntersection() && h.types.some(eEe)) {
            const w = Y6e(m);
            u.push(N.createTypeReferenceNode(w)), g.set(w, void 0);
            continue;
          }
          const S = e.getBaseTypeOfLiteralType(h), T = CH(e, t, S, i, s, o, c, _);
          if (!T)
            continue;
          u.push(T);
          const k = tEe(h), D = h.isTypeParameter() && h.constraint && !bGe(h.constraint) ? CH(e, t, h.constraint, i, s, o, c, _) : void 0;
          k && g.set(k, { argumentType: h, constraint: D });
        }
        return { argumentTypeNodes: u, argumentTypeParameters: rs(g.entries()) };
      }
      function bGe(e) {
        return e.flags & 524288 && e.objectFlags === 16;
      }
      function tEe(e) {
        var t;
        if (e.flags & 3145728)
          for (const n of e.types) {
            const i = tEe(n);
            if (i)
              return i;
          }
        return e.flags & 262144 ? (t = e.getSymbol()) == null ? void 0 : t.getName() : void 0;
      }
      function zle(e, t, n, i, s) {
        const o = [], c = /* @__PURE__ */ new Map();
        for (let _ = 0; _ < e; _++) {
          const u = t?.[_] || `arg${_}`, g = c.get(u);
          c.set(u, (g || 0) + 1);
          const m = N.createParameterDeclaration(
            /*modifiers*/
            void 0,
            /*dotDotDotToken*/
            void 0,
            /*name*/
            u + (g || ""),
            /*questionToken*/
            i !== void 0 && _ >= i ? N.createToken(
              58
              /* QuestionToken */
            ) : void 0,
            /*type*/
            s ? void 0 : n?.[_] || N.createKeywordTypeNode(
              159
              /* UnknownKeyword */
            ),
            /*initializer*/
            void 0
          );
          o.push(m);
        }
        return o;
      }
      function SGe(e, t, n, i, s, o, c, _, u) {
        let g = i[0], m = i[0].minArgumentCount, h = !1;
        for (const D of i)
          m = Math.min(D.minArgumentCount, m), Tu(D) && (h = !0), D.parameters.length >= g.parameters.length && (!Tu(D) || Tu(g)) && (g = D);
        const S = g.parameters.length - (Tu(g) ? 1 : 0), T = g.parameters.map((D) => D.name), k = zle(
          S,
          T,
          /*types*/
          void 0,
          m,
          /*inJs*/
          !1
        );
        if (h) {
          const D = N.createParameterDeclaration(
            /*modifiers*/
            void 0,
            N.createToken(
              26
              /* DotDotDotToken */
            ),
            T[S] || "rest",
            /*questionToken*/
            S >= m ? N.createToken(
              58
              /* QuestionToken */
            ) : void 0,
            N.createArrayTypeNode(N.createKeywordTypeNode(
              159
              /* UnknownKeyword */
            )),
            /*initializer*/
            void 0
          );
          k.push(D);
        }
        return xGe(
          c,
          s,
          o,
          /*typeParameters*/
          void 0,
          k,
          TGe(i, e, t, n),
          _,
          u
        );
      }
      function TGe(e, t, n, i) {
        if (Ar(e)) {
          const s = t.getUnionType(fr(e, t.getReturnTypeOfSignature));
          return t.typeToTypeNode(s, i, 1, 8, iE(n));
        }
      }
      function xGe(e, t, n, i, s, o, c, _) {
        return N.createMethodDeclaration(
          e,
          /*asteriskToken*/
          void 0,
          t,
          n ? N.createToken(
            58
            /* QuestionToken */
          ) : void 0,
          i,
          s,
          o,
          _ || Wle(c)
        );
      }
      function Wle(e) {
        return hL(p.Method_not_implemented.message, e);
      }
      function hL(e, t) {
        return N.createBlock(
          [N.createThrowStatement(
            N.createNewExpression(
              N.createIdentifier("Error"),
              /*typeArguments*/
              void 0,
              // TODO Handle auto quote preference.
              [N.createStringLiteral(
                e,
                /*isSingleQuote*/
                t === 0
                /* Single */
              )]
            )
          )],
          /*multiLine*/
          !0
        );
      }
      function Vle(e, t, n) {
        const i = j4(t);
        if (!i) return;
        const s = rEe(i, "compilerOptions");
        if (s === void 0) {
          e.insertNodeAtObjectStart(
            t,
            i,
            qle(
              "compilerOptions",
              N.createObjectLiteralExpression(
                n.map(([c, _]) => qle(c, _)),
                /*multiLine*/
                !0
              )
            )
          );
          return;
        }
        const o = s.initializer;
        if (ua(o))
          for (const [c, _] of n) {
            const u = rEe(o, c);
            u === void 0 ? e.insertNodeAtObjectStart(t, o, qle(c, _)) : e.replaceNode(t, u.initializer, _);
          }
      }
      function Ule(e, t, n, i) {
        Vle(e, t, [[n, i]]);
      }
      function qle(e, t) {
        return N.createPropertyAssignment(N.createStringLiteral(e), t);
      }
      function rEe(e, t) {
        return Dn(e.properties, (n) => tl(n) && !!n.name && la(n.name) && n.name.text === t);
      }
      function d2(e, t) {
        let n;
        const i = $e(e, s, si);
        if (n && i)
          return { typeNode: i, symbols: n };
        function s(o) {
          if (Dh(o) && o.qualifier) {
            const c = Xu(o.qualifier);
            if (!c.symbol)
              return yr(
                o,
                s,
                /*context*/
                void 0
              );
            const _ = B9(c.symbol, t), u = _ !== c.text ? nEe(o.qualifier, N.createIdentifier(_)) : o.qualifier;
            n = Dr(n, c.symbol);
            const g = Lr(o.typeArguments, s, si);
            return N.createTypeReferenceNode(u, g);
          }
          return yr(
            o,
            s,
            /*context*/
            void 0
          );
        }
      }
      function nEe(e, t) {
        return e.kind === 80 ? t : N.createQualifiedName(nEe(e.left, t), e.right);
      }
      function ZS(e, t) {
        t.forEach((n) => e.addImportFromExportedSymbol(
          n,
          /*isValidTypeOnlyUseSite*/
          !0
        ));
      }
      function Hle(e, t) {
        const n = Ko(t);
        let i = mi(e, t.start);
        for (; i.end < n; )
          i = i.parent;
        return i;
      }
      function iEe(e, t, n, i, s, o) {
        const c = oEe(e, t, n, i);
        if (!c || fk.isRefactorErrorInfo(c)) return;
        const _ = nn.ChangeTracker.fromContext(s), { isStatic: u, isReadonly: g, fieldName: m, accessorName: h, originalName: S, type: T, container: k, declaration: D } = c;
        tf(m), tf(h), tf(D), tf(k);
        let w, A;
        if (Xn(k)) {
          const F = Lu(D);
          if ($u(e)) {
            const j = N.createModifiersFromModifierFlags(F);
            w = j, A = j;
          } else
            w = N.createModifiersFromModifierFlags(EGe(F)), A = N.createModifiersFromModifierFlags(DGe(F));
          Zb(D) && (A = Ji(Fy(D), A));
        }
        IGe(_, e, D, T, m, A);
        const O = wGe(m, h, T, w, u, k);
        if (tf(O), cEe(_, e, O, D, k), g) {
          const F = jg(k);
          F && FGe(_, e, F, m.text, S);
        } else {
          const F = PGe(m, h, T, w, u, k);
          tf(F), cEe(_, e, F, D, k);
        }
        return _.getChanges();
      }
      function kGe(e) {
        return Fe(e) || la(e);
      }
      function CGe(e) {
        return U_(e, e.parent) || is(e) || tl(e);
      }
      function sEe(e, t) {
        return Fe(t) ? N.createIdentifier(e) : N.createStringLiteral(e);
      }
      function aEe(e, t, n) {
        const i = t ? n.name : N.createThis();
        return Fe(e) ? N.createPropertyAccessExpression(i, e) : N.createElementAccessExpression(i, N.createStringLiteralFromNode(e));
      }
      function EGe(e) {
        return e &= -9, e &= -3, e & 4 || (e |= 1), e;
      }
      function DGe(e) {
        return e &= -2, e &= -5, e |= 2, e;
      }
      function oEe(e, t, n, i, s = !0) {
        const o = mi(e, n), c = n === i && s, _ = _r(o.parent, CGe), u = 271;
        if (!_ || !(p9(_.name, e, n, i) || c))
          return {
            error: hs(p.Could_not_find_property_for_which_to_generate_accessor)
          };
        if (!kGe(_.name))
          return {
            error: hs(p.Name_is_not_valid)
          };
        if ((Lu(_) & 98303 | u) !== u)
          return {
            error: hs(p.Can_only_convert_property_with_modifier)
          };
        const g = _.name.text, m = oq(g), h = sEe(m ? g : YS(`_${g}`, e), _.name), S = sEe(m ? YS(g.substring(1), e) : g, _.name);
        return {
          isStatic: sl(_),
          isReadonly: xS(_),
          type: OGe(_, t),
          container: _.kind === 169 ? _.parent.parent : _.parent,
          originalName: _.name.text,
          declaration: _,
          fieldName: h,
          accessorName: S,
          renameAccessor: m
        };
      }
      function wGe(e, t, n, i, s, o) {
        return N.createGetAccessorDeclaration(
          i,
          t,
          [],
          n,
          N.createBlock(
            [
              N.createReturnStatement(
                aEe(e, s, o)
              )
            ],
            /*multiLine*/
            !0
          )
        );
      }
      function PGe(e, t, n, i, s, o) {
        return N.createSetAccessorDeclaration(
          i,
          t,
          [N.createParameterDeclaration(
            /*modifiers*/
            void 0,
            /*dotDotDotToken*/
            void 0,
            N.createIdentifier("value"),
            /*questionToken*/
            void 0,
            n
          )],
          N.createBlock(
            [
              N.createExpressionStatement(
                N.createAssignment(
                  aEe(e, s, o),
                  N.createIdentifier("value")
                )
              )
            ],
            /*multiLine*/
            !0
          )
        );
      }
      function NGe(e, t, n, i, s, o) {
        const c = N.updatePropertyDeclaration(
          n,
          o,
          s,
          n.questionToken || n.exclamationToken,
          i,
          n.initializer
        );
        e.replaceNode(t, n, c);
      }
      function AGe(e, t, n, i) {
        let s = N.updatePropertyAssignment(n, i, n.initializer);
        (s.modifiers || s.questionToken || s.exclamationToken) && (s === n && (s = N.cloneNode(s)), s.modifiers = void 0, s.questionToken = void 0, s.exclamationToken = void 0), e.replacePropertyAssignment(t, n, s);
      }
      function IGe(e, t, n, i, s, o) {
        is(n) ? NGe(e, t, n, i, s, o) : tl(n) ? AGe(e, t, n, s) : e.replaceNode(t, n, N.updateParameterDeclaration(n, o, n.dotDotDotToken, Us(s, Fe), n.questionToken, n.type, n.initializer));
      }
      function cEe(e, t, n, i, s) {
        U_(i, i.parent) ? e.insertMemberAtStart(t, s, n) : tl(i) ? e.insertNodeAfterComma(t, i, n) : e.insertNodeAfter(t, i, n);
      }
      function FGe(e, t, n, i, s) {
        n.body && n.body.forEachChild(function o(c) {
          fo(c) && c.expression.kind === 110 && la(c.argumentExpression) && c.argumentExpression.text === s && Tx(c) && e.replaceNode(t, c.argumentExpression, N.createStringLiteral(i)), kn(c) && c.expression.kind === 110 && c.name.text === s && Tx(c) && e.replaceNode(t, c.name, N.createIdentifier(i)), !Ts(c) && !Xn(c) && c.forEachChild(o);
        });
      }
      function OGe(e, t) {
        const n = BK(e);
        if (is(e) && n && e.questionToken) {
          const i = t.getTypeChecker(), s = i.getTypeFromTypeNode(n);
          if (!i.isTypeAssignableTo(i.getUndefinedType(), s)) {
            const o = w0(n) ? n.types : [n];
            return N.createUnionTypeNode([...o, N.createKeywordTypeNode(
              157
              /* UndefinedKeyword */
            )]);
          }
        }
        return n;
      }
      function Gle(e, t) {
        const n = [];
        for (; e; ) {
          const i = Ib(e), s = i && t.getSymbolAtLocation(i.expression);
          if (!s) break;
          const o = s.flags & 2097152 ? t.getAliasedSymbol(s) : s, c = o.declarations && Dn(o.declarations, Xn);
          if (!c) break;
          n.push(c), e = c;
        }
        return n;
      }
      var lEe = "invalidImportSyntax";
      function LGe(e, t) {
        const n = Er(t), i = qC(t), s = e.program.getCompilerOptions(), o = [];
        return o.push(uEe(e, n, t, p1(
          i.name,
          /*namedImports*/
          void 0,
          t.moduleSpecifier,
          K_(n, e.preferences)
        ))), Mu(s) === 1 && o.push(uEe(
          e,
          n,
          t,
          N.createImportEqualsDeclaration(
            /*modifiers*/
            void 0,
            /*isTypeOnly*/
            !1,
            i.name,
            N.createExternalModuleReference(t.moduleSpecifier)
          )
        )), o;
      }
      function uEe(e, t, n, i) {
        const s = nn.ChangeTracker.with(e, (o) => o.replaceNode(t, n, i));
        return kd(lEe, s, [p.Replace_import_with_0, s[0].textChanges[0].newText]);
      }
      Ys({
        errorCodes: [
          p.This_expression_is_not_callable.code,
          p.This_expression_is_not_constructable.code
        ],
        getCodeActions: MGe
      });
      function MGe(e) {
        const t = e.sourceFile, n = p.This_expression_is_not_callable.code === e.errorCode ? 213 : 214, i = _r(mi(t, e.span.start), (o) => o.kind === n);
        if (!i)
          return [];
        const s = i.expression;
        return _Ee(e, s);
      }
      Ys({
        errorCodes: [
          // The following error codes cover pretty much all assignability errors that could involve an expression
          p.Argument_of_type_0_is_not_assignable_to_parameter_of_type_1.code,
          p.Type_0_does_not_satisfy_the_constraint_1.code,
          p.Type_0_is_not_assignable_to_type_1.code,
          p.Type_0_is_not_assignable_to_type_1_Two_different_types_with_this_name_exist_but_they_are_unrelated.code,
          p.Type_predicate_0_is_not_assignable_to_1.code,
          p.Property_0_of_type_1_is_not_assignable_to_2_index_type_3.code,
          p._0_index_type_1_is_not_assignable_to_2_index_type_3.code,
          p.Property_0_in_type_1_is_not_assignable_to_the_same_property_in_base_type_2.code,
          p.Property_0_in_type_1_is_not_assignable_to_type_2.code,
          p.Property_0_of_JSX_spread_attribute_is_not_assignable_to_target_property.code,
          p.The_this_context_of_type_0_is_not_assignable_to_method_s_this_of_type_1.code
        ],
        getCodeActions: RGe
      });
      function RGe(e) {
        const t = e.sourceFile, n = _r(mi(t, e.span.start), (i) => i.getStart() === e.span.start && i.getEnd() === e.span.start + e.span.length);
        return n ? _Ee(e, n) : [];
      }
      function _Ee(e, t) {
        const n = e.program.getTypeChecker().getTypeAtLocation(t);
        if (!(n.symbol && Ig(n.symbol) && n.symbol.links.originatingImport))
          return [];
        const i = [], s = n.symbol.links.originatingImport;
        if (df(s) || wn(i, LGe(e, s)), lt(t) && !(El(t.parent) && t.parent.name === t)) {
          const o = e.sourceFile, c = nn.ChangeTracker.with(e, (_) => _.replaceNode(o, t, N.createPropertyAccessExpression(t, "default"), {}));
          i.push(kd(lEe, c, p.Use_synthetic_default_member));
        }
        return i;
      }
      var $le = "strictClassInitialization", Xle = "addMissingPropertyDefiniteAssignmentAssertions", Qle = "addMissingPropertyUndefinedType", Yle = "addMissingPropertyInitializer", fEe = [p.Property_0_has_no_initializer_and_is_not_definitely_assigned_in_the_constructor.code];
      Ys({
        errorCodes: fEe,
        getCodeActions: function(t) {
          const n = pEe(t.sourceFile, t.span.start);
          if (!n) return;
          const i = [];
          return Dr(i, BGe(t, n)), Dr(i, jGe(t, n)), Dr(i, JGe(t, n)), i;
        },
        fixIds: [Xle, Qle, Yle],
        getAllCodeActions: (e) => Xa(e, fEe, (t, n) => {
          const i = pEe(n.file, n.start);
          if (i)
            switch (e.fixId) {
              case Xle:
                dEe(t, n.file, i.prop);
                break;
              case Qle:
                mEe(t, n.file, i);
                break;
              case Yle:
                const s = e.program.getTypeChecker(), o = hEe(s, i.prop);
                if (!o) return;
                gEe(t, n.file, i.prop, o);
                break;
              default:
                E.fail(JSON.stringify(e.fixId));
            }
        })
      });
      function pEe(e, t) {
        const n = mi(e, t);
        if (Fe(n) && is(n.parent)) {
          const i = Yc(n.parent);
          if (i)
            return { type: i, prop: n.parent, isJs: tn(n.parent) };
        }
      }
      function jGe(e, t) {
        if (t.isJs) return;
        const n = nn.ChangeTracker.with(e, (i) => dEe(i, e.sourceFile, t.prop));
        return Rs($le, n, [p.Add_definite_assignment_assertion_to_property_0, t.prop.getText()], Xle, p.Add_definite_assignment_assertions_to_all_uninitialized_properties);
      }
      function dEe(e, t, n) {
        tf(n);
        const i = N.updatePropertyDeclaration(
          n,
          n.modifiers,
          n.name,
          N.createToken(
            54
            /* ExclamationToken */
          ),
          n.type,
          n.initializer
        );
        e.replaceNode(t, n, i);
      }
      function BGe(e, t) {
        const n = nn.ChangeTracker.with(e, (i) => mEe(i, e.sourceFile, t));
        return Rs($le, n, [p.Add_undefined_type_to_property_0, t.prop.name.getText()], Qle, p.Add_undefined_type_to_all_uninitialized_properties);
      }
      function mEe(e, t, n) {
        const i = N.createKeywordTypeNode(
          157
          /* UndefinedKeyword */
        ), s = w0(n.type) ? n.type.types.concat(i) : [n.type, i], o = N.createUnionTypeNode(s);
        n.isJs ? e.addJSDocTags(t, n.prop, [N.createJSDocTypeTag(
          /*tagName*/
          void 0,
          N.createJSDocTypeExpression(o)
        )]) : e.replaceNode(t, n.type, o);
      }
      function JGe(e, t) {
        if (t.isJs) return;
        const n = e.program.getTypeChecker(), i = hEe(n, t.prop);
        if (!i) return;
        const s = nn.ChangeTracker.with(e, (o) => gEe(o, e.sourceFile, t.prop, i));
        return Rs($le, s, [p.Add_initializer_to_property_0, t.prop.name.getText()], Yle, p.Add_initializers_to_all_uninitialized_properties);
      }
      function gEe(e, t, n, i) {
        tf(n);
        const s = N.updatePropertyDeclaration(
          n,
          n.modifiers,
          n.name,
          n.questionToken,
          n.type,
          i
        );
        e.replaceNode(t, n, s);
      }
      function hEe(e, t) {
        return yEe(e, e.getTypeFromTypeNode(t.type));
      }
      function yEe(e, t) {
        if (t.flags & 512)
          return t === e.getFalseType() || t === e.getFalseType(
            /*fresh*/
            !0
          ) ? N.createFalse() : N.createTrue();
        if (t.isStringLiteral())
          return N.createStringLiteral(t.value);
        if (t.isNumberLiteral())
          return N.createNumericLiteral(t.value);
        if (t.flags & 2048)
          return N.createBigIntLiteral(t.value);
        if (t.isUnion())
          return Ic(t.types, (n) => yEe(e, n));
        if (t.isClass()) {
          const n = Fh(t.symbol);
          if (!n || qn(
            n,
            64
            /* Abstract */
          )) return;
          const i = jg(n);
          return i && i.parameters.length ? void 0 : N.createNewExpression(
            N.createIdentifier(t.symbol.name),
            /*typeArguments*/
            void 0,
            /*argumentsArray*/
            void 0
          );
        } else if (e.isArrayLikeType(t))
          return N.createArrayLiteralExpression();
      }
      var Zle = "requireInTs", vEe = [p.require_call_may_be_converted_to_an_import.code];
      Ys({
        errorCodes: vEe,
        getCodeActions(e) {
          const t = SEe(e.sourceFile, e.program, e.span.start, e.preferences);
          if (!t)
            return;
          const n = nn.ChangeTracker.with(e, (i) => bEe(i, e.sourceFile, t));
          return [Rs(Zle, n, p.Convert_require_to_import, Zle, p.Convert_all_require_to_import)];
        },
        fixIds: [Zle],
        getAllCodeActions: (e) => Xa(e, vEe, (t, n) => {
          const i = SEe(n.file, e.program, n.start, e.preferences);
          i && bEe(t, e.sourceFile, i);
        })
      });
      function bEe(e, t, n) {
        const { allowSyntheticDefaults: i, defaultImportName: s, namedImports: o, statement: c, moduleSpecifier: _ } = n;
        e.replaceNode(
          t,
          c,
          s && !i ? N.createImportEqualsDeclaration(
            /*modifiers*/
            void 0,
            /*isTypeOnly*/
            !1,
            s,
            N.createExternalModuleReference(_)
          ) : N.createImportDeclaration(
            /*modifiers*/
            void 0,
            N.createImportClause(
              /*isTypeOnly*/
              !1,
              s,
              o
            ),
            _,
            /*attributes*/
            void 0
          )
        );
      }
      function SEe(e, t, n, i) {
        const { parent: s } = mi(e, n);
        f_(
          s,
          /*requireStringLiteralLikeArgument*/
          !0
        ) || E.failBadSyntaxKind(s);
        const o = Us(s.parent, Zn), c = K_(e, i), _ = Mn(o.name, Fe), u = Nf(o.name) ? zGe(o.name) : void 0;
        if (_ || u) {
          const g = xa(s.arguments);
          return {
            allowSyntheticDefaults: Dx(t.getCompilerOptions()),
            defaultImportName: _,
            namedImports: u,
            statement: Us(o.parent.parent, Sc),
            moduleSpecifier: PS(g) ? N.createStringLiteral(
              g.text,
              c === 0
              /* Single */
            ) : g
          };
        }
      }
      function zGe(e) {
        const t = [];
        for (const n of e.elements) {
          if (!Fe(n.name) || n.initializer)
            return;
          t.push(N.createImportSpecifier(
            /*isTypeOnly*/
            !1,
            Mn(n.propertyName, Fe),
            n.name
          ));
        }
        if (t.length)
          return N.createNamedImports(t);
      }
      var Kle = "useDefaultImport", TEe = [p.Import_may_be_converted_to_a_default_import.code];
      Ys({
        errorCodes: TEe,
        getCodeActions(e) {
          const { sourceFile: t, span: { start: n } } = e, i = xEe(t, n);
          if (!i) return;
          const s = nn.ChangeTracker.with(e, (o) => kEe(o, t, i, e.preferences));
          return [Rs(Kle, s, p.Convert_to_default_import, Kle, p.Convert_all_to_default_imports)];
        },
        fixIds: [Kle],
        getAllCodeActions: (e) => Xa(e, TEe, (t, n) => {
          const i = xEe(n.file, n.start);
          i && kEe(t, n.file, i, e.preferences);
        })
      });
      function xEe(e, t) {
        const n = mi(e, t);
        if (!Fe(n)) return;
        const { parent: i } = n;
        if (bl(i) && Mh(i.moduleReference))
          return { importNode: i, name: n, moduleSpecifier: i.moduleReference.expression };
        if (Hg(i) && Uo(i.parent.parent)) {
          const s = i.parent.parent;
          return { importNode: s, name: n, moduleSpecifier: s.moduleSpecifier };
        }
      }
      function kEe(e, t, n, i) {
        e.replaceNode(t, n.importNode, p1(
          n.name,
          /*namedImports*/
          void 0,
          n.moduleSpecifier,
          K_(t, i)
        ));
      }
      var eue = "useBigintLiteral", CEe = [
        p.Numeric_literals_with_absolute_values_equal_to_2_53_or_greater_are_too_large_to_be_represented_accurately_as_integers.code
      ];
      Ys({
        errorCodes: CEe,
        getCodeActions: function(t) {
          const n = nn.ChangeTracker.with(t, (i) => EEe(i, t.sourceFile, t.span));
          if (n.length > 0)
            return [Rs(eue, n, p.Convert_to_a_bigint_numeric_literal, eue, p.Convert_all_to_bigint_numeric_literals)];
        },
        fixIds: [eue],
        getAllCodeActions: (e) => Xa(e, CEe, (t, n) => EEe(t, n.file, n))
      });
      function EEe(e, t, n) {
        const i = Mn(mi(t, n.start), m_);
        if (!i)
          return;
        const s = i.getText(t) + "n";
        e.replaceNode(t, i, N.createBigIntLiteral(s));
      }
      var WGe = "fixAddModuleReferTypeMissingTypeof", tue = WGe, DEe = [p.Module_0_does_not_refer_to_a_type_but_is_used_as_a_type_here_Did_you_mean_typeof_import_0.code];
      Ys({
        errorCodes: DEe,
        getCodeActions: function(t) {
          const { sourceFile: n, span: i } = t, s = wEe(n, i.start), o = nn.ChangeTracker.with(t, (c) => PEe(c, n, s));
          return [Rs(tue, o, p.Add_missing_typeof, tue, p.Add_missing_typeof)];
        },
        fixIds: [tue],
        getAllCodeActions: (e) => Xa(e, DEe, (t, n) => PEe(t, e.sourceFile, wEe(n.file, n.start)))
      });
      function wEe(e, t) {
        const n = mi(e, t);
        return E.assert(n.kind === 102, "This token should be an ImportKeyword"), E.assert(n.parent.kind === 205, "Token parent should be an ImportType"), n.parent;
      }
      function PEe(e, t, n) {
        const i = N.updateImportTypeNode(
          n,
          n.argument,
          n.attributes,
          n.qualifier,
          n.typeArguments,
          /*isTypeOf*/
          !0
        );
        e.replaceNode(t, n, i);
      }
      var rue = "wrapJsxInFragment", NEe = [p.JSX_expressions_must_have_one_parent_element.code];
      Ys({
        errorCodes: NEe,
        getCodeActions: function(t) {
          const { sourceFile: n, span: i } = t, s = AEe(n, i.start);
          if (!s) return;
          const o = nn.ChangeTracker.with(t, (c) => IEe(c, n, s));
          return [Rs(rue, o, p.Wrap_in_JSX_fragment, rue, p.Wrap_all_unparented_JSX_in_JSX_fragment)];
        },
        fixIds: [rue],
        getAllCodeActions: (e) => Xa(e, NEe, (t, n) => {
          const i = AEe(e.sourceFile, n.start);
          i && IEe(t, e.sourceFile, i);
        })
      });
      function AEe(e, t) {
        let s = mi(e, t).parent.parent;
        if (!(!_n(s) && (s = s.parent, !_n(s))) && cc(s.operatorToken))
          return s;
      }
      function IEe(e, t, n) {
        const i = VGe(n);
        i && e.replaceNode(t, n, N.createJsxFragment(N.createJsxOpeningFragment(), i, N.createJsxJsxClosingFragment()));
      }
      function VGe(e) {
        const t = [];
        let n = e;
        for (; ; )
          if (_n(n) && cc(n.operatorToken) && n.operatorToken.kind === 28) {
            if (t.push(n.left), n3(n.right))
              return t.push(n.right), t;
            if (_n(n.right)) {
              n = n.right;
              continue;
            } else return;
          } else return;
      }
      var nue = "wrapDecoratorInParentheses", FEe = [p.Expression_must_be_enclosed_in_parentheses_to_be_used_as_a_decorator.code];
      Ys({
        errorCodes: FEe,
        getCodeActions: function(t) {
          const n = nn.ChangeTracker.with(t, (i) => OEe(i, t.sourceFile, t.span.start));
          return [Rs(nue, n, p.Wrap_in_parentheses, nue, p.Wrap_all_invalid_decorator_expressions_in_parentheses)];
        },
        fixIds: [nue],
        getAllCodeActions: (e) => Xa(e, FEe, (t, n) => OEe(t, n.file, n.start))
      });
      function OEe(e, t, n) {
        const i = mi(t, n), s = _r(i, yl);
        E.assert(!!s, "Expected position to be owned by a decorator.");
        const o = N.createParenthesizedExpression(s.expression);
        e.replaceNode(t, s.expression, o);
      }
      var iue = "fixConvertToMappedObjectType", LEe = [p.An_index_signature_parameter_type_cannot_be_a_literal_type_or_generic_type_Consider_using_a_mapped_object_type_instead.code];
      Ys({
        errorCodes: LEe,
        getCodeActions: function(t) {
          const { sourceFile: n, span: i } = t, s = MEe(n, i.start);
          if (!s) return;
          const o = nn.ChangeTracker.with(t, (_) => REe(_, n, s)), c = Pn(s.container.name);
          return [Rs(iue, o, [p.Convert_0_to_mapped_object_type, c], iue, [p.Convert_0_to_mapped_object_type, c])];
        },
        fixIds: [iue],
        getAllCodeActions: (e) => Xa(e, LEe, (t, n) => {
          const i = MEe(n.file, n.start);
          i && REe(t, n.file, i);
        })
      });
      function MEe(e, t) {
        const n = mi(e, t), i = Mn(n.parent.parent, r1);
        if (!i) return;
        const s = Yl(i.parent) ? i.parent : Mn(i.parent.parent, Ap);
        if (s)
          return { indexSignature: i, container: s };
      }
      function UGe(e, t) {
        return N.createTypeAliasDeclaration(e.modifiers, e.name, e.typeParameters, t);
      }
      function REe(e, t, { indexSignature: n, container: i }) {
        const o = (Yl(i) ? i.members : i.type.members).filter((m) => !r1(m)), c = xa(n.parameters), _ = N.createTypeParameterDeclaration(
          /*modifiers*/
          void 0,
          Us(c.name, Fe),
          c.type
        ), u = N.createMappedTypeNode(
          xS(n) ? N.createModifier(
            148
            /* ReadonlyKeyword */
          ) : void 0,
          _,
          /*nameType*/
          void 0,
          n.questionToken,
          n.type,
          /*members*/
          void 0
        ), g = N.createIntersectionTypeNode([
          ...H4(i),
          u,
          ...o.length ? [N.createTypeLiteralNode(o)] : Ue
        ]);
        e.replaceNode(t, i, UGe(i, g));
      }
      var jEe = "removeAccidentalCallParentheses", qGe = [
        p.This_expression_is_not_callable_because_it_is_a_get_accessor_Did_you_mean_to_use_it_without.code
      ];
      Ys({
        errorCodes: qGe,
        getCodeActions(e) {
          const t = _r(mi(e.sourceFile, e.span.start), Ms);
          if (!t)
            return;
          const n = nn.ChangeTracker.with(e, (i) => {
            i.deleteRange(e.sourceFile, { pos: t.expression.end, end: t.end });
          });
          return [kd(jEe, n, p.Remove_parentheses)];
        },
        fixIds: [jEe]
      });
      var sue = "removeUnnecessaryAwait", BEe = [
        p.await_has_no_effect_on_the_type_of_this_expression.code
      ];
      Ys({
        errorCodes: BEe,
        getCodeActions: function(t) {
          const n = nn.ChangeTracker.with(t, (i) => JEe(i, t.sourceFile, t.span));
          if (n.length > 0)
            return [Rs(sue, n, p.Remove_unnecessary_await, sue, p.Remove_all_unnecessary_uses_of_await)];
        },
        fixIds: [sue],
        getAllCodeActions: (e) => Xa(e, BEe, (t, n) => JEe(t, n.file, n))
      });
      function JEe(e, t, n) {
        const i = Mn(
          mi(t, n.start),
          (_) => _.kind === 135
          /* AwaitKeyword */
        ), s = i && Mn(i.parent, n1);
        if (!s)
          return;
        let o = s;
        if (Zu(s.parent)) {
          const _ = n6(
            s.expression,
            /*stopAtCallExpressions*/
            !1
          );
          if (Fe(_)) {
            const u = cl(s.parent.pos, t);
            u && u.kind !== 105 && (o = s.parent);
          }
        }
        e.replaceNode(t, o, s.expression);
      }
      var zEe = [p.A_type_only_import_can_specify_a_default_import_or_named_bindings_but_not_both.code], aue = "splitTypeOnlyImport";
      Ys({
        errorCodes: zEe,
        fixIds: [aue],
        getCodeActions: function(t) {
          const n = nn.ChangeTracker.with(t, (i) => VEe(i, WEe(t.sourceFile, t.span), t));
          if (n.length)
            return [Rs(aue, n, p.Split_into_two_separate_import_declarations, aue, p.Split_all_invalid_type_only_imports)];
        },
        getAllCodeActions: (e) => Xa(e, zEe, (t, n) => {
          VEe(t, WEe(e.sourceFile, n), e);
        })
      });
      function WEe(e, t) {
        return _r(mi(e, t.start), Uo);
      }
      function VEe(e, t, n) {
        if (!t)
          return;
        const i = E.checkDefined(t.importClause);
        e.replaceNode(
          n.sourceFile,
          t,
          N.updateImportDeclaration(
            t,
            t.modifiers,
            N.updateImportClause(
              i,
              i.isTypeOnly,
              i.name,
              /*namedBindings*/
              void 0
            ),
            t.moduleSpecifier,
            t.attributes
          )
        ), e.insertNodeAfter(
          n.sourceFile,
          t,
          N.createImportDeclaration(
            /*modifiers*/
            void 0,
            N.updateImportClause(
              i,
              i.isTypeOnly,
              /*name*/
              void 0,
              i.namedBindings
            ),
            t.moduleSpecifier,
            t.attributes
          )
        );
      }
      var oue = "fixConvertConstToLet", UEe = [p.Cannot_assign_to_0_because_it_is_a_constant.code];
      Ys({
        errorCodes: UEe,
        getCodeActions: function(t) {
          const { sourceFile: n, span: i, program: s } = t, o = qEe(n, i.start, s);
          if (o === void 0) return;
          const c = nn.ChangeTracker.with(t, (_) => HEe(_, n, o.token));
          return [hce(oue, c, p.Convert_const_to_let, oue, p.Convert_all_const_to_let)];
        },
        getAllCodeActions: (e) => {
          const { program: t } = e, n = /* @__PURE__ */ new Set();
          return dk(nn.ChangeTracker.with(e, (i) => {
            mk(e, UEe, (s) => {
              const o = qEe(s.file, s.start, t);
              if (o && Pp(n, ea(o.symbol)))
                return HEe(i, s.file, o.token);
            });
          }));
        },
        fixIds: [oue]
      });
      function qEe(e, t, n) {
        var i;
        const o = n.getTypeChecker().getSymbolAtLocation(mi(e, t));
        if (o === void 0) return;
        const c = Mn((i = o?.valueDeclaration) == null ? void 0 : i.parent, zl);
        if (c === void 0) return;
        const _ = Za(c, 87, e);
        if (_ !== void 0)
          return { symbol: o, token: _ };
      }
      function HEe(e, t, n) {
        e.replaceNode(t, n, N.createToken(
          121
          /* LetKeyword */
        ));
      }
      var cue = "fixExpectedComma", HGe = p._0_expected.code, GEe = [HGe];
      Ys({
        errorCodes: GEe,
        getCodeActions(e) {
          const { sourceFile: t } = e, n = $Ee(t, e.span.start, e.errorCode);
          if (!n) return;
          const i = nn.ChangeTracker.with(e, (s) => XEe(s, t, n));
          return [Rs(
            cue,
            i,
            [p.Change_0_to_1, ";", ","],
            cue,
            [p.Change_0_to_1, ";", ","]
          )];
        },
        fixIds: [cue],
        getAllCodeActions: (e) => Xa(e, GEe, (t, n) => {
          const i = $Ee(n.file, n.start, n.code);
          i && XEe(t, e.sourceFile, i);
        })
      });
      function $Ee(e, t, n) {
        const i = mi(e, t);
        return i.kind === 27 && i.parent && (ua(i.parent) || Ql(i.parent)) ? { node: i } : void 0;
      }
      function XEe(e, t, { node: n }) {
        const i = N.createToken(
          28
          /* CommaToken */
        );
        e.replaceNode(t, n, i);
      }
      var GGe = "addVoidToPromise", QEe = "addVoidToPromise", YEe = [
        p.Expected_1_argument_but_got_0_new_Promise_needs_a_JSDoc_hint_to_produce_a_resolve_that_can_be_called_without_arguments.code,
        p.Expected_0_arguments_but_got_1_Did_you_forget_to_include_void_in_your_type_argument_to_Promise.code
      ];
      Ys({
        errorCodes: YEe,
        fixIds: [QEe],
        getCodeActions(e) {
          const t = nn.ChangeTracker.with(e, (n) => ZEe(n, e.sourceFile, e.span, e.program));
          if (t.length > 0)
            return [Rs(GGe, t, p.Add_void_to_Promise_resolved_without_a_value, QEe, p.Add_void_to_all_Promises_resolved_without_a_value)];
        },
        getAllCodeActions(e) {
          return Xa(e, YEe, (t, n) => ZEe(t, n.file, n, e.program, /* @__PURE__ */ new Set()));
        }
      });
      function ZEe(e, t, n, i, s) {
        const o = mi(t, n.start);
        if (!Fe(o) || !Ms(o.parent) || o.parent.expression !== o || o.parent.arguments.length !== 0) return;
        const c = i.getTypeChecker(), _ = c.getSymbolAtLocation(o), u = _?.valueDeclaration;
        if (!u || !Ni(u) || !Hb(u.parent.parent) || s?.has(u)) return;
        s?.add(u);
        const g = $Ge(u.parent.parent);
        if (at(g)) {
          const m = g[0], h = !w0(m) && !AS(m) && AS(N.createUnionTypeNode([m, N.createKeywordTypeNode(
            116
            /* VoidKeyword */
          )]).types[0]);
          h && e.insertText(t, m.pos, "("), e.insertText(t, m.end, h ? ") | void" : " | void");
        } else {
          const m = c.getResolvedSignature(o.parent), h = m?.parameters[0], S = h && c.getTypeOfSymbolAtLocation(h, u.parent.parent);
          tn(u) ? (!S || S.flags & 3) && (e.insertText(t, u.parent.parent.end, ")"), e.insertText(t, ca(t.text, u.parent.parent.pos), "/** @type {Promise<void>} */(")) : (!S || S.flags & 2) && e.insertText(t, u.parent.parent.expression.end, "<void>");
        }
      }
      function $Ge(e) {
        var t;
        if (tn(e)) {
          if (Zu(e.parent)) {
            const n = (t = V1(e.parent)) == null ? void 0 : t.typeExpression.type;
            if (n && X_(n) && Fe(n.typeName) && Pn(n.typeName) === "Promise")
              return n.typeArguments;
          }
        } else
          return e.typeArguments;
      }
      var yk = {};
      Ta(yk, {
        CompletionKind: () => m4e,
        CompletionSource: () => e4e,
        SortText: () => Cu,
        StringCompletions: () => RH,
        SymbolOriginInfoKind: () => t4e,
        createCompletionDetails: () => bL,
        createCompletionDetailsForSymbol: () => hue,
        getCompletionEntriesFromSymbols: () => mue,
        getCompletionEntryDetails: () => C$e,
        getCompletionEntrySymbol: () => D$e,
        getCompletionsAtPosition: () => r$e,
        getDefaultCommitCharacters: () => KS,
        getPropertiesForObjectExpression: () => OH,
        moduleSpecifierResolutionCacheAttemptLimit: () => KEe,
        moduleSpecifierResolutionLimit: () => lue
      });
      var lue = 100, KEe = 1e3, Cu = {
        // Presets
        LocalDeclarationPriority: "10",
        LocationPriority: "11",
        OptionalMember: "12",
        MemberDeclaredBySpreadAssignment: "13",
        SuggestedClassMembers: "14",
        GlobalsOrKeywords: "15",
        AutoImportSuggestions: "16",
        ClassMemberSnippets: "17",
        JavascriptIdentifiers: "18",
        // Transformations
        Deprecated(e) {
          return "z" + e;
        },
        ObjectLiteralProperty(e, t) {
          return `${e}\0${t}\0`;
        },
        SortBelow(e) {
          return e + "1";
        }
      }, dm = [".", ",", ";"], EH = [".", ";"], e4e = /* @__PURE__ */ ((e) => (e.ThisProperty = "ThisProperty/", e.ClassMemberSnippet = "ClassMemberSnippet/", e.TypeOnlyAlias = "TypeOnlyAlias/", e.ObjectLiteralMethodSnippet = "ObjectLiteralMethodSnippet/", e.SwitchCases = "SwitchCases/", e.ObjectLiteralMemberWithComma = "ObjectLiteralMemberWithComma/", e))(e4e || {}), t4e = /* @__PURE__ */ ((e) => (e[e.ThisType = 1] = "ThisType", e[e.SymbolMember = 2] = "SymbolMember", e[e.Export = 4] = "Export", e[e.Promise = 8] = "Promise", e[e.Nullable = 16] = "Nullable", e[e.ResolvedExport = 32] = "ResolvedExport", e[e.TypeOnlyAlias = 64] = "TypeOnlyAlias", e[e.ObjectLiteralMethod = 128] = "ObjectLiteralMethod", e[e.Ignore = 256] = "Ignore", e[e.ComputedPropertyName = 512] = "ComputedPropertyName", e[
        e.SymbolMemberNoExport = 2
        /* SymbolMember */
      ] = "SymbolMemberNoExport", e[e.SymbolMemberExport = 6] = "SymbolMemberExport", e))(t4e || {});
      function XGe(e) {
        return !!(e.kind & 1);
      }
      function QGe(e) {
        return !!(e.kind & 2);
      }
      function yL(e) {
        return !!(e && e.kind & 4);
      }
      function Lw(e) {
        return !!(e && e.kind === 32);
      }
      function YGe(e) {
        return yL(e) || Lw(e) || uue(e);
      }
      function ZGe(e) {
        return (yL(e) || Lw(e)) && !!e.isFromPackageJson;
      }
      function KGe(e) {
        return !!(e.kind & 8);
      }
      function e$e(e) {
        return !!(e.kind & 16);
      }
      function r4e(e) {
        return !!(e && e.kind & 64);
      }
      function n4e(e) {
        return !!(e && e.kind & 128);
      }
      function t$e(e) {
        return !!(e && e.kind & 256);
      }
      function uue(e) {
        return !!(e && e.kind & 512);
      }
      function i4e(e, t, n, i, s, o, c, _, u) {
        var g, m, h, S;
        const T = co(), k = c || nN(i.getCompilerOptions()) || ((g = o.autoImportSpecifierExcludeRegexes) == null ? void 0 : g.length);
        let D = !1, w = 0, A = 0, O = 0, F = 0;
        const j = u({
          tryResolve: V,
          skippedAny: () => D,
          resolvedAny: () => A > 0,
          resolvedBeyondLimit: () => A > lue
        }), z = F ? ` (${(O / F * 100).toFixed(1)}% hit rate)` : "";
        return (m = t.log) == null || m.call(t, `${e}: resolved ${A} module specifiers, plus ${w} ambient and ${O} from cache${z}`), (h = t.log) == null || h.call(t, `${e}: response is ${D ? "incomplete" : "complete"}`), (S = t.log) == null || S.call(t, `${e}: ${co() - T}`), j;
        function V(G, W) {
          if (W) {
            const ee = n.getModuleSpecifierForBestExportInfo(G, s, _);
            return ee && w++, ee || "failed";
          }
          const pe = k || o.allowIncompleteCompletions && A < lue, K = !pe && o.allowIncompleteCompletions && F < KEe, U = pe || K ? n.getModuleSpecifierForBestExportInfo(G, s, _, K) : void 0;
          return (!pe && !K || K && !U) && (D = !0), A += U?.computedWithoutCacheCount || 0, O += G.length - (U?.computedWithoutCacheCount || 0), K && F++, U || (k ? "failed" : "skipped");
        }
      }
      function KS(e) {
        return e ? [] : dm;
      }
      function r$e(e, t, n, i, s, o, c, _, u, g, m = !1) {
        var h;
        const { previousToken: S } = NH(s, i);
        if (c && !ok(i, s, S) && !j$e(i, c, S, s))
          return;
        if (c === " ")
          return o.includeCompletionsForImportStatements && o.includeCompletionsWithInsertText ? {
            isGlobalCompletion: !0,
            isMemberCompletion: !1,
            isNewIdentifierLocation: !0,
            isIncomplete: !0,
            entries: [],
            defaultCommitCharacters: KS(
              /*isNewIdentifierLocation*/
              !0
            )
          } : void 0;
        const T = t.getCompilerOptions(), k = t.getTypeChecker(), D = o.allowIncompleteCompletions ? (h = e.getIncompleteCompletionsCache) == null ? void 0 : h.call(e) : void 0;
        if (D && _ === 3 && S && Fe(S)) {
          const O = n$e(D, i, S, t, e, o, u, s);
          if (O)
            return O;
        } else
          D?.clear();
        const w = RH.getStringLiteralCompletions(i, s, S, T, e, t, n, o, m);
        if (w)
          return w;
        if (S && C4(S.parent) && (S.kind === 83 || S.kind === 88 || S.kind === 80))
          return x$e(S.parent);
        const A = g4e(
          t,
          n,
          i,
          T,
          s,
          o,
          /*detailsEntryId*/
          void 0,
          e,
          g,
          u
        );
        if (A)
          switch (A.kind) {
            case 0:
              const O = c$e(i, e, t, T, n, A, o, g, s, m);
              return O?.isIncomplete && D?.set(O), O;
            case 1:
              return _ue([
                ...Dv.getJSDocTagNameCompletions(),
                ...a4e(
                  i,
                  s,
                  k,
                  T,
                  o,
                  /*tagNameOnly*/
                  !0
                )
              ]);
            case 2:
              return _ue([
                ...Dv.getJSDocTagCompletions(),
                ...a4e(
                  i,
                  s,
                  k,
                  T,
                  o,
                  /*tagNameOnly*/
                  !1
                )
              ]);
            case 3:
              return _ue(Dv.getJSDocParameterNameCompletions(A.tag));
            case 4:
              return a$e(A.keywordCompletions, A.isNewIdentifierLocation);
            default:
              return E.assertNever(A);
          }
      }
      function vL(e, t) {
        var n, i;
        let s = PP(e.sortText, t.sortText);
        return s === 0 && (s = PP(e.name, t.name)), s === 0 && ((n = e.data) != null && n.moduleSpecifier) && ((i = t.data) != null && i.moduleSpecifier) && (s = uN(
          e.data.moduleSpecifier,
          t.data.moduleSpecifier
        )), s === 0 ? -1 : s;
      }
      function s4e(e) {
        return !!e?.moduleSpecifier;
      }
      function n$e(e, t, n, i, s, o, c, _) {
        const u = e.get();
        if (!u) return;
        const g = h_(t, _), m = n.text.toLowerCase(), h = GA(t, s, i, o, c), S = i4e(
          "continuePreviousIncompleteResponse",
          s,
          ku.createImportSpecifierResolver(t, i, s, o),
          i,
          n.getStart(),
          o,
          /*isForImportStatementCompletion*/
          !1,
          ev(n),
          (T) => {
            const k = Oi(u.entries, (D) => {
              var w;
              if (!D.hasAction || !D.source || !D.data || s4e(D.data))
                return D;
              if (!A4e(D.name, m))
                return;
              const { origin: A } = E.checkDefined(h4e(D.name, D.data, i, s)), O = h.get(t.path, D.data.exportMapKey), F = O && T.tryResolve(O, !Cl(wp(A.moduleSymbol.name)));
              if (F === "skipped") return D;
              if (!F || F === "failed") {
                (w = s.log) == null || w.call(s, `Unexpected failure resolving auto import for '${D.name}' from '${D.source}'`);
                return;
              }
              const j = {
                ...A,
                kind: 32,
                moduleSpecifier: F.moduleSpecifier
              };
              return D.data = p4e(j), D.source = due(j), D.sourceDisplay = [Lf(j.moduleSpecifier)], D;
            });
            return T.skippedAny() || (u.isIncomplete = void 0), k;
          }
        );
        return u.entries = S, u.flags = (u.flags || 0) | 4, u.optionalReplacementSpan = l4e(g), u;
      }
      function _ue(e) {
        return {
          isGlobalCompletion: !1,
          isMemberCompletion: !1,
          isNewIdentifierLocation: !1,
          entries: e,
          defaultCommitCharacters: KS(
            /*isNewIdentifierLocation*/
            !1
          )
        };
      }
      function a4e(e, t, n, i, s, o) {
        const c = mi(e, t);
        if (!OC(c) && !bd(c))
          return [];
        const _ = bd(c) ? c : c.parent;
        if (!bd(_))
          return [];
        const u = _.parent;
        if (!Ts(u))
          return [];
        const g = $u(e), m = s.includeCompletionsWithSnippetText || void 0, h = d0(_.tags, (S) => Af(S) && S.getEnd() <= t);
        return Oi(u.parameters, (S) => {
          if (!wC(S).length) {
            if (Fe(S.name)) {
              const T = { tabstop: 1 }, k = S.name.text;
              let D = l8(
                k,
                S.initializer,
                S.dotDotDotToken,
                g,
                /*isObject*/
                !1,
                /*isSnippet*/
                !1,
                n,
                i,
                s
              ), w = m ? l8(
                k,
                S.initializer,
                S.dotDotDotToken,
                g,
                /*isObject*/
                !1,
                /*isSnippet*/
                !0,
                n,
                i,
                s,
                T
              ) : void 0;
              return o && (D = D.slice(1), w && (w = w.slice(1))), {
                name: D,
                kind: "parameter",
                sortText: Cu.LocationPriority,
                insertText: m ? w : void 0,
                isSnippet: m
              };
            } else if (S.parent.parameters.indexOf(S) === h) {
              const T = `param${h}`, k = o4e(
                T,
                S.name,
                S.initializer,
                S.dotDotDotToken,
                g,
                /*isSnippet*/
                !1,
                n,
                i,
                s
              ), D = m ? o4e(
                T,
                S.name,
                S.initializer,
                S.dotDotDotToken,
                g,
                /*isSnippet*/
                !0,
                n,
                i,
                s
              ) : void 0;
              let w = k.join(x0(i) + "* "), A = D?.join(x0(i) + "* ");
              return o && (w = w.slice(1), A && (A = A.slice(1))), {
                name: w,
                kind: "parameter",
                sortText: Cu.LocationPriority,
                insertText: m ? A : void 0,
                isSnippet: m
              };
            }
          }
        });
      }
      function o4e(e, t, n, i, s, o, c, _, u) {
        if (!s)
          return [
            l8(
              e,
              n,
              i,
              s,
              /*isObject*/
              !1,
              o,
              c,
              _,
              u,
              { tabstop: 1 }
            )
          ];
        return g(e, t, n, i, { tabstop: 1 });
        function g(h, S, T, k, D) {
          if (Nf(S) && !k) {
            const A = { tabstop: D.tabstop }, O = l8(
              h,
              T,
              k,
              s,
              /*isObject*/
              !0,
              o,
              c,
              _,
              u,
              A
            );
            let F = [];
            for (const j of S.elements) {
              const z = m(h, j, A);
              if (z)
                F.push(...z);
              else {
                F = void 0;
                break;
              }
            }
            if (F)
              return D.tabstop = A.tabstop, [O, ...F];
          }
          return [
            l8(
              h,
              T,
              k,
              s,
              /*isObject*/
              !1,
              o,
              c,
              _,
              u,
              D
            )
          ];
        }
        function m(h, S, T) {
          if (!S.propertyName && Fe(S.name) || Fe(S.name)) {
            const k = S.propertyName ? L4(S.propertyName) : S.name.text;
            if (!k)
              return;
            const D = `${h}.${k}`;
            return [
              l8(
                D,
                S.initializer,
                S.dotDotDotToken,
                s,
                /*isObject*/
                !1,
                o,
                c,
                _,
                u,
                T
              )
            ];
          } else if (S.propertyName) {
            const k = L4(S.propertyName);
            return k && g(`${h}.${k}`, S.name, S.initializer, S.dotDotDotToken, T);
          }
        }
      }
      function l8(e, t, n, i, s, o, c, _, u, g) {
        if (o && E.assertIsDefined(g), t && (e = i$e(e, t)), o && (e = zb(e)), i) {
          let m = "*";
          if (s)
            E.assert(!n, "Cannot annotate a rest parameter with type 'Object'."), m = "Object";
          else {
            if (t) {
              const T = c.getTypeAtLocation(t.parent);
              if (!(T.flags & 16385)) {
                const k = t.getSourceFile(), w = K_(k, u) === 0 ? 268435456 : 0, A = c.typeToTypeNode(T, _r(t, Ts), w);
                if (A) {
                  const O = o ? PH({
                    removeComments: !0,
                    module: _.module,
                    moduleResolution: _.moduleResolution,
                    target: _.target
                  }) : u1({
                    removeComments: !0,
                    module: _.module,
                    moduleResolution: _.moduleResolution,
                    target: _.target
                  });
                  an(
                    A,
                    1
                    /* SingleLine */
                  ), m = O.printNode(4, A, k);
                }
              }
            }
            o && m === "*" && (m = `\${${g.tabstop++}:${m}}`);
          }
          const h = !s && n ? "..." : "", S = o ? `\${${g.tabstop++}}` : "";
          return `@param {${h}${m}} ${e} ${S}`;
        } else {
          const m = o ? `\${${g.tabstop++}}` : "";
          return `@param ${e} ${m}`;
        }
      }
      function i$e(e, t) {
        const n = t.getText().trim();
        return n.includes(`
`) || n.length > 80 ? `[${e}]` : `[${e}=${n}]`;
      }
      function s$e(e) {
        return {
          name: Qs(e),
          kind: "keyword",
          kindModifiers: "",
          sortText: Cu.GlobalsOrKeywords
        };
      }
      function a$e(e, t) {
        return {
          isGlobalCompletion: !1,
          isMemberCompletion: !1,
          isNewIdentifierLocation: t,
          entries: e.slice(),
          defaultCommitCharacters: KS(t)
        };
      }
      function c4e(e, t, n) {
        return {
          kind: 4,
          keywordCompletions: v4e(e, t),
          isNewIdentifierLocation: n
        };
      }
      function o$e(e) {
        switch (e) {
          case 156:
            return 8;
          default:
            E.fail("Unknown mapping from SyntaxKind to KeywordCompletionFilters");
        }
      }
      function l4e(e) {
        return e?.kind === 80 ? t_(e) : void 0;
      }
      function c$e(e, t, n, i, s, o, c, _, u, g) {
        const {
          symbols: m,
          contextToken: h,
          completionKind: S,
          isInSnippetScope: T,
          isNewIdentifierLocation: k,
          location: D,
          propertyAccessToConvert: w,
          keywordFilters: A,
          symbolToOriginInfoMap: O,
          recommendedCompletion: F,
          isJsxInitializer: j,
          isTypeOnlyLocation: z,
          isJsxIdentifierExpected: V,
          isRightOfOpenTag: G,
          isRightOfDotOrQuestionDot: W,
          importStatementCompletion: pe,
          insideJsDocTagTypeExpression: K,
          symbolToSortTextMap: U,
          hasUnresolvedAutoImports: ee,
          defaultCommitCharacters: te
        } = o;
        let ie = o.literals;
        const fe = n.getTypeChecker();
        if (tN(e.scriptKind) === 1) {
          const re = u$e(D, e);
          if (re)
            return re;
        }
        const me = _r(h, h6);
        if (me && (kte(h) || Ab(h, me.expression))) {
          const re = V9(fe, me.parent.clauses);
          ie = ie.filter((xe) => !re.hasValue(xe)), m.forEach((xe, ue) => {
            if (xe.valueDeclaration && A0(xe.valueDeclaration)) {
              const Xe = fe.getConstantValue(xe.valueDeclaration);
              Xe !== void 0 && re.hasValue(Xe) && (O[ue] = {
                kind: 256
                /* Ignore */
              });
            }
          });
        }
        const q = xR(), he = u4e(e, i);
        if (he && !k && (!m || m.length === 0) && A === 0)
          return;
        const Me = mue(
          m,
          q,
          /*replacementToken*/
          void 0,
          h,
          D,
          u,
          e,
          t,
          n,
          ga(i),
          s,
          S,
          c,
          i,
          _,
          z,
          w,
          V,
          j,
          pe,
          F,
          O,
          U,
          V,
          G,
          g
        );
        if (A !== 0)
          for (const re of v4e(A, !K && $u(e)))
            (z && hw(iS(re.name)) || !z && G$e(re.name) || !Me.has(re.name)) && (Me.add(re.name), Ty(
              q,
              re,
              vL,
              /*equalityComparer*/
              void 0,
              /*allowDuplicates*/
              !0
            ));
        for (const re of F$e(h, u))
          Me.has(re.name) || (Me.add(re.name), Ty(
            q,
            re,
            vL,
            /*equalityComparer*/
            void 0,
            /*allowDuplicates*/
            !0
          ));
        for (const re of ie) {
          const xe = f$e(e, c, re);
          Me.add(xe.name), Ty(
            q,
            xe,
            vL,
            /*equalityComparer*/
            void 0,
            /*allowDuplicates*/
            !0
          );
        }
        he || _$e(e, D.pos, Me, ga(i), q);
        let De;
        if (c.includeCompletionsWithInsertText && h && !G && !W && (De = _r(h, OD))) {
          const re = _4e(De, e, c, i, t, n, _);
          re && q.push(re.entry);
        }
        return {
          flags: o.flags,
          isGlobalCompletion: T,
          isIncomplete: c.allowIncompleteCompletions && ee ? !0 : void 0,
          isMemberCompletion: l$e(S),
          isNewIdentifierLocation: k,
          optionalReplacementSpan: l4e(D),
          entries: q,
          defaultCommitCharacters: te ?? KS(k)
        };
      }
      function u4e(e, t) {
        return !$u(e) || !!pD(e, t);
      }
      function _4e(e, t, n, i, s, o, c) {
        const _ = e.clauses, u = o.getTypeChecker(), g = u.getTypeAtLocation(e.parent.expression);
        if (g && g.isUnion() && Pi(g.types, (m) => m.isLiteral())) {
          const m = V9(u, _), h = ga(i), S = K_(t, n), T = ku.createImportAdder(t, o, n, s), k = [];
          for (const z of g.types)
            if (z.flags & 1024) {
              E.assert(z.symbol, "An enum member type should have a symbol"), E.assert(z.symbol.parent, "An enum member type should have a parent symbol (the enum symbol)");
              const V = z.symbol.valueDeclaration && u.getConstantValue(z.symbol.valueDeclaration);
              if (V !== void 0) {
                if (m.hasValue(V))
                  continue;
                m.addValue(V);
              }
              const G = ku.typeToAutoImportableTypeNode(u, T, z, e, h);
              if (!G)
                return;
              const W = DH(G, h, S);
              if (!W)
                return;
              k.push(W);
            } else if (!m.hasValue(z.value))
              switch (typeof z.value) {
                case "object":
                  k.push(z.value.negative ? N.createPrefixUnaryExpression(41, N.createBigIntLiteral({ negative: !1, base10Value: z.value.base10Value })) : N.createBigIntLiteral(z.value));
                  break;
                case "number":
                  k.push(z.value < 0 ? N.createPrefixUnaryExpression(41, N.createNumericLiteral(-z.value)) : N.createNumericLiteral(z.value));
                  break;
                case "string":
                  k.push(N.createStringLiteral(
                    z.value,
                    S === 0
                    /* Single */
                  ));
                  break;
              }
          if (k.length === 0)
            return;
          const D = fr(k, (z) => N.createCaseClause(z, [])), w = Jh(s, c?.options), A = PH({
            removeComments: !0,
            module: i.module,
            moduleResolution: i.moduleResolution,
            target: i.target,
            newLine: HA(w)
          }), O = c ? (z) => A.printAndFormatNode(4, z, t, c) : (z) => A.printNode(4, z, t), F = fr(D, (z, V) => n.includeCompletionsWithSnippetText ? `${O(z)}$${V + 1}` : `${O(z)}`).join(w);
          return {
            entry: {
              name: `${A.printNode(4, D[0], t)} ...`,
              kind: "",
              sortText: Cu.GlobalsOrKeywords,
              insertText: F,
              hasAction: T.hasFixes() || void 0,
              source: "SwitchCases/",
              isSnippet: n.includeCompletionsWithSnippetText ? !0 : void 0
            },
            importAdder: T
          };
        }
      }
      function DH(e, t, n) {
        switch (e.kind) {
          case 183:
            const i = e.typeName;
            return wH(i, t, n);
          case 199:
            const s = DH(e.objectType, t, n), o = DH(e.indexType, t, n);
            return s && o && N.createElementAccessExpression(s, o);
          case 201:
            const c = e.literal;
            switch (c.kind) {
              case 11:
                return N.createStringLiteral(
                  c.text,
                  n === 0
                  /* Single */
                );
              case 9:
                return N.createNumericLiteral(c.text, c.numericLiteralFlags);
            }
            return;
          case 196:
            const _ = DH(e.type, t, n);
            return _ && (Fe(_) ? _ : N.createParenthesizedExpression(_));
          case 186:
            return wH(e.exprName, t, n);
          case 205:
            E.fail("We should not get an import type after calling 'codefix.typeToAutoImportableTypeNode'.");
        }
      }
      function wH(e, t, n) {
        if (Fe(e))
          return e;
        const i = Ei(e.right.escapedText);
        return LJ(i, t) ? N.createPropertyAccessExpression(
          wH(e.left, t, n),
          i
        ) : N.createElementAccessExpression(
          wH(e.left, t, n),
          N.createStringLiteral(
            i,
            n === 0
            /* Single */
          )
        );
      }
      function l$e(e) {
        switch (e) {
          case 0:
          case 3:
          case 2:
            return !0;
          default:
            return !1;
        }
      }
      function u$e(e, t) {
        const n = _r(e, (i) => {
          switch (i.kind) {
            case 287:
              return !0;
            case 44:
            case 32:
            case 80:
            case 211:
              return !1;
            default:
              return "quit";
          }
        });
        if (n) {
          const i = !!Za(n, 32, t), c = n.parent.openingElement.tagName.getText(t) + (i ? "" : ">"), _ = t_(n.tagName), u = {
            name: c,
            kind: "class",
            kindModifiers: void 0,
            sortText: Cu.LocationPriority
          };
          return {
            isGlobalCompletion: !1,
            isMemberCompletion: !0,
            isNewIdentifierLocation: !1,
            optionalReplacementSpan: _,
            entries: [u],
            defaultCommitCharacters: KS(
              /*isNewIdentifierLocation*/
              !1
            )
          };
        }
      }
      function _$e(e, t, n, i, s) {
        Qq(e).forEach((o, c) => {
          if (o === t)
            return;
          const _ = Ei(c);
          !n.has(_) && C_(_, i) && (n.add(_), Ty(s, {
            name: _,
            kind: "warning",
            kindModifiers: "",
            sortText: Cu.JavascriptIdentifiers,
            isFromUncheckedFile: !0,
            commitCharacters: []
          }, vL));
        });
      }
      function fue(e, t, n) {
        return typeof n == "object" ? Jb(n) + "n" : cs(n) ? xw(e, t, n) : JSON.stringify(n);
      }
      function f$e(e, t, n) {
        return {
          name: fue(e, t, n),
          kind: "string",
          kindModifiers: "",
          sortText: Cu.LocationPriority,
          commitCharacters: []
        };
      }
      function p$e(e, t, n, i, s, o, c, _, u, g, m, h, S, T, k, D, w, A, O, F, j, z, V, G) {
        var W, pe;
        let K, U, ee = wU(n, o), te, ie, fe = due(h), me, q, he;
        const Me = u.getTypeChecker(), De = h && e$e(h), re = h && QGe(h) || m;
        if (h && XGe(h))
          K = m ? `this${De ? "?." : ""}[${pue(c, O, g)}]` : `this${De ? "?." : "."}${g}`;
        else if ((re || De) && T) {
          K = re ? m ? `[${pue(c, O, g)}]` : `[${g}]` : g, (De || T.questionDotToken) && (K = `?.${K}`);
          const nt = Za(T, 25, c) || Za(T, 29, c);
          if (!nt)
            return;
          const oe = Wi(g, T.name.text) ? T.name.end : nt.end;
          ee = wc(nt.getStart(c), oe);
        }
        if (k && (K === void 0 && (K = g), K = `{${K}}`, typeof k != "boolean" && (ee = t_(k, c))), h && KGe(h) && T) {
          K === void 0 && (K = g);
          const nt = cl(T.pos, c);
          let oe = "";
          nt && O9(nt.end, nt.parent, c) && (oe = ";"), oe += `(await ${T.expression.getText()})`, K = m ? `${oe}${K}` : `${oe}${De ? "?." : "."}${K}`;
          const se = Mn(T.parent, n1) ? T.parent : T.expression;
          ee = wc(se.getStart(c), T.end);
        }
        if (Lw(h) && (me = [Lf(h.moduleSpecifier)], D && ({ insertText: K, replacementSpan: ee } = S$e(g, D, h, w, c, u, O), ie = O.includeCompletionsWithSnippetText ? !0 : void 0)), h?.kind === 64 && (q = !0), F === 0 && i && ((W = cl(i.pos, c, i)) == null ? void 0 : W.kind) !== 28 && (uc(i.parent.parent) || ap(i.parent.parent) || P_(i.parent.parent) || Gg(i.parent) || ((pe = _r(i.parent, tl)) == null ? void 0 : pe.getLastToken(c)) === i || _u(i.parent) && Js(c, i.getEnd()).line !== Js(c, o).line) && (fe = "ObjectLiteralMemberWithComma/", q = !0), O.includeCompletionsWithClassMemberSnippets && O.includeCompletionsWithInsertText && F === 3 && m$e(e, s, c)) {
          let nt;
          const oe = f4e(
            _,
            u,
            A,
            O,
            g,
            e,
            s,
            o,
            i,
            j
          );
          if (oe)
            ({ insertText: K, filterText: U, isSnippet: ie, importAdder: nt } = oe), (nt?.hasFixes() || oe.eraseRange) && (q = !0, fe = "ClassMemberSnippet/");
          else
            return;
        }
        if (h && n4e(h) && ({ insertText: K, isSnippet: ie, labelDetails: he } = h, O.useLabelDetailsInCompletionEntries || (g = g + he.detail, he = void 0), fe = "ObjectLiteralMethodSnippet/", t = Cu.SortBelow(t)), z && !V && O.includeCompletionsWithSnippetText && O.jsxAttributeCompletionStyle && O.jsxAttributeCompletionStyle !== "none" && !(um(s.parent) && s.parent.initializer)) {
          let nt = O.jsxAttributeCompletionStyle === "braces";
          const oe = Me.getTypeOfSymbolAtLocation(e, s);
          O.jsxAttributeCompletionStyle === "auto" && !(oe.flags & 528) && !(oe.flags & 1048576 && Dn(oe.types, (ve) => !!(ve.flags & 528))) && (oe.flags & 402653316 || oe.flags & 1048576 && Pi(oe.types, (ve) => !!(ve.flags & 402686084 || tae(ve))) ? (K = `${zb(g)}=${xw(c, O, "$1")}`, ie = !0) : nt = !0), nt && (K = `${zb(g)}={$1}`, ie = !0);
        }
        if (K !== void 0 && !O.includeCompletionsWithInsertText)
          return;
        (yL(h) || Lw(h)) && (te = p4e(h), q = !D);
        const xe = _r(s, F5);
        if (xe) {
          const nt = ga(_.getCompilationSettings());
          if (!C_(g, nt))
            K = pue(c, O, g), xe.kind === 275 && (Wl.setText(c.text), Wl.resetTokenState(o), Wl.scan() === 130 && Wl.scan() === 80 || (K += " as " + d$e(g, nt)));
          else if (xe.kind === 275) {
            const oe = iS(g);
            oe && (oe === 135 || AB(oe)) && (K = `${g} as ${g}_`);
          }
        }
        const ue = j0.getSymbolKind(Me, e, s), Xe = ue === "warning" || ue === "string" ? [] : void 0;
        return {
          name: g,
          kind: ue,
          kindModifiers: j0.getSymbolModifiers(Me, e),
          sortText: t,
          source: fe,
          hasAction: q ? !0 : void 0,
          isRecommended: T$e(e, S, Me) || void 0,
          insertText: K,
          filterText: U,
          replacementSpan: ee,
          sourceDisplay: me,
          labelDetails: he,
          isSnippet: ie,
          isPackageJsonImport: ZGe(h) || void 0,
          isImportStatementCompletion: !!D || void 0,
          data: te,
          commitCharacters: Xe,
          ...G ? { symbol: e } : void 0
        };
      }
      function d$e(e, t) {
        let n = !1, i = "", s;
        for (let o = 0; o < e.length; o += s !== void 0 && s >= 65536 ? 2 : 1)
          s = e.codePointAt(o), s !== void 0 && (o === 0 ? Um(s, t) : kh(s, t)) ? (n && (i += "_"), i += String.fromCodePoint(s), n = !1) : n = !0;
        return n && (i += "_"), i || "_";
      }
      function m$e(e, t, n) {
        return tn(t) ? !1 : !!(e.flags & 106500) && (Xn(t) || t.parent && t.parent.parent && Jc(t.parent) && t === t.parent.name && t.parent.getLastToken(n) === t.parent.name && Xn(t.parent.parent) || t.parent && S6(t) && Xn(t.parent));
      }
      function f4e(e, t, n, i, s, o, c, _, u, g) {
        const m = _r(c, Xn);
        if (!m)
          return;
        let h, S = s;
        const T = s, k = t.getTypeChecker(), D = c.getSourceFile(), w = PH({
          removeComments: !0,
          module: n.module,
          moduleResolution: n.moduleResolution,
          target: n.target,
          omitTrailingSemicolon: !1,
          newLine: HA(Jh(e, g?.options))
        }), A = ku.createImportAdder(D, t, i, e);
        let O;
        if (i.includeCompletionsWithSnippetText) {
          h = !0;
          const pe = N.createEmptyStatement();
          O = N.createBlock(
            [pe],
            /*multiLine*/
            !0
          ), ZJ(pe, { kind: 0, order: 0 });
        } else
          O = N.createBlock(
            [],
            /*multiLine*/
            !0
          );
        let F = 0;
        const { modifiers: j, range: z, decorators: V } = g$e(u, D, _), G = j & 64 && m.modifierFlagsCache & 64;
        let W = [];
        if (ku.addNewNodeForMemberSymbol(
          o,
          m,
          D,
          { program: t, host: e },
          i,
          A,
          // `addNewNodeForMemberSymbol` calls this callback function for each new member node
          // it adds for the given member symbol.
          // We store these member nodes in the `completionNodes` array.
          // Note: there might be:
          //  - No nodes if `addNewNodeForMemberSymbol` cannot figure out a node for the member;
          //  - One node;
          //  - More than one node if the member is overloaded (e.g. a method with overload signatures).
          (pe) => {
            let K = 0;
            G && (K |= 64), Jc(pe) && k.getMemberOverrideModifierStatus(m, pe, o) === 1 && (K |= 16), W.length || (F = pe.modifierFlagsCache | K), pe = N.replaceModifiers(pe, F), W.push(pe);
          },
          O,
          ku.PreserveOptionalFlags.Property,
          !!G
        ), W.length) {
          const pe = o.flags & 8192;
          let K = F | 16 | 1;
          pe ? K |= 1024 : K |= 136;
          const U = j & K;
          if (j & ~K)
            return;
          if (F & 4 && U & 1 && (F &= -5), U !== 0 && !(U & 1) && (F &= -2), F |= U, W = W.map((te) => N.replaceModifiers(te, F)), V?.length) {
            const te = W[W.length - 1];
            Zb(te) && (W[W.length - 1] = N.replaceDecoratorsAndModifiers(te, V.concat(yb(te) || [])));
          }
          const ee = 131073;
          g ? S = w.printAndFormatSnippetList(
            ee,
            N.createNodeArray(W),
            D,
            g
          ) : S = w.printSnippetList(
            ee,
            N.createNodeArray(W),
            D
          );
        }
        return { insertText: S, filterText: T, isSnippet: h, importAdder: A, eraseRange: z };
      }
      function g$e(e, t, n) {
        if (!e || Js(t, n).line > Js(t, e.getEnd()).line)
          return {
            modifiers: 0
            /* None */
          };
        let i = 0, s, o;
        const c = { pos: n, end: n };
        if (is(e.parent) && (o = h$e(e))) {
          e.parent.modifiers && (i |= rm(e.parent.modifiers) & 98303, s = e.parent.modifiers.filter(yl) || [], c.pos = Math.min(...e.parent.modifiers.map((u) => u.getStart(t))));
          const _ = bx(o);
          i & _ || (i |= _, c.pos = Math.min(c.pos, e.getStart(t))), e.parent.name !== e && (c.end = e.parent.name.getStart(t));
        }
        return { modifiers: i, decorators: s, range: c.pos < c.end ? c : void 0 };
      }
      function h$e(e) {
        if (Ks(e))
          return e.kind;
        if (Fe(e)) {
          const t = sS(e);
          if (t && jy(t))
            return t;
        }
      }
      function y$e(e, t, n, i, s, o, c, _) {
        const u = c.includeCompletionsWithSnippetText || void 0;
        let g = t;
        const m = n.getSourceFile(), h = v$e(e, n, m, i, s, c);
        if (!h)
          return;
        const S = PH({
          removeComments: !0,
          module: o.module,
          moduleResolution: o.moduleResolution,
          target: o.target,
          omitTrailingSemicolon: !1,
          newLine: HA(Jh(s, _?.options))
        });
        _ ? g = S.printAndFormatSnippetList(80, N.createNodeArray(
          [h],
          /*hasTrailingComma*/
          !0
        ), m, _) : g = S.printSnippetList(80, N.createNodeArray(
          [h],
          /*hasTrailingComma*/
          !0
        ), m);
        const T = u1({
          removeComments: !0,
          module: o.module,
          moduleResolution: o.moduleResolution,
          target: o.target,
          omitTrailingSemicolon: !0
        }), k = N.createMethodSignature(
          /*modifiers*/
          void 0,
          /*name*/
          "",
          h.questionToken,
          h.typeParameters,
          h.parameters,
          h.type
        ), D = { detail: T.printNode(4, k, m) };
        return { isSnippet: u, insertText: g, labelDetails: D };
      }
      function v$e(e, t, n, i, s, o) {
        const c = e.getDeclarations();
        if (!(c && c.length))
          return;
        const _ = i.getTypeChecker(), u = c[0], g = qa(
          ls(u),
          /*includeTrivia*/
          !1
        ), m = _.getWidenedType(_.getTypeOfSymbolAtLocation(e, t)), S = 33554432 | (K_(n, o) === 0 ? 268435456 : 0);
        switch (u.kind) {
          case 171:
          case 172:
          case 173:
          case 174: {
            let T = m.flags & 1048576 && m.types.length < 10 ? _.getUnionType(
              m.types,
              2
              /* Subtype */
            ) : m;
            if (T.flags & 1048576) {
              const O = Tn(T.types, (F) => _.getSignaturesOfType(
                F,
                0
                /* Call */
              ).length > 0);
              if (O.length === 1)
                T = O[0];
              else
                return;
            }
            if (_.getSignaturesOfType(
              T,
              0
              /* Call */
            ).length !== 1)
              return;
            const D = _.typeToTypeNode(
              T,
              t,
              S,
              /*internalFlags*/
              void 0,
              ku.getNoopSymbolTrackerWithResolver({ program: i, host: s })
            );
            if (!D || !Ym(D))
              return;
            let w;
            if (o.includeCompletionsWithSnippetText) {
              const O = N.createEmptyStatement();
              w = N.createBlock(
                [O],
                /*multiLine*/
                !0
              ), ZJ(O, { kind: 0, order: 0 });
            } else
              w = N.createBlock(
                [],
                /*multiLine*/
                !0
              );
            const A = D.parameters.map(
              (O) => N.createParameterDeclaration(
                /*modifiers*/
                void 0,
                O.dotDotDotToken,
                O.name,
                /*questionToken*/
                void 0,
                /*type*/
                void 0,
                O.initializer
              )
            );
            return N.createMethodDeclaration(
              /*modifiers*/
              void 0,
              /*asteriskToken*/
              void 0,
              g,
              /*questionToken*/
              void 0,
              /*typeParameters*/
              void 0,
              A,
              /*type*/
              void 0,
              w
            );
          }
          default:
            return;
        }
      }
      function PH(e) {
        let t;
        const n = nn.createWriter(x0(e)), i = u1(e, n), s = {
          ...n,
          write: (S) => o(S, () => n.write(S)),
          nonEscapingWrite: n.write,
          writeLiteral: (S) => o(S, () => n.writeLiteral(S)),
          writeStringLiteral: (S) => o(S, () => n.writeStringLiteral(S)),
          writeSymbol: (S, T) => o(S, () => n.writeSymbol(S, T)),
          writeParameter: (S) => o(S, () => n.writeParameter(S)),
          writeComment: (S) => o(S, () => n.writeComment(S)),
          writeProperty: (S) => o(S, () => n.writeProperty(S))
        };
        return {
          printSnippetList: c,
          printAndFormatSnippetList: u,
          printNode: g,
          printAndFormatNode: h
        };
        function o(S, T) {
          const k = zb(S);
          if (k !== S) {
            const D = n.getTextPos();
            T();
            const w = n.getTextPos();
            t = Dr(t || (t = []), { newText: k, span: { start: D, length: w - D } });
          } else
            T();
        }
        function c(S, T, k) {
          const D = _(S, T, k);
          return t ? nn.applyChanges(D, t) : D;
        }
        function _(S, T, k) {
          return t = void 0, s.clear(), i.writeList(S, T, k, s), s.getText();
        }
        function u(S, T, k, D) {
          const w = {
            text: _(
              S,
              T,
              k
            ),
            getLineAndCharacterOfPosition(j) {
              return Js(this, j);
            }
          }, A = W9(D, k), O = oa(T, (j) => {
            const z = nn.assignPositionsToNode(j);
            return rl.formatNodeGivenIndentation(
              z,
              w,
              k.languageVariant,
              /* indentation */
              0,
              /* delta */
              0,
              { ...D, options: A }
            );
          }), F = t ? J_(Ji(O, t), (j, z) => VI(j.span, z.span)) : O;
          return nn.applyChanges(w.text, F);
        }
        function g(S, T, k) {
          const D = m(S, T, k);
          return t ? nn.applyChanges(D, t) : D;
        }
        function m(S, T, k) {
          return t = void 0, s.clear(), i.writeNode(S, T, k, s), s.getText();
        }
        function h(S, T, k, D) {
          const w = {
            text: m(
              S,
              T,
              k
            ),
            getLineAndCharacterOfPosition(z) {
              return Js(this, z);
            }
          }, A = W9(D, k), O = nn.assignPositionsToNode(T), F = rl.formatNodeGivenIndentation(
            O,
            w,
            k.languageVariant,
            /* indentation */
            0,
            /* delta */
            0,
            { ...D, options: A }
          ), j = t ? J_(Ji(F, t), (z, V) => VI(z.span, V.span)) : F;
          return nn.applyChanges(w.text, j);
        }
      }
      function p4e(e) {
        const t = e.fileName ? void 0 : wp(e.moduleSymbol.name), n = e.isFromPackageJson ? !0 : void 0;
        return Lw(e) ? {
          exportName: e.exportName,
          exportMapKey: e.exportMapKey,
          moduleSpecifier: e.moduleSpecifier,
          ambientModuleName: t,
          fileName: e.fileName,
          isPackageJsonImport: n
        } : {
          exportName: e.exportName,
          exportMapKey: e.exportMapKey,
          fileName: e.fileName,
          ambientModuleName: e.fileName ? void 0 : wp(e.moduleSymbol.name),
          isPackageJsonImport: e.isFromPackageJson ? !0 : void 0
        };
      }
      function b$e(e, t, n) {
        const i = e.exportName === "default", s = !!e.isPackageJsonImport;
        return s4e(e) ? {
          kind: 32,
          exportName: e.exportName,
          exportMapKey: e.exportMapKey,
          moduleSpecifier: e.moduleSpecifier,
          symbolName: t,
          fileName: e.fileName,
          moduleSymbol: n,
          isDefaultExport: i,
          isFromPackageJson: s
        } : {
          kind: 4,
          exportName: e.exportName,
          exportMapKey: e.exportMapKey,
          symbolName: t,
          fileName: e.fileName,
          moduleSymbol: n,
          isDefaultExport: i,
          isFromPackageJson: s
        };
      }
      function S$e(e, t, n, i, s, o, c) {
        const _ = t.replacementSpan, u = zb(xw(s, c, n.moduleSpecifier)), g = n.isDefaultExport ? 1 : n.exportName === "export=" ? 2 : 0, m = c.includeCompletionsWithSnippetText ? "$1" : "", h = ku.getImportKind(
          s,
          g,
          o,
          /*forceImportKeyword*/
          !0
        ), S = t.couldBeTypeOnlyImportSpecifier, T = t.isTopLevelTypeOnly ? ` ${Qs(
          156
          /* TypeKeyword */
        )} ` : " ", k = S ? `${Qs(
          156
          /* TypeKeyword */
        )} ` : "", D = i ? ";" : "";
        switch (h) {
          case 3:
            return { replacementSpan: _, insertText: `import${T}${zb(e)}${m} = require(${u})${D}` };
          case 1:
            return { replacementSpan: _, insertText: `import${T}${zb(e)}${m} from ${u}${D}` };
          case 2:
            return { replacementSpan: _, insertText: `import${T}* as ${zb(e)} from ${u}${D}` };
          case 0:
            return { replacementSpan: _, insertText: `import${T}{ ${k}${zb(e)}${m} } from ${u}${D}` };
        }
      }
      function pue(e, t, n) {
        return /^\d+$/.test(n) ? n : xw(e, t, n);
      }
      function T$e(e, t, n) {
        return e === t || !!(e.flags & 1048576) && n.getExportSymbolOfSymbol(e) === t;
      }
      function due(e) {
        if (yL(e))
          return wp(e.moduleSymbol.name);
        if (Lw(e))
          return e.moduleSpecifier;
        if (e?.kind === 1)
          return "ThisProperty/";
        if (e?.kind === 64)
          return "TypeOnlyAlias/";
      }
      function mue(e, t, n, i, s, o, c, _, u, g, m, h, S, T, k, D, w, A, O, F, j, z, V, G, W, pe = !1) {
        const K = co(), U = V$e(i, s), ee = WA(c), te = u.getTypeChecker(), ie = /* @__PURE__ */ new Map();
        for (let q = 0; q < e.length; q++) {
          const he = e[q], Me = z?.[q], De = AH(he, g, Me, h, !!A);
          if (!De || ie.get(De.name) && (!Me || !n4e(Me)) || h === 1 && V && !fe(he, V) || !D && tn(c) && me(he))
            continue;
          const { name: re, needsConvertPropertyAccess: xe } = De, ue = V?.[ea(he)] ?? Cu.LocationPriority, Xe = q$e(he, te) ? Cu.Deprecated(ue) : ue, nt = p$e(
            he,
            Xe,
            n,
            i,
            s,
            o,
            c,
            _,
            u,
            re,
            xe,
            Me,
            j,
            w,
            O,
            F,
            ee,
            T,
            S,
            h,
            k,
            G,
            W,
            pe
          );
          if (!nt)
            continue;
          const oe = (!Me || r4e(Me)) && !(he.parent === void 0 && !at(he.declarations, (ve) => ve.getSourceFile() === s.getSourceFile()));
          ie.set(re, oe), Ty(
            t,
            nt,
            vL,
            /*equalityComparer*/
            void 0,
            /*allowDuplicates*/
            !0
          );
        }
        return m("getCompletionsAtPosition: getCompletionEntriesFromSymbols: " + (co() - K)), {
          has: (q) => ie.has(q),
          add: (q) => ie.set(q, !0)
        };
        function fe(q, he) {
          var Me;
          let De = q.flags;
          if (!xi(s)) {
            if (Oo(s.parent))
              return !0;
            if (Mn(U, Zn) && q.valueDeclaration === U)
              return !1;
            const re = q.valueDeclaration ?? ((Me = q.declarations) == null ? void 0 : Me[0]);
            if (U && re) {
              if (Ni(U) && Ni(re)) {
                const ue = U.parent.parameters;
                if (re.pos >= U.pos && re.pos < ue.end)
                  return !1;
              } else if (Fo(U) && Fo(re)) {
                if (U === re && i?.kind === 96)
                  return !1;
                if (U$e(i) && !NS(U.parent)) {
                  const ue = U.parent.typeParameters;
                  if (ue && re.pos >= U.pos && re.pos < ue.end)
                    return !1;
                }
              }
            }
            const xe = $l(q, te);
            if (c.externalModuleIndicator && !T.allowUmdGlobalAccess && he[ea(q)] === Cu.GlobalsOrKeywords && (he[ea(xe)] === Cu.AutoImportSuggestions || he[ea(xe)] === Cu.LocationPriority))
              return !1;
            if (De |= t6(xe), l9(s))
              return !!(De & 1920);
            if (D)
              return bue(q, te);
          }
          return !!(De & 111551);
        }
        function me(q) {
          var he;
          const Me = t6($l(q, te));
          return !(Me & 111551) && (!tn((he = q.declarations) == null ? void 0 : he[0]) || !!(Me & 788968));
        }
      }
      function x$e(e) {
        const t = k$e(e);
        if (t.length)
          return {
            isGlobalCompletion: !1,
            isMemberCompletion: !1,
            isNewIdentifierLocation: !1,
            entries: t,
            defaultCommitCharacters: KS(
              /*isNewIdentifierLocation*/
              !1
            )
          };
      }
      function k$e(e) {
        const t = [], n = /* @__PURE__ */ new Map();
        let i = e;
        for (; i && !Ts(i); ) {
          if (i1(i)) {
            const s = i.label.text;
            n.has(s) || (n.set(s, !0), t.push({
              name: s,
              kindModifiers: "",
              kind: "label",
              sortText: Cu.LocationPriority
            }));
          }
          i = i.parent;
        }
        return t;
      }
      function d4e(e, t, n, i, s, o, c) {
        if (s.source === "SwitchCases/")
          return { type: "cases" };
        if (s.data) {
          const F = h4e(s.name, s.data, e, o);
          if (F) {
            const { contextToken: j, previousToken: z } = NH(i, n);
            return {
              type: "symbol",
              symbol: F.symbol,
              location: h_(n, i),
              previousToken: z,
              contextToken: j,
              isJsxInitializer: !1,
              isTypeOnlyLocation: !1,
              origin: F.origin
            };
          }
        }
        const _ = e.getCompilerOptions(), u = g4e(
          e,
          t,
          n,
          _,
          i,
          { includeCompletionsForModuleExports: !0, includeCompletionsWithInsertText: !0 },
          s,
          o,
          /*formatContext*/
          void 0
        );
        if (!u)
          return { type: "none" };
        if (u.kind !== 0)
          return { type: "request", request: u };
        const { symbols: g, literals: m, location: h, completionKind: S, symbolToOriginInfoMap: T, contextToken: k, previousToken: D, isJsxInitializer: w, isTypeOnlyLocation: A } = u, O = Dn(m, (F) => fue(n, c, F) === s.name);
        return O !== void 0 ? { type: "literal", literal: O } : Ic(g, (F, j) => {
          const z = T[j], V = AH(F, ga(_), z, S, u.isJsxIdentifierExpected);
          return V && V.name === s.name && (s.source === "ClassMemberSnippet/" && F.flags & 106500 || s.source === "ObjectLiteralMethodSnippet/" && F.flags & 8196 || due(z) === s.source || s.source === "ObjectLiteralMemberWithComma/") ? { type: "symbol", symbol: F, location: h, origin: z, contextToken: k, previousToken: D, isJsxInitializer: w, isTypeOnlyLocation: A } : void 0;
        }) || { type: "none" };
      }
      function C$e(e, t, n, i, s, o, c, _, u) {
        const g = e.getTypeChecker(), m = e.getCompilerOptions(), { name: h, source: S, data: T } = s, { previousToken: k, contextToken: D } = NH(i, n);
        if (ok(n, i, k))
          return RH.getStringLiteralCompletionDetails(h, n, i, k, e, o, u, _);
        const w = d4e(e, t, n, i, s, o, _);
        switch (w.type) {
          case "request": {
            const { request: A } = w;
            switch (A.kind) {
              case 1:
                return Dv.getJSDocTagNameCompletionDetails(h);
              case 2:
                return Dv.getJSDocTagCompletionDetails(h);
              case 3:
                return Dv.getJSDocParameterNameCompletionDetails(h);
              case 4:
                return at(A.keywordCompletions, (O) => O.name === h) ? gue(
                  h,
                  "keyword",
                  5
                  /* keyword */
                ) : void 0;
              default:
                return E.assertNever(A);
            }
          }
          case "symbol": {
            const { symbol: A, location: O, contextToken: F, origin: j, previousToken: z } = w, { codeActions: V, sourceDisplay: G } = E$e(h, O, F, j, A, e, o, m, n, i, z, c, _, T, S, u), W = uue(j) ? j.symbolName : A.name;
            return hue(A, W, g, n, O, u, V, G);
          }
          case "literal": {
            const { literal: A } = w;
            return gue(
              fue(n, _, A),
              "string",
              typeof A == "string" ? 8 : 7
              /* numericLiteral */
            );
          }
          case "cases": {
            const A = _4e(
              D.parent,
              n,
              _,
              e.getCompilerOptions(),
              o,
              e,
              /*formatContext*/
              void 0
            );
            if (A?.importAdder.hasFixes()) {
              const { entry: O, importAdder: F } = A, j = nn.ChangeTracker.with(
                { host: o, formatContext: c, preferences: _ },
                F.writeFixes
              );
              return {
                name: O.name,
                kind: "",
                kindModifiers: "",
                displayParts: [],
                sourceDisplay: void 0,
                codeActions: [{
                  changes: j,
                  description: c2([p.Includes_imports_of_types_referenced_by_0, h])
                }]
              };
            }
            return {
              name: h,
              kind: "",
              kindModifiers: "",
              displayParts: [],
              sourceDisplay: void 0
            };
          }
          case "none":
            return y4e().some((A) => A.name === h) ? gue(
              h,
              "keyword",
              5
              /* keyword */
            ) : void 0;
          default:
            E.assertNever(w);
        }
      }
      function gue(e, t, n) {
        return bL(e, "", t, [N_(e, n)]);
      }
      function hue(e, t, n, i, s, o, c, _) {
        const { displayParts: u, documentation: g, symbolKind: m, tags: h } = n.runWithCancellationToken(o, (S) => j0.getSymbolDisplayPartsDocumentationAndSymbolKind(
          S,
          e,
          i,
          s,
          s,
          7
          /* All */
        ));
        return bL(t, j0.getSymbolModifiers(n, e), m, u, g, h, c, _);
      }
      function bL(e, t, n, i, s, o, c, _) {
        return { name: e, kindModifiers: t, kind: n, displayParts: i, documentation: s, tags: o, codeActions: c, source: _, sourceDisplay: _ };
      }
      function E$e(e, t, n, i, s, o, c, _, u, g, m, h, S, T, k, D) {
        if (T?.moduleSpecifier && m && E4e(n || m, u).replacementSpan)
          return { codeActions: void 0, sourceDisplay: [Lf(T.moduleSpecifier)] };
        if (k === "ClassMemberSnippet/") {
          const { importAdder: V, eraseRange: G } = f4e(
            c,
            o,
            _,
            S,
            e,
            s,
            t,
            g,
            n,
            h
          );
          if (V?.hasFixes() || G)
            return {
              sourceDisplay: void 0,
              codeActions: [{
                changes: nn.ChangeTracker.with(
                  { host: c, formatContext: h, preferences: S },
                  (pe) => {
                    V && V.writeFixes(pe), G && pe.deleteRange(u, G);
                  }
                ),
                description: V?.hasFixes() ? c2([p.Includes_imports_of_types_referenced_by_0, e]) : c2([p.Update_modifiers_of_0, e])
              }]
            };
        }
        if (r4e(i)) {
          const V = ku.getPromoteTypeOnlyCompletionAction(
            u,
            i.declaration.name,
            o,
            c,
            h,
            S
          );
          return E.assertIsDefined(V, "Expected to have a code action for promoting type-only alias"), { codeActions: [V], sourceDisplay: void 0 };
        }
        if (k === "ObjectLiteralMemberWithComma/" && n) {
          const V = nn.ChangeTracker.with(
            { host: c, formatContext: h, preferences: S },
            (G) => G.insertText(u, n.end, ",")
          );
          if (V)
            return {
              sourceDisplay: void 0,
              codeActions: [{
                changes: V,
                description: c2([p.Add_missing_comma_for_object_member_completion_0, e])
              }]
            };
        }
        if (!i || !(yL(i) || Lw(i)))
          return { codeActions: void 0, sourceDisplay: void 0 };
        const w = i.isFromPackageJson ? c.getPackageJsonAutoImportProvider().getTypeChecker() : o.getTypeChecker(), { moduleSymbol: A } = i, O = w.getMergedSymbol($l(s.exportSymbol || s, w)), F = n?.kind === 30 && yu(n.parent), { moduleSpecifier: j, codeAction: z } = ku.getImportCompletionAction(
          O,
          A,
          T?.exportMapKey,
          u,
          e,
          F,
          c,
          o,
          h,
          m && Fe(m) ? m.getStart(u) : g,
          S,
          D
        );
        return E.assert(!T?.moduleSpecifier || j === T.moduleSpecifier), { sourceDisplay: [Lf(j)], codeActions: [z] };
      }
      function D$e(e, t, n, i, s, o, c) {
        const _ = d4e(e, t, n, i, s, o, c);
        return _.type === "symbol" ? _.symbol : void 0;
      }
      var m4e = /* @__PURE__ */ ((e) => (e[e.ObjectPropertyDeclaration = 0] = "ObjectPropertyDeclaration", e[e.Global = 1] = "Global", e[e.PropertyAccess = 2] = "PropertyAccess", e[e.MemberLike = 3] = "MemberLike", e[e.String = 4] = "String", e[e.None = 5] = "None", e))(m4e || {});
      function w$e(e, t, n) {
        return Ic(t && (t.isUnion() ? t.types : [t]), (i) => {
          const s = i && i.symbol;
          return s && s.flags & 424 && !see(s) ? yue(s, e, n) : void 0;
        });
      }
      function P$e(e, t, n, i) {
        const { parent: s } = e;
        switch (e.kind) {
          case 80:
            return I9(e, i);
          case 64:
            switch (s.kind) {
              case 260:
                return i.getContextualType(s.initializer);
              // TODO: GH#18217
              case 226:
                return i.getTypeAtLocation(s.left);
              case 291:
                return i.getContextualTypeForJsxAttribute(s);
              default:
                return;
            }
          case 105:
            return i.getContextualType(s);
          case 84:
            const o = Mn(s, h6);
            return o ? ZU(o, i) : void 0;
          case 19:
            return g6(s) && !lm(s.parent) && !cv(s.parent) ? i.getContextualTypeForJsxAttribute(s.parent) : void 0;
          default:
            const c = g8.getArgumentInfoForCompletions(e, t, n, i);
            return c ? i.getContextualTypeForArgumentAtIndex(c.invocation, c.argumentIndex) : F9(e.kind) && _n(s) && F9(s.operatorToken.kind) ? (
              // completion at `x ===/**/` should be for the right side
              i.getTypeAtLocation(s.left)
            ) : i.getContextualType(
              e,
              4
              /* Completions */
            ) || i.getContextualType(e);
        }
      }
      function yue(e, t, n) {
        const i = n.getAccessibleSymbolChain(
          e,
          t,
          /*meaning*/
          -1,
          /*useOnlyExternalAliasing*/
          !1
        );
        return i ? xa(i) : e.parent && (N$e(e.parent) ? e : yue(e.parent, t, n));
      }
      function N$e(e) {
        var t;
        return !!((t = e.declarations) != null && t.some(
          (n) => n.kind === 307
          /* SourceFile */
        ));
      }
      function g4e(e, t, n, i, s, o, c, _, u, g) {
        const m = e.getTypeChecker(), h = u4e(n, i);
        let S = co(), T = mi(n, s);
        t("getCompletionData: Get current token: " + (co() - S)), S = co();
        const k = F0(n, s, T);
        t("getCompletionData: Is inside comment: " + (co() - S));
        let D = !1, w = !1, A = !1;
        if (k) {
          if (Zse(n, s)) {
            if (n.text.charCodeAt(s - 1) === 64)
              return {
                kind: 1
                /* JsDocTagName */
              };
            {
              const st = Lp(s, n);
              if (!/[^*|\s(/)]/.test(n.text.substring(st, s)))
                return {
                  kind: 2
                  /* JsDocTag */
                };
            }
          }
          const ke = O$e(T, s);
          if (ke) {
            if (ke.tagName.pos <= s && s <= ke.tagName.end)
              return {
                kind: 1
                /* JsDocTagName */
              };
            if (_m(ke))
              w = !0;
            else {
              const st = tr(ke);
              if (st && (T = mi(n, s), (!T || !Xm(T) && (T.parent.kind !== 348 || T.parent.name !== T)) && (D = jt(st))), !D && Af(ke) && (cc(ke.name) || ke.name.pos <= s && s <= ke.name.end))
                return { kind: 3, tag: ke };
            }
          }
          if (!D && !w) {
            t("Returning an empty list because completion was inside a regular comment or plain text part of a JsDoc comment.");
            return;
          }
        }
        S = co();
        const O = !D && !w && $u(n), F = NH(s, n), j = F.previousToken;
        let z = F.contextToken;
        t("getCompletionData: Get previous token: " + (co() - S));
        let V = T, G, W = !1, pe = !1, K = !1, U = !1, ee = !1, te = !1, ie, fe = h_(n, s), me = 0, q = !1, he = 0, Me;
        if (z) {
          const ke = E4e(z, n);
          if (ke.keywordCompletion) {
            if (ke.isKeywordOnlyCompletion)
              return {
                kind: 4,
                keywordCompletions: [s$e(ke.keywordCompletion)],
                isNewIdentifierLocation: ke.isNewIdentifierLocation
              };
            me = o$e(ke.keywordCompletion);
          }
          if (ke.replacementSpan && o.includeCompletionsForImportStatements && o.includeCompletionsWithInsertText && (he |= 2, ie = ke, q = ke.isNewIdentifierLocation), !ke.replacementSpan && ks(z))
            return t("Returning an empty list because completion was requested in an invalid position."), me ? c4e(me, O, gr().isNewIdentifierLocation) : void 0;
          let st = z.parent;
          if (z.kind === 25 || z.kind === 29)
            switch (W = z.kind === 25, pe = z.kind === 29, st.kind) {
              case 211:
                G = st, V = G.expression;
                const At = r6(G);
                if (cc(At) || (Ms(V) || Ts(V)) && V.end === z.pos && V.getChildCount(n) && pa(V.getChildren(n)).kind !== 22)
                  return;
                break;
              case 166:
                V = st.left;
                break;
              case 267:
                V = st.name;
                break;
              case 205:
                V = st;
                break;
              case 236:
                V = st.getFirstToken(n), E.assert(
                  V.kind === 102 || V.kind === 105
                  /* NewKeyword */
                );
                break;
              default:
                return;
            }
          else if (!ie) {
            if (st && st.kind === 211 && (z = st, st = st.parent), T.parent === fe)
              switch (T.kind) {
                case 32:
                  (T.parent.kind === 284 || T.parent.kind === 286) && (fe = T);
                  break;
                case 44:
                  T.parent.kind === 285 && (fe = T);
                  break;
              }
            switch (st.kind) {
              case 287:
                z.kind === 44 && (U = !0, fe = z);
                break;
              case 226:
                if (!C4e(st))
                  break;
              // falls through
              case 285:
              case 284:
              case 286:
                te = !0, z.kind === 30 && (K = !0, fe = z);
                break;
              case 294:
              case 293:
                (j.kind === 20 || j.kind === 80 && j.parent.kind === 291) && (te = !0);
                break;
              case 291:
                if (st.initializer === j && j.end < s) {
                  te = !0;
                  break;
                }
                switch (j.kind) {
                  case 64:
                    ee = !0;
                    break;
                  case 80:
                    te = !0, st !== j.parent && !st.initializer && Za(st, 64, n) && (ee = j);
                }
                break;
            }
          }
        }
        const De = co();
        let re = 5, xe = !1, ue = [], Xe;
        const nt = [], oe = [], ve = /* @__PURE__ */ new Set(), se = ci(), Pe = qd((ke) => bv(ke ? _.getPackageJsonAutoImportProvider() : e, _));
        if (W || pe)
          Fr();
        else if (K)
          ue = m.getJsxIntrinsicTagNamesAt(fe), E.assertEachIsDefined(ue, "getJsxIntrinsicTagNames() should all be defined"), ai(), re = 1, me = 0;
        else if (U) {
          const ke = z.parent.parent.openingElement.tagName, st = m.getSymbolAtLocation(ke);
          st && (ue = [st]), re = 1, me = 0;
        } else if (!ai())
          return me ? c4e(me, O, q) : void 0;
        t("getCompletionData: Semantic work: " + (co() - De));
        const Ee = j && P$e(j, s, n, m), ze = !Mn(j, Ba) && !te ? Oi(
          Ee && (Ee.isUnion() ? Ee.types : [Ee]),
          (ke) => ke.isLiteral() && !(ke.flags & 1024) ? ke.value : void 0
        ) : [], St = j && Ee && w$e(j, Ee, m);
        return {
          kind: 0,
          symbols: ue,
          completionKind: re,
          isInSnippetScope: A,
          propertyAccessToConvert: G,
          isNewIdentifierLocation: q,
          location: fe,
          keywordFilters: me,
          literals: ze,
          symbolToOriginInfoMap: nt,
          recommendedCompletion: St,
          previousToken: j,
          contextToken: z,
          isJsxInitializer: ee,
          insideJsDocTagTypeExpression: D,
          symbolToSortTextMap: oe,
          isTypeOnlyLocation: se,
          isJsxIdentifierExpected: te,
          isRightOfOpenTag: K,
          isRightOfDotOrQuestionDot: W || pe,
          importStatementCompletion: ie,
          hasUnresolvedAutoImports: xe,
          flags: he,
          defaultCommitCharacters: Me
        };
        function Bt(ke) {
          switch (ke.kind) {
            case 341:
            case 348:
            case 342:
            case 344:
            case 346:
            case 349:
            case 350:
              return !0;
            case 345:
              return !!ke.constraint;
            default:
              return !1;
          }
        }
        function tr(ke) {
          if (Bt(ke)) {
            const st = Ip(ke) ? ke.constraint : ke.typeExpression;
            return st && st.kind === 309 ? st : void 0;
          }
          if (Gx(ke) || NF(ke))
            return ke.class;
        }
        function Fr() {
          re = 2;
          const ke = Dh(V), st = ke && !V.isTypeOf || Yd(V.parent) || AA(z, n, m), At = l9(V);
          if (Gu(V) || ke || kn(V)) {
            const Yr = zc(V.parent);
            Yr && (q = !0, Me = []);
            let Mr = m.getSymbolAtLocation(V);
            if (Mr && (Mr = $l(Mr, m), Mr.flags & 1920)) {
              const Rr = m.getExportsOfModule(Mr);
              E.assertEachIsDefined(Rr, "getExportsOfModule() should all be defined");
              const Ye = (wt) => m.isValidPropertyAccess(ke ? V : V.parent, wt.name), gt = (wt) => bue(wt, m), Jt = Yr ? (wt) => {
                var dr;
                return !!(wt.flags & 1920) && !((dr = wt.declarations) != null && dr.every((Kt) => Kt.parent === V.parent));
              } : At ? (
                // Any kind is allowed when dotting off namespace in internal import equals declaration
                (wt) => gt(wt) || Ye(wt)
              ) : st || D ? gt : Ye;
              for (const wt of Rr)
                Jt(wt) && ue.push(wt);
              if (!st && !D && Mr.declarations && Mr.declarations.some(
                (wt) => wt.kind !== 307 && wt.kind !== 267 && wt.kind !== 266
                /* EnumDeclaration */
              )) {
                let wt = m.getTypeOfSymbolAtLocation(Mr, V).getNonOptionalType(), dr = !1;
                if (wt.isNullableType()) {
                  const Kt = W && !pe && o.includeAutomaticOptionalChainCompletions !== !1;
                  (Kt || pe) && (wt = wt.getNonNullableType(), Kt && (dr = !0));
                }
                it(wt, !!(V.flags & 65536), dr);
              }
              return;
            }
          }
          if (!st || yx(V)) {
            m.tryGetThisTypeAt(
              V,
              /*includeGlobalThis*/
              !1
            );
            let Yr = m.getTypeAtLocation(V).getNonOptionalType();
            if (st)
              it(
                Yr.getNonNullableType(),
                /*insertAwait*/
                !1,
                /*insertQuestionDot*/
                !1
              );
            else {
              let Mr = !1;
              if (Yr.isNullableType()) {
                const Rr = W && !pe && o.includeAutomaticOptionalChainCompletions !== !1;
                (Rr || pe) && (Yr = Yr.getNonNullableType(), Rr && (Mr = !0));
              }
              it(Yr, !!(V.flags & 65536), Mr);
            }
          }
        }
        function it(ke, st, At) {
          ke.getStringIndexType() && (q = !0, Me = []), pe && at(ke.getCallSignatures()) && (q = !0, Me ?? (Me = dm));
          const Yr = V.kind === 205 ? V : V.parent;
          if (h)
            for (const Mr of ke.getApparentProperties())
              m.isValidPropertyAccessForCompletions(Yr, ke, Mr) && Wt(
                Mr,
                /*insertAwait*/
                !1,
                At
              );
          else
            ue.push(...Tn(LH(ke, m), (Mr) => m.isValidPropertyAccessForCompletions(Yr, ke, Mr)));
          if (st && o.includeCompletionsWithInsertText) {
            const Mr = m.getPromisedTypeOfPromise(ke);
            if (Mr)
              for (const Rr of Mr.getApparentProperties())
                m.isValidPropertyAccessForCompletions(Yr, Mr, Rr) && Wt(
                  Rr,
                  /*insertAwait*/
                  !0,
                  At
                );
          }
        }
        function Wt(ke, st, At) {
          var Yr;
          const Mr = Ic(ke.declarations, (Jt) => Mn(ls(Jt), ia));
          if (Mr) {
            const Jt = Wr(Mr.expression), wt = Jt && m.getSymbolAtLocation(Jt), dr = wt && yue(wt, z, m), Kt = dr && ea(dr);
            if (Kt && Pp(ve, Kt)) {
              const Mt = ue.length;
              ue.push(dr);
              const cr = dr.parent;
              if (!cr || !sx(cr) || m.tryGetMemberInModuleExportsAndProperties(dr.name, cr) !== dr)
                nt[Mt] = { kind: gt(
                  2
                  /* SymbolMemberNoExport */
                ) };
              else {
                const lr = Cl(wp(cr.name)) ? (Yr = s3(cr)) == null ? void 0 : Yr.fileName : void 0, { moduleSpecifier: br } = (Xe || (Xe = ku.createImportSpecifierResolver(n, e, _, o))).getModuleSpecifierForBestExportInfo(
                  [{
                    exportKind: 0,
                    moduleFileName: lr,
                    isFromPackageJson: !1,
                    moduleSymbol: cr,
                    symbol: dr,
                    targetFlags: $l(dr, m).flags
                  }],
                  s,
                  ev(fe)
                ) || {};
                if (br) {
                  const $t = {
                    kind: gt(
                      6
                      /* SymbolMemberExport */
                    ),
                    moduleSymbol: cr,
                    isDefaultExport: !1,
                    symbolName: dr.name,
                    exportName: dr.name,
                    fileName: lr,
                    moduleSpecifier: br
                  };
                  nt[Mt] = $t;
                }
              }
            } else if (o.includeCompletionsWithInsertText) {
              if (Kt && ve.has(Kt))
                return;
              Ye(ke), Rr(ke), ue.push(ke);
            }
          } else
            Ye(ke), Rr(ke), ue.push(ke);
          function Rr(Jt) {
            J$e(Jt) && (oe[ea(Jt)] = Cu.LocalDeclarationPriority);
          }
          function Ye(Jt) {
            o.includeCompletionsWithInsertText && (st && Pp(ve, ea(Jt)) ? nt[ue.length] = { kind: gt(
              8
              /* Promise */
            ) } : At && (nt[ue.length] = {
              kind: 16
              /* Nullable */
            }));
          }
          function gt(Jt) {
            return At ? Jt | 16 : Jt;
          }
        }
        function Wr(ke) {
          return Fe(ke) ? ke : kn(ke) ? Wr(ke.expression) : void 0;
        }
        function ai() {
          return (He() || Et() || Fn() || ne() || rt() || Q() || zi() || Ne() || Pt() || (ii(), 1)) === 1;
        }
        function zi() {
          return Ze(z) ? (re = 5, q = !0, me = 4, 1) : 0;
        }
        function Pt() {
          const ke = Ie(z), st = ke && m.getContextualType(ke.attributes);
          if (!st) return 0;
          const At = ke && m.getContextualType(
            ke.attributes,
            4
            /* Completions */
          );
          return ue = Ji(ue, pt(OH(st, At, ke.attributes, m), ke.attributes.properties)), _e(), re = 3, q = !1, 1;
        }
        function Fn() {
          return ie ? (q = !0, er(), 1) : 0;
        }
        function ii() {
          me = bt(z) ? 5 : 1, re = 1, { isNewIdentifierLocation: q, defaultCommitCharacters: Me } = gr(), j !== z && E.assert(!!j, "Expected 'contextToken' to be defined when different from 'previousToken'.");
          const ke = j !== z ? j.getStart() : s, st = bi(z, ke, n) || n;
          A = cn(st);
          const At = (se ? 0 : 111551) | 788968 | 1920 | 2097152, Yr = j && !ev(j);
          ue = Ji(ue, m.getSymbolsInScope(st, At)), E.assertEachIsDefined(ue, "getSymbolsInScope() should all be defined");
          for (let Mr = 0; Mr < ue.length; Mr++) {
            const Rr = ue[Mr];
            if (!m.isArgumentsSymbol(Rr) && !at(Rr.declarations, (Ye) => Ye.getSourceFile() === n) && (oe[ea(Rr)] = Cu.GlobalsOrKeywords), Yr && !(Rr.flags & 111551)) {
              const Ye = Rr.declarations && Dn(Rr.declarations, NC);
              if (Ye) {
                const gt = { kind: 64, declaration: Ye };
                nt[Mr] = gt;
              }
            }
          }
          if (o.includeCompletionsWithInsertText && st.kind !== 307) {
            const Mr = m.tryGetThisTypeAt(
              st,
              /*includeGlobalThis*/
              !1,
              Xn(st.parent) ? st : void 0
            );
            if (Mr && !B$e(Mr, n, m))
              for (const Rr of LH(Mr, m))
                nt[ue.length] = {
                  kind: 1
                  /* ThisType */
                }, ue.push(Rr), oe[ea(Rr)] = Cu.SuggestedClassMembers;
          }
          er(), se && (me = z && Tb(z.parent) ? 6 : 7);
        }
        function li() {
          var ke;
          return ie ? !0 : o.includeCompletionsForModuleExports ? n.externalModuleIndicator || n.commonJsModuleIndicator || FU(e.getCompilerOptions()) ? !0 : ((ke = e.getSymlinkCache) == null ? void 0 : ke.call(e).hasAnySymlinks()) || !!e.getCompilerOptions().paths || iae(e) : !1;
        }
        function cn(ke) {
          switch (ke.kind) {
            case 307:
            case 228:
            case 294:
            case 241:
              return !0;
            default:
              return yi(ke);
          }
        }
        function ci() {
          return D || w || !!ie && h0(fe.parent) || !je(z) && (AA(z, n, m) || Yd(fe) || ut(z));
        }
        function je(ke) {
          return ke && (ke.kind === 114 && (ke.parent.kind === 186 || f6(ke.parent)) || ke.kind === 131 && ke.parent.kind === 182);
        }
        function ut(ke) {
          if (ke) {
            const st = ke.parent.kind;
            switch (ke.kind) {
              case 59:
                return st === 172 || st === 171 || st === 169 || st === 260 || tx(st);
              case 64:
                return st === 265 || st === 168;
              case 130:
                return st === 234;
              case 30:
                return st === 183 || st === 216;
              case 96:
                return st === 168;
              case 152:
                return st === 238;
            }
          }
          return !1;
        }
        function er() {
          var ke, st;
          if (!li() || (E.assert(!c?.data, "Should not run 'collectAutoImports' when faster path is available via `data`"), c && !c.source))
            return;
          he |= 1;
          const Yr = j === z && ie ? "" : j && Fe(j) ? j.text.toLowerCase() : "", Mr = (ke = _.getModuleSpecifierCache) == null ? void 0 : ke.call(_), Rr = GA(n, _, e, o, g), Ye = (st = _.getPackageJsonAutoImportProvider) == null ? void 0 : st.call(_), gt = c ? void 0 : Z6(n, o, _);
          i4e(
            "collectAutoImports",
            _,
            Xe || (Xe = ku.createImportSpecifierResolver(n, e, _, o)),
            e,
            s,
            o,
            !!ie,
            ev(fe),
            (wt) => {
              Rr.search(
                n.path,
                /*preferCapitalized*/
                K,
                (dr, Kt) => {
                  if (!C_(dr, ga(_.getCompilationSettings())) || !c && hx(dr) || !se && !ie && !(Kt & 111551) || se && !(Kt & 790504)) return !1;
                  const Mt = dr.charCodeAt(0);
                  return K && (Mt < 65 || Mt > 90) ? !1 : c ? !0 : A4e(dr, Yr);
                },
                (dr, Kt, Mt, cr) => {
                  if (c && !at(dr, ($s) => c.source === wp($s.moduleSymbol.name)) || (dr = Tn(dr, Jt), !dr.length))
                    return;
                  const lr = wt.tryResolve(dr, Mt) || {};
                  if (lr === "failed") return;
                  let br = dr[0], $t;
                  lr !== "skipped" && ({ exportInfo: br = dr[0], moduleSpecifier: $t } = lr);
                  const Qn = br.exportKind === 1, Ns = Qn && rD(E.checkDefined(br.symbol)) || E.checkDefined(br.symbol);
                  Vr(Ns, {
                    kind: $t ? 32 : 4,
                    moduleSpecifier: $t,
                    symbolName: Kt,
                    exportMapKey: cr,
                    exportName: br.exportKind === 2 ? "export=" : E.checkDefined(br.symbol).name,
                    fileName: br.moduleFileName,
                    isDefaultExport: Qn,
                    moduleSymbol: br.moduleSymbol,
                    isFromPackageJson: br.isFromPackageJson
                  });
                }
              ), xe = wt.skippedAny(), he |= wt.resolvedAny() ? 8 : 0, he |= wt.resolvedBeyondLimit() ? 16 : 0;
            }
          );
          function Jt(wt) {
            return _q(
              wt.isFromPackageJson ? Ye : e,
              n,
              Mn(wt.moduleSymbol.valueDeclaration, xi),
              wt.moduleSymbol,
              o,
              gt,
              Pe(wt.isFromPackageJson),
              Mr
            );
          }
        }
        function Vr(ke, st) {
          const At = ea(ke);
          oe[At] !== Cu.GlobalsOrKeywords && (nt[ue.length] = st, oe[At] = ie ? Cu.LocationPriority : Cu.AutoImportSuggestions, ue.push(ke));
        }
        function zn(ke, st) {
          tn(fe) || ke.forEach((At) => {
            if (!Wn(At))
              return;
            const Yr = AH(
              At,
              ga(i),
              /*origin*/
              void 0,
              0,
              /*jsxIdentifierExpected*/
              !1
            );
            if (!Yr)
              return;
            const { name: Mr } = Yr, Rr = y$e(
              At,
              Mr,
              st,
              e,
              _,
              i,
              o,
              u
            );
            if (!Rr)
              return;
            const Ye = { kind: 128, ...Rr };
            he |= 32, nt[ue.length] = Ye, ue.push(At);
          });
        }
        function Wn(ke) {
          return !!(ke.flags & 8196);
        }
        function bi(ke, st, At) {
          let Yr = ke;
          for (; Yr && !yU(Yr, st, At); )
            Yr = Yr.parent;
          return Yr;
        }
        function ks(ke) {
          const st = co(), At = ms(ke) || _t(ke) || Rt(ke) || ta(ke) || ED(ke);
          return t("getCompletionsAtPosition: isCompletionListBlocker: " + (co() - st)), At;
        }
        function ta(ke) {
          if (ke.kind === 12)
            return !0;
          if (ke.kind === 32 && ke.parent) {
            if (fe === ke.parent && (fe.kind === 286 || fe.kind === 285))
              return !1;
            if (ke.parent.kind === 286)
              return fe.parent.kind !== 286;
            if (ke.parent.kind === 287 || ke.parent.kind === 285)
              return !!ke.parent.parent && ke.parent.parent.kind === 284;
          }
          return !1;
        }
        function gr() {
          if (z) {
            const ke = z.parent.kind, st = FH(z);
            switch (st) {
              case 28:
                switch (ke) {
                  case 213:
                  // func( a, |
                  case 214: {
                    const At = z.parent.expression;
                    return Js(n, At.end).line !== Js(n, s).line ? { defaultCommitCharacters: EH, isNewIdentifierLocation: !0 } : { defaultCommitCharacters: dm, isNewIdentifierLocation: !0 };
                  }
                  case 226:
                    return { defaultCommitCharacters: EH, isNewIdentifierLocation: !0 };
                  case 176:
                  // constructor( a, | /* public, protected, private keywords are allowed here, so show completion */
                  case 184:
                  // var x: (s: string, list|
                  case 210:
                    return { defaultCommitCharacters: [], isNewIdentifierLocation: !0 };
                  case 209:
                    return { defaultCommitCharacters: dm, isNewIdentifierLocation: !0 };
                  default:
                    return { defaultCommitCharacters: dm, isNewIdentifierLocation: !1 };
                }
              case 21:
                switch (ke) {
                  case 213:
                  // func( |
                  case 214: {
                    const At = z.parent.expression;
                    return Js(n, At.end).line !== Js(n, s).line ? { defaultCommitCharacters: EH, isNewIdentifierLocation: !0 } : { defaultCommitCharacters: dm, isNewIdentifierLocation: !0 };
                  }
                  case 217:
                    return { defaultCommitCharacters: EH, isNewIdentifierLocation: !0 };
                  case 176:
                  // constructor( |
                  case 196:
                    return { defaultCommitCharacters: [], isNewIdentifierLocation: !0 };
                  default:
                    return { defaultCommitCharacters: dm, isNewIdentifierLocation: !1 };
                }
              case 23:
                switch (ke) {
                  case 209:
                  // [ |
                  case 181:
                  // [ | : string ]
                  case 189:
                  // [ | : string ]
                  case 167:
                    return { defaultCommitCharacters: dm, isNewIdentifierLocation: !0 };
                  default:
                    return { defaultCommitCharacters: dm, isNewIdentifierLocation: !1 };
                }
              case 144:
              // module |
              case 145:
              // namespace |
              case 102:
                return { defaultCommitCharacters: [], isNewIdentifierLocation: !0 };
              case 25:
                switch (ke) {
                  case 267:
                    return { defaultCommitCharacters: [], isNewIdentifierLocation: !0 };
                  default:
                    return { defaultCommitCharacters: dm, isNewIdentifierLocation: !1 };
                }
              case 19:
                switch (ke) {
                  case 263:
                  // class A { |
                  case 210:
                    return { defaultCommitCharacters: [], isNewIdentifierLocation: !0 };
                  default:
                    return { defaultCommitCharacters: dm, isNewIdentifierLocation: !1 };
                }
              case 64:
                switch (ke) {
                  case 260:
                  // const x = a|
                  case 226:
                    return { defaultCommitCharacters: dm, isNewIdentifierLocation: !0 };
                  default:
                    return { defaultCommitCharacters: dm, isNewIdentifierLocation: !1 };
                }
              case 16:
                return {
                  defaultCommitCharacters: dm,
                  isNewIdentifierLocation: ke === 228
                  /* TemplateExpression */
                  // `aa ${|
                };
              case 17:
                return {
                  defaultCommitCharacters: dm,
                  isNewIdentifierLocation: ke === 239
                  /* TemplateSpan */
                  // `aa ${10} dd ${|
                };
              case 134:
                return ke === 174 || ke === 304 ? { defaultCommitCharacters: [], isNewIdentifierLocation: !0 } : { defaultCommitCharacters: dm, isNewIdentifierLocation: !1 };
              case 42:
                return ke === 174 ? { defaultCommitCharacters: [], isNewIdentifierLocation: !0 } : { defaultCommitCharacters: dm, isNewIdentifierLocation: !1 };
            }
            if (SL(st))
              return { defaultCommitCharacters: [], isNewIdentifierLocation: !0 };
          }
          return { defaultCommitCharacters: dm, isNewIdentifierLocation: !1 };
        }
        function ms(ke) {
          return (ez(ke) || Lj(ke)) && (PA(ke, s) || s === ke.end && (!!ke.isUnterminated || ez(ke)));
        }
        function He() {
          const ke = R$e(z);
          if (!ke) return 0;
          const At = (Wx(ke.parent) ? ke.parent : void 0) || ke, Yr = k4e(At, m);
          if (!Yr) return 0;
          const Mr = m.getTypeFromTypeNode(At), Rr = LH(Yr, m), Ye = LH(Mr, m), gt = /* @__PURE__ */ new Set();
          return Ye.forEach((Jt) => gt.add(Jt.escapedName)), ue = Ji(ue, Tn(Rr, (Jt) => !gt.has(Jt.escapedName))), re = 0, q = !0, 1;
        }
        function Et() {
          if (z?.kind === 26) return 0;
          const ke = ue.length, st = A$e(z, s, n);
          if (!st) return 0;
          re = 0;
          let At, Yr;
          if (st.kind === 210) {
            const Mr = z$e(st, m);
            if (Mr === void 0)
              return st.flags & 67108864 ? 2 : 0;
            const Rr = m.getContextualType(
              st,
              4
              /* Completions */
            ), Ye = (Rr || Mr).getStringIndexType(), gt = (Rr || Mr).getNumberIndexType();
            if (q = !!Ye || !!gt, At = OH(Mr, Rr, st, m), Yr = st.properties, At.length === 0 && !gt)
              return 0;
          } else {
            E.assert(
              st.kind === 206
              /* ObjectBindingPattern */
            ), q = !1;
            const Mr = em(st.parent);
            if (!M4(Mr)) return E.fail("Root declaration is not variable-like.");
            let Rr = y0(Mr) || !!Yc(Mr) || Mr.parent.parent.kind === 250;
            if (!Rr && Mr.kind === 169 && (lt(Mr.parent) ? Rr = !!m.getContextualType(Mr.parent) : (Mr.parent.kind === 174 || Mr.parent.kind === 178) && (Rr = lt(Mr.parent.parent) && !!m.getContextualType(Mr.parent.parent))), Rr) {
              const Ye = m.getTypeAtLocation(st);
              if (!Ye) return 2;
              At = m.getPropertiesOfType(Ye).filter((gt) => m.isPropertyAccessible(
                st,
                /*isSuper*/
                !1,
                /*isWrite*/
                !1,
                Ye,
                gt
              )), Yr = st.elements;
            }
          }
          if (At && At.length > 0) {
            const Mr = we(At, E.checkDefined(Yr));
            ue = Ji(ue, Mr), _e(), st.kind === 210 && o.includeCompletionsWithObjectLiteralMethodSnippets && o.includeCompletionsWithInsertText && (ye(ke), zn(Mr, st));
          }
          return 1;
        }
        function ne() {
          if (!z) return 0;
          const ke = z.kind === 19 || z.kind === 28 ? Mn(z.parent, F5) : k9(z) ? Mn(z.parent.parent, F5) : void 0;
          if (!ke) return 0;
          k9(z) || (me = 8);
          const { moduleSpecifier: st } = ke.kind === 275 ? ke.parent.parent : ke.parent;
          if (!st)
            return q = !0, ke.kind === 275 ? 2 : 0;
          const At = m.getSymbolAtLocation(st);
          if (!At)
            return q = !0, 2;
          re = 3, q = !1;
          const Yr = m.getExportsAndPropertiesOfModule(At), Mr = new Set(ke.elements.filter((Ye) => !jt(Ye)).map((Ye) => kb(Ye.propertyName || Ye.name))), Rr = Yr.filter((Ye) => Ye.escapedName !== "default" && !Mr.has(Ye.escapedName));
          return ue = Ji(ue, Rr), Rr.length || (me = 0), 1;
        }
        function rt() {
          if (z === void 0) return 0;
          const ke = z.kind === 19 || z.kind === 28 ? Mn(z.parent, LS) : z.kind === 59 ? Mn(z.parent.parent, LS) : void 0;
          if (ke === void 0) return 0;
          const st = new Set(ke.elements.map(sF));
          return ue = Tn(m.getTypeAtLocation(ke).getApparentProperties(), (At) => !st.has(At.escapedName)), 1;
        }
        function Q() {
          var ke;
          const st = z && (z.kind === 19 || z.kind === 28) ? Mn(z.parent, cp) : void 0;
          if (!st)
            return 0;
          const At = _r(st, z_(xi, zc));
          return re = 5, q = !1, (ke = At.locals) == null || ke.forEach((Yr, Mr) => {
            var Rr, Ye;
            ue.push(Yr), (Ye = (Rr = At.symbol) == null ? void 0 : Rr.exports) != null && Ye.has(Mr) && (oe[ea(Yr)] = Cu.OptionalMember);
          }), 1;
        }
        function Ne() {
          const ke = M$e(n, z, fe, s);
          if (!ke) return 0;
          if (re = 3, q = !0, me = z.kind === 42 ? 0 : Xn(ke) ? 2 : 3, !Xn(ke)) return 1;
          const st = z.kind === 27 ? z.parent.parent : z.parent;
          let At = Jc(st) ? Lu(st) : 0;
          if (z.kind === 80 && !jt(z))
            switch (z.getText()) {
              case "private":
                At = At | 2;
                break;
              case "static":
                At = At | 256;
                break;
              case "override":
                At = At | 16;
                break;
            }
          if (hc(st) && (At |= 256), !(At & 2)) {
            const Yr = Xn(ke) && At & 16 ? GT(Zd(ke)) : H4(ke), Mr = oa(Yr, (Rr) => {
              const Ye = m.getTypeAtLocation(Rr);
              return At & 256 ? Ye?.symbol && m.getPropertiesOfType(m.getTypeOfSymbolAtLocation(Ye.symbol, ke)) : Ye && m.getPropertiesOfType(Ye);
            });
            ue = Ji(ue, X(Mr, ke.members, At)), ar(ue, (Rr, Ye) => {
              const gt = Rr?.valueDeclaration;
              if (gt && Jc(gt) && gt.name && ia(gt.name)) {
                const Jt = {
                  kind: 512,
                  symbolName: m.symbolToString(Rr)
                };
                nt[Ye] = Jt;
              }
            });
          }
          return 1;
        }
        function qe(ke) {
          return !!ke.parent && Ni(ke.parent) && Xo(ke.parent.parent) && (w4(ke.kind) || Xm(ke));
        }
        function Ze(ke) {
          if (ke) {
            const st = ke.parent;
            switch (ke.kind) {
              case 21:
              case 28:
                return Xo(ke.parent) ? ke.parent : void 0;
              default:
                if (qe(ke))
                  return st.parent;
            }
          }
        }
        function bt(ke) {
          if (ke) {
            let st;
            const At = _r(ke.parent, (Yr) => Xn(Yr) ? "quit" : uo(Yr) && st === Yr.body ? !0 : (st = Yr, !1));
            return At && At;
          }
        }
        function Ie(ke) {
          if (ke) {
            const st = ke.parent;
            switch (ke.kind) {
              case 32:
              // End of a type argument list
              case 31:
              case 44:
              case 80:
              case 211:
              case 292:
              case 291:
              case 293:
                if (st && (st.kind === 285 || st.kind === 286)) {
                  if (ke.kind === 32) {
                    const At = cl(
                      ke.pos,
                      n,
                      /*startNode*/
                      void 0
                    );
                    if (!st.typeArguments || At && At.kind === 44) break;
                  }
                  return st;
                } else if (st.kind === 291)
                  return st.parent.parent;
                break;
              // The context token is the closing } or " of an attribute, which means
              // its parent is a JsxExpression, whose parent is a JsxAttribute,
              // whose parent is a JsxOpeningLikeElement
              case 11:
                if (st && (st.kind === 291 || st.kind === 293))
                  return st.parent.parent;
                break;
              case 20:
                if (st && st.kind === 294 && st.parent && st.parent.kind === 291)
                  return st.parent.parent.parent;
                if (st && st.kind === 293)
                  return st.parent.parent;
                break;
            }
          }
        }
        function ft(ke, st) {
          return n.getLineEndOfPosition(ke.getEnd()) < st;
        }
        function _t(ke) {
          const st = ke.parent, At = st.kind;
          switch (ke.kind) {
            case 28:
              return At === 260 || Zr(ke) || At === 243 || At === 266 || // enum a { foo, |
              Ve(At) || At === 264 || // interface A<T, |
              At === 207 || // var [x, y|
              At === 265 || // type Map, K, |
              // class A<T, |
              // var C = class D<T, |
              Xn(st) && !!st.typeParameters && st.typeParameters.end >= ke.pos;
            case 25:
              return At === 207;
            // var [.|
            case 59:
              return At === 208;
            // var {x :html|
            case 23:
              return At === 207;
            // var [x|
            case 21:
              return At === 299 || Ve(At);
            case 19:
              return At === 266;
            // enum a { |
            case 30:
              return At === 263 || // class A< |
              At === 231 || // var C = class D< |
              At === 264 || // interface A< |
              At === 265 || // type List< |
              tx(At);
            case 126:
              return At === 172 && !Xn(st.parent);
            case 26:
              return At === 169 || !!st.parent && st.parent.kind === 207;
            // var [...z|
            case 125:
            case 123:
            case 124:
              return At === 169 && !Xo(st.parent);
            case 130:
              return At === 276 || At === 281 || At === 274;
            case 139:
            case 153:
              return !MH(ke);
            case 80: {
              if ((At === 276 || At === 281) && ke === st.name && ke.text === "type" || _r(
                ke.parent,
                Zn
              ) && ft(ke, s))
                return !1;
              break;
            }
            case 86:
            case 94:
            case 120:
            case 100:
            case 115:
            case 102:
            case 121:
            case 87:
            case 140:
              return !0;
            case 156:
              return At !== 276;
            case 42:
              return Ts(ke.parent) && !uc(ke.parent);
          }
          if (SL(FH(ke)) && MH(ke) || qe(ke) && (!Fe(ke) || w4(FH(ke)) || jt(ke)))
            return !1;
          switch (FH(ke)) {
            case 128:
            case 86:
            case 87:
            case 138:
            case 94:
            case 100:
            case 120:
            case 121:
            case 123:
            case 124:
            case 125:
            case 126:
            case 115:
              return !0;
            case 134:
              return is(ke.parent);
          }
          if (_r(ke.parent, Xn) && ke === j && kt(ke, s))
            return !1;
          const Mr = Y1(
            ke.parent,
            172
            /* PropertyDeclaration */
          );
          if (Mr && ke !== j && Xn(j.parent.parent) && s <= j.end) {
            if (kt(ke, j.end))
              return !1;
            if (ke.kind !== 64 && (rA(Mr) || D7(Mr)))
              return !0;
          }
          return Xm(ke) && !_u(ke.parent) && !um(ke.parent) && !((Xn(ke.parent) || Yl(ke.parent) || Fo(ke.parent)) && (ke !== j || s > j.end));
        }
        function kt(ke, st) {
          return ke.kind !== 64 && (ke.kind === 27 || !rp(ke.end, st, n));
        }
        function Ve(ke) {
          return tx(ke) && ke !== 176;
        }
        function Rt(ke) {
          if (ke.kind === 9) {
            const st = ke.getFullText();
            return st.charAt(st.length - 1) === ".";
          }
          return !1;
        }
        function Zr(ke) {
          return ke.parent.kind === 261 && !AA(ke, n, m);
        }
        function we(ke, st) {
          if (st.length === 0)
            return ke;
          const At = /* @__PURE__ */ new Set(), Yr = /* @__PURE__ */ new Set();
          for (const Rr of st) {
            if (Rr.kind !== 303 && Rr.kind !== 304 && Rr.kind !== 208 && Rr.kind !== 174 && Rr.kind !== 177 && Rr.kind !== 178 && Rr.kind !== 305 || jt(Rr))
              continue;
            let Ye;
            if (Gg(Rr))
              mt(Rr, At);
            else if (ya(Rr) && Rr.propertyName)
              Rr.propertyName.kind === 80 && (Ye = Rr.propertyName.escapedText);
            else {
              const gt = ls(Rr);
              Ye = gt && Kd(gt) ? X4(gt) : void 0;
            }
            Ye !== void 0 && Yr.add(Ye);
          }
          const Mr = ke.filter((Rr) => !Yr.has(Rr.escapedName));
          return M(At, Mr), Mr;
        }
        function mt(ke, st) {
          const At = ke.expression, Yr = m.getSymbolAtLocation(At), Mr = Yr && m.getTypeOfSymbolAtLocation(Yr, At), Rr = Mr && Mr.properties;
          Rr && Rr.forEach((Ye) => {
            st.add(Ye.name);
          });
        }
        function _e() {
          ue.forEach((ke) => {
            if (ke.flags & 16777216) {
              const st = ea(ke);
              oe[st] = oe[st] ?? Cu.OptionalMember;
            }
          });
        }
        function M(ke, st) {
          if (ke.size !== 0)
            for (const At of st)
              ke.has(At.name) && (oe[ea(At)] = Cu.MemberDeclaredBySpreadAssignment);
        }
        function ye(ke) {
          for (let st = ke; st < ue.length; st++) {
            const At = ue[st], Yr = ea(At), Mr = nt?.[st], Rr = ga(i), Ye = AH(
              At,
              Rr,
              Mr,
              0,
              /*jsxIdentifierExpected*/
              !1
            );
            if (Ye) {
              const gt = oe[Yr] ?? Cu.LocationPriority, { name: Jt } = Ye;
              oe[Yr] = Cu.ObjectLiteralProperty(gt, Jt);
            }
          }
        }
        function X(ke, st, At) {
          const Yr = /* @__PURE__ */ new Set();
          for (const Mr of st) {
            if (Mr.kind !== 172 && Mr.kind !== 174 && Mr.kind !== 177 && Mr.kind !== 178 || jt(Mr) || $_(
              Mr,
              2
              /* Private */
            ) || zs(Mr) !== !!(At & 256))
              continue;
            const Rr = SS(Mr.name);
            Rr && Yr.add(Rr);
          }
          return ke.filter(
            (Mr) => !Yr.has(Mr.escapedName) && !!Mr.declarations && !(np(Mr) & 2) && !(Mr.valueDeclaration && Iu(Mr.valueDeclaration))
          );
        }
        function pt(ke, st) {
          const At = /* @__PURE__ */ new Set(), Yr = /* @__PURE__ */ new Set();
          for (const Rr of st)
            jt(Rr) || (Rr.kind === 291 ? At.add(bD(Rr.name)) : Hx(Rr) && mt(Rr, Yr));
          const Mr = ke.filter((Rr) => !At.has(Rr.escapedName));
          return M(Yr, Mr), Mr;
        }
        function jt(ke) {
          return ke.getStart(n) <= s && s <= ke.getEnd();
        }
      }
      function A$e(e, t, n) {
        var i;
        if (e) {
          const { parent: s } = e;
          switch (e.kind) {
            case 19:
            // const x = { |
            case 28:
              if (ua(s) || Nf(s))
                return s;
              break;
            case 42:
              return uc(s) ? Mn(s.parent, ua) : void 0;
            case 134:
              return Mn(s.parent, ua);
            case 80:
              if (e.text === "async" && _u(e.parent))
                return e.parent.parent;
              {
                if (ua(e.parent.parent) && (Gg(e.parent) || _u(e.parent) && Js(n, e.getEnd()).line !== Js(n, t).line))
                  return e.parent.parent;
                const c = _r(s, tl);
                if (c?.getLastToken(n) === e && ua(c.parent))
                  return c.parent;
              }
              break;
            default:
              if ((i = s.parent) != null && i.parent && (uc(s.parent) || ap(s.parent) || P_(s.parent)) && ua(s.parent.parent))
                return s.parent.parent;
              if (Gg(s) && ua(s.parent))
                return s.parent;
              const o = _r(s, tl);
              if (e.kind !== 59 && o?.getLastToken(n) === e && ua(o.parent))
                return o.parent;
          }
        }
      }
      function NH(e, t) {
        const n = cl(e, t);
        return n && e <= n.end && (Ng(n) || p_(n.kind)) ? { contextToken: cl(
          n.getFullStart(),
          t,
          /*startNode*/
          void 0
        ), previousToken: n } : { contextToken: n, previousToken: n };
      }
      function h4e(e, t, n, i) {
        const s = t.isPackageJsonImport ? i.getPackageJsonAutoImportProvider() : n, o = s.getTypeChecker(), c = t.ambientModuleName ? o.tryFindAmbientModule(t.ambientModuleName) : t.fileName ? o.getMergedSymbol(E.checkDefined(s.getSourceFile(t.fileName)).symbol) : void 0;
        if (!c) return;
        let _ = t.exportName === "export=" ? o.resolveExternalModuleSymbol(c) : o.tryGetMemberInModuleExportsAndProperties(t.exportName, c);
        return _ ? (_ = t.exportName === "default" && rD(_) || _, { symbol: _, origin: b$e(t, e, c) }) : void 0;
      }
      function AH(e, t, n, i, s) {
        if (t$e(n))
          return;
        const o = YGe(n) ? n.symbolName : e.name;
        if (o === void 0 || e.flags & 1536 && C3(o.charCodeAt(0)) || W3(e))
          return;
        const c = { name: o, needsConvertPropertyAccess: !1 };
        if (C_(
          o,
          t,
          s ? 1 : 0
          /* Standard */
        ) || e.valueDeclaration && Iu(e.valueDeclaration))
          return c;
        if (e.flags & 2097152)
          return { name: o, needsConvertPropertyAccess: !0 };
        switch (i) {
          case 3:
            return uue(n) ? { name: n.symbolName, needsConvertPropertyAccess: !1 } : void 0;
          case 0:
            return { name: JSON.stringify(o), needsConvertPropertyAccess: !1 };
          case 2:
          case 1:
            return o.charCodeAt(0) === 32 ? void 0 : { name: o, needsConvertPropertyAccess: !0 };
          case 5:
          case 4:
            return c;
          default:
            E.assertNever(i);
        }
      }
      var IH = [], y4e = Au(() => {
        const e = [];
        for (let t = 83; t <= 165; t++)
          e.push({
            name: Qs(t),
            kind: "keyword",
            kindModifiers: "",
            sortText: Cu.GlobalsOrKeywords
          });
        return e;
      });
      function v4e(e, t) {
        if (!t) return b4e(e);
        const n = e + 8 + 1;
        return IH[n] || (IH[n] = b4e(e).filter((i) => !I$e(iS(i.name))));
      }
      function b4e(e) {
        return IH[e] || (IH[e] = y4e().filter((t) => {
          const n = iS(t.name);
          switch (e) {
            case 0:
              return !1;
            case 1:
              return T4e(n) || n === 138 || n === 144 || n === 156 || n === 145 || n === 128 || hw(n) && n !== 157;
            case 5:
              return T4e(n);
            case 2:
              return SL(n);
            case 3:
              return S4e(n);
            case 4:
              return w4(n);
            case 6:
              return hw(n) || n === 87;
            case 7:
              return hw(n);
            case 8:
              return n === 156;
            default:
              return E.assertNever(e);
          }
        }));
      }
      function I$e(e) {
        switch (e) {
          case 128:
          case 133:
          case 163:
          case 136:
          case 138:
          case 94:
          case 162:
          case 119:
          case 140:
          case 120:
          case 142:
          case 143:
          case 144:
          case 145:
          case 146:
          case 150:
          case 151:
          case 164:
          case 123:
          case 124:
          case 125:
          case 148:
          case 154:
          case 155:
          case 156:
          case 158:
          case 159:
            return !0;
          default:
            return !1;
        }
      }
      function S4e(e) {
        return e === 148;
      }
      function SL(e) {
        switch (e) {
          case 128:
          case 129:
          case 137:
          case 139:
          case 153:
          case 134:
          case 138:
          case 164:
            return !0;
          default:
            return Mj(e);
        }
      }
      function T4e(e) {
        return e === 134 || e === 135 || e === 160 || e === 130 || e === 152 || e === 156 || !u5(e) && !SL(e);
      }
      function FH(e) {
        return Fe(e) ? sS(e) ?? 0 : e.kind;
      }
      function F$e(e, t) {
        const n = [];
        if (e) {
          const i = e.getSourceFile(), s = e.parent, o = i.getLineAndCharacterOfPosition(e.end).line, c = i.getLineAndCharacterOfPosition(t).line;
          (Uo(s) || Oc(s) && s.moduleSpecifier) && e === s.moduleSpecifier && o === c && n.push({
            name: Qs(
              132
              /* AssertKeyword */
            ),
            kind: "keyword",
            kindModifiers: "",
            sortText: Cu.GlobalsOrKeywords
          });
        }
        return n;
      }
      function O$e(e, t) {
        return _r(e, (n) => OC(n) && q6(n, t) ? !0 : bd(n) ? "quit" : !1);
      }
      function OH(e, t, n, i) {
        const s = t && t !== e, o = i.getUnionType(
          Tn(
            e.flags & 1048576 ? e.types : [e],
            (g) => !i.getPromisedTypeOfPromise(g)
          )
        ), c = s && !(t.flags & 3) ? i.getUnionType([o, t]) : o, _ = L$e(c, n, i);
        return c.isClass() && x4e(_) ? [] : s ? Tn(_, u) : _;
        function u(g) {
          return Ar(g.declarations) ? at(g.declarations, (m) => m.parent !== n) : !0;
        }
      }
      function L$e(e, t, n) {
        return e.isUnion() ? n.getAllPossiblePropertiesOfTypes(Tn(e.types, (i) => !(i.flags & 402784252 || n.isArrayLikeType(i) || n.isTypeInvalidDueToUnionDiscriminant(i, t) || n.typeHasCallOrConstructSignatures(i) || i.isClass() && x4e(i.getApparentProperties())))) : e.getApparentProperties();
      }
      function x4e(e) {
        return at(e, (t) => !!(np(t) & 6));
      }
      function LH(e, t) {
        return e.isUnion() ? E.checkEachDefined(t.getAllPossiblePropertiesOfTypes(e.types), "getAllPossiblePropertiesOfTypes() should all be defined") : E.checkEachDefined(e.getApparentProperties(), "getApparentProperties() should all be defined");
      }
      function M$e(e, t, n, i) {
        switch (n.kind) {
          case 352:
            return Mn(n.parent, xx);
          case 1:
            const s = Mn(Po(Us(n.parent, xi).statements), xx);
            if (s && !Za(s, 20, e))
              return s;
            break;
          case 81:
            if (Mn(n.parent, is))
              return _r(n, Xn);
            break;
          case 80: {
            if (sS(n) || is(n.parent) && n.parent.initializer === n)
              return;
            if (MH(n))
              return _r(n, xx);
          }
        }
        if (t) {
          if (n.kind === 137 || Fe(t) && is(t.parent) && Xn(n))
            return _r(t, Xn);
          switch (t.kind) {
            case 64:
              return;
            case 27:
            // class c {getValue(): number; | }
            case 20:
              return MH(n) && n.parent.name === n ? n.parent.parent : Mn(n, xx);
            case 19:
            // class c { |
            case 28:
              return Mn(t.parent, xx);
            default:
              if (xx(n)) {
                if (Js(e, t.getEnd()).line !== Js(e, i).line)
                  return n;
                const s = Xn(t.parent.parent) ? SL : S4e;
                return s(t.kind) || t.kind === 42 || Fe(t) && s(
                  sS(t) ?? 0
                  /* Unknown */
                ) ? t.parent.parent : void 0;
              }
              return;
          }
        }
      }
      function R$e(e) {
        if (!e) return;
        const t = e.parent;
        switch (e.kind) {
          case 19:
            if (Yu(t))
              return t;
            break;
          case 27:
          case 28:
          case 80:
            if (t.kind === 171 && Yu(t.parent))
              return t.parent;
            break;
        }
      }
      function k4e(e, t) {
        if (!e) return;
        if (si(e) && w7(e.parent))
          return t.getTypeArgumentConstraint(e);
        const n = k4e(e.parent, t);
        if (n)
          switch (e.kind) {
            case 171:
              return t.getTypeOfPropertyOfContextualType(n, e.symbol.escapedName);
            case 193:
            case 187:
            case 192:
              return n;
          }
      }
      function MH(e) {
        return e.parent && b7(e.parent) && xx(e.parent.parent);
      }
      function j$e(e, t, n, i) {
        switch (t) {
          case ".":
          case "@":
            return !0;
          case '"':
          case "'":
          case "`":
            return !!n && Sae(n) && i === n.getStart(e) + 1;
          case "#":
            return !!n && Di(n) && !!Jl(n);
          case "<":
            return !!n && n.kind === 30 && (!_n(n.parent) || C4e(n.parent));
          case "/":
            return !!n && (Ba(n) ? !!I3(n) : n.kind === 44 && $b(n.parent));
          case " ":
            return !!n && PD(n) && n.parent.kind === 307;
          default:
            return E.assertNever(t);
        }
      }
      function C4e({ left: e }) {
        return cc(e);
      }
      function B$e(e, t, n) {
        const i = n.resolveName(
          "self",
          /*location*/
          void 0,
          111551,
          /*excludeGlobals*/
          !1
        );
        if (i && n.getTypeOfSymbolAtLocation(i, t) === e)
          return !0;
        const s = n.resolveName(
          "global",
          /*location*/
          void 0,
          111551,
          /*excludeGlobals*/
          !1
        );
        if (s && n.getTypeOfSymbolAtLocation(s, t) === e)
          return !0;
        const o = n.resolveName(
          "globalThis",
          /*location*/
          void 0,
          111551,
          /*excludeGlobals*/
          !1
        );
        return !!(o && n.getTypeOfSymbolAtLocation(o, t) === e);
      }
      function J$e(e) {
        return !!(e.valueDeclaration && Lu(e.valueDeclaration) & 256 && Xn(e.valueDeclaration.parent));
      }
      function z$e(e, t) {
        const n = t.getContextualType(e);
        if (n)
          return n;
        const i = Gp(e.parent);
        if (_n(i) && i.operatorToken.kind === 64 && e === i.left)
          return t.getTypeAtLocation(i);
        if (lt(i))
          return t.getContextualType(i);
      }
      function E4e(e, t) {
        var n, i, s;
        let o, c = !1;
        const _ = u();
        return {
          isKeywordOnlyCompletion: c,
          keywordCompletion: o,
          isNewIdentifierLocation: !!(_ || o === 156),
          isTopLevelTypeOnly: !!((i = (n = Mn(_, Uo)) == null ? void 0 : n.importClause) != null && i.isTypeOnly) || !!((s = Mn(_, bl)) != null && s.isTypeOnly),
          couldBeTypeOnlyImportSpecifier: !!_ && w4e(_, e),
          replacementSpan: W$e(_)
        };
        function u() {
          const g = e.parent;
          if (bl(g)) {
            const m = g.getLastToken(t);
            if (Fe(e) && m !== e) {
              o = 161, c = !0;
              return;
            }
            return o = e.kind === 156 ? void 0 : 156, vue(g.moduleReference) ? g : void 0;
          }
          if (w4e(g, e) && P4e(g.parent))
            return g;
          if (cm(g) || Hg(g)) {
            if (!g.parent.isTypeOnly && (e.kind === 19 || e.kind === 102 || e.kind === 28) && (o = 156), P4e(g))
              if (e.kind === 20 || e.kind === 80)
                c = !0, o = 161;
              else
                return g.parent.parent;
            return;
          }
          if (Oc(g) && e.kind === 42 || cp(g) && e.kind === 20) {
            c = !0, o = 161;
            return;
          }
          if (PD(e) && xi(g))
            return o = 156, e;
          if (PD(e) && Uo(g))
            return o = 156, vue(g.moduleSpecifier) ? g : void 0;
        }
      }
      function W$e(e) {
        var t;
        if (!e) return;
        const n = _r(e, z_(Uo, bl, _m)) ?? e, i = n.getSourceFile();
        if (kS(n, i))
          return t_(n, i);
        E.assert(
          n.kind !== 102 && n.kind !== 276
          /* ImportSpecifier */
        );
        const s = n.kind === 272 || n.kind === 351 ? D4e((t = n.importClause) == null ? void 0 : t.namedBindings) ?? n.moduleSpecifier : n.moduleReference, o = {
          pos: n.getFirstToken().getStart(),
          end: s.pos
        };
        if (kS(o, i))
          return L0(o);
      }
      function D4e(e) {
        var t;
        return Dn(
          (t = Mn(e, cm)) == null ? void 0 : t.elements,
          (n) => {
            var i;
            return !n.propertyName && hx(n.name.text) && ((i = cl(n.name.pos, e.getSourceFile(), e)) == null ? void 0 : i.kind) !== 28;
          }
        );
      }
      function w4e(e, t) {
        return Bu(e) && (e.isTypeOnly || t === e.name && k9(t));
      }
      function P4e(e) {
        if (!vue(e.parent.parent.moduleSpecifier) || e.parent.name)
          return !1;
        if (cm(e)) {
          const t = D4e(e);
          return (t ? e.elements.indexOf(t) : e.elements.length) < 2;
        }
        return !0;
      }
      function vue(e) {
        var t;
        return cc(e) ? !0 : !((t = Mn(Mh(e) ? e.expression : e, Ba)) != null && t.text);
      }
      function V$e(e, t) {
        if (!e) return;
        let n = _r(e, (i) => Eb(i) || N4e(i) || Ps(i) ? "quit" : (Ni(i) || Fo(i)) && !r1(i.parent));
        return n || (n = _r(t, (i) => Eb(i) || N4e(i) || Ps(i) ? "quit" : Zn(i))), n;
      }
      function U$e(e) {
        if (!e)
          return !1;
        let t = e, n = e.parent;
        for (; n; ) {
          if (Fo(n))
            return n.default === t || t.kind === 64;
          t = n, n = n.parent;
        }
        return !1;
      }
      function N4e(e) {
        return e.parent && Co(e.parent) && (e.parent.body === e || // const a = () => /**/;
        e.kind === 39);
      }
      function bue(e, t, n = /* @__PURE__ */ new Set()) {
        return i(e) || i($l(e.exportSymbol || e, t));
        function i(s) {
          return !!(s.flags & 788968) || t.isUnknownSymbol(s) || !!(s.flags & 1536) && Pp(n, s) && t.getExportsOfModule(s).some((o) => bue(o, t, n));
        }
      }
      function q$e(e, t) {
        const n = $l(e, t).declarations;
        return !!Ar(n) && Pi(n, J9);
      }
      function A4e(e, t) {
        if (t.length === 0)
          return !0;
        let n = !1, i, s = 0;
        const o = e.length;
        for (let c = 0; c < o; c++) {
          const _ = e.charCodeAt(c), u = t.charCodeAt(s);
          if ((_ === u || _ === H$e(u)) && (n || (n = i === void 0 || // Beginning of word
          97 <= i && i <= 122 && 65 <= _ && _ <= 90 || // camelCase transition
          i === 95 && _ !== 95), n && s++, s === t.length))
            return !0;
          i = _;
        }
        return !1;
      }
      function H$e(e) {
        return 97 <= e && e <= 122 ? e - 32 : e;
      }
      function G$e(e) {
        return e === "abstract" || e === "async" || e === "await" || e === "declare" || e === "module" || e === "namespace" || e === "type" || e === "satisfies" || e === "as";
      }
      var RH = {};
      Ta(RH, {
        getStringLiteralCompletionDetails: () => Q$e,
        getStringLiteralCompletions: () => $$e
      });
      var I4e = {
        directory: 0,
        script: 1,
        "external module name": 2
      };
      function Sue() {
        const e = /* @__PURE__ */ new Map();
        function t(n) {
          const i = e.get(n.name);
          (!i || I4e[i.kind] < I4e[n.kind]) && e.set(n.name, n);
        }
        return {
          add: t,
          has: e.has.bind(e),
          values: e.values.bind(e)
        };
      }
      function $$e(e, t, n, i, s, o, c, _, u) {
        if (rae(e, t)) {
          const g = uXe(e, t, o, s, bv(o, s));
          return g && F4e(g);
        }
        if (ok(e, t, n)) {
          if (!n || !Ba(n)) return;
          const g = L4e(e, n, t, o, s, _);
          return X$e(g, n, e, s, o, c, i, _, t, u);
        }
      }
      function X$e(e, t, n, i, s, o, c, _, u, g) {
        if (e === void 0)
          return;
        const m = PU(t, u);
        switch (e.kind) {
          case 0:
            return F4e(e.paths);
          case 1: {
            const h = xR();
            return mue(
              e.symbols,
              h,
              t,
              t,
              n,
              u,
              n,
              i,
              s,
              99,
              o,
              4,
              _,
              c,
              /*formatContext*/
              void 0,
              /*isTypeOnlyLocation*/
              void 0,
              /*propertyAccessToConvert*/
              void 0,
              /*jsxIdentifierExpected*/
              void 0,
              /*isJsxInitializer*/
              void 0,
              /*importStatementCompletion*/
              void 0,
              /*recommendedCompletion*/
              void 0,
              /*symbolToOriginInfoMap*/
              void 0,
              /*symbolToSortTextMap*/
              void 0,
              /*isJsxIdentifierExpected*/
              void 0,
              /*isRightOfOpenTag*/
              void 0,
              g
            ), {
              isGlobalCompletion: !1,
              isMemberCompletion: !0,
              isNewIdentifierLocation: e.hasIndexSignature,
              optionalReplacementSpan: m,
              entries: h,
              defaultCommitCharacters: KS(e.hasIndexSignature)
            };
          }
          case 2: {
            const h = t.kind === 15 ? 96 : Wi(Go(t), "'") ? 39 : 34, S = e.types.map((T) => ({
              name: Qm(T.value, h),
              kindModifiers: "",
              kind: "string",
              sortText: Cu.LocationPriority,
              replacementSpan: wU(t, u),
              commitCharacters: []
            }));
            return {
              isGlobalCompletion: !1,
              isMemberCompletion: !1,
              isNewIdentifierLocation: e.isNewIdentifier,
              optionalReplacementSpan: m,
              entries: S,
              defaultCommitCharacters: KS(e.isNewIdentifier)
            };
          }
          default:
            return E.assertNever(e);
        }
      }
      function Q$e(e, t, n, i, s, o, c, _) {
        if (!i || !Ba(i)) return;
        const u = L4e(t, i, n, s, o, _);
        return u && Y$e(e, i, u, t, s.getTypeChecker(), c);
      }
      function Y$e(e, t, n, i, s, o) {
        switch (n.kind) {
          case 0: {
            const c = Dn(n.paths, (_) => _.name === e);
            return c && bL(e, O4e(c.extension), c.kind, [Lf(e)]);
          }
          case 1: {
            const c = Dn(n.symbols, (_) => _.name === e);
            return c && hue(c, c.name, s, i, t, o);
          }
          case 2:
            return Dn(n.types, (c) => c.value === e) ? bL(e, "", "string", [Lf(e)]) : void 0;
          default:
            return E.assertNever(n);
        }
      }
      function F4e(e) {
        return {
          isGlobalCompletion: !1,
          isMemberCompletion: !1,
          isNewIdentifierLocation: !0,
          entries: e.map(({ name: s, kind: o, span: c, extension: _ }) => ({ name: s, kind: o, kindModifiers: O4e(_), sortText: Cu.LocationPriority, replacementSpan: c })),
          defaultCommitCharacters: KS(!0)
        };
      }
      function O4e(e) {
        switch (e) {
          case ".d.ts":
            return ".d.ts";
          case ".js":
            return ".js";
          case ".json":
            return ".json";
          case ".jsx":
            return ".jsx";
          case ".ts":
            return ".ts";
          case ".tsx":
            return ".tsx";
          case ".d.mts":
            return ".d.mts";
          case ".mjs":
            return ".mjs";
          case ".mts":
            return ".mts";
          case ".d.cts":
            return ".d.cts";
          case ".cjs":
            return ".cjs";
          case ".cts":
            return ".cts";
          case ".tsbuildinfo":
            return E.fail("Extension .tsbuildinfo is unsupported.");
          case void 0:
            return "";
          default:
            return E.assertNever(e);
        }
      }
      function L4e(e, t, n, i, s, o) {
        const c = i.getTypeChecker(), _ = Tue(t.parent);
        switch (_.kind) {
          case 201: {
            const j = Tue(_.parent);
            return j.kind === 205 ? { kind: 0, paths: j4e(e, t, i, s, o) } : u(j);
          }
          case 303:
            return ua(_.parent) && _.name === t ? eXe(c, _.parent) : g() || g(
              0
              /* None */
            );
          case 212: {
            const { expression: j, argumentExpression: z } = _;
            return t === za(z) ? M4e(c.getTypeAtLocation(j)) : void 0;
          }
          case 213:
          case 214:
          case 291:
            if (!gXe(t) && !df(_)) {
              const j = g8.getArgumentInfoForCompletions(_.kind === 291 ? _.parent : t, n, e, c);
              return j && K$e(j.invocation, t, j, c) || g(
                0
                /* None */
              );
            }
          // falls through (is `require("")` or `require(""` or `import("")`)
          case 272:
          case 278:
          case 283:
          case 351:
            return { kind: 0, paths: j4e(e, t, i, s, o) };
          case 296:
            const m = V9(c, _.parent.clauses), h = g();
            return h ? { kind: 2, types: h.types.filter((j) => !m.hasValue(j.value)), isNewIdentifier: !1 } : void 0;
          case 276:
          case 281:
            const T = _;
            if (T.propertyName && t !== T.propertyName)
              return;
            const k = T.parent, { moduleSpecifier: D } = k.kind === 275 ? k.parent.parent : k.parent;
            if (!D) return;
            const w = c.getSymbolAtLocation(D);
            if (!w) return;
            const A = c.getExportsAndPropertiesOfModule(w), O = new Set(k.elements.map((j) => kb(j.propertyName || j.name)));
            return { kind: 1, symbols: A.filter((j) => j.escapedName !== "default" && !O.has(j.escapedName)), hasIndexSignature: !1 };
          default:
            return g() || g(
              0
              /* None */
            );
        }
        function u(m) {
          switch (m.kind) {
            case 233:
            case 183: {
              const T = _r(_, (k) => k.parent === m);
              return T ? { kind: 2, types: jH(c.getTypeArgumentConstraint(T)), isNewIdentifier: !1 } : void 0;
            }
            case 199:
              const { indexType: h, objectType: S } = m;
              return q6(h, n) ? M4e(c.getTypeFromTypeNode(S)) : void 0;
            case 192: {
              const T = u(Tue(m.parent));
              if (!T)
                return;
              const k = Z$e(m, _);
              return T.kind === 1 ? { kind: 1, symbols: T.symbols.filter((D) => !_s(k, D.name)), hasIndexSignature: T.hasIndexSignature } : { kind: 2, types: T.types.filter((D) => !_s(k, D.value)), isNewIdentifier: !1 };
            }
            default:
              return;
          }
        }
        function g(m = 4) {
          const h = jH(I9(t, c, m));
          if (h.length)
            return { kind: 2, types: h, isNewIdentifier: !1 };
        }
      }
      function Tue(e) {
        switch (e.kind) {
          case 196:
            return R3(e);
          case 217:
            return Gp(e);
          default:
            return e;
        }
      }
      function Z$e(e, t) {
        return Oi(e.types, (n) => n !== t && P0(n) && la(n.literal) ? n.literal.text : void 0);
      }
      function K$e(e, t, n, i) {
        let s = !1;
        const o = /* @__PURE__ */ new Set(), c = yu(e) ? E.checkDefined(_r(t.parent, um)) : t, _ = i.getCandidateSignaturesForStringLiteralCompletions(e, c), u = oa(_, (g) => {
          if (!Tu(g) && n.argumentCount > g.parameters.length) return;
          let m = g.getTypeParameterAtPosition(n.argumentIndex);
          if (yu(e)) {
            const h = i.getTypeOfPropertyOfType(m, mN(c.name));
            h && (m = h);
          }
          return s = s || !!(m.flags & 4), jH(m, o);
        });
        return Ar(u) ? { kind: 2, types: u, isNewIdentifier: s } : void 0;
      }
      function M4e(e) {
        return e && {
          kind: 1,
          symbols: Tn(e.getApparentProperties(), (t) => !(t.valueDeclaration && Iu(t.valueDeclaration))),
          hasIndexSignature: YU(e)
        };
      }
      function eXe(e, t) {
        const n = e.getContextualType(t);
        if (!n) return;
        const i = e.getContextualType(
          t,
          4
          /* Completions */
        );
        return {
          kind: 1,
          symbols: OH(
            n,
            i,
            t,
            e
          ),
          hasIndexSignature: YU(n)
        };
      }
      function jH(e, t = /* @__PURE__ */ new Set()) {
        return e ? (e = IU(e), e.isUnion() ? oa(e.types, (n) => jH(n, t)) : e.isStringLiteral() && !(e.flags & 1024) && Pp(t, e.value) ? [e] : Ue) : Ue;
      }
      function Mw(e, t, n) {
        return { name: e, kind: t, extension: n };
      }
      function xue(e) {
        return Mw(
          e,
          "directory",
          /*extension*/
          void 0
        );
      }
      function R4e(e, t, n) {
        const i = fXe(e, t), s = e.length === 0 ? void 0 : Gl(t, e.length);
        return n.map(({ name: o, kind: c, extension: _ }) => o.includes(xo) || o.includes(e7) ? { name: o, kind: c, extension: _, span: s } : { name: o, kind: c, extension: _, span: i });
      }
      function j4e(e, t, n, i, s) {
        return R4e(t.text, t.getStart(e) + 1, tXe(e, t, n, i, s));
      }
      function tXe(e, t, n, i, s) {
        const o = Bl(t.text), c = Ba(t) ? n.getModeForUsageLocation(e, t) : void 0, _ = e.path, u = Un(_), g = n.getCompilerOptions(), m = n.getTypeChecker(), h = bv(n, i), S = kue(g, 1, e, m, s, c);
        return pXe(o) || !g.baseUrl && !g.paths && (V_(o) || CY(o)) ? rXe(o, u, n, i, h, _, S) : aXe(o, u, c, n, i, h, S);
      }
      function kue(e, t, n, i, s, o) {
        return {
          extensionsToSearch: Sp(nXe(e, i)),
          referenceKind: t,
          importingSourceFile: n,
          endingPreference: s?.importModuleSpecifierEnding,
          resolutionMode: o
        };
      }
      function rXe(e, t, n, i, s, o, c) {
        const _ = n.getCompilerOptions();
        return _.rootDirs ? sXe(
          _.rootDirs,
          e,
          t,
          c,
          n,
          i,
          s,
          o
        ) : rs(u8(
          e,
          t,
          c,
          n,
          i,
          s,
          /*moduleSpecifierIsRelative*/
          !0,
          o
        ).values());
      }
      function nXe(e, t) {
        const n = t ? Oi(t.getAmbientModules(), (o) => {
          const c = o.name.slice(1, -1);
          if (!(!c.startsWith("*.") || c.includes("/")))
            return c.slice(1);
        }) : [], i = [...uD(e), n], s = vu(e);
        return C9(s) ? lN(e, i) : i;
      }
      function iXe(e, t, n, i) {
        e = e.map((o) => ml(Gs(V_(o) ? o : An(t, o))));
        const s = Ic(e, (o) => Qf(o, n, t, i) ? n.substr(o.length) : void 0);
        return pb(
          [...e.map((o) => An(o, s)), n].map((o) => g0(o)),
          gb,
          au
        );
      }
      function sXe(e, t, n, i, s, o, c, _) {
        const g = s.getCompilerOptions().project || o.getCurrentDirectory(), m = !(o.useCaseSensitiveFileNames && o.useCaseSensitiveFileNames()), h = iXe(e, g, n, m);
        return pb(
          oa(h, (S) => rs(u8(
            t,
            S,
            i,
            s,
            o,
            c,
            /*moduleSpecifierIsRelative*/
            !0,
            _
          ).values())),
          (S, T) => S.name === T.name && S.kind === T.kind && S.extension === T.extension
        );
      }
      function u8(e, t, n, i, s, o, c, _, u = Sue()) {
        var g;
        e === void 0 && (e = ""), e = Bl(e), Ny(e) || (e = Un(e)), e === "" && (e = "." + xo), e = ml(e);
        const m = Ay(t, e), h = Ny(m) ? m : Un(m);
        if (!c) {
          const D = Cae(h, s);
          if (D) {
            const A = e6(D, s).typesVersions;
            if (typeof A == "object") {
              const O = (g = nO(A)) == null ? void 0 : g.paths;
              if (O) {
                const F = Un(D), j = m.slice(ml(F).length);
                if (J4e(u, j, F, n, i, s, o, O))
                  return u;
              }
            }
          }
        }
        const S = !(s.useCaseSensitiveFileNames && s.useCaseSensitiveFileNames());
        if (!M9(s, h)) return u;
        const T = eq(
          s,
          h,
          n.extensionsToSearch,
          /*exclude*/
          void 0,
          /*include*/
          ["./*"]
        );
        if (T)
          for (let D of T) {
            if (D = Gs(D), _ && xh(D, _, t, S) === 0)
              continue;
            const { name: w, extension: A } = B4e(
              Qc(D),
              i,
              n,
              /*isExportsOrImportsWildcard*/
              !1
            );
            u.add(Mw(w, "script", A));
          }
        const k = L9(s, h);
        if (k)
          for (const D of k) {
            const w = Qc(Gs(D));
            w !== "@types" && u.add(xue(w));
          }
        return u;
      }
      function B4e(e, t, n, i) {
        const s = Bh.tryGetRealFileNameForNonJsDeclarationFileName(e);
        if (s)
          return { name: s, extension: Vg(s) };
        if (n.referenceKind === 0)
          return { name: e, extension: Vg(e) };
        let o = Bh.getModuleSpecifierPreferences(
          { importModuleSpecifierEnding: n.endingPreference },
          t,
          t.getCompilerOptions(),
          n.importingSourceFile
        ).getAllowedEndingsInPreferredOrder(n.resolutionMode);
        if (i && (o = o.filter(
          (_) => _ !== 0 && _ !== 1
          /* Index */
        )), o[0] === 3) {
          if (Dc(e, cN))
            return { name: e, extension: Vg(e) };
          const _ = Bh.tryGetJSExtensionForFile(e, t.getCompilerOptions());
          return _ ? { name: Oh(e, _), extension: _ } : { name: e, extension: Vg(e) };
        }
        if (!i && (o[0] === 0 || o[0] === 1) && Dc(e, [
          ".js",
          ".jsx",
          ".ts",
          ".tsx",
          ".d.ts"
          /* Dts */
        ]))
          return { name: Ru(e), extension: Vg(e) };
        const c = Bh.tryGetJSExtensionForFile(e, t.getCompilerOptions());
        return c ? { name: Oh(e, c), extension: c } : { name: e, extension: Vg(e) };
      }
      function J4e(e, t, n, i, s, o, c, _) {
        const u = (m) => _[m], g = (m, h) => {
          const S = wx(m), T = wx(h), k = typeof S == "object" ? S.prefix.length : m.length, D = typeof T == "object" ? T.prefix.length : h.length;
          return go(D, k);
        };
        return z4e(
          e,
          /*isExports*/
          !1,
          /*isImports*/
          !1,
          t,
          n,
          i,
          s,
          o,
          c,
          Ud(_),
          u,
          g
        );
      }
      function z4e(e, t, n, i, s, o, c, _, u, g, m, h) {
        let S = [], T;
        for (const k of g) {
          if (k === ".") continue;
          const D = k.replace(/^\.\//, "") + ((t || n) && No(k, "/") ? "*" : ""), w = m(k);
          if (w) {
            const A = wx(D);
            if (!A) continue;
            const O = typeof A == "object" && UI(A, i);
            O && (T === void 0 || h(D, T) === -1) && (T = D, S = S.filter((j) => !j.matchedPattern)), (typeof A == "string" || T === void 0 || h(D, T) !== 1) && S.push({
              matchedPattern: O,
              results: oXe(D, w, i, s, o, t, n, c, _, u).map(({ name: j, kind: z, extension: V }) => Mw(j, z, V))
            });
          }
        }
        return S.forEach((k) => k.results.forEach((D) => e.add(D))), T !== void 0;
      }
      function aXe(e, t, n, i, s, o, c) {
        const _ = i.getTypeChecker(), u = i.getCompilerOptions(), { baseUrl: g, paths: m } = u, h = Sue(), S = vu(u);
        if (g) {
          const D = Gs(An(s.getCurrentDirectory(), g));
          u8(
            e,
            D,
            c,
            i,
            s,
            o,
            /*moduleSpecifierIsRelative*/
            !1,
            /*exclude*/
            void 0,
            h
          );
        }
        if (m) {
          const D = y5(u, s);
          J4e(h, e, D, c, i, s, o, m);
        }
        const T = V4e(e);
        for (const D of lXe(e, T, _))
          h.add(Mw(
            D,
            "external module name",
            /*extension*/
            void 0
          ));
        if (H4e(i, s, o, t, T, c, h), C9(S)) {
          let D = !1;
          if (T === void 0)
            for (const w of _Xe(s, t)) {
              const A = Mw(
                w,
                "external module name",
                /*extension*/
                void 0
              );
              h.has(A.name) || (D = !0, h.add(A));
            }
          if (!D) {
            const w = nN(u), A = iN(u);
            let O = !1;
            const F = (z) => {
              if (A && !O) {
                const V = An(z, "package.json");
                if (O = Cw(s, V)) {
                  const G = e6(V, s);
                  k(
                    G.imports,
                    e,
                    z,
                    /*isExports*/
                    !1,
                    /*isImports*/
                    !0
                  );
                }
              }
            };
            let j = (z) => {
              const V = An(z, "node_modules");
              M9(s, V) && u8(
                e,
                V,
                c,
                i,
                s,
                o,
                /*moduleSpecifierIsRelative*/
                !1,
                /*exclude*/
                void 0,
                h
              ), F(z);
            };
            if (T && w) {
              const z = j;
              j = (V) => {
                const G = ou(e);
                G.shift();
                let W = G.shift();
                if (!W)
                  return z(V);
                if (Wi(W, "@")) {
                  const U = G.shift();
                  if (!U)
                    return z(V);
                  W = An(W, U);
                }
                if (A && Wi(W, "#"))
                  return F(V);
                const pe = An(V, "node_modules", W), K = An(pe, "package.json");
                if (Cw(s, K)) {
                  const U = e6(K, s), ee = G.join("/") + (G.length && Ny(e) ? "/" : "");
                  k(
                    U.exports,
                    ee,
                    pe,
                    /*isExports*/
                    !0,
                    /*isImports*/
                    !1
                  );
                  return;
                }
                return z(V);
              };
            }
            Km(s, t, j);
          }
        }
        return rs(h.values());
        function k(D, w, A, O, F) {
          if (typeof D != "object" || D === null)
            return;
          const j = Ud(D), z = o1(u, n);
          z4e(
            h,
            O,
            F,
            w,
            A,
            c,
            i,
            s,
            o,
            j,
            (V) => {
              const G = W4e(D[V], z);
              if (G !== void 0)
                return GT(No(V, "/") && No(G, "/") ? G + "*" : G);
            },
            fW
          );
        }
      }
      function W4e(e, t) {
        if (typeof e == "string")
          return e;
        if (e && typeof e == "object" && !fs(e)) {
          for (const n in e)
            if (n === "default" || t.includes(n) || ZN(t, n)) {
              const i = e[n];
              return W4e(i, t);
            }
        }
      }
      function V4e(e) {
        return Cue(e) ? Ny(e) ? e : Un(e) : void 0;
      }
      function oXe(e, t, n, i, s, o, c, _, u, g) {
        const m = wx(e);
        if (!m)
          return Ue;
        if (typeof m == "string")
          return S(
            e,
            "script"
            /* scriptElement */
          );
        const h = jR(n, m.prefix);
        if (h === void 0)
          return No(e, "/*") ? S(
            m.prefix,
            "directory"
            /* directory */
          ) : oa(t, (k) => {
            var D;
            return (D = U4e("", i, k, s, o, c, _, u, g)) == null ? void 0 : D.map(({ name: w, ...A }) => ({ name: m.prefix + w + m.suffix, ...A }));
          });
        return oa(t, (T) => U4e(h, i, T, s, o, c, _, u, g));
        function S(T, k) {
          return Wi(T, n) ? [{ name: g0(T), kind: k, extension: void 0 }] : Ue;
        }
      }
      function U4e(e, t, n, i, s, o, c, _, u) {
        if (!_.readDirectory)
          return;
        const g = wx(n);
        if (g === void 0 || cs(g))
          return;
        const m = Ay(g.prefix), h = Ny(g.prefix) ? m : Un(m), S = Ny(g.prefix) ? "" : Qc(m), T = Cue(e), k = T ? Ny(e) ? e : Un(e) : void 0, D = () => u.getCommonSourceDirectory(), w = !TS(u), A = c.getCompilerOptions().outDir, O = c.getCompilerOptions().declarationDir, F = T ? An(h, S + k) : h, j = Gs(An(t, F)), z = o && A && qB(j, w, A, D), V = o && O && qB(j, w, O, D), G = Gs(g.suffix), W = G && h5("_" + G), pe = G ? UB("_" + G) : void 0, K = [
          W && Oh(G, W),
          ...pe ? pe.map((q) => Oh(G, q)) : [],
          G
        ].filter(cs), U = G ? K.map((q) => "**/*" + q) : ["./*"], ee = (s || o) && No(n, "/*");
        let te = ie(j);
        return z && (te = Ji(te, ie(z))), V && (te = Ji(te, ie(V))), G || (te = Ji(te, fe(j)), z && (te = Ji(te, fe(z))), V && (te = Ji(te, fe(V)))), te;
        function ie(q) {
          const he = T ? q : ml(q) + S;
          return Oi(eq(
            _,
            q,
            i.extensionsToSearch,
            /*exclude*/
            void 0,
            U
          ), (Me) => {
            const De = me(Me, he);
            if (De) {
              if (Cue(De))
                return xue(ou(q4e(De))[1]);
              const { name: re, extension: xe } = B4e(De, c, i, ee);
              return Mw(re, "script", xe);
            }
          });
        }
        function fe(q) {
          return Oi(L9(_, q), (he) => he === "node_modules" ? void 0 : xue(he));
        }
        function me(q, he) {
          return Ic(K, (Me) => {
            const De = cXe(Gs(q), he, Me);
            return De === void 0 ? void 0 : q4e(De);
          });
        }
      }
      function cXe(e, t, n) {
        return Wi(e, t) && No(e, n) ? e.slice(t.length, e.length - n.length) : void 0;
      }
      function q4e(e) {
        return e[0] === xo ? e.slice(1) : e;
      }
      function lXe(e, t, n) {
        const s = n.getAmbientModules().map((o) => wp(o.name)).filter((o) => Wi(o, e) && !o.includes("*"));
        if (t !== void 0) {
          const o = ml(t);
          return s.map((c) => s4(c, o));
        }
        return s;
      }
      function uXe(e, t, n, i, s) {
        const o = n.getCompilerOptions(), c = mi(e, t), _ = wg(e.text, c.pos), u = _ && Dn(_, (w) => t >= w.pos && t <= w.end);
        if (!u)
          return;
        const g = e.text.slice(u.pos, t), m = dXe.exec(g);
        if (!m)
          return;
        const [, h, S, T] = m, k = Un(e.path), D = S === "path" ? u8(
          T,
          k,
          kue(o, 0, e),
          n,
          i,
          s,
          /*moduleSpecifierIsRelative*/
          !0,
          e.path
        ) : S === "types" ? H4e(n, i, s, k, V4e(T), kue(o, 1, e)) : E.fail();
        return R4e(T, u.pos + h.length, rs(D.values()));
      }
      function H4e(e, t, n, i, s, o, c = Sue()) {
        const _ = e.getCompilerOptions(), u = /* @__PURE__ */ new Map(), g = R9(() => qD(_, t)) || Ue;
        for (const h of g)
          m(h);
        for (const h of tq(i, t)) {
          const S = An(Un(h), "node_modules/@types");
          m(S);
        }
        return c;
        function m(h) {
          if (M9(t, h))
            for (const S of L9(t, h)) {
              const T = KN(S);
              if (!(_.types && !_s(_.types, T)))
                if (s === void 0)
                  u.has(T) || (c.add(Mw(
                    T,
                    "external module name",
                    /*extension*/
                    void 0
                  )), u.set(T, !0));
                else {
                  const k = An(h, S), D = bJ(s, T, Nh(t));
                  D !== void 0 && u8(
                    D,
                    k,
                    o,
                    e,
                    t,
                    n,
                    /*moduleSpecifierIsRelative*/
                    !1,
                    /*exclude*/
                    void 0,
                    c
                  );
                }
            }
        }
      }
      function _Xe(e, t) {
        if (!e.readFile || !e.fileExists) return Ue;
        const n = [];
        for (const i of tq(t, e)) {
          const s = e6(i, e);
          for (const o of mXe) {
            const c = s[o];
            if (c)
              for (const _ in c)
                ao(c, _) && !Wi(_, "@types/") && n.push(_);
          }
        }
        return n;
      }
      function fXe(e, t) {
        const n = Math.max(e.lastIndexOf(xo), e.lastIndexOf(e7)), i = n !== -1 ? n + 1 : 0, s = e.length - i;
        return s === 0 || C_(
          e.substr(i, s),
          99
          /* ESNext */
        ) ? void 0 : Gl(t + i, s);
      }
      function pXe(e) {
        if (e && e.length >= 2 && e.charCodeAt(0) === 46) {
          const t = e.length >= 3 && e.charCodeAt(1) === 46 ? 2 : 1, n = e.charCodeAt(t);
          return n === 47 || n === 92;
        }
        return !1;
      }
      var dXe = /^(\/\/\/\s*<reference\s+(path|types)\s*=\s*(?:'|"))([^\x03"]*)$/, mXe = ["dependencies", "devDependencies", "peerDependencies", "optionalDependencies"];
      function Cue(e) {
        return e.includes(xo);
      }
      function gXe(e) {
        return Ms(e.parent) && Xc(e.parent.arguments) === e && Fe(e.parent.expression) && e.parent.expression.escapedText === "require";
      }
      var Eo = {};
      Ta(Eo, {
        Core: () => vk,
        DefinitionKind: () => K4e,
        EntryKind: () => eDe,
        ExportKind: () => G4e,
        FindReferencesUse: () => tDe,
        ImportExport: () => $4e,
        createImportTracker: () => Eue,
        findModuleReferences: () => X4e,
        findReferenceOrRenameEntries: () => NXe,
        findReferencedSymbols: () => DXe,
        getContextNode: () => eT,
        getExportInfo: () => Due,
        getImplementationsAtPosition: () => PXe,
        getImportOrExportSymbol: () => Z4e,
        getReferenceEntriesForNode: () => nDe,
        isContextWithStartAndEndNode: () => Pue,
        isDeclarationOfSymbol: () => cDe,
        isWriteAccessForReference: () => Aue,
        toContextSpan: () => Nue,
        toHighlightSpan: () => RXe,
        toReferenceEntry: () => aDe,
        toRenameLocation: () => IXe
      });
      function Eue(e, t, n, i) {
        const s = bXe(e, n, i);
        return (o, c, _) => {
          const { directImports: u, indirectUsers: g } = hXe(e, t, s, c, n, i);
          return { indirectUsers: g, ...yXe(u, o, c.exportKind, n, _) };
        };
      }
      var G4e = /* @__PURE__ */ ((e) => (e[e.Named = 0] = "Named", e[e.Default = 1] = "Default", e[e.ExportEquals = 2] = "ExportEquals", e))(G4e || {}), $4e = /* @__PURE__ */ ((e) => (e[e.Import = 0] = "Import", e[e.Export = 1] = "Export", e))($4e || {});
      function hXe(e, t, n, { exportingModuleSymbol: i, exportKind: s }, o, c) {
        const _ = G6(), u = G6(), g = [], m = !!i.globalExports, h = m ? void 0 : [];
        return T(i), { directImports: g, indirectUsers: S() };
        function S() {
          if (m)
            return e;
          if (i.declarations)
            for (const F of i.declarations)
              Cb(F) && t.has(F.getSourceFile().fileName) && A(F);
          return h.map(Er);
        }
        function T(F) {
          const j = O(F);
          if (j) {
            for (const z of j)
              if (_(z))
                switch (c && c.throwIfCancellationRequested(), z.kind) {
                  case 213:
                    if (df(z)) {
                      k(z);
                      break;
                    }
                    if (!m) {
                      const G = z.parent;
                      if (s === 2 && G.kind === 260) {
                        const { name: W } = G;
                        if (W.kind === 80) {
                          g.push(W);
                          break;
                        }
                      }
                    }
                    break;
                  case 80:
                    break;
                  // TODO: GH#23879
                  case 271:
                    w(
                      z,
                      z.name,
                      qn(
                        z,
                        32
                        /* Export */
                      ),
                      /*alreadyAddedDirect*/
                      !1
                    );
                    break;
                  case 272:
                  case 351:
                    g.push(z);
                    const V = z.importClause && z.importClause.namedBindings;
                    V && V.kind === 274 ? w(
                      z,
                      V.name,
                      /*isReExport*/
                      !1,
                      /*alreadyAddedDirect*/
                      !0
                    ) : !m && vS(z) && A(TL(z));
                    break;
                  case 278:
                    z.exportClause ? z.exportClause.kind === 280 ? A(
                      TL(z),
                      /*addTransitiveDependencies*/
                      !0
                    ) : g.push(z) : T(CXe(z, o));
                    break;
                  case 205:
                    !m && z.isTypeOf && !z.qualifier && D(z) && A(
                      z.getSourceFile(),
                      /*addTransitiveDependencies*/
                      !0
                    ), g.push(z);
                    break;
                  default:
                    E.failBadSyntaxKind(z, "Unexpected import kind.");
                }
          }
        }
        function k(F) {
          const j = _r(F, BH) || F.getSourceFile();
          A(
            j,
            /** addTransitiveDependencies */
            !!D(
              F,
              /*stopAtAmbientModule*/
              !0
            )
          );
        }
        function D(F, j = !1) {
          return _r(F, (z) => j && BH(z) ? "quit" : Fp(z) && at(z.modifiers, Rx));
        }
        function w(F, j, z, V) {
          if (s === 2)
            V || g.push(F);
          else if (!m) {
            const G = TL(F);
            E.assert(
              G.kind === 307 || G.kind === 267
              /* ModuleDeclaration */
            ), z || vXe(G, j, o) ? A(
              G,
              /*addTransitiveDependencies*/
              !0
            ) : A(G);
          }
        }
        function A(F, j = !1) {
          if (E.assert(!m), !u(F) || (h.push(F), !j)) return;
          const V = o.getMergedSymbol(F.symbol);
          if (!V) return;
          E.assert(!!(V.flags & 1536));
          const G = O(V);
          if (G)
            for (const W of G)
              am(W) || A(
                TL(W),
                /*addTransitiveDependencies*/
                !0
              );
        }
        function O(F) {
          return n.get(ea(F).toString());
        }
      }
      function yXe(e, t, n, i, s) {
        const o = [], c = [];
        function _(S, T) {
          o.push([S, T]);
        }
        if (e)
          for (const S of e)
            u(S);
        return { importSearches: o, singleReferences: c };
        function u(S) {
          if (S.kind === 271) {
            wue(S) && g(S.name);
            return;
          }
          if (S.kind === 80) {
            g(S);
            return;
          }
          if (S.kind === 205) {
            if (S.qualifier) {
              const D = Xu(S.qualifier);
              D.escapedText === bc(t) && c.push(D);
            } else n === 2 && c.push(S.argument.literal);
            return;
          }
          if (S.moduleSpecifier.kind !== 11)
            return;
          if (S.kind === 278) {
            S.exportClause && cp(S.exportClause) && m(S.exportClause);
            return;
          }
          const { name: T, namedBindings: k } = S.importClause || { name: void 0, namedBindings: void 0 };
          if (k)
            switch (k.kind) {
              case 274:
                g(k.name);
                break;
              case 275:
                (n === 0 || n === 1) && m(k);
                break;
              default:
                E.assertNever(k);
            }
          if (T && (n === 1 || n === 2) && (!s || T.escapedText === E9(t))) {
            const D = i.getSymbolAtLocation(T);
            _(T, D);
          }
        }
        function g(S) {
          n === 2 && (!s || h(S.escapedText)) && _(S, i.getSymbolAtLocation(S));
        }
        function m(S) {
          if (S)
            for (const T of S.elements) {
              const { name: k, propertyName: D } = T;
              if (h(kb(D || k)))
                if (D)
                  c.push(D), (!s || kb(k) === t.escapedName) && _(k, i.getSymbolAtLocation(k));
                else {
                  const w = T.kind === 281 && T.propertyName ? i.getExportSpecifierLocalTargetSymbol(T) : i.getSymbolAtLocation(k);
                  _(k, w);
                }
            }
        }
        function h(S) {
          return S === t.escapedName || n !== 0 && S === "default";
        }
      }
      function vXe(e, t, n) {
        const i = n.getSymbolAtLocation(t);
        return !!Q4e(e, (s) => {
          if (!Oc(s)) return;
          const { exportClause: o, moduleSpecifier: c } = s;
          return !c && o && cp(o) && o.elements.some((_) => n.getExportSpecifierLocalTargetSymbol(_) === i);
        });
      }
      function X4e(e, t, n) {
        var i;
        const s = [], o = e.getTypeChecker();
        for (const c of t) {
          const _ = n.valueDeclaration;
          if (_?.kind === 307) {
            for (const u of c.referencedFiles)
              e.getSourceFileFromReference(c, u) === _ && s.push({ kind: "reference", referencingFile: c, ref: u });
            for (const u of c.typeReferenceDirectives) {
              const g = (i = e.getResolvedTypeReferenceDirectiveFromTypeReferenceDirective(u, c)) == null ? void 0 : i.resolvedTypeReferenceDirective;
              g !== void 0 && g.resolvedFileName === _.fileName && s.push({ kind: "reference", referencingFile: c, ref: u });
            }
          }
          Y4e(c, (u, g) => {
            o.getSymbolAtLocation(g) === n && s.push(oo(u) ? { kind: "implicit", literal: g, referencingFile: c } : { kind: "import", literal: g });
          });
        }
        return s;
      }
      function bXe(e, t, n) {
        const i = /* @__PURE__ */ new Map();
        for (const s of e)
          n && n.throwIfCancellationRequested(), Y4e(s, (o, c) => {
            const _ = t.getSymbolAtLocation(c);
            if (_) {
              const u = ea(_).toString();
              let g = i.get(u);
              g || i.set(u, g = []), g.push(o);
            }
          });
        return i;
      }
      function Q4e(e, t) {
        return ar(e.kind === 307 ? e.statements : e.body.statements, (n) => (
          // TODO: GH#18217
          t(n) || BH(n) && ar(n.body && n.body.statements, t)
        ));
      }
      function Y4e(e, t) {
        if (e.externalModuleIndicator || e.imports !== void 0)
          for (const n of e.imports)
            t(V4(n), n);
        else
          Q4e(e, (n) => {
            switch (n.kind) {
              case 278:
              case 272: {
                const i = n;
                i.moduleSpecifier && la(i.moduleSpecifier) && t(i, i.moduleSpecifier);
                break;
              }
              case 271: {
                const i = n;
                wue(i) && t(i, i.moduleReference.expression);
                break;
              }
            }
          });
      }
      function Z4e(e, t, n, i) {
        return i ? s() : s() || o();
        function s() {
          var u;
          const { parent: g } = e, m = g.parent;
          if (t.exportSymbol)
            return g.kind === 211 ? (u = t.declarations) != null && u.some((T) => T === g) && _n(m) ? S(
              m,
              /*useLhsSymbol*/
              !1
            ) : void 0 : c(t.exportSymbol, _(g));
          {
            const T = TXe(g, e);
            if (T && qn(
              T,
              32
              /* Export */
            ))
              return bl(T) && T.moduleReference === e ? i ? void 0 : { kind: 0, symbol: n.getSymbolAtLocation(T.name) } : c(t, _(T));
            if (Zm(g))
              return c(
                t,
                0
                /* Named */
              );
            if (Oo(g))
              return h(g);
            if (Oo(m))
              return h(m);
            if (_n(g))
              return S(
                g,
                /*useLhsSymbol*/
                !0
              );
            if (_n(m))
              return S(
                m,
                /*useLhsSymbol*/
                !0
              );
            if (jS(g) || _z(g))
              return c(
                t,
                0
                /* Named */
              );
          }
          function h(T) {
            if (!T.symbol.parent) return;
            const k = T.isExportEquals ? 2 : 1;
            return { kind: 1, symbol: t, exportInfo: { exportingModuleSymbol: T.symbol.parent, exportKind: k } };
          }
          function S(T, k) {
            let D;
            switch (Pc(T)) {
              case 1:
                D = 0;
                break;
              case 2:
                D = 2;
                break;
              default:
                return;
            }
            const w = k ? n.getSymbolAtLocation(fJ(Us(T.left, ko))) : t;
            return w && c(w, D);
          }
        }
        function o() {
          if (!xXe(e)) return;
          let g = n.getImmediateAliasedSymbol(t);
          if (!g || (g = kXe(g, n), g.escapedName === "export=" && (g = SXe(g, n), g === void 0)))
            return;
          const m = E9(g);
          if (m === void 0 || m === "default" || m === t.escapedName)
            return { kind: 0, symbol: g };
        }
        function c(u, g) {
          const m = Due(u, g, n);
          return m && { kind: 1, symbol: u, exportInfo: m };
        }
        function _(u) {
          return qn(
            u,
            2048
            /* Default */
          ) ? 1 : 0;
        }
      }
      function SXe(e, t) {
        var n, i;
        if (e.flags & 2097152)
          return t.getImmediateAliasedSymbol(e);
        const s = E.checkDefined(e.valueDeclaration);
        if (Oo(s))
          return (n = Mn(s.expression, fd)) == null ? void 0 : n.symbol;
        if (_n(s))
          return (i = Mn(s.right, fd)) == null ? void 0 : i.symbol;
        if (xi(s))
          return s.symbol;
      }
      function TXe(e, t) {
        const n = Zn(e) ? e : ya(e) ? KT(e) : void 0;
        return n ? e.name !== t || Qb(n.parent) ? void 0 : Sc(n.parent.parent) ? n.parent.parent : void 0 : e;
      }
      function xXe(e) {
        const { parent: t } = e;
        switch (t.kind) {
          case 271:
            return t.name === e && wue(t);
          case 276:
            return !t.propertyName;
          case 273:
          case 274:
            return E.assert(t.name === e), !0;
          case 208:
            return tn(e) && wb(t.parent.parent);
          default:
            return !1;
        }
      }
      function Due(e, t, n) {
        const i = e.parent;
        if (!i) return;
        const s = n.getMergedSymbol(i);
        return sx(s) ? { exportingModuleSymbol: s, exportKind: t } : void 0;
      }
      function kXe(e, t) {
        if (e.declarations)
          for (const n of e.declarations) {
            if (bu(n) && !n.propertyName && !n.parent.parent.moduleSpecifier)
              return t.getExportSpecifierLocalTargetSymbol(n) || e;
            if (kn(n) && Rg(n.expression) && !Di(n.name))
              return t.getSymbolAtLocation(n);
            if (_u(n) && _n(n.parent.parent) && Pc(n.parent.parent) === 2)
              return t.getExportSpecifierLocalTargetSymbol(n.name);
          }
        return e;
      }
      function CXe(e, t) {
        return t.getMergedSymbol(TL(e).symbol);
      }
      function TL(e) {
        if (e.kind === 213 || e.kind === 351)
          return e.getSourceFile();
        const { parent: t } = e;
        return t.kind === 307 ? t : (E.assert(
          t.kind === 268
          /* ModuleBlock */
        ), Us(t.parent, BH));
      }
      function BH(e) {
        return e.kind === 267 && e.name.kind === 11;
      }
      function wue(e) {
        return e.moduleReference.kind === 283 && e.moduleReference.expression.kind === 11;
      }
      var K4e = /* @__PURE__ */ ((e) => (e[e.Symbol = 0] = "Symbol", e[e.Label = 1] = "Label", e[e.Keyword = 2] = "Keyword", e[e.This = 3] = "This", e[e.String = 4] = "String", e[e.TripleSlashReference = 5] = "TripleSlashReference", e))(K4e || {}), eDe = /* @__PURE__ */ ((e) => (e[e.Span = 0] = "Span", e[e.Node = 1] = "Node", e[e.StringLiteral = 2] = "StringLiteral", e[e.SearchedLocalFoundProperty = 3] = "SearchedLocalFoundProperty", e[e.SearchedPropertyFoundLocal = 4] = "SearchedPropertyFoundLocal", e))(eDe || {});
      function Wh(e, t = 1) {
        return {
          kind: t,
          node: e.name || e,
          context: EXe(e)
        };
      }
      function Pue(e) {
        return e && e.kind === void 0;
      }
      function EXe(e) {
        if (Dl(e))
          return eT(e);
        if (e.parent) {
          if (!Dl(e.parent) && !Oo(e.parent)) {
            if (tn(e)) {
              const n = _n(e.parent) ? e.parent : ko(e.parent) && _n(e.parent.parent) && e.parent.parent.left === e.parent ? e.parent.parent : void 0;
              if (n && Pc(n) !== 0)
                return eT(n);
            }
            if (yd(e.parent) || $b(e.parent))
              return e.parent.parent;
            if (MS(e.parent) || i1(e.parent) || C4(e.parent))
              return e.parent;
            if (Ba(e)) {
              const n = I3(e);
              if (n) {
                const i = _r(n, (s) => Dl(s) || yi(s) || OC(s));
                return Dl(i) ? eT(i) : i;
              }
            }
            const t = _r(e, ia);
            return t ? eT(t.parent) : void 0;
          }
          if (e.parent.name === e || // node is name of declaration, use parent
          Xo(e.parent) || Oo(e.parent) || // Property name of the import export specifier or binding pattern, use parent
          (Ry(e.parent) || ya(e.parent)) && e.parent.propertyName === e || // Is default export
          e.kind === 90 && qn(
            e.parent,
            2080
            /* ExportDefault */
          ))
            return eT(e.parent);
        }
      }
      function eT(e) {
        if (e)
          switch (e.kind) {
            case 260:
              return !zl(e.parent) || e.parent.declarations.length !== 1 ? e : Sc(e.parent.parent) ? e.parent.parent : uS(e.parent.parent) ? eT(e.parent.parent) : e.parent;
            case 208:
              return eT(e.parent.parent);
            case 276:
              return e.parent.parent.parent;
            case 281:
            case 274:
              return e.parent.parent;
            case 273:
            case 280:
              return e.parent;
            case 226:
              return Pl(e.parent) ? e.parent : e;
            case 250:
            case 249:
              return {
                start: e.initializer,
                end: e.expression
              };
            case 303:
            case 304:
              return O0(e.parent) ? eT(
                _r(e.parent, (t) => _n(t) || uS(t))
              ) : e;
            case 255:
              return {
                start: Dn(
                  e.getChildren(e.getSourceFile()),
                  (t) => t.kind === 109
                  /* SwitchKeyword */
                ),
                end: e.caseBlock
              };
            default:
              return e;
          }
      }
      function Nue(e, t, n) {
        if (!n) return;
        const i = Pue(n) ? kL(n.start, t, n.end) : kL(n, t);
        return i.start !== e.start || i.length !== e.length ? { contextSpan: i } : void 0;
      }
      var tDe = /* @__PURE__ */ ((e) => (e[e.Other = 0] = "Other", e[e.References = 1] = "References", e[e.Rename = 2] = "Rename", e))(tDe || {});
      function DXe(e, t, n, i, s) {
        const o = h_(i, s), c = {
          use: 1
          /* References */
        }, _ = vk.getReferencedSymbolsForNode(s, o, e, n, t, c), u = e.getTypeChecker(), g = vk.getAdjustedNode(o, c), m = wXe(g) ? u.getSymbolAtLocation(g) : void 0;
        return !_ || !_.length ? void 0 : Oi(_, ({ definition: h, references: S }) => (
          // Only include referenced symbols that have a valid definition.
          h && {
            definition: u.runWithCancellationToken(t, (T) => AXe(h, T, o)),
            references: S.map((T) => FXe(T, m))
          }
        ));
      }
      function wXe(e) {
        return e.kind === 90 || !!q4(e) || j3(e) || e.kind === 137 && Xo(e.parent);
      }
      function PXe(e, t, n, i, s) {
        const o = h_(i, s);
        let c;
        const _ = rDe(e, t, n, o, s);
        if (o.parent.kind === 211 || o.parent.kind === 208 || o.parent.kind === 212 || o.kind === 108)
          c = _ && [..._];
        else if (_) {
          const g = DP(_), m = /* @__PURE__ */ new Set();
          for (; !g.isEmpty(); ) {
            const h = g.dequeue();
            if (!Pp(m, Oa(h.node)))
              continue;
            c = Dr(c, h);
            const S = rDe(e, t, n, h.node, h.node.pos);
            S && g.enqueue(...S);
          }
        }
        const u = e.getTypeChecker();
        return fr(c, (g) => LXe(g, u));
      }
      function rDe(e, t, n, i, s) {
        if (i.kind === 307)
          return;
        const o = e.getTypeChecker();
        if (i.parent.kind === 304) {
          const c = [];
          return vk.getReferenceEntriesForShorthandPropertyAssignment(i, o, (_) => c.push(Wh(_))), c;
        } else if (i.kind === 108 || E_(i.parent)) {
          const c = o.getSymbolAtLocation(i);
          return c.valueDeclaration && [Wh(c.valueDeclaration)];
        } else
          return nDe(s, i, e, n, t, {
            implementations: !0,
            use: 1
            /* References */
          });
      }
      function NXe(e, t, n, i, s, o, c) {
        return fr(iDe(vk.getReferencedSymbolsForNode(s, i, e, n, t, o)), (_) => c(_, i, e.getTypeChecker()));
      }
      function nDe(e, t, n, i, s, o = {}, c = new Set(i.map((_) => _.fileName))) {
        return iDe(vk.getReferencedSymbolsForNode(e, t, n, i, s, o, c));
      }
      function iDe(e) {
        return e && oa(e, (t) => t.references);
      }
      function AXe(e, t, n) {
        const i = (() => {
          switch (e.type) {
            case 0: {
              const { symbol: m } = e, { displayParts: h, kind: S } = sDe(m, t, n), T = h.map((w) => w.text).join(""), k = m.declarations && Xc(m.declarations), D = k ? ls(k) || k : n;
              return {
                ...xL(D),
                name: T,
                kind: S,
                displayParts: h,
                context: eT(k)
              };
            }
            case 1: {
              const { node: m } = e;
              return { ...xL(m), name: m.text, kind: "label", displayParts: [N_(
                m.text,
                17
                /* text */
              )] };
            }
            case 2: {
              const { node: m } = e, h = Qs(m.kind);
              return { ...xL(m), name: h, kind: "keyword", displayParts: [{
                text: h,
                kind: "keyword"
                /* keyword */
              }] };
            }
            case 3: {
              const { node: m } = e, h = t.getSymbolAtLocation(m), S = h && j0.getSymbolDisplayPartsDocumentationAndSymbolKind(
                t,
                h,
                m.getSourceFile(),
                XS(m),
                m
              ).displayParts || [Lf("this")];
              return { ...xL(m), name: "this", kind: "var", displayParts: S };
            }
            case 4: {
              const { node: m } = e;
              return {
                ...xL(m),
                name: m.text,
                kind: "var",
                displayParts: [N_(
                  Go(m),
                  8
                  /* stringLiteral */
                )]
              };
            }
            case 5:
              return {
                textSpan: L0(e.reference),
                sourceFile: e.file,
                name: e.reference.fileName,
                kind: "string",
                displayParts: [N_(
                  `"${e.reference.fileName}"`,
                  8
                  /* stringLiteral */
                )]
              };
            default:
              return E.assertNever(e);
          }
        })(), { sourceFile: s, textSpan: o, name: c, kind: _, displayParts: u, context: g } = i;
        return {
          containerKind: "",
          containerName: "",
          fileName: s.fileName,
          kind: _,
          name: c,
          textSpan: o,
          displayParts: u,
          ...Nue(o, s, g)
        };
      }
      function xL(e) {
        const t = e.getSourceFile();
        return {
          sourceFile: t,
          textSpan: kL(ia(e) ? e.expression : e, t)
        };
      }
      function sDe(e, t, n) {
        const i = vk.getIntersectingMeaningFromDeclarations(n, e), s = e.declarations && Xc(e.declarations) || n, { displayParts: o, symbolKind: c } = j0.getSymbolDisplayPartsDocumentationAndSymbolKind(t, e, s.getSourceFile(), s, s, i);
        return { displayParts: o, kind: c };
      }
      function IXe(e, t, n, i, s) {
        return { ...JH(e), ...i && OXe(e, t, n, s) };
      }
      function FXe(e, t) {
        const n = aDe(e);
        return t ? {
          ...n,
          isDefinition: e.kind !== 0 && cDe(e.node, t)
        } : n;
      }
      function aDe(e) {
        const t = JH(e);
        if (e.kind === 0)
          return { ...t, isWriteAccess: !1 };
        const { kind: n, node: i } = e;
        return {
          ...t,
          isWriteAccess: Aue(i),
          isInString: n === 2 ? !0 : void 0
        };
      }
      function JH(e) {
        if (e.kind === 0)
          return { textSpan: e.textSpan, fileName: e.fileName };
        {
          const t = e.node.getSourceFile(), n = kL(e.node, t);
          return {
            textSpan: n,
            fileName: t.fileName,
            ...Nue(n, t, e.context)
          };
        }
      }
      function OXe(e, t, n, i) {
        if (e.kind !== 0 && (Fe(t) || Ba(t))) {
          const { node: s, kind: o } = e, c = s.parent, _ = t.text, u = _u(c);
          if (u || MA(c) && c.name === s && c.dotDotDotToken === void 0) {
            const g = { prefixText: _ + ": " }, m = { suffixText: ": " + _ };
            if (o === 3)
              return g;
            if (o === 4)
              return m;
            if (u) {
              const h = c.parent;
              return ua(h) && _n(h.parent) && Rg(h.parent.left) ? g : m;
            } else
              return g;
          } else if (Bu(c) && !c.propertyName) {
            const g = bu(t.parent) ? n.getExportSpecifierLocalTargetSymbol(t.parent) : n.getSymbolAtLocation(t);
            return _s(g.declarations, c) ? { prefixText: _ + " as " } : Op;
          } else if (bu(c) && !c.propertyName)
            return t === e.node || n.getSymbolAtLocation(t) === n.getSymbolAtLocation(e.node) ? { prefixText: _ + " as " } : { suffixText: " as " + _ };
        }
        if (e.kind !== 0 && m_(e.node) && ko(e.node.parent)) {
          const s = MU(i);
          return { prefixText: s, suffixText: s };
        }
        return Op;
      }
      function LXe(e, t) {
        const n = JH(e);
        if (e.kind !== 0) {
          const { node: i } = e;
          return {
            ...n,
            ...MXe(i, t)
          };
        } else
          return { ...n, kind: "", displayParts: [] };
      }
      function MXe(e, t) {
        const n = t.getSymbolAtLocation(Dl(e) && e.name ? e.name : e);
        return n ? sDe(n, t, e) : e.kind === 210 ? {
          kind: "interface",
          displayParts: [xu(
            21
            /* OpenParenToken */
          ), Lf("object literal"), xu(
            22
            /* CloseParenToken */
          )]
        } : e.kind === 231 ? {
          kind: "local class",
          displayParts: [xu(
            21
            /* OpenParenToken */
          ), Lf("anonymous local class"), xu(
            22
            /* CloseParenToken */
          )]
        } : { kind: s2(e), displayParts: [] };
      }
      function RXe(e) {
        const t = JH(e);
        if (e.kind === 0)
          return {
            fileName: t.fileName,
            span: {
              textSpan: t.textSpan,
              kind: "reference"
              /* reference */
            }
          };
        const n = Aue(e.node), i = {
          textSpan: t.textSpan,
          kind: n ? "writtenReference" : "reference",
          isInString: e.kind === 2 ? !0 : void 0,
          ...t.contextSpan && { contextSpan: t.contextSpan }
        };
        return { fileName: t.fileName, span: i };
      }
      function kL(e, t, n) {
        let i = e.getStart(t), s = (n || e).getEnd();
        return Ba(e) && s - i > 2 && (E.assert(n === void 0), i += 1, s -= 1), n?.kind === 269 && (s = n.getFullStart()), wc(i, s);
      }
      function oDe(e) {
        return e.kind === 0 ? e.textSpan : kL(e.node, e.node.getSourceFile());
      }
      function Aue(e) {
        const t = q4(e);
        return !!t && jXe(t) || e.kind === 90 || Tx(e);
      }
      function cDe(e, t) {
        var n;
        if (!t) return !1;
        const i = q4(e) || (e.kind === 90 ? e.parent : j3(e) || e.kind === 137 && Xo(e.parent) ? e.parent.parent : void 0), s = i && _n(i) ? i.left : void 0;
        return !!(i && ((n = t.declarations) != null && n.some((o) => o === i || o === s)));
      }
      function jXe(e) {
        if (e.flags & 33554432) return !0;
        switch (e.kind) {
          case 226:
          case 208:
          case 263:
          case 231:
          case 90:
          case 266:
          case 306:
          case 281:
          case 273:
          // default import
          case 271:
          case 276:
          case 264:
          case 338:
          case 346:
          case 291:
          case 267:
          case 270:
          case 274:
          case 280:
          case 169:
          case 304:
          case 265:
          case 168:
            return !0;
          case 303:
            return !O0(e.parent);
          case 262:
          case 218:
          case 176:
          case 174:
          case 177:
          case 178:
            return !!e.body;
          case 260:
          case 172:
            return !!e.initializer || Qb(e.parent);
          case 173:
          case 171:
          case 348:
          case 341:
            return !1;
          default:
            return E.failBadSyntaxKind(e);
        }
      }
      var vk;
      ((e) => {
        function t(He, Et, ne, rt, Q, Ne = {}, qe = new Set(rt.map((Ze) => Ze.fileName))) {
          var Ze, bt;
          if (Et = n(Et, Ne), xi(Et)) {
            const Zr = sE.getReferenceAtPosition(Et, He, ne);
            if (!Zr?.file)
              return;
            const we = ne.getTypeChecker().getMergedSymbol(Zr.file.symbol);
            if (we)
              return g(
                ne,
                we,
                /*excludeImportTypeOfExportEquals*/
                !1,
                rt,
                qe
              );
            const mt = ne.getFileIncludeReasons();
            return mt ? [{
              definition: { type: 5, reference: Zr.reference, file: Et },
              references: s(Zr.file, mt, ne) || Ue
            }] : void 0;
          }
          if (!Ne.implementations) {
            const Zr = h(Et, rt, Q);
            if (Zr)
              return Zr;
          }
          const Ie = ne.getTypeChecker(), ft = Ie.getSymbolAtLocation(Xo(Et) && Et.parent.name || Et);
          if (!ft) {
            if (!Ne.implementations && Ba(Et)) {
              if (D9(Et)) {
                const Zr = ne.getFileIncludeReasons(), we = (bt = (Ze = ne.getResolvedModuleFromModuleSpecifier(Et)) == null ? void 0 : Ze.resolvedModule) == null ? void 0 : bt.resolvedFileName, mt = we ? ne.getSourceFile(we) : void 0;
                if (mt)
                  return [{ definition: { type: 4, node: Et }, references: s(mt, Zr, ne) || Ue }];
              }
              return li(Et, rt, Ie, Q);
            }
            return;
          }
          if (ft.escapedName === "export=")
            return g(
              ne,
              ft.parent,
              /*excludeImportTypeOfExportEquals*/
              !1,
              rt,
              qe
            );
          const _t = c(ft, ne, rt, Q, Ne, qe);
          if (_t && !(ft.flags & 33554432))
            return _t;
          const kt = o(Et, ft, Ie), Ve = kt && c(kt, ne, rt, Q, Ne, qe), Rt = S(ft, Et, rt, qe, Ie, Q, Ne);
          return _(ne, _t, Rt, Ve);
        }
        e.getReferencedSymbolsForNode = t;
        function n(He, Et) {
          return Et.use === 1 ? He = SU(He) : Et.use === 2 && (He = h9(He)), He;
        }
        e.getAdjustedNode = n;
        function i(He, Et, ne, rt = new Set(ne.map((Q) => Q.fileName))) {
          var Q, Ne;
          const qe = (Q = Et.getSourceFile(He)) == null ? void 0 : Q.symbol;
          if (qe)
            return ((Ne = g(
              Et,
              qe,
              /*excludeImportTypeOfExportEquals*/
              !1,
              ne,
              rt
            )[0]) == null ? void 0 : Ne.references) || Ue;
          const Ze = Et.getFileIncludeReasons(), bt = Et.getSourceFile(He);
          return bt && Ze && s(bt, Ze, Et) || Ue;
        }
        e.getReferencesForFileName = i;
        function s(He, Et, ne) {
          let rt;
          const Q = Et.get(He.path) || Ue;
          for (const Ne of Q)
            if (yv(Ne)) {
              const qe = ne.getSourceFileByPath(Ne.file), Ze = cw(ne, Ne);
              j6(Ze) && (rt = Dr(rt, {
                kind: 0,
                fileName: qe.fileName,
                textSpan: L0(Ze)
              }));
            }
          return rt;
        }
        function o(He, Et, ne) {
          if (He.parent && PN(He.parent)) {
            const rt = ne.getAliasedSymbol(Et), Q = ne.getMergedSymbol(rt);
            if (rt !== Q)
              return Q;
          }
        }
        function c(He, Et, ne, rt, Q, Ne) {
          const qe = He.flags & 1536 && He.declarations && Dn(He.declarations, xi);
          if (!qe) return;
          const Ze = He.exports.get(
            "export="
            /* ExportEquals */
          ), bt = g(Et, He, !!Ze, ne, Ne);
          if (!Ze || !Ne.has(qe.fileName)) return bt;
          const Ie = Et.getTypeChecker();
          return He = $l(Ze, Ie), _(Et, bt, S(
            He,
            /*node*/
            void 0,
            ne,
            Ne,
            Ie,
            rt,
            Q
          ));
        }
        function _(He, ...Et) {
          let ne;
          for (const rt of Et)
            if (!(!rt || !rt.length)) {
              if (!ne) {
                ne = rt;
                continue;
              }
              for (const Q of rt) {
                if (!Q.definition || Q.definition.type !== 0) {
                  ne.push(Q);
                  continue;
                }
                const Ne = Q.definition.symbol, qe = oc(ne, (bt) => !!bt.definition && bt.definition.type === 0 && bt.definition.symbol === Ne);
                if (qe === -1) {
                  ne.push(Q);
                  continue;
                }
                const Ze = ne[qe];
                ne[qe] = {
                  definition: Ze.definition,
                  references: Ze.references.concat(Q.references).sort((bt, Ie) => {
                    const ft = u(He, bt), _t = u(He, Ie);
                    if (ft !== _t)
                      return go(ft, _t);
                    const kt = oDe(bt), Ve = oDe(Ie);
                    return kt.start !== Ve.start ? go(kt.start, Ve.start) : go(kt.length, Ve.length);
                  })
                };
              }
            }
          return ne;
        }
        function u(He, Et) {
          const ne = Et.kind === 0 ? He.getSourceFile(Et.fileName) : Et.node.getSourceFile();
          return He.getSourceFiles().indexOf(ne);
        }
        function g(He, Et, ne, rt, Q) {
          E.assert(!!Et.valueDeclaration);
          const Ne = Oi(X4e(He, rt, Et), (Ze) => {
            if (Ze.kind === "import") {
              const bt = Ze.literal.parent;
              if (P0(bt)) {
                const Ie = Us(bt.parent, am);
                if (ne && !Ie.qualifier)
                  return;
              }
              return Wh(Ze.literal);
            } else if (Ze.kind === "implicit") {
              const bt = Ze.literal.text !== zy && Xx(
                Ze.referencingFile,
                (Ie) => Ie.transformFlags & 2 ? lm(Ie) || MS(Ie) || cv(Ie) ? Ie : void 0 : "skip"
              ) || Ze.referencingFile.statements[0] || Ze.referencingFile;
              return Wh(bt);
            } else
              return {
                kind: 0,
                fileName: Ze.referencingFile.fileName,
                textSpan: L0(Ze.ref)
              };
          });
          if (Et.declarations)
            for (const Ze of Et.declarations)
              switch (Ze.kind) {
                case 307:
                  break;
                case 267:
                  Q.has(Ze.getSourceFile().fileName) && Ne.push(Wh(Ze.name));
                  break;
                default:
                  E.assert(!!(Et.flags & 33554432), "Expected a module symbol to be declared by a SourceFile or ModuleDeclaration.");
              }
          const qe = Et.exports.get(
            "export="
            /* ExportEquals */
          );
          if (qe?.declarations)
            for (const Ze of qe.declarations) {
              const bt = Ze.getSourceFile();
              if (Q.has(bt.fileName)) {
                const Ie = _n(Ze) && kn(Ze.left) ? Ze.left.expression : Oo(Ze) ? E.checkDefined(Za(Ze, 95, bt)) : ls(Ze) || Ze;
                Ne.push(Wh(Ie));
              }
            }
          return Ne.length ? [{ definition: { type: 0, symbol: Et }, references: Ne }] : Ue;
        }
        function m(He) {
          return He.kind === 148 && nv(He.parent) && He.parent.operator === 148;
        }
        function h(He, Et, ne) {
          if (hw(He.kind))
            return He.kind === 116 && Vx(He.parent) || He.kind === 148 && !m(He) ? void 0 : Me(
              Et,
              He.kind,
              ne,
              He.kind === 148 ? m : void 0
            );
          if (JC(He.parent) && He.parent.name === He)
            return he(Et, ne);
          if (jx(He) && hc(He.parent))
            return [{ definition: { type: 2, node: He }, references: [Wh(He)] }];
          if (wA(He)) {
            const rt = _9(He.parent, He.text);
            return rt && me(rt.parent, rt);
          } else if (fU(He))
            return me(He.parent, He);
          if (U6(He))
            return ii(He, Et, ne);
          if (He.kind === 108)
            return Pt(He);
        }
        function S(He, Et, ne, rt, Q, Ne, qe) {
          const Ze = Et && D(
            He,
            Et,
            Q,
            /*useLocalSymbolForExportSpecifier*/
            !ms(qe)
          ) || He, bt = Et ? zn(Et, Ze) : 7, Ie = [], ft = new O(ne, rt, Et ? k(Et) : 0, Q, Ne, bt, qe, Ie), _t = !ms(qe) || !Ze.declarations ? void 0 : Dn(Ze.declarations, bu);
          if (_t)
            nt(
              _t.name,
              Ze,
              _t,
              ft.createSearch(
                Et,
                He,
                /*comingFrom*/
                void 0
              ),
              ft,
              /*addReferencesHere*/
              !0,
              /*alwaysGetReferences*/
              !0
            );
          else if (Et && Et.kind === 90 && Ze.escapedName === "default" && Ze.parent)
            Ee(Et, Ze, ft), F(Et, Ze, {
              exportingModuleSymbol: Ze.parent,
              exportKind: 1
              /* Default */
            }, ft);
          else {
            const kt = ft.createSearch(
              Et,
              Ze,
              /*comingFrom*/
              void 0,
              { allSearchSymbols: Et ? ci(Ze, Et, Q, qe.use === 2, !!qe.providePrefixAndSuffixTextForRename, !!qe.implementations) : [Ze] }
            );
            T(Ze, ft, kt);
          }
          return Ie;
        }
        function T(He, Et, ne) {
          const rt = pe(He);
          if (rt)
            re(
              rt,
              rt.getSourceFile(),
              ne,
              Et,
              /*addReferencesHere*/
              !(xi(rt) && !_s(Et.sourceFiles, rt))
            );
          else
            for (const Q of Et.sourceFiles)
              Et.cancellationToken.throwIfCancellationRequested(), G(Q, ne, Et);
        }
        function k(He) {
          switch (He.kind) {
            case 176:
            case 137:
              return 1;
            case 80:
              if (Xn(He.parent))
                return E.assert(He.parent.name === He), 2;
            // falls through
            default:
              return 0;
          }
        }
        function D(He, Et, ne, rt) {
          const { parent: Q } = Et;
          return bu(Q) && rt ? oe(Et, He, Q, ne) : Ic(He.declarations, (Ne) => {
            if (!Ne.parent) {
              if (He.flags & 33554432) return;
              E.fail(`Unexpected symbol at ${E.formatSyntaxKind(Et.kind)}: ${E.formatSymbol(He)}`);
            }
            return Yu(Ne.parent) && w0(Ne.parent.parent) ? ne.getPropertyOfType(ne.getTypeFromTypeNode(Ne.parent.parent), He.name) : void 0;
          });
        }
        let w;
        ((He) => {
          He[He.None = 0] = "None", He[He.Constructor = 1] = "Constructor", He[He.Class = 2] = "Class";
        })(w || (w = {}));
        function A(He) {
          if (!(He.flags & 33555968)) return;
          const Et = He.declarations && Dn(He.declarations, (ne) => !xi(ne) && !zc(ne));
          return Et && Et.symbol;
        }
        class O {
          constructor(Et, ne, rt, Q, Ne, qe, Ze, bt) {
            this.sourceFiles = Et, this.sourceFilesSet = ne, this.specialSearchKind = rt, this.checker = Q, this.cancellationToken = Ne, this.searchMeaning = qe, this.options = Ze, this.result = bt, this.inheritsFromCache = /* @__PURE__ */ new Map(), this.markSeenContainingTypeReference = G6(), this.markSeenReExportRHS = G6(), this.symbolIdToReferences = [], this.sourceFileToSeenSymbols = [];
          }
          includesSourceFile(Et) {
            return this.sourceFilesSet.has(Et.fileName);
          }
          /** Gets every place to look for references of an exported symbols. See `ImportsResult` in `importTracker.ts` for more documentation. */
          getImportSearches(Et, ne) {
            return this.importTracker || (this.importTracker = Eue(this.sourceFiles, this.sourceFilesSet, this.checker, this.cancellationToken)), this.importTracker(
              Et,
              ne,
              this.options.use === 2
              /* Rename */
            );
          }
          /** @param allSearchSymbols set of additional symbols for use by `includes`. */
          createSearch(Et, ne, rt, Q = {}) {
            const {
              text: Ne = wp(bc(rD(ne) || A(ne) || ne)),
              allSearchSymbols: qe = [ne]
            } = Q, Ze = ec(Ne), bt = this.options.implementations && Et ? gr(Et, ne, this.checker) : void 0;
            return { symbol: ne, comingFrom: rt, text: Ne, escapedText: Ze, parents: bt, allSearchSymbols: qe, includes: (Ie) => _s(qe, Ie) };
          }
          /**
           * Callback to add references for a particular searched symbol.
           * This initializes a reference group, so only call this if you will add at least one reference.
           */
          referenceAdder(Et) {
            const ne = ea(Et);
            let rt = this.symbolIdToReferences[ne];
            return rt || (rt = this.symbolIdToReferences[ne] = [], this.result.push({ definition: { type: 0, symbol: Et }, references: rt })), (Q, Ne) => rt.push(Wh(Q, Ne));
          }
          /** Add a reference with no associated definition. */
          addStringOrCommentReference(Et, ne) {
            this.result.push({
              definition: void 0,
              references: [{ kind: 0, fileName: Et, textSpan: ne }]
            });
          }
          /** Returns `true` the first time we search for a symbol in a file and `false` afterwards. */
          markSearchedSymbols(Et, ne) {
            const rt = Oa(Et), Q = this.sourceFileToSeenSymbols[rt] || (this.sourceFileToSeenSymbols[rt] = /* @__PURE__ */ new Set());
            let Ne = !1;
            for (const qe of ne)
              Ne = m0(Q, ea(qe)) || Ne;
            return Ne;
          }
        }
        function F(He, Et, ne, rt) {
          const { importSearches: Q, singleReferences: Ne, indirectUsers: qe } = rt.getImportSearches(Et, ne);
          if (Ne.length) {
            const Ze = rt.referenceAdder(Et);
            for (const bt of Ne)
              z(bt, rt) && Ze(bt);
          }
          for (const [Ze, bt] of Q)
            De(Ze.getSourceFile(), rt.createSearch(
              Ze,
              bt,
              1
              /* Export */
            ), rt);
          if (qe.length) {
            let Ze;
            switch (ne.exportKind) {
              case 0:
                Ze = rt.createSearch(
                  He,
                  Et,
                  1
                  /* Export */
                );
                break;
              case 1:
                Ze = rt.options.use === 2 ? void 0 : rt.createSearch(He, Et, 1, { text: "default" });
                break;
            }
            if (Ze)
              for (const bt of qe)
                G(bt, Ze, rt);
          }
        }
        function j(He, Et, ne, rt, Q, Ne, qe, Ze) {
          const bt = Eue(He, new Set(He.map((kt) => kt.fileName)), Et, ne), { importSearches: Ie, indirectUsers: ft, singleReferences: _t } = bt(
            rt,
            { exportKind: qe ? 1 : 0, exportingModuleSymbol: Q },
            /*isForRename*/
            !1
          );
          for (const [kt] of Ie)
            Ze(kt);
          for (const kt of _t)
            Fe(kt) && am(kt.parent) && Ze(kt);
          for (const kt of ft)
            for (const Ve of ie(kt, qe ? "default" : Ne)) {
              const Rt = Et.getSymbolAtLocation(Ve), Zr = at(Rt?.declarations, (we) => !!Mn(we, Oo));
              Fe(Ve) && !Ry(Ve.parent) && (Rt === rt || Zr) && Ze(Ve);
            }
        }
        e.eachExportReference = j;
        function z(He, Et) {
          return xe(He, Et) ? Et.options.use !== 2 ? !0 : !Fe(He) && !Ry(He.parent) ? !1 : !(Ry(He.parent) && Gm(He)) : !1;
        }
        function V(He, Et) {
          if (He.declarations)
            for (const ne of He.declarations) {
              const rt = ne.getSourceFile();
              De(rt, Et.createSearch(
                ne,
                He,
                0
                /* Import */
              ), Et, Et.includesSourceFile(rt));
            }
        }
        function G(He, Et, ne) {
          Qq(He).get(Et.escapedText) !== void 0 && De(He, Et, ne);
        }
        function W(He, Et) {
          return O0(He.parent.parent) ? Et.getPropertySymbolOfDestructuringAssignment(He) : void 0;
        }
        function pe(He) {
          const { declarations: Et, flags: ne, parent: rt, valueDeclaration: Q } = He;
          if (Q && (Q.kind === 218 || Q.kind === 231))
            return Q;
          if (!Et)
            return;
          if (ne & 8196) {
            const Ze = Dn(Et, (bt) => $_(
              bt,
              2
              /* Private */
            ) || Iu(bt));
            return Ze ? Y1(
              Ze,
              263
              /* ClassDeclaration */
            ) : void 0;
          }
          if (Et.some(MA))
            return;
          const Ne = rt && !(He.flags & 262144);
          if (Ne && !(sx(rt) && !rt.globalExports))
            return;
          let qe;
          for (const Ze of Et) {
            const bt = XS(Ze);
            if (qe && qe !== bt || !bt || bt.kind === 307 && !H_(bt))
              return;
            if (qe = bt, ho(qe)) {
              let Ie;
              for (; Ie = kB(qe); )
                qe = Ie;
            }
          }
          return Ne ? qe.getSourceFile() : qe;
        }
        function K(He, Et, ne, rt = ne) {
          return U(He, Et, ne, () => !0, rt) || !1;
        }
        e.isSymbolReferencedInFile = K;
        function U(He, Et, ne, rt, Q = ne) {
          const Ne = U_(He.parent, He.parent.parent) ? xa(Et.getSymbolsOfParameterPropertyDeclaration(He.parent, He.text)) : Et.getSymbolAtLocation(He);
          if (Ne)
            for (const qe of ie(ne, Ne.name, Q)) {
              if (!Fe(qe) || qe === He || qe.escapedText !== He.escapedText) continue;
              const Ze = Et.getSymbolAtLocation(qe);
              if (Ze === Ne || Et.getShorthandAssignmentValueSymbol(qe.parent) === Ne || bu(qe.parent) && oe(qe, Ze, qe.parent, Et) === Ne) {
                const bt = rt(qe);
                if (bt) return bt;
              }
            }
        }
        e.eachSymbolReferenceInFile = U;
        function ee(He, Et) {
          return Tn(ie(Et, He), (Q) => !!q4(Q)).reduce((Q, Ne) => {
            const qe = rt(Ne);
            return !at(Q.declarationNames) || qe === Q.depth ? (Q.declarationNames.push(Ne), Q.depth = qe) : qe < Q.depth && (Q.declarationNames = [Ne], Q.depth = qe), Q;
          }, { depth: 1 / 0, declarationNames: [] }).declarationNames;
          function rt(Q) {
            let Ne = 0;
            for (; Q; )
              Q = XS(Q), Ne++;
            return Ne;
          }
        }
        e.getTopMostDeclarationNamesInFile = ee;
        function te(He, Et, ne, rt) {
          if (!He.name || !Fe(He.name)) return !1;
          const Q = E.checkDefined(ne.getSymbolAtLocation(He.name));
          for (const Ne of Et)
            for (const qe of ie(Ne, Q.name)) {
              if (!Fe(qe) || qe === He.name || qe.escapedText !== He.name.escapedText) continue;
              const Ze = u9(qe), bt = Ms(Ze.parent) && Ze.parent.expression === Ze ? Ze.parent : void 0, Ie = ne.getSymbolAtLocation(qe);
              if (Ie && ne.getRootSymbols(Ie).some((ft) => ft === Q) && rt(qe, bt))
                return !0;
            }
          return !1;
        }
        e.someSignatureUsage = te;
        function ie(He, Et, ne = He) {
          return Oi(fe(He, Et, ne), (rt) => {
            const Q = h_(He, rt);
            return Q === He ? void 0 : Q;
          });
        }
        function fe(He, Et, ne = He) {
          const rt = [];
          if (!Et || !Et.length)
            return rt;
          const Q = He.text, Ne = Q.length, qe = Et.length;
          let Ze = Q.indexOf(Et, ne.pos);
          for (; Ze >= 0 && !(Ze > ne.end); ) {
            const bt = Ze + qe;
            (Ze === 0 || !kh(
              Q.charCodeAt(Ze - 1),
              99
              /* Latest */
            )) && (bt === Ne || !kh(
              Q.charCodeAt(bt),
              99
              /* Latest */
            )) && rt.push(Ze), Ze = Q.indexOf(Et, Ze + qe + 1);
          }
          return rt;
        }
        function me(He, Et) {
          const ne = He.getSourceFile(), rt = Et.text, Q = Oi(ie(ne, rt, He), (Ne) => (
            // Only pick labels that are either the target label, or have a target that is the target label
            Ne === Et || wA(Ne) && _9(Ne, rt) === Et ? Wh(Ne) : void 0
          ));
          return [{ definition: { type: 1, node: Et }, references: Q }];
        }
        function q(He, Et) {
          switch (He.kind) {
            case 81:
              if (uv(He.parent))
                return !0;
            // falls through I guess
            case 80:
              return He.text.length === Et.length;
            case 15:
            case 11: {
              const ne = He;
              return ne.text.length === Et.length && (f9(ne) || gU(He) || Use(He) || Ms(He.parent) && hS(He.parent) && He.parent.arguments[1] === He || Ry(He.parent));
            }
            case 9:
              return f9(He) && He.text.length === Et.length;
            case 90:
              return Et.length === 7;
            default:
              return !1;
          }
        }
        function he(He, Et) {
          const ne = oa(He, (rt) => (Et.throwIfCancellationRequested(), Oi(ie(rt, "meta", rt), (Q) => {
            const Ne = Q.parent;
            if (JC(Ne))
              return Wh(Ne);
          })));
          return ne.length ? [{ definition: { type: 2, node: ne[0].node }, references: ne }] : void 0;
        }
        function Me(He, Et, ne, rt) {
          const Q = oa(He, (Ne) => (ne.throwIfCancellationRequested(), Oi(ie(Ne, Qs(Et), Ne), (qe) => {
            if (qe.kind === Et && (!rt || rt(qe)))
              return Wh(qe);
          })));
          return Q.length ? [{ definition: { type: 2, node: Q[0].node }, references: Q }] : void 0;
        }
        function De(He, Et, ne, rt = !0) {
          return ne.cancellationToken.throwIfCancellationRequested(), re(He, He, Et, ne, rt);
        }
        function re(He, Et, ne, rt, Q) {
          if (rt.markSearchedSymbols(Et, ne.allSearchSymbols))
            for (const Ne of fe(Et, ne.text, He))
              ue(Et, Ne, ne, rt, Q);
        }
        function xe(He, Et) {
          return !!($S(He) & Et.searchMeaning);
        }
        function ue(He, Et, ne, rt, Q) {
          const Ne = h_(He, Et);
          if (!q(Ne, ne.text)) {
            !rt.options.implementations && (rt.options.findInStrings && ok(He, Et) || rt.options.findInComments && nae(He, Et)) && rt.addStringOrCommentReference(He.fileName, Gl(Et, ne.text.length));
            return;
          }
          if (!xe(Ne, rt)) return;
          let qe = rt.checker.getSymbolAtLocation(Ne);
          if (!qe)
            return;
          const Ze = Ne.parent;
          if (Bu(Ze) && Ze.propertyName === Ne)
            return;
          if (bu(Ze)) {
            E.assert(
              Ne.kind === 80 || Ne.kind === 11
              /* StringLiteral */
            ), nt(Ne, qe, Ze, ne, rt, Q);
            return;
          }
          if (E4(Ze) && Ze.isNameFirst && Ze.typeExpression && RS(Ze.typeExpression.type) && Ze.typeExpression.type.jsDocPropertyTags && Ar(Ze.typeExpression.type.jsDocPropertyTags)) {
            Xe(Ze.typeExpression.type.jsDocPropertyTags, Ne, ne, rt);
            return;
          }
          const bt = Vr(ne, qe, Ne, rt);
          if (!bt) {
            Pe(qe, ne, rt);
            return;
          }
          switch (rt.specialSearchKind) {
            case 0:
              Q && Ee(Ne, bt, rt);
              break;
            case 1:
              Ce(Ne, He, ne, rt);
              break;
            case 2:
              ze(Ne, ne, rt);
              break;
            default:
              E.assertNever(rt.specialSearchKind);
          }
          tn(Ne) && ya(Ne.parent) && wb(Ne.parent.parent.parent) && (qe = Ne.parent.symbol, !qe) || se(Ne, qe, ne, rt);
        }
        function Xe(He, Et, ne, rt) {
          const Q = rt.referenceAdder(ne.symbol);
          Ee(Et, ne.symbol, rt), ar(He, (Ne) => {
            Qu(Ne.name) && Q(Ne.name.left);
          });
        }
        function nt(He, Et, ne, rt, Q, Ne, qe) {
          E.assert(!qe || !!Q.options.providePrefixAndSuffixTextForRename, "If alwaysGetReferences is true, then prefix/suffix text must be enabled");
          const { parent: Ze, propertyName: bt, name: Ie } = ne, ft = Ze.parent, _t = oe(He, Et, ne, Q.checker);
          if (!qe && !rt.includes(_t))
            return;
          if (bt ? He === bt ? (ft.moduleSpecifier || kt(), Ne && Q.options.use !== 2 && Q.markSeenReExportRHS(Ie) && Ee(Ie, E.checkDefined(ne.symbol), Q)) : Q.markSeenReExportRHS(He) && kt() : Q.options.use === 2 && Gm(Ie) || kt(), !ms(Q.options) || qe) {
            const Rt = Gm(He) || Gm(ne.name) ? 1 : 0, Zr = E.checkDefined(ne.symbol), we = Due(Zr, Rt, Q.checker);
            we && F(He, Zr, we, Q);
          }
          if (rt.comingFrom !== 1 && ft.moduleSpecifier && !bt && !ms(Q.options)) {
            const Ve = Q.checker.getExportSpecifierLocalTargetSymbol(ne);
            Ve && V(Ve, Q);
          }
          function kt() {
            Ne && Ee(He, _t, Q);
          }
        }
        function oe(He, Et, ne, rt) {
          return ve(He, ne) && rt.getExportSpecifierLocalTargetSymbol(ne) || Et;
        }
        function ve(He, Et) {
          const { parent: ne, propertyName: rt, name: Q } = Et;
          return E.assert(rt === He || Q === He), rt ? rt === He : !ne.parent.moduleSpecifier;
        }
        function se(He, Et, ne, rt) {
          const Q = Z4e(
            He,
            Et,
            rt.checker,
            ne.comingFrom === 1
            /* Export */
          );
          if (!Q) return;
          const { symbol: Ne } = Q;
          Q.kind === 0 ? ms(rt.options) || V(Ne, rt) : F(He, Ne, Q.exportInfo, rt);
        }
        function Pe({ flags: He, valueDeclaration: Et }, ne, rt) {
          const Q = rt.checker.getShorthandAssignmentValueSymbol(Et), Ne = Et && ls(Et);
          !(He & 33554432) && Ne && ne.includes(Q) && Ee(Ne, Q, rt);
        }
        function Ee(He, Et, ne) {
          const { kind: rt, symbol: Q } = "kind" in Et ? Et : { kind: void 0, symbol: Et };
          if (ne.options.use === 2 && He.kind === 90)
            return;
          const Ne = ne.referenceAdder(Q);
          ne.options.implementations ? Wt(He, Ne, ne) : Ne(He, rt);
        }
        function Ce(He, Et, ne, rt) {
          pw(He) && Ee(He, ne.symbol, rt);
          const Q = () => rt.referenceAdder(ne.symbol);
          if (Xn(He.parent))
            E.assert(He.kind === 90 || He.parent.name === He), St(ne.symbol, Et, Q());
          else {
            const Ne = ta(He);
            Ne && (tr(Ne, Q()), it(Ne, rt));
          }
        }
        function ze(He, Et, ne) {
          Ee(He, Et.symbol, ne);
          const rt = He.parent;
          if (ne.options.use === 2 || !Xn(rt)) return;
          E.assert(rt.name === He);
          const Q = ne.referenceAdder(Et.symbol);
          for (const Ne of rt.members)
            rx(Ne) && zs(Ne) && Ne.body && Ne.body.forEachChild(function qe(Ze) {
              Ze.kind === 110 ? Q(Ze) : !Ts(Ze) && !Xn(Ze) && Ze.forEachChild(qe);
            });
        }
        function St(He, Et, ne) {
          const rt = Bt(He);
          if (rt && rt.declarations)
            for (const Q of rt.declarations) {
              const Ne = Za(Q, 137, Et);
              E.assert(Q.kind === 176 && !!Ne), ne(Ne);
            }
          He.exports && He.exports.forEach((Q) => {
            const Ne = Q.valueDeclaration;
            if (Ne && Ne.kind === 174) {
              const qe = Ne.body;
              qe && ks(qe, 110, (Ze) => {
                pw(Ze) && ne(Ze);
              });
            }
          });
        }
        function Bt(He) {
          return He.members && He.members.get(
            "__constructor"
            /* Constructor */
          );
        }
        function tr(He, Et) {
          const ne = Bt(He.symbol);
          if (ne && ne.declarations)
            for (const rt of ne.declarations) {
              E.assert(
                rt.kind === 176
                /* Constructor */
              );
              const Q = rt.body;
              Q && ks(Q, 108, (Ne) => {
                lU(Ne) && Et(Ne);
              });
            }
        }
        function Fr(He) {
          return !!Bt(He.symbol);
        }
        function it(He, Et) {
          if (Fr(He)) return;
          const ne = He.symbol, rt = Et.createSearch(
            /*location*/
            void 0,
            ne,
            /*comingFrom*/
            void 0
          );
          T(ne, Et, rt);
        }
        function Wt(He, Et, ne) {
          if (Xm(He) && Wn(He.parent)) {
            Et(He);
            return;
          }
          if (He.kind !== 80)
            return;
          He.parent.kind === 304 && bi(He, ne.checker, Et);
          const rt = Wr(He);
          if (rt) {
            Et(rt);
            return;
          }
          const Q = _r(He, (Ze) => !Qu(Ze.parent) && !si(Ze.parent) && !bb(Ze.parent)), Ne = Q.parent;
          if (D7(Ne) && Ne.type === Q && ne.markSeenContainingTypeReference(Ne))
            if (y0(Ne))
              qe(Ne.initializer);
            else if (Ts(Ne) && Ne.body) {
              const Ze = Ne.body;
              Ze.kind === 241 ? qy(Ze, (bt) => {
                bt.expression && qe(bt.expression);
              }) : qe(Ze);
            } else (Tb(Ne) || d6(Ne)) && qe(Ne.expression);
          function qe(Ze) {
            ai(Ze) && Et(Ze);
          }
        }
        function Wr(He) {
          return Fe(He) || kn(He) ? Wr(He.parent) : Lh(He) ? Mn(He.parent.parent, z_(Xn, Yl)) : void 0;
        }
        function ai(He) {
          switch (He.kind) {
            case 217:
              return ai(He.expression);
            case 219:
            case 218:
            case 210:
            case 231:
            case 209:
              return !0;
            default:
              return !1;
          }
        }
        function zi(He, Et, ne, rt) {
          if (He === Et)
            return !0;
          const Q = ea(He) + "," + ea(Et), Ne = ne.get(Q);
          if (Ne !== void 0)
            return Ne;
          ne.set(Q, !1);
          const qe = !!He.declarations && He.declarations.some(
            (Ze) => H4(Ze).some((bt) => {
              const Ie = rt.getTypeAtLocation(bt);
              return !!Ie && !!Ie.symbol && zi(Ie.symbol, Et, ne, rt);
            })
          );
          return ne.set(Q, qe), qe;
        }
        function Pt(He) {
          let Et = h3(
            He,
            /*stopOnFunctions*/
            !1
          );
          if (!Et)
            return;
          let ne = 256;
          switch (Et.kind) {
            case 172:
            case 171:
            case 174:
            case 173:
            case 176:
            case 177:
            case 178:
              ne &= S0(Et), Et = Et.parent;
              break;
            default:
              return;
          }
          const rt = Et.getSourceFile(), Q = Oi(ie(rt, "super", Et), (Ne) => {
            if (Ne.kind !== 108)
              return;
            const qe = h3(
              Ne,
              /*stopOnFunctions*/
              !1
            );
            return qe && zs(qe) === !!ne && qe.parent.symbol === Et.symbol ? Wh(Ne) : void 0;
          });
          return [{ definition: { type: 0, symbol: Et.symbol }, references: Q }];
        }
        function Fn(He) {
          return He.kind === 80 && He.parent.kind === 169 && He.parent.name === He;
        }
        function ii(He, Et, ne) {
          let rt = Ou(
            He,
            /*includeArrowFunctions*/
            !1,
            /*includeClassComputedPropertyName*/
            !1
          ), Q = 256;
          switch (rt.kind) {
            case 174:
            case 173:
              if (Ep(rt)) {
                Q &= S0(rt), rt = rt.parent;
                break;
              }
            // falls through
            case 172:
            case 171:
            case 176:
            case 177:
            case 178:
              Q &= S0(rt), rt = rt.parent;
              break;
            case 307:
              if (ol(rt) || Fn(He))
                return;
            // falls through
            case 262:
            case 218:
              break;
            // Computed properties in classes are not handled here because references to this are illegal,
            // so there is no point finding references to them.
            default:
              return;
          }
          const Ne = oa(rt.kind === 307 ? Et : [rt.getSourceFile()], (Ze) => (ne.throwIfCancellationRequested(), ie(Ze, "this", xi(rt) ? Ze : rt).filter((bt) => {
            if (!U6(bt))
              return !1;
            const Ie = Ou(
              bt,
              /*includeArrowFunctions*/
              !1,
              /*includeClassComputedPropertyName*/
              !1
            );
            if (!fd(Ie)) return !1;
            switch (rt.kind) {
              case 218:
              case 262:
                return rt.symbol === Ie.symbol;
              case 174:
              case 173:
                return Ep(rt) && rt.symbol === Ie.symbol;
              case 231:
              case 263:
              case 210:
                return Ie.parent && fd(Ie.parent) && rt.symbol === Ie.parent.symbol && zs(Ie) === !!Q;
              case 307:
                return Ie.kind === 307 && !ol(Ie) && !Fn(bt);
            }
          }))).map((Ze) => Wh(Ze));
          return [{
            definition: { type: 3, node: Ic(Ne, (Ze) => Ni(Ze.node.parent) ? Ze.node : void 0) || He },
            references: Ne
          }];
        }
        function li(He, Et, ne, rt) {
          const Q = g9(He, ne), Ne = oa(Et, (qe) => (rt.throwIfCancellationRequested(), Oi(ie(qe, He.text), (Ze) => {
            if (Ba(Ze) && Ze.text === He.text)
              if (Q) {
                const bt = g9(Ze, ne);
                if (Q !== ne.getStringType() && (Q === bt || cn(Ze, ne)))
                  return Wh(
                    Ze,
                    2
                    /* StringLiteral */
                  );
              } else
                return PS(Ze) && !kS(Ze, qe) ? void 0 : Wh(
                  Ze,
                  2
                  /* StringLiteral */
                );
          })));
          return [{
            definition: { type: 4, node: He },
            references: Ne
          }];
        }
        function cn(He, Et) {
          if (ju(He.parent))
            return Et.getPropertyOfType(Et.getTypeAtLocation(He.parent.parent), He.text);
        }
        function ci(He, Et, ne, rt, Q, Ne) {
          const qe = [];
          return je(
            He,
            Et,
            ne,
            rt,
            !(rt && Q),
            (Ze, bt, Ie) => {
              Ie && er(He) !== er(Ie) && (Ie = void 0), qe.push(Ie || bt || Ze);
            },
            // when try to find implementation, implementations is true, and not allowed to find base class
            /*allowBaseTypes*/
            () => !Ne
          ), qe;
        }
        function je(He, Et, ne, rt, Q, Ne, qe) {
          const Ze = t8(Et);
          if (Ze) {
            const Rt = ne.getShorthandAssignmentValueSymbol(Et.parent);
            if (Rt && rt)
              return Ne(
                Rt,
                /*rootSymbol*/
                void 0,
                /*baseSymbol*/
                void 0,
                3
                /* SearchedLocalFoundProperty */
              );
            const Zr = ne.getContextualType(Ze.parent), we = Zr && Ic(
              uL(
                Ze,
                ne,
                Zr,
                /*unionSymbolOk*/
                !0
              ),
              (ye) => kt(
                ye,
                4
                /* SearchedPropertyFoundLocal */
              )
            );
            if (we) return we;
            const mt = W(Et, ne), _e = mt && Ne(
              mt,
              /*rootSymbol*/
              void 0,
              /*baseSymbol*/
              void 0,
              4
              /* SearchedPropertyFoundLocal */
            );
            if (_e) return _e;
            const M = Rt && Ne(
              Rt,
              /*rootSymbol*/
              void 0,
              /*baseSymbol*/
              void 0,
              3
              /* SearchedLocalFoundProperty */
            );
            if (M) return M;
          }
          const bt = o(Et, He, ne);
          if (bt) {
            const Rt = Ne(
              bt,
              /*rootSymbol*/
              void 0,
              /*baseSymbol*/
              void 0,
              1
              /* Node */
            );
            if (Rt) return Rt;
          }
          const Ie = kt(He);
          if (Ie) return Ie;
          if (He.valueDeclaration && U_(He.valueDeclaration, He.valueDeclaration.parent)) {
            const Rt = ne.getSymbolsOfParameterPropertyDeclaration(Us(He.valueDeclaration, Ni), He.name);
            return E.assert(Rt.length === 2 && !!(Rt[0].flags & 1) && !!(Rt[1].flags & 4)), kt(He.flags & 1 ? Rt[1] : Rt[0]);
          }
          const ft = jo(
            He,
            281
            /* ExportSpecifier */
          );
          if (!rt || ft && !ft.propertyName) {
            const Rt = ft && ne.getExportSpecifierLocalTargetSymbol(ft);
            if (Rt) {
              const Zr = Ne(
                Rt,
                /*rootSymbol*/
                void 0,
                /*baseSymbol*/
                void 0,
                1
                /* Node */
              );
              if (Zr) return Zr;
            }
          }
          if (!rt) {
            let Rt;
            return Q ? Rt = MA(Et.parent) ? w9(ne, Et.parent) : void 0 : Rt = Ve(He, ne), Rt && kt(
              Rt,
              4
              /* SearchedPropertyFoundLocal */
            );
          }
          if (E.assert(rt), Q) {
            const Rt = Ve(He, ne);
            return Rt && kt(
              Rt,
              4
              /* SearchedPropertyFoundLocal */
            );
          }
          function kt(Rt, Zr) {
            return Ic(ne.getRootSymbols(Rt), (we) => Ne(
              Rt,
              we,
              /*baseSymbol*/
              void 0,
              Zr
            ) || (we.parent && we.parent.flags & 96 && qe(we) ? ut(we.parent, we.name, ne, (mt) => Ne(Rt, we, mt, Zr)) : void 0));
          }
          function Ve(Rt, Zr) {
            const we = jo(
              Rt,
              208
              /* BindingElement */
            );
            if (we && MA(we))
              return w9(Zr, we);
          }
        }
        function ut(He, Et, ne, rt) {
          const Q = /* @__PURE__ */ new Set();
          return Ne(He);
          function Ne(qe) {
            if (!(!(qe.flags & 96) || !Pp(Q, qe)))
              return Ic(qe.declarations, (Ze) => Ic(H4(Ze), (bt) => {
                const Ie = ne.getTypeAtLocation(bt), ft = Ie && Ie.symbol && ne.getPropertyOfType(Ie, Et);
                return Ie && ft && (Ic(ne.getRootSymbols(ft), rt) || Ne(Ie.symbol));
              }));
          }
        }
        function er(He) {
          return He.valueDeclaration ? !!(Lu(He.valueDeclaration) & 256) : !1;
        }
        function Vr(He, Et, ne, rt) {
          const { checker: Q } = rt;
          return je(
            Et,
            ne,
            Q,
            /*isForRenamePopulateSearchSymbolSet*/
            !1,
            /*onlyIncludeBindingElementAtReferenceLocation*/
            rt.options.use !== 2 || !!rt.options.providePrefixAndSuffixTextForRename,
            (Ne, qe, Ze, bt) => (Ze && er(Et) !== er(Ze) && (Ze = void 0), He.includes(Ze || qe || Ne) ? { symbol: qe && !(lc(Ne) & 6) ? qe : Ne, kind: bt } : void 0),
            /*allowBaseTypes*/
            (Ne) => !(He.parents && !He.parents.some((qe) => zi(Ne.parent, qe, rt.inheritsFromCache, Q)))
          );
        }
        function zn(He, Et) {
          let ne = $S(He);
          const { declarations: rt } = Et;
          if (rt) {
            let Q;
            do {
              Q = ne;
              for (const Ne of rt) {
                const qe = c9(Ne);
                qe & ne && (ne |= qe);
              }
            } while (ne !== Q);
          }
          return ne;
        }
        e.getIntersectingMeaningFromDeclarations = zn;
        function Wn(He) {
          return He.flags & 33554432 ? !(Yl(He) || Ap(He)) : M4(He) ? y0(He) : uo(He) ? !!He.body : Xn(He) || t3(He);
        }
        function bi(He, Et, ne) {
          const rt = Et.getSymbolAtLocation(He), Q = Et.getShorthandAssignmentValueSymbol(rt.valueDeclaration);
          if (Q)
            for (const Ne of Q.getDeclarations())
              c9(Ne) & 1 && ne(Ne);
        }
        e.getReferenceEntriesForShorthandPropertyAssignment = bi;
        function ks(He, Et, ne) {
          Ss(He, (rt) => {
            rt.kind === Et && ne(rt), ks(rt, Et, ne);
          });
        }
        function ta(He) {
          return KB(u9(He).parent);
        }
        function gr(He, Et, ne) {
          const rt = V6(He) ? He.parent : void 0, Q = rt && ne.getTypeAtLocation(rt.expression), Ne = Oi(Q && (Q.isUnionOrIntersection() ? Q.types : Q.symbol === Et.parent ? void 0 : [Q]), (qe) => qe.symbol && qe.symbol.flags & 96 ? qe.symbol : void 0);
          return Ne.length === 0 ? void 0 : Ne;
        }
        function ms(He) {
          return He.use === 2 && He.providePrefixAndSuffixTextForRename;
        }
      })(vk || (vk = {}));
      var sE = {};
      Ta(sE, {
        createDefinitionInfo: () => f8,
        getDefinitionAndBoundSpan: () => qXe,
        getDefinitionAtPosition: () => lDe,
        getReferenceAtPosition: () => _De,
        getTypeDefinitionAtPosition: () => VXe
      });
      function lDe(e, t, n, i, s) {
        var o;
        const c = _De(t, n, e), _ = c && [QXe(c.reference.fileName, c.fileName, c.unverified)] || Ue;
        if (c?.file)
          return _;
        const u = h_(t, n);
        if (u === t)
          return;
        const { parent: g } = u, m = e.getTypeChecker();
        if (u.kind === 164 || Fe(u) && wF(g) && g.tagName === u) {
          const A = JXe(m, u);
          if (A !== void 0 || u.kind !== 164)
            return A || Ue;
        }
        if (wA(u)) {
          const A = _9(u.parent, u.text);
          return A ? [Iue(
            m,
            A,
            "label",
            u.text,
            /*containerName*/
            void 0
          )] : void 0;
        }
        switch (u.kind) {
          case 90:
            if (!LD(u.parent))
              break;
          // falls through
          case 84:
            const A = _r(u.parent, FD);
            if (A)
              return [XXe(A, t)];
            break;
        }
        let h;
        switch (u.kind) {
          case 107:
          case 135:
          case 127:
            h = uo;
            const A = _r(u, h);
            return A ? [Oue(m, A)] : void 0;
        }
        if (jx(u) && hc(u.parent)) {
          const A = u.parent.parent, { symbol: O, failedAliasResolution: F } = zH(A, m, s), j = Tn(A.members, hc), z = O ? m.symbolToString(O, A) : "", V = u.getSourceFile();
          return fr(j, (G) => {
            let { pos: W } = nm(G);
            return W = ca(V.text, W), Iue(
              m,
              G,
              "constructor",
              "static {}",
              z,
              /*unverified*/
              !1,
              F,
              { start: W, length: 6 }
            );
          });
        }
        let { symbol: S, failedAliasResolution: T } = zH(u, m, s), k = u;
        if (i && T) {
          const A = ar([u, ...S?.declarations || Ue], (F) => _r(F, qZ)), O = A && fx(A);
          O && ({ symbol: S, failedAliasResolution: T } = zH(O, m, s), k = O);
        }
        if (!S && D9(k)) {
          const A = (o = e.getResolvedModuleFromModuleSpecifier(k, t)) == null ? void 0 : o.resolvedModule;
          if (A)
            return [{
              name: k.text,
              fileName: A.resolvedFileName,
              containerName: void 0,
              containerKind: void 0,
              kind: "script",
              textSpan: Gl(0, 0),
              failedAliasResolution: T,
              isAmbient: Sl(A.resolvedFileName),
              unverified: k !== u
            }];
        }
        if (Ks(u) && (Jc(g) || El(g)) && (S = g.symbol), !S)
          return Ji(_, HXe(u, m));
        if (i && Pi(S.declarations, (A) => A.getSourceFile().fileName === t.fileName)) return;
        const D = ZXe(m, u);
        if (D && !(yu(u.parent) && KXe(D))) {
          const A = Oue(m, D, T);
          let O = (j) => j !== D;
          if (m.getRootSymbols(S).some((j) => BXe(j, D))) {
            if (!Xo(D)) return [A];
            O = (j) => j !== D && (el(j) || Kc(j));
          }
          const F = Rw(m, S, u, T, O) || Ue;
          return u.kind === 108 ? [A, ...F] : [...F, A];
        }
        if (u.parent.kind === 304) {
          const A = m.getShorthandAssignmentValueSymbol(S.valueDeclaration), O = A?.declarations ? A.declarations.map((F) => f8(
            F,
            m,
            A,
            u,
            /*unverified*/
            !1,
            T
          )) : Ue;
          return Ji(O, uDe(m, u));
        }
        if (Bc(u) && ya(g) && Nf(g.parent) && u === (g.propertyName || g.name)) {
          const A = LA(u), O = m.getTypeAtLocation(g.parent);
          return A === void 0 ? Ue : oa(O.isUnion() ? O.types : [O], (F) => {
            const j = F.getProperty(A);
            return j && Rw(m, j, u);
          });
        }
        const w = uDe(m, u);
        return Ji(_, w.length ? w : Rw(m, S, u, T));
      }
      function BXe(e, t) {
        var n;
        return e === t.symbol || e === t.symbol.parent || wl(t.parent) || !Sb(t.parent) && e === ((n = Mn(t.parent, fd)) == null ? void 0 : n.symbol);
      }
      function uDe(e, t) {
        const n = t8(t);
        if (n) {
          const i = n && e.getContextualType(n.parent);
          if (i)
            return oa(uL(
              n,
              e,
              i,
              /*unionSymbolOk*/
              !1
            ), (s) => Rw(e, s, t));
        }
        return Ue;
      }
      function JXe(e, t) {
        const n = _r(t, Jc);
        if (!(n && n.name)) return;
        const i = _r(n, Xn);
        if (!i) return;
        const s = Zd(i);
        if (!s) return;
        const o = za(s.expression), c = Kc(o) ? o.symbol : e.getSymbolAtLocation(o);
        if (!c) return;
        const _ = Ei(ux(n.name)), u = sl(n) ? e.getPropertyOfType(e.getTypeOfSymbol(c), _) : e.getPropertyOfType(e.getDeclaredTypeOfSymbol(c), _);
        if (u)
          return Rw(e, u, t);
      }
      function _De(e, t, n) {
        var i, s;
        const o = p8(e.referencedFiles, t);
        if (o) {
          const u = n.getSourceFileFromReference(e, o);
          return u && { reference: o, fileName: u.fileName, file: u, unverified: !1 };
        }
        const c = p8(e.typeReferenceDirectives, t);
        if (c) {
          const u = (i = n.getResolvedTypeReferenceDirectiveFromTypeReferenceDirective(c, e)) == null ? void 0 : i.resolvedTypeReferenceDirective, g = u && n.getSourceFile(u.resolvedFileName);
          return g && { reference: c, fileName: g.fileName, file: g, unverified: !1 };
        }
        const _ = p8(e.libReferenceDirectives, t);
        if (_) {
          const u = n.getLibFileFromReference(_);
          return u && { reference: _, fileName: u.fileName, file: u, unverified: !1 };
        }
        if (e.imports.length || e.moduleAugmentations.length) {
          const u = H6(e, t);
          let g;
          if (D9(u) && Cl(u.text) && (g = n.getResolvedModuleFromModuleSpecifier(u, e))) {
            const m = (s = g.resolvedModule) == null ? void 0 : s.resolvedFileName, h = m || Ay(Un(e.fileName), u.text);
            return {
              file: n.getSourceFile(h),
              fileName: h,
              reference: {
                pos: u.getStart(),
                end: u.getEnd(),
                fileName: u.text
              },
              unverified: !m
            };
          }
        }
      }
      var fDe = /* @__PURE__ */ new Set([
        "Array",
        "ArrayLike",
        "ReadonlyArray",
        "Promise",
        "PromiseLike",
        "Iterable",
        "IterableIterator",
        "AsyncIterable",
        "Set",
        "WeakSet",
        "ReadonlySet",
        "Map",
        "WeakMap",
        "ReadonlyMap",
        "Partial",
        "Required",
        "Readonly",
        "Pick",
        "Omit"
      ]);
      function zXe(e, t) {
        const n = t.symbol.name;
        if (!fDe.has(n))
          return !1;
        const i = e.resolveName(
          n,
          /*location*/
          void 0,
          788968,
          /*excludeGlobals*/
          !1
        );
        return !!i && i === t.target.symbol;
      }
      function pDe(e, t) {
        if (!t.aliasSymbol)
          return !1;
        const n = t.aliasSymbol.name;
        if (!fDe.has(n))
          return !1;
        const i = e.resolveName(
          n,
          /*location*/
          void 0,
          788968,
          /*excludeGlobals*/
          !1
        );
        return !!i && i === t.aliasSymbol;
      }
      function WXe(e, t, n, i) {
        var s, o;
        if (Cn(t) & 4 && zXe(e, t))
          return _8(e.getTypeArguments(t)[0], e, n, i);
        if (pDe(e, t) && t.aliasTypeArguments)
          return _8(t.aliasTypeArguments[0], e, n, i);
        if (Cn(t) & 32 && t.target && pDe(e, t.target)) {
          const c = (o = (s = t.aliasSymbol) == null ? void 0 : s.declarations) == null ? void 0 : o[0];
          if (c && Ap(c) && X_(c.type) && c.type.typeArguments)
            return _8(e.getTypeAtLocation(c.type.typeArguments[0]), e, n, i);
        }
        return [];
      }
      function VXe(e, t, n) {
        const i = h_(t, n);
        if (i === t)
          return;
        if (JC(i.parent) && i.parent.name === i)
          return _8(
            e.getTypeAtLocation(i.parent),
            e,
            i.parent,
            /*failedAliasResolution*/
            !1
          );
        let { symbol: s, failedAliasResolution: o } = zH(
          i,
          e,
          /*stopAtAlias*/
          !1
        );
        if (Ks(i) && (Jc(i.parent) || El(i.parent)) && (s = i.parent.symbol, o = !1), !s) return;
        const c = e.getTypeOfSymbolAtLocation(s, i), _ = UXe(s, c, e), u = _ && _8(_, e, i, o), [g, m] = u && u.length !== 0 ? [_, u] : [c, _8(c, e, i, o)];
        return m.length ? [...WXe(e, g, i, o), ...m] : !(s.flags & 111551) && s.flags & 788968 ? Rw(e, $l(s, e), i, o) : void 0;
      }
      function _8(e, t, n, i) {
        return oa(e.isUnion() && !(e.flags & 32) ? e.types : [e], (s) => s.symbol && Rw(t, s.symbol, n, i));
      }
      function UXe(e, t, n) {
        if (t.symbol === e || // At `const f = () => {}`, the symbol is `f` and the type symbol is at `() => {}`
        e.valueDeclaration && t.symbol && Zn(e.valueDeclaration) && e.valueDeclaration.initializer === t.symbol.valueDeclaration) {
          const i = t.getCallSignatures();
          if (i.length === 1) return n.getReturnTypeOfSignature(xa(i));
        }
      }
      function qXe(e, t, n) {
        const i = lDe(e, t, n);
        if (!i || i.length === 0)
          return;
        const s = p8(t.referencedFiles, n) || p8(t.typeReferenceDirectives, n) || p8(t.libReferenceDirectives, n);
        if (s)
          return { definitions: i, textSpan: L0(s) };
        const o = h_(t, n), c = Gl(o.getStart(), o.getWidth());
        return { definitions: i, textSpan: c };
      }
      function HXe(e, t) {
        return Oi(t.getIndexInfosAtLocation(e), (n) => n.declaration && Oue(t, n.declaration));
      }
      function zH(e, t, n) {
        const i = t.getSymbolAtLocation(e);
        let s = !1;
        if (i?.declarations && i.flags & 2097152 && !n && GXe(e, i.declarations[0])) {
          const o = t.getAliasedSymbol(i);
          if (o.declarations)
            return { symbol: o };
          s = !0;
        }
        return { symbol: i, failedAliasResolution: s };
      }
      function GXe(e, t) {
        return e.kind !== 80 && (e.kind !== 11 || !Ry(e.parent)) ? !1 : e.parent === t ? !0 : t.kind !== 274;
      }
      function $Xe(e) {
        if (!z4(e)) return !1;
        const t = _r(e, (n) => wl(n) ? !0 : z4(n) ? !1 : "quit");
        return !!t && Pc(t) === 5;
      }
      function Rw(e, t, n, i, s) {
        const o = s !== void 0 ? Tn(t.declarations, s) : t.declarations, c = !s && (g() || m());
        if (c)
          return c;
        const _ = Tn(o, (S) => !$Xe(S)), u = at(_) ? _ : o;
        return fr(u, (S) => f8(
          S,
          e,
          t,
          n,
          /*unverified*/
          !1,
          i
        ));
        function g() {
          if (t.flags & 32 && !(t.flags & 19) && (pw(n) || n.kind === 137)) {
            const S = Dn(o, Xn);
            return S && h(
              S.members,
              /*selectConstructors*/
              !0
            );
          }
        }
        function m() {
          return uU(n) || hU(n) ? h(
            o,
            /*selectConstructors*/
            !1
          ) : void 0;
        }
        function h(S, T) {
          if (!S)
            return;
          const k = S.filter(T ? Xo : Ts), D = k.filter((w) => !!w.body);
          return k.length ? D.length !== 0 ? D.map((w) => f8(w, e, t, n)) : [f8(
            pa(k),
            e,
            t,
            n,
            /*unverified*/
            !1,
            i
          )] : void 0;
        }
      }
      function f8(e, t, n, i, s, o) {
        const c = t.symbolToString(n), _ = j0.getSymbolKind(t, n, i), u = n.parent ? t.symbolToString(n.parent, i) : "";
        return Iue(t, e, _, c, u, s, o);
      }
      function Iue(e, t, n, i, s, o, c, _) {
        const u = t.getSourceFile();
        if (!_) {
          const g = ls(t) || t;
          _ = t_(g, u);
        }
        return {
          fileName: u.fileName,
          textSpan: _,
          kind: n,
          name: i,
          containerKind: void 0,
          // TODO: GH#18217
          containerName: s,
          ...Eo.toContextSpan(
            _,
            u,
            Eo.getContextNode(t)
          ),
          isLocal: !Fue(e, t),
          isAmbient: !!(t.flags & 33554432),
          unverified: o,
          failedAliasResolution: c
        };
      }
      function XXe(e, t) {
        const n = Eo.getContextNode(e), i = t_(Pue(n) ? n.start : n, t);
        return {
          fileName: t.fileName,
          textSpan: i,
          kind: "keyword",
          name: "switch",
          containerKind: void 0,
          containerName: "",
          ...Eo.toContextSpan(i, t, n),
          isLocal: !0,
          isAmbient: !1,
          unverified: !1,
          failedAliasResolution: void 0
        };
      }
      function Fue(e, t) {
        if (e.isDeclarationVisible(t)) return !0;
        if (!t.parent) return !1;
        if (y0(t.parent) && t.parent.initializer === t) return Fue(e, t.parent);
        switch (t.kind) {
          case 172:
          case 177:
          case 178:
          case 174:
            if ($_(
              t,
              2
              /* Private */
            )) return !1;
          // Public properties/methods are visible if its parents are visible, so:
          // falls through
          case 176:
          case 303:
          case 304:
          case 210:
          case 231:
          case 219:
          case 218:
            return Fue(e, t.parent);
          default:
            return !1;
        }
      }
      function Oue(e, t, n) {
        return f8(
          t,
          e,
          t.symbol,
          t,
          /*unverified*/
          !1,
          n
        );
      }
      function p8(e, t) {
        return Dn(e, (n) => JP(n, t));
      }
      function QXe(e, t, n) {
        return {
          fileName: t,
          textSpan: wc(0, 0),
          kind: "script",
          name: e,
          containerName: void 0,
          containerKind: void 0,
          // TODO: GH#18217
          unverified: n
        };
      }
      function YXe(e) {
        const t = _r(e, (i) => !V6(i)), n = t?.parent;
        return n && Sb(n) && Z7(n) === t ? n : void 0;
      }
      function ZXe(e, t) {
        const n = YXe(t), i = n && e.getResolvedSignature(n);
        return Mn(i && i.declaration, (s) => Ts(s) && !Ym(s));
      }
      function KXe(e) {
        switch (e.kind) {
          case 176:
          case 185:
          case 179:
          case 180:
            return !0;
          default:
            return !1;
        }
      }
      var WH = {};
      Ta(WH, {
        provideInlayHints: () => nQe
      });
      var eQe = (e) => new RegExp(`^\\s?/\\*\\*?\\s?${e}\\s?\\*\\/\\s?$`);
      function tQe(e) {
        return e.includeInlayParameterNameHints === "literals" || e.includeInlayParameterNameHints === "all";
      }
      function rQe(e) {
        return e.includeInlayParameterNameHints === "literals";
      }
      function Lue(e) {
        return e.interactiveInlayHints === !0;
      }
      function nQe(e) {
        const { file: t, program: n, span: i, cancellationToken: s, preferences: o } = e, c = t.text, _ = n.getCompilerOptions(), u = K_(t, o), g = n.getTypeChecker(), m = [];
        return h(t), m;
        function h(De) {
          if (!(!De || De.getFullWidth() === 0)) {
            switch (De.kind) {
              case 267:
              case 263:
              case 264:
              case 262:
              case 231:
              case 218:
              case 174:
              case 219:
                s.throwIfCancellationRequested();
            }
            if (zP(i, De.pos, De.getFullWidth()) && !(si(De) && !Lh(De)))
              return o.includeInlayVariableTypeHints && Zn(De) || o.includeInlayPropertyDeclarationTypeHints && is(De) ? O(De) : o.includeInlayEnumMemberValueHints && A0(De) ? w(De) : tQe(o) && (Ms(De) || Hb(De)) ? F(De) : (o.includeInlayFunctionParameterTypeHints && uo(De) && eF(De) && pe(De), o.includeInlayFunctionLikeReturnTypeHints && S(De) && G(De)), Ss(De, h);
          }
        }
        function S(De) {
          return Co(De) || ho(De) || Tc(De) || uc(De) || ap(De);
        }
        function T(De, re, xe, ue) {
          let Xe = `${ue ? "..." : ""}${De}`, nt;
          Lue(o) ? (nt = [Me(Xe, re), { text: ":" }], Xe = "") : Xe += ":", m.push({
            text: Xe,
            position: xe,
            kind: "Parameter",
            whitespaceAfter: !0,
            displayParts: nt
          });
        }
        function k(De, re) {
          m.push({
            text: typeof De == "string" ? `: ${De}` : "",
            displayParts: typeof De == "string" ? void 0 : [{ text: ": " }, ...De],
            position: re,
            kind: "Type",
            whitespaceBefore: !0
          });
        }
        function D(De, re) {
          m.push({
            text: `= ${De}`,
            position: re,
            kind: "Enum",
            whitespaceBefore: !0
          });
        }
        function w(De) {
          if (De.initializer)
            return;
          const re = g.getConstantValue(De);
          re !== void 0 && D(re.toString(), De.end);
        }
        function A(De) {
          return De.symbol && De.symbol.flags & 1536;
        }
        function O(De) {
          if (De.initializer === void 0 && !(is(De) && !(g.getTypeAtLocation(De).flags & 1)) || Ps(De.name) || Zn(De) && !he(De) || Yc(De))
            return;
          const xe = g.getTypeAtLocation(De);
          if (A(xe))
            return;
          const ue = ie(xe);
          if (ue) {
            const Xe = typeof ue == "string" ? ue : ue.map((oe) => oe.text).join("");
            if (o.includeInlayVariableTypeHintsWhenTypeMatchesName === !1 && wy(De.name.getText(), Xe))
              return;
            k(ue, De.name.end);
          }
        }
        function F(De) {
          const re = De.arguments;
          if (!re || !re.length)
            return;
          const xe = g.getResolvedSignature(De);
          if (xe === void 0) return;
          let ue = 0;
          for (const Xe of re) {
            const nt = za(Xe);
            if (rQe(o) && !V(nt)) {
              ue++;
              continue;
            }
            let oe = 0;
            if (op(nt)) {
              const se = g.getTypeAtLocation(nt.expression);
              if (g.isTupleType(se)) {
                const { elementFlags: Pe, fixedLength: Ee } = se.target;
                if (Ee === 0)
                  continue;
                const Ce = oc(Pe, (St) => !(St & 1));
                (Ce < 0 ? Ee : Ce) > 0 && (oe = Ce < 0 ? Ee : Ce);
              }
            }
            const ve = g.getParameterIdentifierInfoAtPosition(xe, ue);
            if (ue = ue + (oe || 1), ve) {
              const { parameter: se, parameterName: Pe, isRestParameter: Ee } = ve;
              if (!(o.includeInlayParameterNameHintsWhenArgumentMatchesName || !j(nt, Pe)) && !Ee)
                continue;
              const ze = Ei(Pe);
              if (z(nt, ze))
                continue;
              T(ze, se, Xe.getStart(), Ee);
            }
          }
        }
        function j(De, re) {
          return Fe(De) ? De.text === re : kn(De) ? De.name.text === re : !1;
        }
        function z(De, re) {
          if (!C_(re, ga(_), tN(t.scriptKind)))
            return !1;
          const xe = wg(c, De.pos);
          if (!xe?.length)
            return !1;
          const ue = eQe(re);
          return at(xe, (Xe) => ue.test(c.substring(Xe.pos, Xe.end)));
        }
        function V(De) {
          switch (De.kind) {
            case 224: {
              const re = De.operand;
              return oS(re) || Fe(re) && yD(re.escapedText);
            }
            case 112:
            case 97:
            case 106:
            case 15:
            case 228:
              return !0;
            case 80: {
              const re = De.escapedText;
              return q(re) || yD(re);
            }
          }
          return oS(De);
        }
        function G(De) {
          if (Co(De) && !Za(De, 21, t) || mf(De) || !De.body)
            return;
          const xe = g.getSignatureFromDeclaration(De);
          if (!xe)
            return;
          const ue = g.getTypePredicateOfSignature(xe);
          if (ue?.type) {
            const oe = fe(ue);
            if (oe) {
              k(oe, W(De));
              return;
            }
          }
          const Xe = g.getReturnTypeOfSignature(xe);
          if (A(Xe))
            return;
          const nt = ie(Xe);
          nt && k(nt, W(De));
        }
        function W(De) {
          const re = Za(De, 22, t);
          return re ? re.end : De.parameters.end;
        }
        function pe(De) {
          const re = g.getSignatureFromDeclaration(De);
          if (!re)
            return;
          let xe = 0;
          for (const ue of De.parameters)
            he(ue) && K(ue, $y(ue) ? re.thisParameter : re.parameters[xe]), !$y(ue) && xe++;
        }
        function K(De, re) {
          if (Yc(De) || re === void 0) return;
          const ue = U(re);
          ue !== void 0 && k(ue, De.questionToken ? De.questionToken.end : De.name.end);
        }
        function U(De) {
          const re = De.valueDeclaration;
          if (!re || !Ni(re))
            return;
          const xe = g.getTypeOfSymbolAtLocation(De, re);
          if (!A(xe))
            return ie(xe);
        }
        function ee(De) {
          const xe = r2();
          return LC((ue) => {
            const Xe = g.typeToTypeNode(
              De,
              /*enclosingDeclaration*/
              void 0,
              71286784
            );
            E.assertIsDefined(Xe, "should always get typenode"), xe.writeNode(
              4,
              Xe,
              /*sourceFile*/
              t,
              ue
            );
          });
        }
        function te(De) {
          const xe = r2();
          return LC((ue) => {
            const Xe = g.typePredicateToTypePredicateNode(
              De,
              /*enclosingDeclaration*/
              void 0,
              71286784
            );
            E.assertIsDefined(Xe, "should always get typePredicateNode"), xe.writeNode(
              4,
              Xe,
              /*sourceFile*/
              t,
              ue
            );
          });
        }
        function ie(De) {
          if (!Lue(o))
            return ee(De);
          const xe = g.typeToTypeNode(
            De,
            /*enclosingDeclaration*/
            void 0,
            71286784
          );
          return E.assertIsDefined(xe, "should always get typeNode"), me(xe);
        }
        function fe(De) {
          if (!Lue(o))
            return te(De);
          const xe = g.typePredicateToTypePredicateNode(
            De,
            /*enclosingDeclaration*/
            void 0,
            71286784
          );
          return E.assertIsDefined(xe, "should always get typenode"), me(xe);
        }
        function me(De) {
          const re = [];
          return xe(De), re;
          function xe(oe) {
            var ve, se;
            if (!oe)
              return;
            const Pe = Qs(oe.kind);
            if (Pe) {
              re.push({ text: Pe });
              return;
            }
            if (oS(oe)) {
              re.push({ text: nt(oe) });
              return;
            }
            switch (oe.kind) {
              case 80:
                E.assertNode(oe, Fe);
                const Ee = Pn(oe), Ce = oe.symbol && oe.symbol.declarations && oe.symbol.declarations.length && ls(oe.symbol.declarations[0]);
                Ce ? re.push(Me(Ee, Ce)) : re.push({ text: Ee });
                break;
              case 166:
                E.assertNode(oe, Qu), xe(oe.left), re.push({ text: "." }), xe(oe.right);
                break;
              case 182:
                E.assertNode(oe, Jx), oe.assertsModifier && re.push({ text: "asserts " }), xe(oe.parameterName), oe.type && (re.push({ text: " is " }), xe(oe.type));
                break;
              case 183:
                E.assertNode(oe, X_), xe(oe.typeName), oe.typeArguments && (re.push({ text: "<" }), Xe(oe.typeArguments, ", "), re.push({ text: ">" }));
                break;
              case 168:
                E.assertNode(oe, Fo), oe.modifiers && Xe(oe.modifiers, " "), xe(oe.name), oe.constraint && (re.push({ text: " extends " }), xe(oe.constraint)), oe.default && (re.push({ text: " = " }), xe(oe.default));
                break;
              case 169:
                E.assertNode(oe, Ni), oe.modifiers && Xe(oe.modifiers, " "), oe.dotDotDotToken && re.push({ text: "..." }), xe(oe.name), oe.questionToken && re.push({ text: "?" }), oe.type && (re.push({ text: ": " }), xe(oe.type));
                break;
              case 185:
                E.assertNode(oe, u6), re.push({ text: "new " }), ue(oe), re.push({ text: " => " }), xe(oe.type);
                break;
              case 186:
                E.assertNode(oe, Vb), re.push({ text: "typeof " }), xe(oe.exprName), oe.typeArguments && (re.push({ text: "<" }), Xe(oe.typeArguments, ", "), re.push({ text: ">" }));
                break;
              case 187:
                E.assertNode(oe, Yu), re.push({ text: "{" }), oe.members.length && (re.push({ text: " " }), Xe(oe.members, "; "), re.push({ text: " " })), re.push({ text: "}" });
                break;
              case 188:
                E.assertNode(oe, EN), xe(oe.elementType), re.push({ text: "[]" });
                break;
              case 189:
                E.assertNode(oe, zx), re.push({ text: "[" }), Xe(oe.elements, ", "), re.push({ text: "]" });
                break;
              case 202:
                E.assertNode(oe, _6), oe.dotDotDotToken && re.push({ text: "..." }), xe(oe.name), oe.questionToken && re.push({ text: "?" }), re.push({ text: ": " }), xe(oe.type);
                break;
              case 190:
                E.assertNode(oe, bF), xe(oe.type), re.push({ text: "?" });
                break;
              case 191:
                E.assertNode(oe, SF), re.push({ text: "..." }), xe(oe.type);
                break;
              case 192:
                E.assertNode(oe, w0), Xe(oe.types, " | ");
                break;
              case 193:
                E.assertNode(oe, Wx), Xe(oe.types, " & ");
                break;
              case 194:
                E.assertNode(oe, Ub), xe(oe.checkType), re.push({ text: " extends " }), xe(oe.extendsType), re.push({ text: " ? " }), xe(oe.trueType), re.push({ text: " : " }), xe(oe.falseType);
                break;
              case 195:
                E.assertNode(oe, NS), re.push({ text: "infer " }), xe(oe.typeParameter);
                break;
              case 196:
                E.assertNode(oe, AS), re.push({ text: "(" }), xe(oe.type), re.push({ text: ")" });
                break;
              case 198:
                E.assertNode(oe, nv), re.push({ text: `${Qs(oe.operator)} ` }), xe(oe.type);
                break;
              case 199:
                E.assertNode(oe, qb), xe(oe.objectType), re.push({ text: "[" }), xe(oe.indexType), re.push({ text: "]" });
                break;
              case 200:
                E.assertNode(oe, IS), re.push({ text: "{ " }), oe.readonlyToken && (oe.readonlyToken.kind === 40 ? re.push({ text: "+" }) : oe.readonlyToken.kind === 41 && re.push({ text: "-" }), re.push({ text: "readonly " })), re.push({ text: "[" }), xe(oe.typeParameter), oe.nameType && (re.push({ text: " as " }), xe(oe.nameType)), re.push({ text: "]" }), oe.questionToken && (oe.questionToken.kind === 40 ? re.push({ text: "+" }) : oe.questionToken.kind === 41 && re.push({ text: "-" }), re.push({ text: "?" })), re.push({ text: ": " }), oe.type && xe(oe.type), re.push({ text: "; }" });
                break;
              case 201:
                E.assertNode(oe, P0), xe(oe.literal);
                break;
              case 184:
                E.assertNode(oe, Ym), ue(oe), re.push({ text: " => " }), xe(oe.type);
                break;
              case 205:
                E.assertNode(oe, am), oe.isTypeOf && re.push({ text: "typeof " }), re.push({ text: "import(" }), xe(oe.argument), oe.assertions && (re.push({ text: ", { assert: " }), Xe(oe.assertions.assertClause.elements, ", "), re.push({ text: " }" })), re.push({ text: ")" }), oe.qualifier && (re.push({ text: "." }), xe(oe.qualifier)), oe.typeArguments && (re.push({ text: "<" }), Xe(oe.typeArguments, ", "), re.push({ text: ">" }));
                break;
              case 171:
                E.assertNode(oe, ju), (ve = oe.modifiers) != null && ve.length && (Xe(oe.modifiers, " "), re.push({ text: " " })), xe(oe.name), oe.questionToken && re.push({ text: "?" }), oe.type && (re.push({ text: ": " }), xe(oe.type));
                break;
              case 181:
                E.assertNode(oe, r1), re.push({ text: "[" }), Xe(oe.parameters, ", "), re.push({ text: "]" }), oe.type && (re.push({ text: ": " }), xe(oe.type));
                break;
              case 173:
                E.assertNode(oe, Xp), (se = oe.modifiers) != null && se.length && (Xe(oe.modifiers, " "), re.push({ text: " " })), xe(oe.name), oe.questionToken && re.push({ text: "?" }), ue(oe), oe.type && (re.push({ text: ": " }), xe(oe.type));
                break;
              case 179:
                E.assertNode(oe, Bx), ue(oe), oe.type && (re.push({ text: ": " }), xe(oe.type));
                break;
              case 207:
                E.assertNode(oe, N0), re.push({ text: "[" }), Xe(oe.elements, ", "), re.push({ text: "]" });
                break;
              case 206:
                E.assertNode(oe, Nf), re.push({ text: "{" }), oe.elements.length && (re.push({ text: " " }), Xe(oe.elements, ", "), re.push({ text: " " })), re.push({ text: "}" });
                break;
              case 208:
                E.assertNode(oe, ya), xe(oe.name);
                break;
              case 224:
                E.assertNode(oe, sv), re.push({ text: Qs(oe.operator) }), xe(oe.operand);
                break;
              case 203:
                E.assertNode(oe, Cte), xe(oe.head), oe.templateSpans.forEach(xe);
                break;
              case 16:
                E.assertNode(oe, Mx), re.push({ text: nt(oe) });
                break;
              case 204:
                E.assertNode(oe, sz), xe(oe.type), xe(oe.literal);
                break;
              case 17:
                E.assertNode(oe, tz), re.push({ text: nt(oe) });
                break;
              case 18:
                E.assertNode(oe, gF), re.push({ text: nt(oe) });
                break;
              case 197:
                E.assertNode(oe, ND), re.push({ text: "this" });
                break;
              default:
                E.failBadSyntaxKind(oe);
            }
          }
          function ue(oe) {
            oe.typeParameters && (re.push({ text: "<" }), Xe(oe.typeParameters, ", "), re.push({ text: ">" })), re.push({ text: "(" }), Xe(oe.parameters, ", "), re.push({ text: ")" });
          }
          function Xe(oe, ve) {
            oe.forEach((se, Pe) => {
              Pe > 0 && re.push({ text: ve }), xe(se);
            });
          }
          function nt(oe) {
            switch (oe.kind) {
              case 11:
                return u === 0 ? `'${Qm(
                  oe.text,
                  39
                  /* singleQuote */
                )}'` : `"${Qm(
                  oe.text,
                  34
                  /* doubleQuote */
                )}"`;
              case 16:
              case 17:
              case 18: {
                const ve = oe.rawText ?? jB(Qm(
                  oe.text,
                  96
                  /* backtick */
                ));
                switch (oe.kind) {
                  case 16:
                    return "`" + ve + "${";
                  case 17:
                    return "}" + ve + "${";
                  case 18:
                    return "}" + ve + "`";
                }
              }
            }
            return oe.text;
          }
        }
        function q(De) {
          return De === "undefined";
        }
        function he(De) {
          if ((Z1(De) || Zn(De) && BC(De)) && De.initializer) {
            const re = za(De.initializer);
            return !(V(re) || Hb(re) || ua(re) || Tb(re));
          }
          return !0;
        }
        function Me(De, re) {
          const xe = re.getSourceFile();
          return {
            text: De,
            span: t_(re, xe),
            file: xe.fileName
          };
        }
      }
      var Dv = {};
      Ta(Dv, {
        getDocCommentTemplateAtPosition: () => dQe,
        getJSDocParameterNameCompletionDetails: () => pQe,
        getJSDocParameterNameCompletions: () => fQe,
        getJSDocTagCompletionDetails: () => bDe,
        getJSDocTagCompletions: () => _Qe,
        getJSDocTagNameCompletionDetails: () => uQe,
        getJSDocTagNameCompletions: () => lQe,
        getJsDocCommentsFromDeclarations: () => iQe,
        getJsDocTagsFromDeclarations: () => oQe
      });
      var dDe = [
        "abstract",
        "access",
        "alias",
        "argument",
        "async",
        "augments",
        "author",
        "borrows",
        "callback",
        "class",
        "classdesc",
        "constant",
        "constructor",
        "constructs",
        "copyright",
        "default",
        "deprecated",
        "description",
        "emits",
        "enum",
        "event",
        "example",
        "exports",
        "extends",
        "external",
        "field",
        "file",
        "fileoverview",
        "fires",
        "function",
        "generator",
        "global",
        "hideconstructor",
        "host",
        "ignore",
        "implements",
        "import",
        "inheritdoc",
        "inner",
        "instance",
        "interface",
        "kind",
        "lends",
        "license",
        "link",
        "linkcode",
        "linkplain",
        "listens",
        "member",
        "memberof",
        "method",
        "mixes",
        "module",
        "name",
        "namespace",
        "overload",
        "override",
        "package",
        "param",
        "private",
        "prop",
        "property",
        "protected",
        "public",
        "readonly",
        "requires",
        "returns",
        "satisfies",
        "see",
        "since",
        "static",
        "summary",
        "template",
        "this",
        "throws",
        "todo",
        "tutorial",
        "type",
        "typedef",
        "var",
        "variation",
        "version",
        "virtual",
        "yields"
      ], mDe, gDe;
      function iQe(e, t) {
        const n = [];
        return WU(e, (i) => {
          for (const s of aQe(i)) {
            const o = bd(s) && s.tags && Dn(s.tags, (_) => _.kind === 327 && (_.tagName.escapedText === "inheritDoc" || _.tagName.escapedText === "inheritdoc"));
            if (s.comment === void 0 && !o || bd(s) && i.kind !== 346 && i.kind !== 338 && s.tags && s.tags.some(
              (_) => _.kind === 346 || _.kind === 338
              /* JSDocCallbackTag */
            ) && !s.tags.some(
              (_) => _.kind === 341 || _.kind === 342
              /* JSDocReturnTag */
            ))
              continue;
            let c = s.comment ? aE(s.comment, t) : [];
            o && o.comment && (c = c.concat(aE(o.comment, t))), _s(n, c, sQe) || n.push(c);
          }
        }), Sp(hR(n, [Q6()]));
      }
      function sQe(e, t) {
        return Cf(e, t, (n, i) => n.kind === i.kind && n.text === i.text);
      }
      function aQe(e) {
        switch (e.kind) {
          case 341:
          case 348:
            return [e];
          case 338:
          case 346:
            return [e, e.parent];
          case 323:
            if (b6(e.parent))
              return [e.parent.parent];
          // falls through
          default:
            return xB(e);
        }
      }
      function oQe(e, t) {
        const n = [];
        return WU(e, (i) => {
          const s = U1(i);
          if (!(s.some(
            (o) => o.kind === 346 || o.kind === 338
            /* JSDocCallbackTag */
          ) && !s.some(
            (o) => o.kind === 341 || o.kind === 342
            /* JSDocReturnTag */
          )))
            for (const o of s)
              n.push({ name: o.tagName.text, text: vDe(o, t) }), n.push(...hDe(yDe(o), t));
        }), n;
      }
      function hDe(e, t) {
        return oa(e, (n) => Ji([{ name: n.tagName.text, text: vDe(n, t) }], hDe(yDe(n), t)));
      }
      function yDe(e) {
        return E4(e) && e.isNameFirst && e.typeExpression && RS(e.typeExpression.type) ? e.typeExpression.type.jsDocPropertyTags : void 0;
      }
      function aE(e, t) {
        return typeof e == "string" ? [Lf(e)] : oa(
          e,
          (n) => n.kind === 321 ? [Lf(n.text)] : dae(n, t)
        );
      }
      function vDe(e, t) {
        const { comment: n, kind: i } = e, s = cQe(i);
        switch (i) {
          case 349:
            const _ = e.typeExpression;
            return _ ? o(_) : n === void 0 ? void 0 : aE(n, t);
          case 329:
            return o(e.class);
          case 328:
            return o(e.class);
          case 345:
            const u = e, g = [];
            if (u.constraint && g.push(Lf(u.constraint.getText())), Ar(u.typeParameters)) {
              Ar(g) && g.push(yc());
              const h = u.typeParameters[u.typeParameters.length - 1];
              ar(u.typeParameters, (S) => {
                g.push(s(S.getText())), h !== S && g.push(xu(
                  28
                  /* CommaToken */
                ), yc());
              });
            }
            return n && g.push(yc(), ...aE(n, t)), g;
          case 344:
          case 350:
            return o(e.typeExpression);
          case 346:
          case 338:
          case 348:
          case 341:
          case 347:
            const { name: m } = e;
            return m ? o(m) : n === void 0 ? void 0 : aE(n, t);
          default:
            return n === void 0 ? void 0 : aE(n, t);
        }
        function o(_) {
          return c(_.getText());
        }
        function c(_) {
          return n ? _.match(/^https?$/) ? [Lf(_), ...aE(n, t)] : [s(_), yc(), ...aE(n, t)] : [Lf(_)];
        }
      }
      function cQe(e) {
        switch (e) {
          case 341:
            return lae;
          case 348:
            return uae;
          case 345:
            return fae;
          case 346:
          case 338:
            return _ae;
          default:
            return Lf;
        }
      }
      function lQe() {
        return mDe || (mDe = fr(dDe, (e) => ({
          name: e,
          kind: "keyword",
          kindModifiers: "",
          sortText: yk.SortText.LocationPriority
        })));
      }
      var uQe = bDe;
      function _Qe() {
        return gDe || (gDe = fr(dDe, (e) => ({
          name: `@${e}`,
          kind: "keyword",
          kindModifiers: "",
          sortText: yk.SortText.LocationPriority
        })));
      }
      function bDe(e) {
        return {
          name: e,
          kind: "",
          // TODO: should have its own kind?
          kindModifiers: "",
          displayParts: [Lf(e)],
          documentation: Ue,
          tags: void 0,
          codeActions: void 0
        };
      }
      function fQe(e) {
        if (!Fe(e.name))
          return Ue;
        const t = e.name.text, n = e.parent, i = n.parent;
        return Ts(i) ? Oi(i.parameters, (s) => {
          if (!Fe(s.name)) return;
          const o = s.name.text;
          if (!(n.tags.some((c) => c !== e && Af(c) && Fe(c.name) && c.name.escapedText === o) || t !== void 0 && !Wi(o, t)))
            return { name: o, kind: "parameter", kindModifiers: "", sortText: yk.SortText.LocationPriority };
        }) : [];
      }
      function pQe(e) {
        return {
          name: e,
          kind: "parameter",
          kindModifiers: "",
          displayParts: [Lf(e)],
          documentation: Ue,
          tags: void 0,
          codeActions: void 0
        };
      }
      function dQe(e, t, n, i) {
        const s = mi(t, n), o = _r(s, bd);
        if (o && (o.comment !== void 0 || Ar(o.tags)))
          return;
        const c = s.getStart(t);
        if (!o && c < n)
          return;
        const _ = yQe(s, i);
        if (!_)
          return;
        const { commentOwner: u, parameters: g, hasReturn: m } = _, h = pf(u) && u.jsDoc ? u.jsDoc : void 0, S = Po(h);
        if (u.getStart(t) < n || S && o && S !== o)
          return;
        const T = mQe(t, n), k = Wg(t.fileName), D = (g ? gQe(g || [], k, T, e) : "") + (m ? hQe(T, e) : ""), w = "/**", A = " */", O = Ar(U1(u)) > 0;
        if (D && !O) {
          const F = w + e + T + " * ", j = c === n ? e + T : "";
          return { newText: F + e + D + T + A + j, caretOffset: F.length };
        }
        return { newText: w + A, caretOffset: 3 };
      }
      function mQe(e, t) {
        const { text: n } = e, i = Lp(t, e);
        let s = i;
        for (; s <= t && Hd(n.charCodeAt(s)); s++) ;
        return n.slice(i, s);
      }
      function gQe(e, t, n, i) {
        return e.map(({ name: s, dotDotDotToken: o }, c) => {
          const _ = s.kind === 80 ? s.text : "param" + c;
          return `${n} * @param ${t ? o ? "{...any} " : "{any} " : ""}${_}${i}`;
        }).join("");
      }
      function hQe(e, t) {
        return `${e} * @returns${t}`;
      }
      function yQe(e, t) {
        return FZ(e, (n) => Mue(n, t));
      }
      function Mue(e, t) {
        switch (e.kind) {
          case 262:
          case 218:
          case 174:
          case 176:
          case 173:
          case 219:
            const n = e;
            return { commentOwner: e, parameters: n.parameters, hasReturn: CL(n, t) };
          case 303:
            return Mue(e.initializer, t);
          case 263:
          case 264:
          case 266:
          case 306:
          case 265:
            return { commentOwner: e };
          case 171: {
            const s = e;
            return s.type && Ym(s.type) ? { commentOwner: e, parameters: s.type.parameters, hasReturn: CL(s.type, t) } : { commentOwner: e };
          }
          case 243: {
            const o = e.declarationList.declarations, c = o.length === 1 && o[0].initializer ? vQe(o[0].initializer) : void 0;
            return c ? { commentOwner: e, parameters: c.parameters, hasReturn: CL(c, t) } : { commentOwner: e };
          }
          case 307:
            return "quit";
          case 267:
            return e.parent.kind === 267 ? void 0 : { commentOwner: e };
          case 244:
            return Mue(e.expression, t);
          case 226: {
            const s = e;
            return Pc(s) === 0 ? "quit" : Ts(s.right) ? { commentOwner: e, parameters: s.right.parameters, hasReturn: CL(s.right, t) } : { commentOwner: e };
          }
          case 172:
            const i = e.initializer;
            if (i && (ho(i) || Co(i)))
              return { commentOwner: e, parameters: i.parameters, hasReturn: CL(i, t) };
        }
      }
      function CL(e, t) {
        return !!t?.generateReturnInDocTemplate && (Ym(e) || Co(e) && lt(e.body) || uo(e) && e.body && Cs(e.body) && !!qy(e.body, (n) => n));
      }
      function vQe(e) {
        for (; e.kind === 217; )
          e = e.expression;
        switch (e.kind) {
          case 218:
          case 219:
            return e;
          case 231:
            return Dn(e.members, Xo);
        }
      }
      var VH = {};
      Ta(VH, {
        mapCode: () => bQe
      });
      function bQe(e, t, n, i, s, o) {
        return nn.ChangeTracker.with(
          { host: i, formatContext: s, preferences: o },
          (c) => {
            const _ = t.map((g) => SQe(e, g)), u = n && Sp(n);
            for (const g of _)
              TQe(
                e,
                c,
                g,
                u
              );
          }
        );
      }
      function SQe(e, t) {
        const n = [
          {
            parse: () => Qx(
              "__mapcode_content_nodes.ts",
              t,
              e.languageVersion,
              /*setParentNodes*/
              !0,
              e.scriptKind
            ),
            body: (o) => o.statements
          },
          {
            parse: () => Qx(
              "__mapcode_class_content_nodes.ts",
              `class __class {
${t}
}`,
              e.languageVersion,
              /*setParentNodes*/
              !0,
              e.scriptKind
            ),
            body: (o) => o.statements[0].members
          }
        ], i = [];
        for (const { parse: o, body: c } of n) {
          const _ = o(), u = c(_);
          if (u.length && _.parseDiagnostics.length === 0)
            return u;
          u.length && i.push({ sourceFile: _, body: u });
        }
        i.sort(
          (o, c) => o.sourceFile.parseDiagnostics.length - c.sourceFile.parseDiagnostics.length
        );
        const { body: s } = i[0];
        return s;
      }
      function TQe(e, t, n, i) {
        Jc(n[0]) || bb(n[0]) ? xQe(
          e,
          t,
          n,
          i
        ) : kQe(
          e,
          t,
          n,
          i
        );
      }
      function xQe(e, t, n, i) {
        let s;
        if (!i || !i.length ? s = Dn(e.statements, z_(Xn, Yl)) : s = ar(i, (c) => _r(
          mi(e, c.start),
          z_(Xn, Yl)
        )), !s)
          return;
        const o = s.members.find((c) => n.some((_) => EL(_, c)));
        if (o) {
          const c = fb(
            s.members,
            (_) => n.some((u) => EL(u, _))
          );
          ar(n, UH), t.replaceNodeRangeWithNodes(
            e,
            o,
            c,
            n
          );
          return;
        }
        ar(n, UH), t.insertNodesAfter(
          e,
          s.members[s.members.length - 1],
          n
        );
      }
      function kQe(e, t, n, i) {
        if (!i?.length) {
          t.insertNodesAtEndOfFile(
            e,
            n,
            /*blankLineBetween*/
            !1
          );
          return;
        }
        for (const o of i) {
          const c = _r(
            mi(e, o.start),
            (_) => z_(Cs, xi)(_) && at(_.statements, (u) => n.some((g) => EL(g, u)))
          );
          if (c) {
            const _ = c.statements.find((u) => n.some((g) => EL(g, u)));
            if (_) {
              const u = fb(c.statements, (g) => n.some((m) => EL(m, g)));
              ar(n, UH), t.replaceNodeRangeWithNodes(
                e,
                _,
                u,
                n
              );
              return;
            }
          }
        }
        let s = e.statements;
        for (const o of i) {
          const c = _r(
            mi(e, o.start),
            Cs
          );
          if (c) {
            s = c.statements;
            break;
          }
        }
        ar(n, UH), t.insertNodesAfter(
          e,
          s[s.length - 1],
          n
        );
      }
      function EL(e, t) {
        var n, i, s, o, c, _;
        return e.kind !== t.kind ? !1 : e.kind === 176 ? e.kind === t.kind : El(e) && El(t) ? e.name.getText() === t.name.getText() : av(e) && av(t) || cz(e) && cz(t) ? e.expression.getText() === t.expression.getText() : ov(e) && ov(t) ? ((n = e.initializer) == null ? void 0 : n.getText()) === ((i = t.initializer) == null ? void 0 : i.getText()) && ((s = e.incrementor) == null ? void 0 : s.getText()) === ((o = t.incrementor) == null ? void 0 : o.getText()) && ((c = e.condition) == null ? void 0 : c.getText()) === ((_ = t.condition) == null ? void 0 : _.getText()) : uS(e) && uS(t) ? e.expression.getText() === t.expression.getText() && e.initializer.getText() === t.initializer.getText() : i1(e) && i1(t) ? e.label.getText() === t.label.getText() : e.getText() === t.getText();
      }
      function UH(e) {
        SDe(e), e.parent = void 0;
      }
      function SDe(e) {
        e.pos = -1, e.end = -1, e.forEachChild(SDe);
      }
      var wv = {};
      Ta(wv, {
        compareImportsOrRequireStatements: () => Uue,
        compareModuleSpecifiers: () => VQe,
        getImportDeclarationInsertionIndex: () => BQe,
        getImportSpecifierInsertionIndex: () => JQe,
        getNamedImportSpecifierComparerWithDetection: () => jQe,
        getOrganizeImportsStringComparerWithDetection: () => RQe,
        organizeImports: () => CQe,
        testCoalesceExports: () => WQe,
        testCoalesceImports: () => zQe
      });
      function CQe(e, t, n, i, s, o) {
        const c = nn.ChangeTracker.fromContext({ host: n, formatContext: t, preferences: s }), _ = o === "SortAndCombine" || o === "All", u = _, g = o === "RemoveUnused" || o === "All", m = e.statements.filter(Uo), h = jue(e, m), { comparersToTest: S, typeOrdersToTest: T } = Rue(s), k = S[0], D = {
          moduleSpecifierComparer: typeof s.organizeImportsIgnoreCase == "boolean" ? k : void 0,
          namedImportComparer: typeof s.organizeImportsIgnoreCase == "boolean" ? k : void 0,
          typeOrder: s.organizeImportsTypeOrder
        };
        if (typeof s.organizeImportsIgnoreCase != "boolean" && ({ comparer: D.moduleSpecifierComparer } = kDe(h, S)), !D.typeOrder || typeof s.organizeImportsIgnoreCase != "boolean") {
          const F = Wue(m, S, T);
          if (F) {
            const { namedImportComparer: j, typeOrder: z } = F;
            D.namedImportComparer = D.namedImportComparer ?? j, D.typeOrder = D.typeOrder ?? z;
          }
        }
        h.forEach((F) => A(F, D)), o !== "RemoveUnused" && DQe(e).forEach((F) => O(F, D.namedImportComparer));
        for (const F of e.statements.filter(Fu)) {
          if (!F.body) continue;
          if (jue(e, F.body.statements.filter(Uo)).forEach((z) => A(z, D)), o !== "RemoveUnused") {
            const z = F.body.statements.filter(Oc);
            O(z, D.namedImportComparer);
          }
        }
        return c.getChanges();
        function w(F, j) {
          if (Ar(F) === 0)
            return;
          an(
            F[0],
            1024
            /* NoLeadingComments */
          );
          const z = u ? yC(F, (W) => DL(W.moduleSpecifier)) : [F], V = _ ? J_(z, (W, pe) => Jue(W[0].moduleSpecifier, pe[0].moduleSpecifier, D.moduleSpecifierComparer ?? k)) : z, G = oa(V, (W) => DL(W[0].moduleSpecifier) || W[0].moduleSpecifier === void 0 ? j(W) : W);
          if (G.length === 0)
            c.deleteNodes(
              e,
              F,
              {
                leadingTriviaOption: nn.LeadingTriviaOption.Exclude,
                trailingTriviaOption: nn.TrailingTriviaOption.Include
              },
              /*hasTrailingComment*/
              !0
            );
          else {
            const W = {
              leadingTriviaOption: nn.LeadingTriviaOption.Exclude,
              // Leave header comment in place
              trailingTriviaOption: nn.TrailingTriviaOption.Include,
              suffix: Jh(n, t.options)
            };
            c.replaceNodeWithNodes(e, F[0], G, W);
            const pe = c.nodeHasTrailingComment(e, F[0], W);
            c.deleteNodes(e, F.slice(1), {
              trailingTriviaOption: nn.TrailingTriviaOption.Include
            }, pe);
          }
        }
        function A(F, j) {
          const z = j.moduleSpecifierComparer ?? k, V = j.namedImportComparer ?? k, G = j.typeOrder ?? "last", W = m8({ organizeImportsTypeOrder: G }, V);
          w(F, (K) => (g && (K = wQe(K, e, i)), u && (K = TDe(K, z, W, e)), _ && (K = J_(K, (U, ee) => Uue(U, ee, z))), K));
        }
        function O(F, j) {
          const z = m8(s, j);
          w(F, (V) => xDe(V, z));
        }
      }
      function Rue(e) {
        return {
          comparersToTest: typeof e.organizeImportsIgnoreCase == "boolean" ? [Vue(e, e.organizeImportsIgnoreCase)] : [Vue(
            e,
            /*ignoreCase*/
            !0
          ), Vue(
            e,
            /*ignoreCase*/
            !1
          )],
          typeOrdersToTest: e.organizeImportsTypeOrder ? [e.organizeImportsTypeOrder] : ["last", "inline", "first"]
        };
      }
      function jue(e, t) {
        const n = Pg(
          e.languageVersion,
          /*skipTrivia*/
          !1,
          e.languageVariant
        ), i = [];
        let s = 0;
        for (const o of t)
          i[s] && EQe(e, o, n) && s++, i[s] || (i[s] = []), i[s].push(o);
        return i;
      }
      function EQe(e, t, n) {
        const i = t.getFullStart(), s = t.getStart();
        n.setText(e.text, i, s - i);
        let o = 0;
        for (; n.getTokenStart() < s; )
          if (n.scan() === 4 && (o++, o >= 2))
            return !0;
        return !1;
      }
      function DQe(e) {
        const t = [], n = e.statements, i = Ar(n);
        let s = 0, o = 0;
        for (; s < i; )
          if (Oc(n[s])) {
            t[o] === void 0 && (t[o] = []);
            const c = n[s];
            if (c.moduleSpecifier)
              t[o].push(c), s++;
            else {
              for (; s < i && Oc(n[s]); )
                t[o].push(n[s++]);
              o++;
            }
          } else
            s++;
        return oa(t, (c) => jue(e, c));
      }
      function wQe(e, t, n) {
        const i = n.getTypeChecker(), s = n.getCompilerOptions(), o = i.getJsxNamespace(t), c = i.getJsxFragmentFactory(t), _ = !!(t.transformFlags & 2), u = [];
        for (const m of e) {
          const { importClause: h, moduleSpecifier: S } = m;
          if (!h) {
            u.push(m);
            continue;
          }
          let { name: T, namedBindings: k } = h;
          if (T && !g(T) && (T = void 0), k)
            if (Hg(k))
              g(k.name) || (k = void 0);
            else {
              const D = k.elements.filter((w) => g(w.name));
              D.length < k.elements.length && (k = D.length ? N.updateNamedImports(k, D) : void 0);
            }
          T || k ? u.push(d8(m, T, k)) : AQe(t, S) && (t.isDeclarationFile ? u.push(N.createImportDeclaration(
            m.modifiers,
            /*importClause*/
            void 0,
            S,
            /*attributes*/
            void 0
          )) : u.push(m));
        }
        return u;
        function g(m) {
          return _ && (m.text === o || c && m.text === c) && cq(s.jsx) || Eo.Core.isSymbolReferencedInFile(m, i, t);
        }
      }
      function DL(e) {
        return e !== void 0 && Ba(e) ? e.text : void 0;
      }
      function PQe(e) {
        let t;
        const n = { defaultImports: [], namespaceImports: [], namedImports: [] }, i = { defaultImports: [], namespaceImports: [], namedImports: [] };
        for (const s of e) {
          if (s.importClause === void 0) {
            t = t || s;
            continue;
          }
          const o = s.importClause.isTypeOnly ? n : i, { name: c, namedBindings: _ } = s.importClause;
          c && o.defaultImports.push(s), _ && (Hg(_) ? o.namespaceImports.push(s) : o.namedImports.push(s));
        }
        return {
          importWithoutClause: t,
          typeOnlyImports: n,
          regularImports: i
        };
      }
      function TDe(e, t, n, i) {
        if (e.length === 0)
          return e;
        const s = PR(e, (c) => {
          if (c.attributes) {
            let _ = c.attributes.token + " ";
            for (const u of J_(c.attributes.elements, (g, m) => au(g.name.text, m.name.text)))
              _ += u.name.text + ":", _ += Ba(u.value) ? `"${u.value.text}"` : u.value.getText() + " ";
            return _;
          }
          return "";
        }), o = [];
        for (const c in s) {
          const _ = s[c], { importWithoutClause: u, typeOnlyImports: g, regularImports: m } = PQe(_);
          u && o.push(u);
          for (const h of [m, g]) {
            const S = h === g, { defaultImports: T, namespaceImports: k, namedImports: D } = h;
            if (!S && T.length === 1 && k.length === 1 && D.length === 0) {
              const W = T[0];
              o.push(
                d8(W, W.importClause.name, k[0].importClause.namedBindings)
              );
              continue;
            }
            const w = J_(k, (W, pe) => t(W.importClause.namedBindings.name.text, pe.importClause.namedBindings.name.text));
            for (const W of w)
              o.push(
                d8(
                  W,
                  /*name*/
                  void 0,
                  W.importClause.namedBindings
                )
              );
            const A = Xc(T), O = Xc(D), F = A ?? O;
            if (!F)
              continue;
            let j;
            const z = [];
            if (T.length === 1)
              j = T[0].importClause.name;
            else
              for (const W of T)
                z.push(
                  N.createImportSpecifier(
                    /*isTypeOnly*/
                    !1,
                    N.createIdentifier("default"),
                    W.importClause.name
                  )
                );
            z.push(...IQe(D));
            const V = N.createNodeArray(
              J_(z, n),
              O?.importClause.namedBindings.elements.hasTrailingComma
            ), G = V.length === 0 ? j ? void 0 : N.createNamedImports(Ue) : O ? N.updateNamedImports(O.importClause.namedBindings, V) : N.createNamedImports(V);
            i && G && O?.importClause.namedBindings && !kS(O.importClause.namedBindings, i) && an(
              G,
              2
              /* MultiLine */
            ), S && j && G ? (o.push(
              d8(
                F,
                j,
                /*namedBindings*/
                void 0
              )
            ), o.push(
              d8(
                O ?? F,
                /*name*/
                void 0,
                G
              )
            )) : o.push(
              d8(F, j, G)
            );
          }
        }
        return o;
      }
      function xDe(e, t) {
        if (e.length === 0)
          return e;
        const { exportWithoutClause: n, namedExports: i, typeOnlyExports: s } = c(e), o = [];
        n && o.push(n);
        for (const _ of [i, s]) {
          if (_.length === 0)
            continue;
          const u = [];
          u.push(...oa(_, (h) => h.exportClause && cp(h.exportClause) ? h.exportClause.elements : Ue));
          const g = J_(u, t), m = _[0];
          o.push(
            N.updateExportDeclaration(
              m,
              m.modifiers,
              m.isTypeOnly,
              m.exportClause && (cp(m.exportClause) ? N.updateNamedExports(m.exportClause, g) : N.updateNamespaceExport(m.exportClause, m.exportClause.name)),
              m.moduleSpecifier,
              m.attributes
            )
          );
        }
        return o;
        function c(_) {
          let u;
          const g = [], m = [];
          for (const h of _)
            h.exportClause === void 0 ? u = u || h : h.isTypeOnly ? m.push(h) : g.push(h);
          return {
            exportWithoutClause: u,
            namedExports: g,
            typeOnlyExports: m
          };
        }
      }
      function d8(e, t, n) {
        return N.updateImportDeclaration(
          e,
          e.modifiers,
          N.updateImportClause(e.importClause, e.importClause.isTypeOnly, t, n),
          // TODO: GH#18217
          e.moduleSpecifier,
          e.attributes
        );
      }
      function Bue(e, t, n, i) {
        switch (i?.organizeImportsTypeOrder) {
          case "first":
            return J1(t.isTypeOnly, e.isTypeOnly) || n(e.name.text, t.name.text);
          case "inline":
            return n(e.name.text, t.name.text);
          default:
            return J1(e.isTypeOnly, t.isTypeOnly) || n(e.name.text, t.name.text);
        }
      }
      function Jue(e, t, n) {
        const i = e === void 0 ? void 0 : DL(e), s = t === void 0 ? void 0 : DL(t);
        return J1(i === void 0, s === void 0) || J1(Cl(i), Cl(s)) || n(i, s);
      }
      function NQe(e) {
        return e.map((t) => DL(zue(t)) || "");
      }
      function zue(e) {
        var t;
        switch (e.kind) {
          case 271:
            return (t = Mn(e.moduleReference, Mh)) == null ? void 0 : t.expression;
          case 272:
            return e.moduleSpecifier;
          case 243:
            return e.declarationList.declarations[0].initializer.arguments[0];
        }
      }
      function AQe(e, t) {
        const n = la(t) && t.text;
        return cs(n) && at(e.moduleAugmentations, (i) => la(i) && i.text === n);
      }
      function IQe(e) {
        return oa(e, (t) => fr(FQe(t), (n) => n.name && n.propertyName && kb(n.name) === kb(n.propertyName) ? N.updateImportSpecifier(
          n,
          n.isTypeOnly,
          /*propertyName*/
          void 0,
          n.name
        ) : n));
      }
      function FQe(e) {
        var t;
        return (t = e.importClause) != null && t.namedBindings && cm(e.importClause.namedBindings) ? e.importClause.namedBindings.elements : void 0;
      }
      function kDe(e, t) {
        const n = [];
        return e.forEach((i) => {
          n.push(NQe(i));
        }), EDe(n, t);
      }
      function Wue(e, t, n) {
        let i = !1;
        const s = e.filter((u) => {
          var g, m;
          const h = (m = Mn((g = u.importClause) == null ? void 0 : g.namedBindings, cm)) == null ? void 0 : m.elements;
          return h?.length ? (!i && h.some((S) => S.isTypeOnly) && h.some((S) => !S.isTypeOnly) && (i = !0), !0) : !1;
        });
        if (s.length === 0) return;
        const o = s.map((u) => {
          var g, m;
          return (m = Mn((g = u.importClause) == null ? void 0 : g.namedBindings, cm)) == null ? void 0 : m.elements;
        }).filter((u) => u !== void 0);
        if (!i || n.length === 0) {
          const u = EDe(o.map((g) => g.map((m) => m.name.text)), t);
          return {
            namedImportComparer: u.comparer,
            typeOrder: n.length === 1 ? n[0] : void 0,
            isSorted: u.isSorted
          };
        }
        const c = { first: 1 / 0, last: 1 / 0, inline: 1 / 0 }, _ = { first: t[0], last: t[0], inline: t[0] };
        for (const u of t) {
          const g = { first: 0, last: 0, inline: 0 };
          for (const m of o)
            for (const h of n)
              g[h] = (g[h] ?? 0) + CDe(m, (S, T) => Bue(S, T, u, { organizeImportsTypeOrder: h }));
          for (const m of n) {
            const h = m;
            g[h] < c[h] && (c[h] = g[h], _[h] = u);
          }
        }
        e: for (const u of n) {
          const g = u;
          for (const m of n)
            if (c[m] < c[g]) continue e;
          return { namedImportComparer: _[g], typeOrder: g, isSorted: c[g] === 0 };
        }
        return { namedImportComparer: _.last, typeOrder: "last", isSorted: c.last === 0 };
      }
      function CDe(e, t) {
        let n = 0;
        for (let i = 0; i < e.length - 1; i++)
          t(e[i], e[i + 1]) > 0 && n++;
        return n;
      }
      function EDe(e, t) {
        let n, i = 1 / 0;
        for (const s of t) {
          let o = 0;
          for (const c of e) {
            if (c.length <= 1) continue;
            const _ = CDe(c, s);
            o += _;
          }
          o < i && (i = o, n = s);
        }
        return {
          comparer: n ?? t[0],
          isSorted: i === 0
        };
      }
      function OQe(e, t) {
        return go(DDe(e), DDe(t));
      }
      function DDe(e) {
        var t;
        switch (e.kind) {
          case 272:
            return e.importClause ? e.importClause.isTypeOnly ? 1 : ((t = e.importClause.namedBindings) == null ? void 0 : t.kind) === 274 ? 2 : e.importClause.name ? 3 : 4 : 0;
          case 271:
            return 5;
          case 243:
            return 6;
        }
      }
      function wL(e) {
        return e ? eQ : au;
      }
      function LQe(e, t) {
        const n = MQe(t), i = t.organizeImportsCaseFirst ?? !1, s = t.organizeImportsNumericCollation ?? !1, o = t.organizeImportsAccentCollation ?? !0, c = e ? o ? "accent" : "base" : o ? "variant" : "case";
        return new Intl.Collator(n, {
          usage: "sort",
          caseFirst: i || "false",
          sensitivity: c,
          numeric: s
        }).compare;
      }
      function MQe(e) {
        let t = e.organizeImportsLocale;
        t === "auto" && (t = tQ()), t === void 0 && (t = "en");
        const n = Intl.Collator.supportedLocalesOf(t);
        return n.length ? n[0] : "en";
      }
      function Vue(e, t) {
        return (e.organizeImportsCollation ?? "ordinal") === "unicode" ? LQe(t, e) : wL(t);
      }
      function RQe(e, t) {
        return kDe([e], Rue(t).comparersToTest);
      }
      function m8(e, t) {
        const n = t ?? wL(!!e.organizeImportsIgnoreCase);
        return (i, s) => Bue(i, s, n, e);
      }
      function jQe(e, t, n) {
        const { comparersToTest: i, typeOrdersToTest: s } = Rue(t), o = Wue([e], i, s);
        let c = m8(t, i[0]), _;
        if (typeof t.organizeImportsIgnoreCase != "boolean" || !t.organizeImportsTypeOrder) {
          if (o) {
            const { namedImportComparer: u, typeOrder: g, isSorted: m } = o;
            _ = m, c = m8({ organizeImportsTypeOrder: g }, u);
          } else if (n) {
            const u = Wue(n.statements.filter(Uo), i, s);
            if (u) {
              const { namedImportComparer: g, typeOrder: m, isSorted: h } = u;
              _ = h, c = m8({ organizeImportsTypeOrder: m }, g);
            }
          }
        }
        return { specifierComparer: c, isSorted: _ };
      }
      function BQe(e, t, n) {
        const i = ky(e, t, mo, (s, o) => Uue(s, o, n));
        return i < 0 ? ~i : i;
      }
      function JQe(e, t, n) {
        const i = ky(e, t, mo, n);
        return i < 0 ? ~i : i;
      }
      function Uue(e, t, n) {
        return Jue(zue(e), zue(t), n) || OQe(e, t);
      }
      function zQe(e, t, n, i) {
        const s = wL(t), o = m8({ organizeImportsTypeOrder: i?.organizeImportsTypeOrder }, s);
        return TDe(e, s, o, n);
      }
      function WQe(e, t, n) {
        return xDe(e, (s, o) => Bue(s, o, wL(t), { organizeImportsTypeOrder: n?.organizeImportsTypeOrder ?? "last" }));
      }
      function VQe(e, t, n) {
        const i = wL(!!n);
        return Jue(e, t, i);
      }
      var qH = {};
      Ta(qH, {
        collectElements: () => UQe
      });
      function UQe(e, t) {
        const n = [];
        return qQe(e, t, n), HQe(e, n), n.sort((i, s) => i.textSpan.start - s.textSpan.start), n;
      }
      function qQe(e, t, n) {
        let i = 40, s = 0;
        const o = [...e.statements, e.endOfFileToken], c = o.length;
        for (; s < c; ) {
          for (; s < c && !lx(o[s]); )
            _(o[s]), s++;
          if (s === c) break;
          const u = s;
          for (; s < c && lx(o[s]); )
            _(o[s]), s++;
          const g = s - 1;
          g !== u && n.push(PL(
            Za(o[u], 102, e).getStart(e),
            o[g].getEnd(),
            "imports"
            /* Imports */
          ));
        }
        function _(u) {
          var g;
          if (i === 0) return;
          t.throwIfCancellationRequested(), (Dl(u) || Sc(u) || gf(u) || Gd(u) || u.kind === 1) && PDe(u, e, t, n), Ts(u) && _n(u.parent) && kn(u.parent.left) && PDe(u.parent.left, e, t, n), (Cs(u) || om(u)) && que(u.statements.end, e, t, n), (Xn(u) || Yl(u)) && que(u.members.end, e, t, n);
          const m = $Qe(u, e);
          m && n.push(m), i--, Ms(u) ? (i++, _(u.expression), i--, u.arguments.forEach(_), (g = u.typeArguments) == null || g.forEach(_)) : av(u) && u.elseStatement && av(u.elseStatement) ? (_(u.expression), _(u.thenStatement), i++, _(u.elseStatement), i--) : u.forEachChild(_), i++;
        }
      }
      function HQe(e, t) {
        const n = [], i = e.getLineStarts();
        for (const s of i) {
          const o = e.getLineEndOfPosition(s), c = e.text.substring(s, o), _ = wDe(c);
          if (!(!_ || F0(e, s)))
            if (_.isStart) {
              const u = wc(e.text.indexOf("//", s), o);
              n.push(bk(
                u,
                "region",
                u,
                /*autoCollapse*/
                !1,
                _.name || "#region"
              ));
            } else {
              const u = n.pop();
              u && (u.textSpan.length = o - u.textSpan.start, u.hintSpan.length = o - u.textSpan.start, t.push(u));
            }
        }
      }
      var GQe = /^#(end)?region(.*)\r?$/;
      function wDe(e) {
        if (e = e.trimStart(), !Wi(e, "//"))
          return null;
        e = e.slice(2).trim();
        const t = GQe.exec(e);
        if (t)
          return { isStart: !t[1], name: t[2].trim() };
      }
      function que(e, t, n, i) {
        const s = wg(t.text, e);
        if (!s) return;
        let o = -1, c = -1, _ = 0;
        const u = t.getFullText();
        for (const { kind: m, pos: h, end: S } of s)
          switch (n.throwIfCancellationRequested(), m) {
            case 2:
              const T = u.slice(h, S);
              if (wDe(T)) {
                g(), _ = 0;
                break;
              }
              _ === 0 && (o = h), c = S, _++;
              break;
            case 3:
              g(), i.push(PL(
                h,
                S,
                "comment"
                /* Comment */
              )), _ = 0;
              break;
            default:
              E.assertNever(m);
          }
        g();
        function g() {
          _ > 1 && i.push(PL(
            o,
            c,
            "comment"
            /* Comment */
          ));
        }
      }
      function PDe(e, t, n, i) {
        Lx(e) || que(e.pos, t, n, i);
      }
      function PL(e, t, n) {
        return bk(wc(e, t), n);
      }
      function $Qe(e, t) {
        switch (e.kind) {
          case 241:
            if (Ts(e.parent))
              return XQe(e.parent, e, t);
            switch (e.parent.kind) {
              case 246:
              case 249:
              case 250:
              case 248:
              case 245:
              case 247:
              case 254:
              case 299:
                return m(e.parent);
              case 258:
                const T = e.parent;
                if (T.tryBlock === e)
                  return m(e.parent);
                if (T.finallyBlock === e) {
                  const k = Za(T, 98, t);
                  if (k) return m(k);
                }
              // falls through
              default:
                return bk(
                  t_(e, t),
                  "code"
                  /* Code */
                );
            }
          case 268:
            return m(e.parent);
          case 263:
          case 231:
          case 264:
          case 266:
          case 269:
          case 187:
          case 206:
            return m(e);
          case 189:
            return m(
              e,
              /*autoCollapse*/
              !1,
              /*useFullStart*/
              !zx(e.parent),
              23
              /* OpenBracketToken */
            );
          case 296:
          case 297:
            return h(e.statements);
          case 210:
            return g(e);
          case 209:
            return g(
              e,
              23
              /* OpenBracketToken */
            );
          case 284:
            return o(e);
          case 288:
            return c(e);
          case 285:
          case 286:
            return _(e.attributes);
          case 228:
          case 15:
            return u(e);
          case 207:
            return m(
              e,
              /*autoCollapse*/
              !1,
              /*useFullStart*/
              !ya(e.parent),
              23
              /* OpenBracketToken */
            );
          case 219:
            return s(e);
          case 213:
            return i(e);
          case 217:
            return S(e);
          case 275:
          case 279:
          case 300:
            return n(e);
        }
        function n(T) {
          if (!T.elements.length)
            return;
          const k = Za(T, 19, t), D = Za(T, 20, t);
          if (!(!k || !D || rp(k.pos, D.pos, t)))
            return HH(
              k,
              D,
              T,
              t,
              /*autoCollapse*/
              !1,
              /*useFullStart*/
              !1
            );
        }
        function i(T) {
          if (!T.arguments.length)
            return;
          const k = Za(T, 21, t), D = Za(T, 22, t);
          if (!(!k || !D || rp(k.pos, D.pos, t)))
            return HH(
              k,
              D,
              T,
              t,
              /*autoCollapse*/
              !1,
              /*useFullStart*/
              !0
            );
        }
        function s(T) {
          if (Cs(T.body) || Zu(T.body) || rp(T.body.getFullStart(), T.body.getEnd(), t))
            return;
          const k = wc(T.body.getFullStart(), T.body.getEnd());
          return bk(k, "code", t_(T));
        }
        function o(T) {
          const k = wc(T.openingElement.getStart(t), T.closingElement.getEnd()), D = T.openingElement.tagName.getText(t), w = "<" + D + ">...</" + D + ">";
          return bk(
            k,
            "code",
            k,
            /*autoCollapse*/
            !1,
            w
          );
        }
        function c(T) {
          const k = wc(T.openingFragment.getStart(t), T.closingFragment.getEnd());
          return bk(
            k,
            "code",
            k,
            /*autoCollapse*/
            !1,
            "<>...</>"
          );
        }
        function _(T) {
          if (T.properties.length !== 0)
            return PL(
              T.getStart(t),
              T.getEnd(),
              "code"
              /* Code */
            );
        }
        function u(T) {
          if (!(T.kind === 15 && T.text.length === 0))
            return PL(
              T.getStart(t),
              T.getEnd(),
              "code"
              /* Code */
            );
        }
        function g(T, k = 19) {
          return m(
            T,
            /*autoCollapse*/
            !1,
            /*useFullStart*/
            !Ql(T.parent) && !Ms(T.parent),
            k
          );
        }
        function m(T, k = !1, D = !0, w = 19, A = w === 19 ? 20 : 24) {
          const O = Za(e, w, t), F = Za(e, A, t);
          return O && F && HH(O, F, T, t, k, D);
        }
        function h(T) {
          return T.length ? bk(
            L0(T),
            "code"
            /* Code */
          ) : void 0;
        }
        function S(T) {
          if (rp(T.getStart(), T.getEnd(), t)) return;
          const k = wc(T.getStart(), T.getEnd());
          return bk(k, "code", t_(T));
        }
      }
      function XQe(e, t, n) {
        const i = QQe(e, t, n), s = Za(t, 20, n);
        return i && s && HH(
          i,
          s,
          e,
          n,
          /*autoCollapse*/
          e.kind !== 219
          /* ArrowFunction */
        );
      }
      function HH(e, t, n, i, s = !1, o = !0) {
        const c = wc(o ? e.getFullStart() : e.getStart(i), t.getEnd());
        return bk(c, "code", t_(n, i), s);
      }
      function bk(e, t, n = e, i = !1, s = "...") {
        return { textSpan: e, kind: t, hintSpan: n, bannerText: s, autoCollapse: i };
      }
      function QQe(e, t, n) {
        if (ree(e.parameters, n)) {
          const i = Za(e, 21, n);
          if (i)
            return i;
        }
        return Za(t, 19, n);
      }
      var NL = {};
      Ta(NL, {
        getRenameInfo: () => YQe,
        nodeIsEligibleForRename: () => ADe
      });
      function YQe(e, t, n, i) {
        const s = h9(h_(t, n));
        if (ADe(s)) {
          const o = ZQe(s, e.getTypeChecker(), t, e, i);
          if (o)
            return o;
        }
        return GH(p.You_cannot_rename_this_element);
      }
      function ZQe(e, t, n, i, s) {
        const o = t.getSymbolAtLocation(e);
        if (!o) {
          if (Ba(e)) {
            const S = g9(e, t);
            if (S && (S.flags & 128 || S.flags & 1048576 && Pi(S.types, (T) => !!(T.flags & 128))))
              return Hue(e.text, e.text, "string", "", e, n);
          } else if (pU(e)) {
            const S = Go(e);
            return Hue(S, S, "label", "", e, n);
          }
          return;
        }
        const { declarations: c } = o;
        if (!c || c.length === 0) return;
        if (c.some((S) => KQe(i, S)))
          return GH(p.You_cannot_rename_elements_that_are_defined_in_the_standard_TypeScript_library);
        if (Fe(e) && e.escapedText === "default" && o.parent && o.parent.flags & 1536)
          return;
        if (Ba(e) && I3(e))
          return s.allowRenameOfImportPath ? tYe(e, n, o) : void 0;
        const _ = eYe(n, o, t, s);
        if (_)
          return GH(_);
        const u = j0.getSymbolKind(t, o, e), g = mae(e) || wf(e) && e.parent.kind === 167 ? wp(ep(e)) : void 0, m = g || t.symbolToString(o), h = g || t.getFullyQualifiedName(o);
        return Hue(m, h, u, j0.getSymbolModifiers(t, o), e, n);
      }
      function KQe(e, t) {
        const n = t.getSourceFile();
        return e.isSourceFileDefaultLibrary(n) && Wo(
          n.fileName,
          ".d.ts"
          /* Dts */
        );
      }
      function eYe(e, t, n, i) {
        if (!i.providePrefixAndSuffixTextForRename && t.flags & 2097152) {
          const c = t.declarations && Dn(t.declarations, (_) => Bu(_));
          c && !c.propertyName && (t = n.getAliasedSymbol(t));
        }
        const { declarations: s } = t;
        if (!s)
          return;
        const o = NDe(e.path);
        if (o === void 0)
          return at(s, (c) => VA(c.getSourceFile().path)) ? p.You_cannot_rename_elements_that_are_defined_in_a_node_modules_folder : void 0;
        for (const c of s) {
          const _ = NDe(c.getSourceFile().path);
          if (_) {
            const u = Math.min(o.length, _.length);
            for (let g = 0; g <= u; g++)
              if (au(o[g], _[g]) !== 0)
                return p.You_cannot_rename_elements_that_are_defined_in_another_node_modules_folder;
          }
        }
      }
      function NDe(e) {
        const t = ou(e), n = t.lastIndexOf("node_modules");
        if (n !== -1)
          return t.slice(0, n + 2);
      }
      function tYe(e, t, n) {
        if (!Cl(e.text))
          return GH(p.You_cannot_rename_a_module_via_a_global_import);
        const i = n.declarations && Dn(n.declarations, xi);
        if (!i) return;
        const s = No(e.text, "/index") || No(e.text, "/index.js") ? void 0 : iQ(Ru(i.fileName), "/index"), o = s === void 0 ? i.fileName : s, c = s === void 0 ? "module" : "directory", _ = e.text.lastIndexOf("/") + 1, u = Gl(e.getStart(t) + 1 + _, e.text.length - _);
        return {
          canRename: !0,
          fileToRename: o,
          kind: c,
          displayName: o,
          fullDisplayName: e.text,
          kindModifiers: "",
          triggerSpan: u
        };
      }
      function Hue(e, t, n, i, s, o) {
        return {
          canRename: !0,
          fileToRename: void 0,
          kind: n,
          displayName: e,
          fullDisplayName: t,
          kindModifiers: i,
          triggerSpan: rYe(s, o)
        };
      }
      function GH(e) {
        return { canRename: !1, localizedErrorMessage: hs(e) };
      }
      function rYe(e, t) {
        let n = e.getStart(t), i = e.getWidth(t);
        return Ba(e) && (n += 1, i -= 2), Gl(n, i);
      }
      function ADe(e) {
        switch (e.kind) {
          case 80:
          case 81:
          case 11:
          case 15:
          case 110:
            return !0;
          case 9:
            return f9(e);
          default:
            return !1;
        }
      }
      var g8 = {};
      Ta(g8, {
        getArgumentInfoForCompletions: () => oYe,
        getSignatureHelpItems: () => nYe
      });
      function nYe(e, t, n, i, s) {
        const o = e.getTypeChecker(), c = mw(t, n);
        if (!c)
          return;
        const _ = !!i && i.kind === "characterTyped";
        if (_ && (ok(t, n, c) || F0(t, n)))
          return;
        const u = !!i && i.kind === "invoked", g = bYe(c, n, t, o, u);
        if (!g) return;
        s.throwIfCancellationRequested();
        const m = iYe(g, o, t, c, _);
        return s.throwIfCancellationRequested(), m ? o.runWithCancellationToken(s, (h) => m.kind === 0 ? BDe(m.candidates, m.resolvedSignature, g, t, h) : TYe(m.symbol, g, t, h)) : $u(t) ? aYe(g, e, s) : void 0;
      }
      function iYe({ invocation: e, argumentCount: t }, n, i, s, o) {
        switch (e.kind) {
          case 0: {
            if (o && !sYe(s, e.node, i))
              return;
            const c = [], _ = n.getResolvedSignatureForSignatureHelp(e.node, c, t);
            return c.length === 0 ? void 0 : { kind: 0, candidates: c, resolvedSignature: _ };
          }
          case 1: {
            const { called: c } = e;
            if (o && !IDe(s, i, Fe(c) ? c.parent : c))
              return;
            const _ = xU(c, t, n);
            if (_.length !== 0) return { kind: 0, candidates: _, resolvedSignature: xa(_) };
            const u = n.getSymbolAtLocation(c);
            return u && { kind: 1, symbol: u };
          }
          case 2:
            return { kind: 0, candidates: [e.signature], resolvedSignature: e.signature };
          default:
            return E.assertNever(e);
        }
      }
      function sYe(e, t, n) {
        if (!Gd(t)) return !1;
        const i = t.getChildren(n);
        switch (e.kind) {
          case 21:
            return _s(i, e);
          case 28: {
            const s = m9(e);
            return !!s && _s(i, s);
          }
          case 30:
            return IDe(e, n, t.expression);
          default:
            return !1;
        }
      }
      function aYe(e, t, n) {
        if (e.invocation.kind === 2) return;
        const i = RDe(e.invocation), s = kn(i) ? i.name.text : void 0, o = t.getTypeChecker();
        return s === void 0 ? void 0 : Ic(t.getSourceFiles(), (c) => Ic(c.getNamedDeclarations().get(s), (_) => {
          const u = _.symbol && o.getTypeOfSymbolAtLocation(_.symbol, _), g = u && u.getCallSignatures();
          if (g && g.length)
            return o.runWithCancellationToken(
              n,
              (m) => BDe(
                g,
                g[0],
                e,
                c,
                m,
                /*useFullPrefix*/
                !0
              )
            );
        }));
      }
      function IDe(e, t, n) {
        const i = e.getFullStart();
        let s = e.parent;
        for (; s; ) {
          const o = cl(
            i,
            t,
            s,
            /*excludeJsdoc*/
            !0
          );
          if (o)
            return d_(n, o);
          s = s.parent;
        }
        return E.fail("Could not find preceding token");
      }
      function oYe(e, t, n, i) {
        const s = ODe(e, t, n, i);
        return !s || s.isTypeParameterList || s.invocation.kind !== 0 ? void 0 : { invocation: s.invocation.node, argumentCount: s.argumentCount, argumentIndex: s.argumentIndex };
      }
      function FDe(e, t, n, i) {
        const s = cYe(e, n, i);
        if (!s) return;
        const { list: o, argumentIndex: c } = s, _ = gYe(i, o), u = yYe(o, n);
        return { list: o, argumentIndex: c, argumentCount: _, argumentsSpan: u };
      }
      function cYe(e, t, n) {
        if (e.kind === 30 || e.kind === 21)
          return { list: SYe(e.parent, e, t), argumentIndex: 0 };
        {
          const i = m9(e);
          return i && { list: i, argumentIndex: mYe(n, i, e) };
        }
      }
      function ODe(e, t, n, i) {
        const { parent: s } = e;
        if (Gd(s)) {
          const o = s, c = FDe(e, t, n, i);
          if (!c) return;
          const { list: _, argumentIndex: u, argumentCount: g, argumentsSpan: m } = c;
          return { isTypeParameterList: !!s.typeArguments && s.typeArguments.pos === _.pos, invocation: { kind: 0, node: o }, argumentsSpan: m, argumentIndex: u, argumentCount: g };
        } else {
          if (PS(e) && iv(s))
            return IA(e, t, n) ? $ue(
              s,
              /*argumentIndex*/
              0,
              n
            ) : void 0;
          if (Mx(e) && s.parent.kind === 215) {
            const o = s, c = o.parent;
            E.assert(
              o.kind === 228
              /* TemplateExpression */
            );
            const _ = IA(e, t, n) ? 0 : 1;
            return $ue(c, _, n);
          } else if (m6(s) && iv(s.parent.parent)) {
            const o = s, c = s.parent.parent;
            if (gF(e) && !IA(e, t, n))
              return;
            const _ = o.parent.templateSpans.indexOf(o), u = hYe(_, e, t, n);
            return $ue(c, u, n);
          } else if (yu(s)) {
            const o = s.attributes.pos, c = ca(
              n.text,
              s.attributes.end,
              /*stopAfterLineBreak*/
              !1
            );
            return {
              isTypeParameterList: !1,
              invocation: { kind: 0, node: s },
              argumentsSpan: Gl(o, c - o),
              argumentIndex: 0,
              argumentCount: 1
            };
          } else {
            const o = kU(e, n);
            if (o) {
              const { called: c, nTypeArguments: _ } = o, u = { kind: 1, called: c }, g = wc(c.getStart(n), e.end);
              return { isTypeParameterList: !0, invocation: u, argumentsSpan: g, argumentIndex: _, argumentCount: _ + 1 };
            }
            return;
          }
        }
      }
      function lYe(e, t, n, i) {
        return uYe(e, t, n, i) || ODe(e, t, n, i);
      }
      function LDe(e) {
        return _n(e.parent) ? LDe(e.parent) : e;
      }
      function Gue(e) {
        return _n(e.left) ? Gue(e.left) + 1 : 2;
      }
      function uYe(e, t, n, i) {
        const s = _Ye(e);
        if (s === void 0) return;
        const o = fYe(s, n, t, i);
        if (o === void 0) return;
        const { contextualType: c, argumentIndex: _, argumentCount: u, argumentsSpan: g } = o, m = c.getNonNullableType(), h = m.symbol;
        if (h === void 0) return;
        const S = Po(m.getCallSignatures());
        return S === void 0 ? void 0 : { isTypeParameterList: !1, invocation: { kind: 2, signature: S, node: e, symbol: pYe(h) }, argumentsSpan: g, argumentIndex: _, argumentCount: u };
      }
      function _Ye(e) {
        switch (e.kind) {
          case 21:
          case 28:
            return e;
          default:
            return _r(e.parent, (t) => Ni(t) ? !0 : ya(t) || Nf(t) || N0(t) ? !1 : "quit");
        }
      }
      function fYe(e, t, n, i) {
        const { parent: s } = e;
        switch (s.kind) {
          case 217:
          case 174:
          case 218:
          case 219:
            const o = FDe(e, n, t, i);
            if (!o) return;
            const { argumentIndex: c, argumentCount: _, argumentsSpan: u } = o, g = uc(s) ? i.getContextualTypeForObjectLiteralElement(s) : i.getContextualType(s);
            return g && { contextualType: g, argumentIndex: c, argumentCount: _, argumentsSpan: u };
          case 226: {
            const m = LDe(s), h = i.getContextualType(m), S = e.kind === 21 ? 0 : Gue(s) - 1, T = Gue(m);
            return h && { contextualType: h, argumentIndex: S, argumentCount: T, argumentsSpan: t_(s) };
          }
          default:
            return;
        }
      }
      function pYe(e) {
        return e.name === "__type" && Ic(e.declarations, (t) => {
          var n;
          return Ym(t) ? (n = Mn(t.parent, fd)) == null ? void 0 : n.symbol : void 0;
        }) || e;
      }
      function dYe(e, t) {
        const n = t.getTypeAtLocation(e.expression);
        if (t.isTupleType(n)) {
          const { elementFlags: i, fixedLength: s } = n.target;
          if (s === 0)
            return 0;
          const o = oc(i, (c) => !(c & 1));
          return o < 0 ? s : o;
        }
        return 0;
      }
      function mYe(e, t, n) {
        return MDe(e, t, n);
      }
      function gYe(e, t) {
        return MDe(
          e,
          t,
          /*node*/
          void 0
        );
      }
      function MDe(e, t, n) {
        const i = t.getChildren();
        let s = 0, o = !1;
        for (const c of i) {
          if (n && c === n)
            return !o && c.kind === 28 && s++, s;
          if (op(c)) {
            s += dYe(c, e), o = !0;
            continue;
          }
          if (c.kind !== 28) {
            s++, o = !0;
            continue;
          }
          if (o) {
            o = !1;
            continue;
          }
          s++;
        }
        return n ? s : i.length && pa(i).kind === 28 ? s + 1 : s;
      }
      function hYe(e, t, n, i) {
        return E.assert(n >= t.getStart(), "Assumed 'position' could not occur before node."), uZ(t) ? IA(t, n, i) ? 0 : e + 2 : e + 1;
      }
      function $ue(e, t, n) {
        const i = PS(e.template) ? 1 : e.template.templateSpans.length + 1;
        return t !== 0 && E.assertLessThan(t, i), {
          isTypeParameterList: !1,
          invocation: { kind: 0, node: e },
          argumentsSpan: vYe(e, n),
          argumentIndex: t,
          argumentCount: i
        };
      }
      function yYe(e, t) {
        const n = e.getFullStart(), i = ca(
          t.text,
          e.getEnd(),
          /*stopAfterLineBreak*/
          !1
        );
        return Gl(n, i - n);
      }
      function vYe(e, t) {
        const n = e.template, i = n.getStart();
        let s = n.getEnd();
        return n.kind === 228 && pa(n.templateSpans).literal.getFullWidth() === 0 && (s = ca(
          t.text,
          s,
          /*stopAfterLineBreak*/
          !1
        )), Gl(i, s - i);
      }
      function bYe(e, t, n, i, s) {
        for (let o = e; !xi(o) && (s || !Cs(o)); o = o.parent) {
          E.assert(d_(o.parent, o), "Not a subspan", () => `Child: ${E.formatSyntaxKind(o.kind)}, parent: ${E.formatSyntaxKind(o.parent.kind)}`);
          const c = lYe(o, t, n, i);
          if (c)
            return c;
        }
      }
      function SYe(e, t, n) {
        const i = e.getChildren(n), s = i.indexOf(t);
        return E.assert(s >= 0 && i.length > s + 1), i[s + 1];
      }
      function RDe(e) {
        return e.kind === 0 ? Z7(e.node) : e.called;
      }
      function jDe(e) {
        return e.kind === 0 ? e.node : e.kind === 1 ? e.called : e.node;
      }
      var AL = 70246400;
      function BDe(e, t, { isTypeParameterList: n, argumentCount: i, argumentsSpan: s, invocation: o, argumentIndex: c }, _, u, g) {
        var m;
        const h = jDe(o), S = o.kind === 2 ? o.symbol : u.getSymbolAtLocation(RDe(o)) || g && ((m = t.declaration) == null ? void 0 : m.symbol), T = S ? Sw(
          u,
          S,
          g ? _ : void 0,
          /*meaning*/
          void 0
        ) : Ue, k = fr(e, (F) => kYe(F, T, n, u, h, _));
        let D = 0, w = 0;
        for (let F = 0; F < k.length; F++) {
          const j = k[F];
          if (e[F] === t && (D = w, j.length > 1)) {
            let z = 0;
            for (const V of j) {
              if (V.isVariadic || V.parameters.length >= i) {
                D = w + z;
                break;
              }
              z++;
            }
          }
          w += j.length;
        }
        E.assert(D !== -1);
        const A = { items: t4(k, mo), applicableSpan: s, selectedItemIndex: D, argumentIndex: c, argumentCount: i }, O = A.items[D];
        if (O.isVariadic) {
          const F = oc(O.parameters, (j) => !!j.isRest);
          -1 < F && F < O.parameters.length - 1 ? A.argumentIndex = O.parameters.length : A.argumentIndex = Math.min(A.argumentIndex, O.parameters.length - 1);
        }
        return A;
      }
      function TYe(e, { argumentCount: t, argumentsSpan: n, invocation: i, argumentIndex: s }, o, c) {
        const _ = c.getLocalTypeParametersOfClassOrInterfaceOrTypeAlias(e);
        return _ ? { items: [xYe(e, _, c, jDe(i), o)], applicableSpan: n, selectedItemIndex: 0, argumentIndex: s, argumentCount: t } : void 0;
      }
      function xYe(e, t, n, i, s) {
        const o = Sw(n, e), c = r2(), _ = t.map((h) => zDe(h, n, i, s, c)), u = e.getDocumentationComment(n), g = e.getJsDocTags(n);
        return { isVariadic: !1, prefixDisplayParts: [...o, xu(
          30
          /* LessThanToken */
        )], suffixDisplayParts: [xu(
          32
          /* GreaterThanToken */
        )], separatorDisplayParts: JDe, parameters: _, documentation: u, tags: g };
      }
      var JDe = [xu(
        28
        /* CommaToken */
      ), yc()];
      function kYe(e, t, n, i, s, o) {
        const c = (n ? EYe : DYe)(e, i, s, o);
        return fr(c, ({ isVariadic: _, parameters: u, prefix: g, suffix: m }) => {
          const h = [...t, ...g], S = [...m, ...CYe(e, s, i)], T = e.getDocumentationComment(i), k = e.getJsDocTags();
          return { isVariadic: _, prefixDisplayParts: h, suffixDisplayParts: S, separatorDisplayParts: JDe, parameters: u, documentation: T, tags: k };
        });
      }
      function CYe(e, t, n) {
        return Sv((i) => {
          i.writePunctuation(":"), i.writeSpace(" ");
          const s = n.getTypePredicateOfSignature(e);
          s ? n.writeTypePredicate(
            s,
            t,
            /*flags*/
            void 0,
            i
          ) : n.writeType(
            n.getReturnTypeOfSignature(e),
            t,
            /*flags*/
            void 0,
            i
          );
        });
      }
      function EYe(e, t, n, i) {
        const s = (e.target || e).typeParameters, o = r2(), c = (s || Ue).map((u) => zDe(u, t, n, i, o)), _ = e.thisParameter ? [t.symbolToParameterDeclaration(e.thisParameter, n, AL)] : [];
        return t.getExpandedParameters(e).map((u) => {
          const g = N.createNodeArray([..._, ...fr(u, (h) => t.symbolToParameterDeclaration(h, n, AL))]), m = Sv((h) => {
            o.writeList(2576, g, i, h);
          });
          return { isVariadic: !1, parameters: c, prefix: [xu(
            30
            /* LessThanToken */
          )], suffix: [xu(
            32
            /* GreaterThanToken */
          ), ...m] };
        });
      }
      function DYe(e, t, n, i) {
        const s = r2(), o = Sv((u) => {
          if (e.typeParameters && e.typeParameters.length) {
            const g = N.createNodeArray(e.typeParameters.map((m) => t.typeParameterToDeclaration(m, n, AL)));
            s.writeList(53776, g, i, u);
          }
        }), c = t.getExpandedParameters(e), _ = t.hasEffectiveRestParameter(e) ? c.length === 1 ? (u) => !0 : (u) => {
          var g;
          return !!(u.length && ((g = Mn(u[u.length - 1], Ig)) == null ? void 0 : g.links.checkFlags) & 32768);
        } : (u) => !1;
        return c.map((u) => ({
          isVariadic: _(u),
          parameters: u.map((g) => wYe(g, t, n, i, s)),
          prefix: [...o, xu(
            21
            /* OpenParenToken */
          )],
          suffix: [xu(
            22
            /* CloseParenToken */
          )]
        }));
      }
      function wYe(e, t, n, i, s) {
        const o = Sv((u) => {
          const g = t.symbolToParameterDeclaration(e, n, AL);
          s.writeNode(4, g, i, u);
        }), c = t.isOptionalParameter(e.valueDeclaration), _ = Ig(e) && !!(e.links.checkFlags & 32768);
        return { name: e.name, documentation: e.getDocumentationComment(t), displayParts: o, isOptional: c, isRest: _ };
      }
      function zDe(e, t, n, i, s) {
        const o = Sv((c) => {
          const _ = t.typeParameterToDeclaration(e, n, AL);
          s.writeNode(4, _, i, c);
        });
        return { name: e.symbol.name, documentation: e.symbol.getDocumentationComment(t), displayParts: o, isOptional: !1, isRest: !1 };
      }
      var $H = {};
      Ta($H, {
        getSmartSelectionRange: () => PYe
      });
      function PYe(e, t) {
        var n, i;
        let s = {
          textSpan: wc(t.getFullStart(), t.getEnd())
        }, o = t;
        e:
          for (; ; ) {
            const u = IYe(o);
            if (!u.length) break;
            for (let g = 0; g < u.length; g++) {
              const m = u[g - 1], h = u[g], S = u[g + 1];
              if (Vy(
                h,
                t,
                /*includeJsDoc*/
                !0
              ) > e)
                break e;
              const T = zm(Iy(t.text, h.end));
              if (T && T.kind === 2 && _(T.pos, T.end), NYe(t, e, h)) {
                if (Wj(h) && uo(o) && !rp(h.getStart(t), h.getEnd(), t) && c(h.getStart(t), h.getEnd()), Cs(h) || m6(h) || Mx(h) || gF(h) || m && Mx(m) || zl(h) && Sc(o) || S6(h) && zl(o) || Zn(h) && S6(o) && u.length === 1 || lv(h) || I0(h) || RS(h)) {
                  o = h;
                  break;
                }
                if (m6(o) && S && v7(S)) {
                  const A = h.getFullStart() - 2, O = S.getStart() + 1;
                  c(A, O);
                }
                const k = S6(h) && FYe(m) && OYe(S) && !rp(m.getStart(), S.getStart(), t);
                let D = k ? m.getEnd() : h.getStart();
                const w = k ? S.getStart() : LYe(t, h);
                if (pf(h) && ((n = h.jsDoc) != null && n.length) && c(xa(h.jsDoc).getStart(), w), S6(h)) {
                  const A = h.getChildren()[0];
                  A && pf(A) && ((i = A.jsDoc) != null && i.length) && A.getStart() !== h.pos && (D = Math.min(D, xa(A.jsDoc).getStart()));
                }
                c(D, w), (la(h) || nx(h)) && c(D + 1, w - 1), o = h;
                break;
              }
              if (g === u.length - 1)
                break e;
            }
          }
        return s;
        function c(u, g) {
          if (u !== g) {
            const m = wc(u, g);
            (!s || // Skip ranges that are identical to the parent
            !X6(m, s.textSpan) && // Skip ranges that don't contain the original position
            zY(m, e)) && (s = { textSpan: m, ...s && { parent: s } });
          }
        }
        function _(u, g) {
          c(u, g);
          let m = u;
          for (; t.text.charCodeAt(m) === 47; )
            m++;
          c(m, g);
        }
      }
      function NYe(e, t, n) {
        return E.assert(n.pos <= t), t < n.end ? !0 : n.getEnd() === t ? h_(e, t).pos < n.end : !1;
      }
      var AYe = z_(Uo, bl);
      function IYe(e) {
        var t;
        if (xi(e))
          return h8(e.getChildAt(0).getChildren(), AYe);
        if (IS(e)) {
          const [n, ...i] = e.getChildren(), s = E.checkDefined(i.pop());
          E.assertEqual(
            n.kind,
            19
            /* OpenBraceToken */
          ), E.assertEqual(
            s.kind,
            20
            /* CloseBraceToken */
          );
          const o = h8(
            i,
            (_) => _ === e.readonlyToken || _.kind === 148 || _ === e.questionToken || _.kind === 58
            /* QuestionToken */
          ), c = h8(
            o,
            ({ kind: _ }) => _ === 23 || _ === 168 || _ === 24
            /* CloseBracketToken */
          );
          return [
            n,
            // Pivot on `:`
            y8(XH(
              c,
              ({ kind: _ }) => _ === 59
              /* ColonToken */
            )),
            s
          ];
        }
        if (ju(e)) {
          const n = h8(e.getChildren(), (c) => c === e.name || _s(e.modifiers, c)), i = ((t = n[0]) == null ? void 0 : t.kind) === 320 ? n[0] : void 0, s = i ? n.slice(1) : n, o = XH(
            s,
            ({ kind: c }) => c === 59
            /* ColonToken */
          );
          return i ? [i, y8(o)] : o;
        }
        if (Ni(e)) {
          const n = h8(e.getChildren(), (s) => s === e.dotDotDotToken || s === e.name), i = h8(n, (s) => s === n[0] || s === e.questionToken);
          return XH(
            i,
            ({ kind: s }) => s === 64
            /* EqualsToken */
          );
        }
        return ya(e) ? XH(
          e.getChildren(),
          ({ kind: n }) => n === 64
          /* EqualsToken */
        ) : e.getChildren();
      }
      function h8(e, t) {
        const n = [];
        let i;
        for (const s of e)
          t(s) ? (i = i || [], i.push(s)) : (i && (n.push(y8(i)), i = void 0), n.push(s));
        return i && n.push(y8(i)), n;
      }
      function XH(e, t, n = !0) {
        if (e.length < 2)
          return e;
        const i = oc(e, t);
        if (i === -1)
          return e;
        const s = e.slice(0, i), o = e[i], c = pa(e), _ = n && c.kind === 27, u = e.slice(i + 1, _ ? e.length - 1 : void 0), g = kP([
          s.length ? y8(s) : void 0,
          o,
          u.length ? y8(u) : void 0
        ]);
        return _ ? g.concat(c) : g;
      }
      function y8(e) {
        return E.assertGreaterThanOrEqual(e.length, 1), hd(fv.createSyntaxList(e), e[0].pos, pa(e).end);
      }
      function FYe(e) {
        const t = e && e.kind;
        return t === 19 || t === 23 || t === 21 || t === 286;
      }
      function OYe(e) {
        const t = e && e.kind;
        return t === 20 || t === 24 || t === 22 || t === 287;
      }
      function LYe(e, t) {
        switch (t.kind) {
          case 341:
          case 338:
          case 348:
          case 346:
          case 343:
            return e.getLineEndOfPosition(t.getStart());
          default:
            return t.getEnd();
        }
      }
      var j0 = {};
      Ta(j0, {
        getSymbolDisplayPartsDocumentationAndSymbolKind: () => RYe,
        getSymbolKind: () => VDe,
        getSymbolModifiers: () => MYe
      });
      var WDe = 70246400;
      function VDe(e, t, n) {
        const i = UDe(e, t, n);
        if (i !== "")
          return i;
        const s = t6(t);
        return s & 32 ? jo(
          t,
          231
          /* ClassExpression */
        ) ? "local class" : "class" : s & 384 ? "enum" : s & 524288 ? "type" : s & 64 ? "interface" : s & 262144 ? "type parameter" : s & 8 ? "enum member" : s & 2097152 ? "alias" : s & 1536 ? "module" : i;
      }
      function UDe(e, t, n) {
        const i = e.getRootSymbols(t);
        if (i.length === 1 && xa(i).flags & 8192 && e.getTypeOfSymbolAtLocation(t, n).getNonNullableType().getCallSignatures().length !== 0)
          return "method";
        if (e.isUndefinedSymbol(t))
          return "var";
        if (e.isArgumentsSymbol(t))
          return "local var";
        if (n.kind === 110 && lt(n) || Lb(n))
          return "parameter";
        const s = t6(t);
        if (s & 3)
          return UU(t) ? "parameter" : t.valueDeclaration && BC(t.valueDeclaration) ? "const" : t.valueDeclaration && d3(t.valueDeclaration) ? "using" : t.valueDeclaration && p3(t.valueDeclaration) ? "await using" : ar(t.declarations, W7) ? "let" : GDe(t) ? "local var" : "var";
        if (s & 16) return GDe(t) ? "local function" : "function";
        if (s & 32768) return "getter";
        if (s & 65536) return "setter";
        if (s & 8192) return "method";
        if (s & 16384) return "constructor";
        if (s & 131072) return "index";
        if (s & 4) {
          if (s & 33554432 && t.links.checkFlags & 6) {
            const o = ar(e.getRootSymbols(t), (c) => {
              if (c.getFlags() & 98311)
                return "property";
            });
            return o || (e.getTypeOfSymbolAtLocation(t, n).getCallSignatures().length ? "method" : "property");
          }
          return "property";
        }
        return "";
      }
      function qDe(e) {
        if (e.declarations && e.declarations.length) {
          const [t, ...n] = e.declarations, i = Ar(n) && J9(t) && at(n, (o) => !J9(o)) ? 65536 : 0, s = gw(t, i);
          if (s)
            return s.split(",");
        }
        return [];
      }
      function MYe(e, t) {
        if (!t)
          return "";
        const n = new Set(qDe(t));
        if (t.flags & 2097152) {
          const i = e.getAliasedSymbol(t);
          i !== t && ar(qDe(i), (s) => {
            n.add(s);
          });
        }
        return t.flags & 16777216 && n.add(
          "optional"
          /* optionalModifier */
        ), n.size > 0 ? rs(n.values()).join(",") : "";
      }
      function HDe(e, t, n, i, s, o, c, _) {
        var u;
        const g = [];
        let m = [], h = [];
        const S = t6(t);
        let T = c & 1 ? UDe(e, t, s) : "", k = !1;
        const D = s.kind === 110 && K7(s) || Lb(s);
        let w, A, O = !1;
        if (s.kind === 110 && !D)
          return { displayParts: [ef(
            110
            /* ThisKeyword */
          )], documentation: [], symbolKind: "primitive type", tags: void 0 };
        if (T !== "" || S & 32 || S & 2097152) {
          if (T === "getter" || T === "setter") {
            const ie = Dn(t.declarations, (fe) => fe.name === s);
            if (ie)
              switch (ie.kind) {
                case 177:
                  T = "getter";
                  break;
                case 178:
                  T = "setter";
                  break;
                case 172:
                  T = "accessor";
                  break;
                default:
                  E.assertNever(ie);
              }
            else
              T = "property";
          }
          let ee;
          if (o ?? (o = D ? e.getTypeAtLocation(s) : e.getTypeOfSymbolAtLocation(t, s)), s.parent && s.parent.kind === 211) {
            const ie = s.parent.name;
            (ie === s || ie && ie.getFullWidth() === 0) && (s = s.parent);
          }
          let te;
          if (Gd(s) ? te = s : (lU(s) || pw(s) || s.parent && (yu(s.parent) || iv(s.parent)) && Ts(t.valueDeclaration)) && (te = s.parent), te) {
            ee = e.getResolvedSignature(te);
            const ie = te.kind === 214 || Ms(te) && te.expression.kind === 108, fe = ie ? o.getConstructSignatures() : o.getCallSignatures();
            if (ee && !_s(fe, ee.target) && !_s(fe, ee) && (ee = fe.length ? fe[0] : void 0), ee) {
              switch (ie && S & 32 ? (T = "constructor", W(o.symbol, T)) : S & 2097152 ? (T = "alias", pe(T), g.push(yc()), ie && (ee.flags & 4 && (g.push(ef(
                128
                /* AbstractKeyword */
              )), g.push(yc())), g.push(ef(
                105
                /* NewKeyword */
              )), g.push(yc())), G(t)) : W(t, T), T) {
                case "JSX attribute":
                case "property":
                case "var":
                case "const":
                case "let":
                case "parameter":
                case "local var":
                  g.push(xu(
                    59
                    /* ColonToken */
                  )), g.push(yc()), !(Cn(o) & 16) && o.symbol && (wn(g, Sw(
                    e,
                    o.symbol,
                    i,
                    /*meaning*/
                    void 0,
                    5
                    /* WriteTypeParametersOrArguments */
                  )), g.push(Q6())), ie && (ee.flags & 4 && (g.push(ef(
                    128
                    /* AbstractKeyword */
                  )), g.push(yc())), g.push(ef(
                    105
                    /* NewKeyword */
                  )), g.push(yc())), K(
                    ee,
                    fe,
                    262144
                    /* WriteArrowStyleSignature */
                  );
                  break;
                default:
                  K(ee, fe);
              }
              k = !0, O = fe.length > 1;
            }
          } else if (hU(s) && !(S & 98304) || // name of function declaration
          s.kind === 137 && s.parent.kind === 176) {
            const ie = s.parent;
            if (t.declarations && Dn(t.declarations, (me) => me === (s.kind === 137 ? ie.parent : ie))) {
              const me = ie.kind === 176 ? o.getNonNullableType().getConstructSignatures() : o.getNonNullableType().getCallSignatures();
              e.isImplementationOfOverload(ie) ? ee = me[0] : ee = e.getSignatureFromDeclaration(ie), ie.kind === 176 ? (T = "constructor", W(o.symbol, T)) : W(
                ie.kind === 179 && !(o.symbol.flags & 2048 || o.symbol.flags & 4096) ? o.symbol : t,
                T
              ), ee && K(ee, me), k = !0, O = me.length > 1;
            }
          }
        }
        if (S & 32 && !k && !D && (z(), jo(
          t,
          231
          /* ClassExpression */
        ) ? pe(
          "local class"
          /* localClassElement */
        ) : g.push(ef(
          86
          /* ClassKeyword */
        )), g.push(yc()), G(t), U(t, n)), S & 64 && c & 2 && (j(), g.push(ef(
          120
          /* InterfaceKeyword */
        )), g.push(yc()), G(t), U(t, n)), S & 524288 && c & 2 && (j(), g.push(ef(
          156
          /* TypeKeyword */
        )), g.push(yc()), G(t), U(t, n), g.push(yc()), g.push(bw(
          64
          /* EqualsToken */
        )), g.push(yc()), wn(g, jA(
          e,
          s.parent && Up(s.parent) ? e.getTypeAtLocation(s.parent) : e.getDeclaredTypeOfSymbol(t),
          i,
          8388608
          /* InTypeAlias */
        ))), S & 384 && (j(), at(t.declarations, (ee) => Gb(ee) && H1(ee)) && (g.push(ef(
          87
          /* ConstKeyword */
        )), g.push(yc())), g.push(ef(
          94
          /* EnumKeyword */
        )), g.push(yc()), G(t)), S & 1536 && !D) {
          j();
          const ee = jo(
            t,
            267
            /* ModuleDeclaration */
          ), te = ee && ee.name && ee.name.kind === 80;
          g.push(ef(
            te ? 145 : 144
            /* ModuleKeyword */
          )), g.push(yc()), G(t);
        }
        if (S & 262144 && c & 2)
          if (j(), g.push(xu(
            21
            /* OpenParenToken */
          )), g.push(Lf("type parameter")), g.push(xu(
            22
            /* CloseParenToken */
          )), g.push(yc()), G(t), t.parent)
            V(), G(t.parent, i), U(t.parent, i);
          else {
            const ee = jo(
              t,
              168
              /* TypeParameter */
            );
            if (ee === void 0) return E.fail();
            const te = ee.parent;
            if (te)
              if (Ts(te)) {
                V();
                const ie = e.getSignatureFromDeclaration(te);
                te.kind === 180 ? (g.push(ef(
                  105
                  /* NewKeyword */
                )), g.push(yc())) : te.kind !== 179 && te.name && G(te.symbol), wn(g, HU(
                  e,
                  ie,
                  n,
                  32
                  /* WriteTypeArgumentsOfSignature */
                ));
              } else Ap(te) && (V(), g.push(ef(
                156
                /* TypeKeyword */
              )), g.push(yc()), G(te.symbol), U(te.symbol, n));
          }
        if (S & 8) {
          T = "enum member", W(t, "enum member");
          const ee = (u = t.declarations) == null ? void 0 : u[0];
          if (ee?.kind === 306) {
            const te = e.getConstantValue(ee);
            te !== void 0 && (g.push(yc()), g.push(bw(
              64
              /* EqualsToken */
            )), g.push(yc()), g.push(N_(
              WZ(te),
              typeof te == "number" ? 7 : 8
              /* stringLiteral */
            )));
          }
        }
        if (t.flags & 2097152) {
          if (j(), !k || m.length === 0 && h.length === 0) {
            const ee = e.getAliasedSymbol(t);
            if (ee !== t && ee.declarations && ee.declarations.length > 0) {
              const te = ee.declarations[0], ie = ls(te);
              if (ie && !k) {
                const fe = j7(te) && qn(
                  te,
                  128
                  /* Ambient */
                ), me = t.name !== "default" && !fe, q = HDe(
                  e,
                  ee,
                  Er(te),
                  i,
                  ie,
                  o,
                  c,
                  me ? t : ee
                );
                g.push(...q.displayParts), g.push(Q6()), w = q.documentation, A = q.tags;
              } else
                w = ee.getContextualDocumentationComment(te, e), A = ee.getJsDocTags(e);
            }
          }
          if (t.declarations)
            switch (t.declarations[0].kind) {
              case 270:
                g.push(ef(
                  95
                  /* ExportKeyword */
                )), g.push(yc()), g.push(ef(
                  145
                  /* NamespaceKeyword */
                ));
                break;
              case 277:
                g.push(ef(
                  95
                  /* ExportKeyword */
                )), g.push(yc()), g.push(ef(
                  t.declarations[0].isExportEquals ? 64 : 90
                  /* DefaultKeyword */
                ));
                break;
              case 281:
                g.push(ef(
                  95
                  /* ExportKeyword */
                ));
                break;
              default:
                g.push(ef(
                  102
                  /* ImportKeyword */
                ));
            }
          g.push(yc()), G(t), ar(t.declarations, (ee) => {
            if (ee.kind === 271) {
              const te = ee;
              if (G1(te))
                g.push(yc()), g.push(bw(
                  64
                  /* EqualsToken */
                )), g.push(yc()), g.push(ef(
                  149
                  /* RequireKeyword */
                )), g.push(xu(
                  21
                  /* OpenParenToken */
                )), g.push(N_(
                  Go(J4(te)),
                  8
                  /* stringLiteral */
                )), g.push(xu(
                  22
                  /* CloseParenToken */
                ));
              else {
                const ie = e.getSymbolAtLocation(te.moduleReference);
                ie && (g.push(yc()), g.push(bw(
                  64
                  /* EqualsToken */
                )), g.push(yc()), G(ie, i));
              }
              return !0;
            }
          });
        }
        if (!k)
          if (T !== "") {
            if (o) {
              if (D ? (j(), g.push(ef(
                110
                /* ThisKeyword */
              ))) : W(t, T), T === "property" || T === "accessor" || T === "getter" || T === "setter" || T === "JSX attribute" || S & 3 || T === "local var" || T === "index" || T === "using" || T === "await using" || D) {
                if (g.push(xu(
                  59
                  /* ColonToken */
                )), g.push(yc()), o.symbol && o.symbol.flags & 262144 && T !== "index") {
                  const ee = Sv((te) => {
                    const ie = e.typeParameterToDeclaration(o, i, WDe);
                    F().writeNode(4, ie, Er(ds(i)), te);
                  });
                  wn(g, ee);
                } else
                  wn(g, jA(e, o, i));
                if (Ig(t) && t.links.target && Ig(t.links.target) && t.links.target.links.tupleLabelDeclaration) {
                  const ee = t.links.target.links.tupleLabelDeclaration;
                  E.assertNode(ee.name, Fe), g.push(yc()), g.push(xu(
                    21
                    /* OpenParenToken */
                  )), g.push(Lf(Pn(ee.name))), g.push(xu(
                    22
                    /* CloseParenToken */
                  ));
                }
              } else if (S & 16 || S & 8192 || S & 16384 || S & 131072 || S & 98304 || T === "method") {
                const ee = o.getNonNullableType().getCallSignatures();
                ee.length && (K(ee[0], ee), O = ee.length > 1);
              }
            }
          } else
            T = VDe(e, t, s);
        if (m.length === 0 && !O && (m = t.getContextualDocumentationComment(i, e)), m.length === 0 && S & 4 && t.parent && t.declarations && ar(
          t.parent.declarations,
          (ee) => ee.kind === 307
          /* SourceFile */
        ))
          for (const ee of t.declarations) {
            if (!ee.parent || ee.parent.kind !== 226)
              continue;
            const te = e.getSymbolAtLocation(ee.parent.right);
            if (te && (m = te.getDocumentationComment(e), h = te.getJsDocTags(e), m.length > 0))
              break;
          }
        if (m.length === 0 && Fe(s) && t.valueDeclaration && ya(t.valueDeclaration)) {
          const ee = t.valueDeclaration, te = ee.parent, ie = ee.propertyName || ee.name;
          if (Fe(ie) && Nf(te)) {
            const fe = ep(ie), me = e.getTypeAtLocation(te);
            m = Ic(me.isUnion() ? me.types : [me], (q) => {
              const he = q.getProperty(fe);
              return he ? he.getDocumentationComment(e) : void 0;
            }) || Ue;
          }
        }
        return h.length === 0 && !O && (h = t.getContextualJsDocTags(i, e)), m.length === 0 && w && (m = w), h.length === 0 && A && (h = A), { displayParts: g, documentation: m, symbolKind: T, tags: h.length === 0 ? void 0 : h };
        function F() {
          return r2();
        }
        function j() {
          g.length && g.push(Q6()), z();
        }
        function z() {
          _ && (pe(
            "alias"
            /* alias */
          ), g.push(yc()));
        }
        function V() {
          g.push(yc()), g.push(ef(
            103
            /* InKeyword */
          )), g.push(yc());
        }
        function G(ee, te) {
          let ie;
          _ && ee === t && (ee = _), T === "index" && (ie = e.getIndexInfosOfIndexSymbol(ee));
          let fe = [];
          ee.flags & 131072 && ie ? (ee.parent && (fe = Sw(e, ee.parent)), fe.push(xu(
            23
            /* OpenBracketToken */
          )), ie.forEach((me, q) => {
            fe.push(...jA(e, me.keyType)), q !== ie.length - 1 && (fe.push(yc()), fe.push(xu(
              52
              /* BarToken */
            )), fe.push(yc()));
          }), fe.push(xu(
            24
            /* CloseBracketToken */
          ))) : fe = Sw(
            e,
            ee,
            te || n,
            /*meaning*/
            void 0,
            7
            /* AllowAnyNodeKind */
          ), wn(g, fe), t.flags & 16777216 && g.push(xu(
            58
            /* QuestionToken */
          ));
        }
        function W(ee, te) {
          j(), te && (pe(te), ee && !at(ee.declarations, (ie) => Co(ie) || (ho(ie) || Kc(ie)) && !ie.name) && (g.push(yc()), G(ee)));
        }
        function pe(ee) {
          switch (ee) {
            case "var":
            case "function":
            case "let":
            case "const":
            case "constructor":
            case "using":
            case "await using":
              g.push(qU(ee));
              return;
            default:
              g.push(xu(
                21
                /* OpenParenToken */
              )), g.push(qU(ee)), g.push(xu(
                22
                /* CloseParenToken */
              ));
              return;
          }
        }
        function K(ee, te, ie = 0) {
          wn(g, HU(
            e,
            ee,
            i,
            ie | 32
            /* WriteTypeArgumentsOfSignature */
          )), te.length > 1 && (g.push(yc()), g.push(xu(
            21
            /* OpenParenToken */
          )), g.push(bw(
            40
            /* PlusToken */
          )), g.push(N_(
            (te.length - 1).toString(),
            7
            /* numericLiteral */
          )), g.push(yc()), g.push(Lf(te.length === 2 ? "overload" : "overloads")), g.push(xu(
            22
            /* CloseParenToken */
          ))), m = ee.getDocumentationComment(e), h = ee.getJsDocTags(), te.length > 1 && m.length === 0 && h.length === 0 && (m = te[0].getDocumentationComment(e), h = te[0].getJsDocTags().filter((fe) => fe.name !== "deprecated"));
        }
        function U(ee, te) {
          const ie = Sv((fe) => {
            const me = e.symbolToTypeParameterDeclarations(ee, te, WDe);
            F().writeList(53776, me, Er(ds(te)), fe);
          });
          wn(g, ie);
        }
      }
      function RYe(e, t, n, i, s, o = $S(s), c) {
        return HDe(
          e,
          t,
          n,
          i,
          s,
          /*type*/
          void 0,
          o,
          c
        );
      }
      function GDe(e) {
        return e.parent ? !1 : ar(e.declarations, (t) => {
          if (t.kind === 218)
            return !0;
          if (t.kind !== 260 && t.kind !== 262)
            return !1;
          for (let n = t.parent; !Eb(n); n = n.parent)
            if (n.kind === 307 || n.kind === 268)
              return !1;
          return !0;
        });
      }
      var nn = {};
      Ta(nn, {
        ChangeTracker: () => JYe,
        LeadingTriviaOption: () => QDe,
        TrailingTriviaOption: () => YDe,
        applyChanges: () => Kue,
        assignPositionsToNode: () => KH,
        createWriter: () => KDe,
        deleteNode: () => Vh,
        getAdjustedEndPosition: () => Sk,
        isThisTypeAnnotatable: () => BYe,
        isValidLocationToAddComment: () => ewe
      });
      function $De(e) {
        const t = e.__pos;
        return E.assert(typeof t == "number"), t;
      }
      function Xue(e, t) {
        E.assert(typeof t == "number"), e.__pos = t;
      }
      function XDe(e) {
        const t = e.__end;
        return E.assert(typeof t == "number"), t;
      }
      function Que(e, t) {
        E.assert(typeof t == "number"), e.__end = t;
      }
      var QDe = /* @__PURE__ */ ((e) => (e[e.Exclude = 0] = "Exclude", e[e.IncludeAll = 1] = "IncludeAll", e[e.JSDoc = 2] = "JSDoc", e[e.StartLine = 3] = "StartLine", e))(QDe || {}), YDe = /* @__PURE__ */ ((e) => (e[e.Exclude = 0] = "Exclude", e[e.ExcludeWhitespace = 1] = "ExcludeWhitespace", e[e.Include = 2] = "Include", e))(YDe || {});
      function ZDe(e, t) {
        return ca(
          e,
          t,
          /*stopAfterLineBreak*/
          !1,
          /*stopAtComments*/
          !0
        );
      }
      function jYe(e, t) {
        let n = t;
        for (; n < e.length; ) {
          const i = e.charCodeAt(n);
          if (Hd(i)) {
            n++;
            continue;
          }
          return i === 47;
        }
        return !1;
      }
      var v8 = {
        leadingTriviaOption: 0,
        trailingTriviaOption: 0
        /* Exclude */
      };
      function b8(e, t, n, i) {
        return { pos: tT(e, t, i), end: Sk(e, n, i) };
      }
      function tT(e, t, n, i = !1) {
        var s, o;
        const { leadingTriviaOption: c } = n;
        if (c === 0)
          return t.getStart(e);
        if (c === 3) {
          const T = t.getStart(e), k = Lp(T, e);
          return q6(t, k) ? k : T;
        }
        if (c === 2) {
          const T = pB(t, e.text);
          if (T?.length)
            return Lp(T[0].pos, e);
        }
        const _ = t.getFullStart(), u = t.getStart(e);
        if (_ === u)
          return u;
        const g = Lp(_, e);
        if (Lp(u, e) === g)
          return c === 1 ? _ : u;
        if (i) {
          const T = ((s = wg(e.text, _)) == null ? void 0 : s[0]) || ((o = Iy(e.text, _)) == null ? void 0 : o[0]);
          if (T)
            return ca(
              e.text,
              T.end,
              /*stopAfterLineBreak*/
              !0,
              /*stopAtComments*/
              !0
            );
        }
        const h = _ > 0 ? 1 : 0;
        let S = Wy(Z4(e, g) + h, e);
        return S = ZDe(e.text, S), Wy(Z4(e, S), e);
      }
      function Yue(e, t, n) {
        const { end: i } = t, { trailingTriviaOption: s } = n;
        if (s === 2) {
          const o = Iy(e.text, i);
          if (o) {
            const c = Z4(e, t.end);
            for (const _ of o) {
              if (_.kind === 2 || Z4(e, _.pos) > c)
                break;
              if (Z4(e, _.end) > c)
                return ca(
                  e.text,
                  _.end,
                  /*stopAfterLineBreak*/
                  !0,
                  /*stopAtComments*/
                  !0
                );
            }
          }
        }
      }
      function Sk(e, t, n) {
        var i;
        const { end: s } = t, { trailingTriviaOption: o } = n;
        if (o === 0)
          return s;
        if (o === 1) {
          const u = Ji(Iy(e.text, s), wg(e.text, s)), g = (i = u?.[u.length - 1]) == null ? void 0 : i.end;
          return g || s;
        }
        const c = Yue(e, t, n);
        if (c)
          return c;
        const _ = ca(
          e.text,
          s,
          /*stopAfterLineBreak*/
          !0
        );
        return _ !== s && (o === 2 || gu(e.text.charCodeAt(_ - 1))) ? _ : s;
      }
      function QH(e, t) {
        return !!t && !!e.parent && (t.kind === 28 || t.kind === 27 && e.parent.kind === 210);
      }
      function BYe(e) {
        return ho(e) || Tc(e);
      }
      var JYe = class Kme {
        /** Public for tests only. Other callers should use `ChangeTracker.with`. */
        constructor(t, n) {
          this.newLineCharacter = t, this.formatContext = n, this.changes = [], this.classesWithNodesInsertedAtStart = /* @__PURE__ */ new Map(), this.deletedNodes = [];
        }
        static fromContext(t) {
          return new Kme(Jh(t.host, t.formatContext.options), t.formatContext);
        }
        static with(t, n) {
          const i = Kme.fromContext(t);
          return n(i), i.getChanges();
        }
        pushRaw(t, n) {
          E.assertEqual(t.fileName, n.fileName);
          for (const i of n.textChanges)
            this.changes.push({
              kind: 3,
              sourceFile: t,
              text: i.newText,
              range: T9(i.span)
            });
        }
        deleteRange(t, n) {
          this.changes.push({ kind: 0, sourceFile: t, range: n });
        }
        delete(t, n) {
          this.deletedNodes.push({ sourceFile: t, node: n });
        }
        /** Stop! Consider using `delete` instead, which has logic for deleting nodes from delimited lists. */
        deleteNode(t, n, i = {
          leadingTriviaOption: 1
          /* IncludeAll */
        }) {
          this.deleteRange(t, b8(t, n, n, i));
        }
        deleteNodes(t, n, i = {
          leadingTriviaOption: 1
          /* IncludeAll */
        }, s) {
          for (const o of n) {
            const c = tT(t, o, i, s), _ = Sk(t, o, i);
            this.deleteRange(t, { pos: c, end: _ }), s = !!Yue(t, o, i);
          }
        }
        deleteModifier(t, n) {
          this.deleteRange(t, { pos: n.getStart(t), end: ca(
            t.text,
            n.end,
            /*stopAfterLineBreak*/
            !0
          ) });
        }
        deleteNodeRange(t, n, i, s = {
          leadingTriviaOption: 1
          /* IncludeAll */
        }) {
          const o = tT(t, n, s), c = Sk(t, i, s);
          this.deleteRange(t, { pos: o, end: c });
        }
        deleteNodeRangeExcludingEnd(t, n, i, s = {
          leadingTriviaOption: 1
          /* IncludeAll */
        }) {
          const o = tT(t, n, s), c = i === void 0 ? t.text.length : tT(t, i, s);
          this.deleteRange(t, { pos: o, end: c });
        }
        replaceRange(t, n, i, s = {}) {
          this.changes.push({ kind: 1, sourceFile: t, range: n, options: s, node: i });
        }
        replaceNode(t, n, i, s = v8) {
          this.replaceRange(t, b8(t, n, n, s), i, s);
        }
        replaceNodeRange(t, n, i, s, o = v8) {
          this.replaceRange(t, b8(t, n, i, o), s, o);
        }
        replaceRangeWithNodes(t, n, i, s = {}) {
          this.changes.push({ kind: 2, sourceFile: t, range: n, options: s, nodes: i });
        }
        replaceNodeWithNodes(t, n, i, s = v8) {
          this.replaceRangeWithNodes(t, b8(t, n, n, s), i, s);
        }
        replaceNodeWithText(t, n, i) {
          this.replaceRangeWithText(t, b8(t, n, n, v8), i);
        }
        replaceNodeRangeWithNodes(t, n, i, s, o = v8) {
          this.replaceRangeWithNodes(t, b8(t, n, i, o), s, o);
        }
        nodeHasTrailingComment(t, n, i = v8) {
          return !!Yue(t, n, i);
        }
        nextCommaToken(t, n) {
          const i = a2(n, n.parent, t);
          return i && i.kind === 28 ? i : void 0;
        }
        replacePropertyAssignment(t, n, i) {
          const s = this.nextCommaToken(t, n) ? "" : "," + this.newLineCharacter;
          this.replaceNode(t, n, i, { suffix: s });
        }
        insertNodeAt(t, n, i, s = {}) {
          this.replaceRange(t, tp(n), i, s);
        }
        insertNodesAt(t, n, i, s = {}) {
          this.replaceRangeWithNodes(t, tp(n), i, s);
        }
        insertNodeAtTopOfFile(t, n, i) {
          this.insertAtTopOfFile(t, n, i);
        }
        insertNodesAtTopOfFile(t, n, i) {
          this.insertAtTopOfFile(t, n, i);
        }
        insertAtTopOfFile(t, n, i) {
          const s = $Ye(t), o = {
            prefix: s === 0 ? void 0 : this.newLineCharacter,
            suffix: (gu(t.text.charCodeAt(s)) ? "" : this.newLineCharacter) + (i ? this.newLineCharacter : "")
          };
          fs(n) ? this.insertNodesAt(t, s, n, o) : this.insertNodeAt(t, s, n, o);
        }
        insertNodesAtEndOfFile(t, n, i) {
          this.insertAtEndOfFile(t, n, i);
        }
        insertAtEndOfFile(t, n, i) {
          const s = t.end + 1, o = {
            prefix: this.newLineCharacter,
            suffix: this.newLineCharacter + (i ? this.newLineCharacter : "")
          };
          this.insertNodesAt(t, s, n, o);
        }
        insertStatementsInNewFile(t, n, i) {
          this.newFileChanges || (this.newFileChanges = Tp()), this.newFileChanges.add(t, { oldFile: i, statements: n });
        }
        insertFirstParameter(t, n, i) {
          const s = Xc(n);
          s ? this.insertNodeBefore(t, s, i) : this.insertNodeAt(t, n.pos, i);
        }
        insertNodeBefore(t, n, i, s = !1, o = {}) {
          this.insertNodeAt(t, tT(t, n, o), i, this.getOptionsForInsertNodeBefore(n, i, s));
        }
        insertNodesBefore(t, n, i, s = !1, o = {}) {
          this.insertNodesAt(t, tT(t, n, o), i, this.getOptionsForInsertNodeBefore(n, xa(i), s));
        }
        insertModifierAt(t, n, i, s = {}) {
          this.insertNodeAt(t, n, N.createToken(i), s);
        }
        insertModifierBefore(t, n, i) {
          return this.insertModifierAt(t, i.getStart(t), n, { suffix: " " });
        }
        insertCommentBeforeLine(t, n, i, s) {
          const o = Wy(n, t), c = hae(t.text, o), _ = ewe(t, c), u = H6(t, _ ? c : i), g = t.text.slice(o, c), m = `${_ ? "" : this.newLineCharacter}//${s}${this.newLineCharacter}${g}`;
          this.insertText(t, u.getStart(t), m);
        }
        insertJsdocCommentBefore(t, n, i) {
          const s = n.getStart(t);
          if (n.jsDoc)
            for (const _ of n.jsDoc)
              this.deleteRange(t, {
                pos: Lp(_.getStart(t), t),
                end: Sk(
                  t,
                  _,
                  /*options*/
                  {}
                )
              });
          const o = N9(t.text, s - 1), c = t.text.slice(o, s);
          this.insertNodeAt(t, s, i, { suffix: this.newLineCharacter + c });
        }
        createJSDocText(t, n) {
          const i = oa(n.jsDoc, (o) => cs(o.comment) ? N.createJSDocText(o.comment) : o.comment), s = zm(n.jsDoc);
          return s && rp(s.pos, s.end, t) && Ar(i) === 0 ? void 0 : N.createNodeArray(hR(i, N.createJSDocText(`
`)));
        }
        replaceJSDocComment(t, n, i) {
          this.insertJsdocCommentBefore(t, zYe(n), N.createJSDocComment(this.createJSDocText(t, n), N.createNodeArray(i)));
        }
        addJSDocTags(t, n, i) {
          const s = t4(n.jsDoc, (c) => c.tags), o = i.filter(
            (c) => !s.some((_, u) => {
              const g = WYe(_, c);
              return g && (s[u] = g), !!g;
            })
          );
          this.replaceJSDocComment(t, n, [...s, ...o]);
        }
        filterJSDocTags(t, n, i) {
          this.replaceJSDocComment(t, n, Tn(t4(n.jsDoc, (s) => s.tags), i));
        }
        replaceRangeWithText(t, n, i) {
          this.changes.push({ kind: 3, sourceFile: t, range: n, text: i });
        }
        insertText(t, n, i) {
          this.replaceRangeWithText(t, tp(n), i);
        }
        /** Prefer this over replacing a node with another that has a type annotation, as it avoids reformatting the other parts of the node. */
        tryInsertTypeAnnotation(t, n, i) {
          let s;
          if (Ts(n)) {
            if (s = Za(n, 22, t), !s) {
              if (!Co(n)) return !1;
              s = xa(n.parameters);
            }
          } else
            s = (n.kind === 260 ? n.exclamationToken : n.questionToken) ?? n.name;
          return this.insertNodeAt(t, s.end, i, { prefix: ": " }), !0;
        }
        tryInsertThisTypeAnnotation(t, n, i) {
          const s = Za(n, 21, t).getStart(t) + 1, o = n.parameters.length ? ", " : "";
          this.insertNodeAt(t, s, i, { prefix: "this: ", suffix: o });
        }
        insertTypeParameters(t, n, i) {
          const s = (Za(n, 21, t) || xa(n.parameters)).getStart(t);
          this.insertNodesAt(t, s, i, { prefix: "<", suffix: ">", joiner: ", " });
        }
        getOptionsForInsertNodeBefore(t, n, i) {
          return yi(t) || Jc(t) ? { suffix: i ? this.newLineCharacter + this.newLineCharacter : this.newLineCharacter } : Zn(t) ? { suffix: ", " } : Ni(t) ? Ni(n) ? { suffix: ", " } : {} : la(t) && Uo(t.parent) || cm(t) ? { suffix: ", " } : Bu(t) ? { suffix: "," + (i ? this.newLineCharacter : " ") } : E.failBadSyntaxKind(t);
        }
        insertNodeAtConstructorStart(t, n, i) {
          const s = Xc(n.body.statements);
          !s || !n.body.multiLine ? this.replaceConstructorBody(t, n, [i, ...n.body.statements]) : this.insertNodeBefore(t, s, i);
        }
        insertNodeAtConstructorStartAfterSuperCall(t, n, i) {
          const s = Dn(n.body.statements, (o) => Pl(o) && dS(o.expression));
          !s || !n.body.multiLine ? this.replaceConstructorBody(t, n, [...n.body.statements, i]) : this.insertNodeAfter(t, s, i);
        }
        insertNodeAtConstructorEnd(t, n, i) {
          const s = Po(n.body.statements);
          !s || !n.body.multiLine ? this.replaceConstructorBody(t, n, [...n.body.statements, i]) : this.insertNodeAfter(t, s, i);
        }
        replaceConstructorBody(t, n, i) {
          this.replaceNode(t, n.body, N.createBlock(
            i,
            /*multiLine*/
            !0
          ));
        }
        insertNodeAtEndOfScope(t, n, i) {
          const s = tT(t, n.getLastToken(), {});
          this.insertNodeAt(t, s, i, {
            prefix: gu(t.text.charCodeAt(n.getLastToken().pos)) ? this.newLineCharacter : this.newLineCharacter + this.newLineCharacter,
            suffix: this.newLineCharacter
          });
        }
        insertMemberAtStart(t, n, i) {
          this.insertNodeAtStartWorker(t, n, i);
        }
        insertNodeAtObjectStart(t, n, i) {
          this.insertNodeAtStartWorker(t, n, i);
        }
        insertNodeAtStartWorker(t, n, i) {
          const s = this.guessIndentationFromExistingMembers(t, n) ?? this.computeIndentationForNewMember(t, n);
          this.insertNodeAt(t, YH(n).pos, i, this.getInsertNodeAtStartInsertOptions(t, n, s));
        }
        /**
         * Tries to guess the indentation from the existing members of a class/interface/object. All members must be on
         * new lines and must share the same indentation.
         */
        guessIndentationFromExistingMembers(t, n) {
          let i, s = n;
          for (const o of YH(n)) {
            if (N5(s, o, t))
              return;
            const c = o.getStart(t), _ = rl.SmartIndenter.findFirstNonWhitespaceColumn(Lp(c, t), c, t, this.formatContext.options);
            if (i === void 0)
              i = _;
            else if (_ !== i)
              return;
            s = o;
          }
          return i;
        }
        computeIndentationForNewMember(t, n) {
          const i = n.getStart(t);
          return rl.SmartIndenter.findFirstNonWhitespaceColumn(Lp(i, t), i, t, this.formatContext.options) + (this.formatContext.options.indentSize ?? 4);
        }
        getInsertNodeAtStartInsertOptions(t, n, i) {
          const o = YH(n).length === 0, c = !this.classesWithNodesInsertedAtStart.has(Oa(n));
          c && this.classesWithNodesInsertedAtStart.set(Oa(n), { node: n, sourceFile: t });
          const _ = ua(n) && (!Kf(t) || !o), u = ua(n) && Kf(t) && o && !c;
          return {
            indentation: i,
            prefix: (u ? "," : "") + this.newLineCharacter,
            suffix: _ ? "," : Yl(n) && o ? ";" : ""
          };
        }
        insertNodeAfterComma(t, n, i) {
          const s = this.insertNodeAfterWorker(t, this.nextCommaToken(t, n) || n, i);
          this.insertNodeAt(t, s, i, this.getInsertNodeAfterOptions(t, n));
        }
        insertNodeAfter(t, n, i) {
          const s = this.insertNodeAfterWorker(t, n, i);
          this.insertNodeAt(t, s, i, this.getInsertNodeAfterOptions(t, n));
        }
        insertNodeAtEndOfList(t, n, i) {
          this.insertNodeAt(t, n.end, i, { prefix: ", " });
        }
        insertNodesAfter(t, n, i) {
          const s = this.insertNodeAfterWorker(t, n, xa(i));
          this.insertNodesAt(t, s, i, this.getInsertNodeAfterOptions(t, n));
        }
        insertNodeAfterWorker(t, n, i) {
          return XYe(n, i) && t.text.charCodeAt(n.end - 1) !== 59 && this.replaceRange(t, tp(n.end), N.createToken(
            27
            /* SemicolonToken */
          )), Sk(t, n, {});
        }
        getInsertNodeAfterOptions(t, n) {
          const i = this.getInsertNodeAfterOptionsWorker(n);
          return {
            ...i,
            prefix: n.end === t.end && yi(n) ? i.prefix ? `
${i.prefix}` : `
` : i.prefix
          };
        }
        getInsertNodeAfterOptionsWorker(t) {
          switch (t.kind) {
            case 263:
            case 267:
              return { prefix: this.newLineCharacter, suffix: this.newLineCharacter };
            case 260:
            case 11:
            case 80:
              return { prefix: ", " };
            case 303:
              return { suffix: "," + this.newLineCharacter };
            case 95:
              return { prefix: " " };
            case 169:
              return {};
            default:
              return E.assert(yi(t) || b7(t)), { suffix: this.newLineCharacter };
          }
        }
        insertName(t, n, i) {
          if (E.assert(!n.name), n.kind === 219) {
            const s = Za(n, 39, t), o = Za(n, 21, t);
            o ? (this.insertNodesAt(t, o.getStart(t), [N.createToken(
              100
              /* FunctionKeyword */
            ), N.createIdentifier(i)], { joiner: " " }), Vh(this, t, s)) : (this.insertText(t, xa(n.parameters).getStart(t), `function ${i}(`), this.replaceRange(t, s, N.createToken(
              22
              /* CloseParenToken */
            ))), n.body.kind !== 241 && (this.insertNodesAt(t, n.body.getStart(t), [N.createToken(
              19
              /* OpenBraceToken */
            ), N.createToken(
              107
              /* ReturnKeyword */
            )], { joiner: " ", suffix: " " }), this.insertNodesAt(t, n.body.end, [N.createToken(
              27
              /* SemicolonToken */
            ), N.createToken(
              20
              /* CloseBraceToken */
            )], { joiner: " " }));
          } else {
            const s = Za(n, n.kind === 218 ? 100 : 86, t).end;
            this.insertNodeAt(t, s, N.createIdentifier(i), { prefix: " " });
          }
        }
        insertExportModifier(t, n) {
          this.insertText(t, n.getStart(t), "export ");
        }
        insertImportSpecifierAtIndex(t, n, i, s) {
          const o = i.elements[s - 1];
          o ? this.insertNodeInListAfter(t, o, n) : this.insertNodeBefore(
            t,
            i.elements[0],
            n,
            !rp(i.elements[0].getStart(), i.parent.parent.getStart(), t)
          );
        }
        /**
         * This function should be used to insert nodes in lists when nodes don't carry separators as the part of the node range,
         * i.e. arguments in arguments lists, parameters in parameter lists etc.
         * Note that separators are part of the node in statements and class elements.
         */
        insertNodeInListAfter(t, n, i, s = rl.SmartIndenter.getContainingList(n, t)) {
          if (!s) {
            E.fail("node is not a list element");
            return;
          }
          const o = MC(s, n);
          if (o < 0)
            return;
          const c = n.getEnd();
          if (o !== s.length - 1) {
            const _ = mi(t, n.end);
            if (_ && QH(n, _)) {
              const u = s[o + 1], g = ZDe(t.text, u.getFullStart()), m = `${Qs(_.kind)}${t.text.substring(_.end, g)}`;
              this.insertNodesAt(t, g, [i], { suffix: m });
            }
          } else {
            const _ = n.getStart(t), u = Lp(_, t);
            let g, m = !1;
            if (s.length === 1)
              g = 28;
            else {
              const h = cl(n.pos, t);
              g = QH(n, h) ? h.kind : 28, m = Lp(s[o - 1].getStart(t), t) !== u;
            }
            if ((jYe(t.text, n.end) || !rp(s.pos, s.end, t)) && (m = !0), m) {
              this.replaceRange(t, tp(c), N.createToken(g));
              const h = rl.SmartIndenter.findFirstNonWhitespaceColumn(u, _, t, this.formatContext.options);
              let S = ca(
                t.text,
                c,
                /*stopAfterLineBreak*/
                !0,
                /*stopAtComments*/
                !1
              );
              for (; S !== c && gu(t.text.charCodeAt(S - 1)); )
                S--;
              this.replaceRange(t, tp(S), i, { indentation: h, prefix: this.newLineCharacter });
            } else
              this.replaceRange(t, tp(c), i, { prefix: `${Qs(g)} ` });
          }
        }
        parenthesizeExpression(t, n) {
          this.replaceRange(t, NJ(n), N.createParenthesizedExpression(n));
        }
        finishClassesWithNodesInsertedAtStart() {
          this.classesWithNodesInsertedAtStart.forEach(({ node: t, sourceFile: n }) => {
            const [i, s] = UYe(t, n);
            if (i !== void 0 && s !== void 0) {
              const o = YH(t).length === 0, c = rp(i, s, n);
              o && c && i !== s - 1 && this.deleteRange(n, tp(i, s - 1)), c && this.insertText(n, s - 1, this.newLineCharacter);
            }
          });
        }
        finishDeleteDeclarations() {
          const t = /* @__PURE__ */ new Set();
          for (const { sourceFile: n, node: i } of this.deletedNodes)
            this.deletedNodes.some((s) => s.sourceFile === n && qse(s.node, i)) || (fs(i) ? this.deleteRange(n, AJ(n, i)) : e_e.deleteDeclaration(this, t, n, i));
          t.forEach((n) => {
            const i = n.getSourceFile(), s = rl.SmartIndenter.getContainingList(n, i);
            if (n !== pa(s)) return;
            const o = BI(s, (c) => !t.has(c), s.length - 2);
            o !== -1 && this.deleteRange(i, { pos: s[o].end, end: Zue(i, s[o + 1]) });
          });
        }
        /**
         * Note: after calling this, the TextChanges object must be discarded!
         * @param validate only for tests
         *    The reason we must validate as part of this method is that `getNonFormattedText` changes the node's positions,
         *    so we can only call this once and can't get the non-formatted text separately.
         */
        getChanges(t) {
          this.finishDeleteDeclarations(), this.finishClassesWithNodesInsertedAtStart();
          const n = ZH.getTextChangesFromChanges(this.changes, this.newLineCharacter, this.formatContext, t);
          return this.newFileChanges && this.newFileChanges.forEach((i, s) => {
            n.push(ZH.newFileChanges(s, i, this.newLineCharacter, this.formatContext));
          }), n;
        }
        createNewFile(t, n, i) {
          this.insertStatementsInNewFile(n, i, t);
        }
      };
      function zYe(e) {
        if (e.kind !== 219)
          return e;
        const t = e.parent.kind === 172 ? e.parent : e.parent.parent;
        return t.jsDoc = e.jsDoc, t;
      }
      function WYe(e, t) {
        if (e.kind === t.kind)
          switch (e.kind) {
            case 341: {
              const n = e, i = t;
              return Fe(n.name) && Fe(i.name) && n.name.escapedText === i.name.escapedText ? N.createJSDocParameterTag(
                /*tagName*/
                void 0,
                i.name,
                /*isBracketed*/
                !1,
                i.typeExpression,
                i.isNameFirst,
                n.comment
              ) : void 0;
            }
            case 342:
              return N.createJSDocReturnTag(
                /*tagName*/
                void 0,
                t.typeExpression,
                e.comment
              );
            case 344:
              return N.createJSDocTypeTag(
                /*tagName*/
                void 0,
                t.typeExpression,
                e.comment
              );
          }
      }
      function Zue(e, t) {
        return ca(
          e.text,
          tT(e, t, {
            leadingTriviaOption: 1
            /* IncludeAll */
          }),
          /*stopAfterLineBreak*/
          !1,
          /*stopAtComments*/
          !0
        );
      }
      function VYe(e, t, n, i) {
        const s = Zue(e, i);
        if (n === void 0 || rp(Sk(e, t, {}), s, e))
          return s;
        const o = cl(i.getStart(e), e);
        if (QH(t, o)) {
          const c = cl(t.getStart(e), e);
          if (QH(n, c)) {
            const _ = ca(
              e.text,
              o.getEnd(),
              /*stopAfterLineBreak*/
              !0,
              /*stopAtComments*/
              !0
            );
            if (rp(c.getStart(e), o.getStart(e), e))
              return gu(e.text.charCodeAt(_ - 1)) ? _ - 1 : _;
            if (gu(e.text.charCodeAt(_)))
              return _;
          }
        }
        return s;
      }
      function UYe(e, t) {
        const n = Za(e, 19, t), i = Za(e, 20, t);
        return [n?.end, i?.end];
      }
      function YH(e) {
        return ua(e) ? e.properties : e.members;
      }
      var ZH;
      ((e) => {
        function t(_, u, g, m) {
          return Oi(yC(_, (h) => h.sourceFile.path), (h) => {
            const S = h[0].sourceFile, T = J_(h, (D, w) => D.range.pos - w.range.pos || D.range.end - w.range.end);
            for (let D = 0; D < T.length - 1; D++)
              E.assert(T[D].range.end <= T[D + 1].range.pos, "Changes overlap", () => `${JSON.stringify(T[D].range)} and ${JSON.stringify(T[D + 1].range)}`);
            const k = Oi(T, (D) => {
              const w = L0(D.range), A = D.kind === 1 ? Er(Vo(D.node)) ?? D.sourceFile : D.kind === 2 ? Er(Vo(D.nodes[0])) ?? D.sourceFile : D.sourceFile, O = s(D, A, S, u, g, m);
              if (!(w.length === O.length && wae(A.text, O, w.start)))
                return FA(w, O);
            });
            return k.length > 0 ? { fileName: S.fileName, textChanges: k } : void 0;
          });
        }
        e.getTextChangesFromChanges = t;
        function n(_, u, g, m) {
          const h = i(G5(_), u, g, m);
          return { fileName: _, textChanges: [FA(Gl(0, 0), h)], isNewFile: !0 };
        }
        e.newFileChanges = n;
        function i(_, u, g, m) {
          const h = oa(u, (k) => k.statements.map((D) => D === 4 ? "" : c(D, k.oldFile, g).text)).join(g), S = Qx(
            "any file name",
            h,
            {
              languageVersion: 99,
              jsDocParsingMode: 1
              /* ParseNone */
            },
            /*setParentNodes*/
            !0,
            _
          ), T = rl.formatDocument(S, m);
          return Kue(h, T) + g;
        }
        e.newFileChangesWorker = i;
        function s(_, u, g, m, h, S) {
          var T;
          if (_.kind === 0)
            return "";
          if (_.kind === 3)
            return _.text;
          const { options: k = {}, range: { pos: D } } = _, w = (F) => o(F, u, g, D, k, m, h, S), A = _.kind === 2 ? _.nodes.map((F) => bC(w(F), m)).join(((T = _.options) == null ? void 0 : T.joiner) || m) : w(_.node), O = k.indentation !== void 0 || Lp(D, u) === D ? A : A.replace(/^\s+/, "");
          return (k.prefix || "") + O + (!k.suffix || No(O, k.suffix) ? "" : k.suffix);
        }
        function o(_, u, g, m, { indentation: h, prefix: S, delta: T }, k, D, w) {
          const { node: A, text: O } = c(_, u, k);
          w && w(A, O);
          const F = W9(D, u), j = h !== void 0 ? h : rl.SmartIndenter.getIndentation(m, g, F, S === k || Lp(m, u) === m);
          T === void 0 && (T = rl.SmartIndenter.shouldIndentChildNode(F, _) && F.indentSize || 0);
          const z = {
            text: O,
            getLineAndCharacterOfPosition(G) {
              return Js(this, G);
            }
          }, V = rl.formatNodeGivenIndentation(A, z, u.languageVariant, j, T, { ...D, options: F });
          return Kue(O, V);
        }
        function c(_, u, g) {
          const m = KDe(g), h = HA(g);
          return u1({
            newLine: h,
            neverAsciiEscape: !0,
            preserveSourceNewlines: !0,
            terminateUnterminatedLiterals: !0
          }, m).writeNode(4, _, u, m), { text: m.getText(), node: KH(_) };
        }
        e.getNonformattedText = c;
      })(ZH || (ZH = {}));
      function Kue(e, t) {
        for (let n = t.length - 1; n >= 0; n--) {
          const { span: i, newText: s } = t[n];
          e = `${e.substring(0, i.start)}${s}${e.substring(Ko(i))}`;
        }
        return e;
      }
      function qYe(e) {
        return ca(e, 0) === e.length;
      }
      var HYe = {
        ...lA,
        factory: hN(
          lA.factory.flags | 1,
          lA.factory.baseFactory
        )
      };
      function KH(e) {
        const t = yr(e, KH, HYe, GYe, KH), n = oo(t) ? t : Object.create(t);
        return hd(n, $De(e), XDe(e)), n;
      }
      function GYe(e, t, n, i, s) {
        const o = Lr(e, t, n, i, s);
        if (!o)
          return o;
        E.assert(e);
        const c = o === e ? N.createNodeArray(o.slice(0)) : o;
        return hd(c, $De(e), XDe(e)), c;
      }
      function KDe(e) {
        let t = 0;
        const n = G3(e), i = (q) => {
          q && Xue(q, t);
        }, s = (q) => {
          q && Que(q, t);
        }, o = (q) => {
          q && Xue(q, t);
        }, c = (q) => {
          q && Que(q, t);
        }, _ = (q) => {
          q && Xue(q, t);
        }, u = (q) => {
          q && Que(q, t);
        };
        function g(q, he) {
          if (he || !qYe(q)) {
            t = n.getTextPos();
            let Me = 0;
            for (; Dg(q.charCodeAt(q.length - Me - 1)); )
              Me++;
            t -= Me;
          }
        }
        function m(q) {
          n.write(q), g(
            q,
            /*force*/
            !1
          );
        }
        function h(q) {
          n.writeComment(q);
        }
        function S(q) {
          n.writeKeyword(q), g(
            q,
            /*force*/
            !1
          );
        }
        function T(q) {
          n.writeOperator(q), g(
            q,
            /*force*/
            !1
          );
        }
        function k(q) {
          n.writePunctuation(q), g(
            q,
            /*force*/
            !1
          );
        }
        function D(q) {
          n.writeTrailingSemicolon(q), g(
            q,
            /*force*/
            !1
          );
        }
        function w(q) {
          n.writeParameter(q), g(
            q,
            /*force*/
            !1
          );
        }
        function A(q) {
          n.writeProperty(q), g(
            q,
            /*force*/
            !1
          );
        }
        function O(q) {
          n.writeSpace(q), g(
            q,
            /*force*/
            !1
          );
        }
        function F(q) {
          n.writeStringLiteral(q), g(
            q,
            /*force*/
            !1
          );
        }
        function j(q, he) {
          n.writeSymbol(q, he), g(
            q,
            /*force*/
            !1
          );
        }
        function z(q) {
          n.writeLine(q);
        }
        function V() {
          n.increaseIndent();
        }
        function G() {
          n.decreaseIndent();
        }
        function W() {
          return n.getText();
        }
        function pe(q) {
          n.rawWrite(q), g(
            q,
            /*force*/
            !1
          );
        }
        function K(q) {
          n.writeLiteral(q), g(
            q,
            /*force*/
            !0
          );
        }
        function U() {
          return n.getTextPos();
        }
        function ee() {
          return n.getLine();
        }
        function te() {
          return n.getColumn();
        }
        function ie() {
          return n.getIndent();
        }
        function fe() {
          return n.isAtStartOfLine();
        }
        function me() {
          n.clear(), t = 0;
        }
        return {
          onBeforeEmitNode: i,
          onAfterEmitNode: s,
          onBeforeEmitNodeArray: o,
          onAfterEmitNodeArray: c,
          onBeforeEmitToken: _,
          onAfterEmitToken: u,
          write: m,
          writeComment: h,
          writeKeyword: S,
          writeOperator: T,
          writePunctuation: k,
          writeTrailingSemicolon: D,
          writeParameter: w,
          writeProperty: A,
          writeSpace: O,
          writeStringLiteral: F,
          writeSymbol: j,
          writeLine: z,
          increaseIndent: V,
          decreaseIndent: G,
          getText: W,
          rawWrite: pe,
          writeLiteral: K,
          getTextPos: U,
          getLine: ee,
          getColumn: te,
          getIndent: ie,
          isAtStartOfLine: fe,
          hasTrailingComment: () => n.hasTrailingComment(),
          hasTrailingWhitespace: () => n.hasTrailingWhitespace(),
          clear: me
        };
      }
      function $Ye(e) {
        let t;
        for (const g of e.statements)
          if (Qd(g))
            t = g;
          else
            break;
        let n = 0;
        const i = e.text;
        if (t)
          return n = t.end, u(), n;
        const s = c7(i);
        s !== void 0 && (n = s.length, u());
        const o = wg(i, n);
        if (!o) return n;
        let c, _;
        for (const g of o) {
          if (g.kind === 3) {
            if (M7(i, g.pos)) {
              c = { range: g, pinnedOrTripleSlash: !0 };
              continue;
            }
          } else if (Zj(i, g.pos, g.end)) {
            c = { range: g, pinnedOrTripleSlash: !0 };
            continue;
          }
          if (c) {
            if (c.pinnedOrTripleSlash) break;
            const m = e.getLineAndCharacterOfPosition(g.pos).line, h = e.getLineAndCharacterOfPosition(c.range.end).line;
            if (m >= h + 2) break;
          }
          if (e.statements.length) {
            _ === void 0 && (_ = e.getLineAndCharacterOfPosition(e.statements[0].getStart()).line);
            const m = e.getLineAndCharacterOfPosition(g.end).line;
            if (_ < m + 2) break;
          }
          c = { range: g, pinnedOrTripleSlash: !1 };
        }
        return c && (n = c.range.end, u()), n;
        function u() {
          if (n < i.length) {
            const g = i.charCodeAt(n);
            gu(g) && (n++, n < i.length && g === 13 && i.charCodeAt(n) === 10 && n++);
          }
        }
      }
      function ewe(e, t) {
        return !F0(e, t) && !ok(e, t) && !TU(e, t) && !Yse(e, t);
      }
      function XYe(e, t) {
        return (ju(e) || is(e)) && b7(t) && t.name.kind === 167 || r3(e) && r3(t);
      }
      var e_e;
      ((e) => {
        function t(o, c, _, u) {
          switch (u.kind) {
            case 169: {
              const T = u.parent;
              Co(T) && T.parameters.length === 1 && !Za(T, 21, _) ? o.replaceNodeWithText(_, u, "()") : S8(o, c, _, u);
              break;
            }
            case 272:
            case 271:
              const g = _.imports.length && u === xa(_.imports).parent || u === Dn(_.statements, lx);
              Vh(o, _, u, {
                leadingTriviaOption: g ? 0 : pf(u) ? 2 : 3
                /* StartLine */
              });
              break;
            case 208:
              const m = u.parent;
              m.kind === 207 && u !== pa(m.elements) ? Vh(o, _, u) : S8(o, c, _, u);
              break;
            case 260:
              s(o, c, _, u);
              break;
            case 168:
              S8(o, c, _, u);
              break;
            case 276:
              const S = u.parent;
              S.elements.length === 1 ? i(o, _, S) : S8(o, c, _, u);
              break;
            case 274:
              i(o, _, u);
              break;
            case 27:
              Vh(o, _, u, {
                trailingTriviaOption: 0
                /* Exclude */
              });
              break;
            case 100:
              Vh(o, _, u, {
                leadingTriviaOption: 0
                /* Exclude */
              });
              break;
            case 263:
            case 262:
              Vh(o, _, u, {
                leadingTriviaOption: pf(u) ? 2 : 3
                /* StartLine */
              });
              break;
            default:
              u.parent ? Qp(u.parent) && u.parent.name === u ? n(o, _, u.parent) : Ms(u.parent) && _s(u.parent.arguments, u) ? S8(o, c, _, u) : Vh(o, _, u) : Vh(o, _, u);
          }
        }
        e.deleteDeclaration = t;
        function n(o, c, _) {
          if (!_.namedBindings)
            Vh(o, c, _.parent);
          else {
            const u = _.name.getStart(c), g = mi(c, _.name.end);
            if (g && g.kind === 28) {
              const m = ca(
                c.text,
                g.end,
                /*stopAfterLineBreak*/
                !1,
                /*stopAtComments*/
                !0
              );
              o.deleteRange(c, { pos: u, end: m });
            } else
              Vh(o, c, _.name);
          }
        }
        function i(o, c, _) {
          if (_.parent.name) {
            const u = E.checkDefined(mi(c, _.pos - 1));
            o.deleteRange(c, { pos: u.getStart(c), end: _.end });
          } else {
            const u = Y1(
              _,
              272
              /* ImportDeclaration */
            );
            Vh(o, c, u);
          }
        }
        function s(o, c, _, u) {
          const { parent: g } = u;
          if (g.kind === 299) {
            o.deleteNodeRange(_, Za(g, 21, _), Za(g, 22, _));
            return;
          }
          if (g.declarations.length !== 1) {
            S8(o, c, _, u);
            return;
          }
          const m = g.parent;
          switch (m.kind) {
            case 250:
            case 249:
              o.replaceNode(_, u, N.createObjectLiteralExpression());
              break;
            case 248:
              Vh(o, _, g);
              break;
            case 243:
              Vh(o, _, m, {
                leadingTriviaOption: pf(m) ? 2 : 3
                /* StartLine */
              });
              break;
            default:
              E.assertNever(m);
          }
        }
      })(e_e || (e_e = {}));
      function Vh(e, t, n, i = {
        leadingTriviaOption: 1
        /* IncludeAll */
      }) {
        const s = tT(t, n, i), o = Sk(t, n, i);
        e.deleteRange(t, { pos: s, end: o });
      }
      function S8(e, t, n, i) {
        const s = E.checkDefined(rl.SmartIndenter.getContainingList(i, n)), o = MC(s, i);
        if (E.assert(o !== -1), s.length === 1) {
          Vh(e, n, i);
          return;
        }
        E.assert(!t.has(i), "Deleting a node twice"), t.add(i), e.deleteRange(n, {
          pos: Zue(n, i),
          end: o === s.length - 1 ? Sk(n, i, {}) : VYe(n, i, s[o - 1], s[o + 1])
        });
      }
      var rl = {};
      Ta(rl, {
        FormattingContext: () => rwe,
        FormattingRequestKind: () => twe,
        RuleAction: () => nwe,
        RuleFlags: () => iwe,
        SmartIndenter: () => gm,
        anyContext: () => eG,
        createTextRangeWithKind: () => iG,
        formatDocument: () => JZe,
        formatNodeGivenIndentation: () => GZe,
        formatOnClosingCurly: () => BZe,
        formatOnEnter: () => MZe,
        formatOnOpeningCurly: () => jZe,
        formatOnSemicolon: () => RZe,
        formatSelection: () => zZe,
        getAllRules: () => swe,
        getFormatContext: () => wZe,
        getFormattingScanner: () => t_e,
        getIndentationString: () => m_e,
        getRangeOfEnclosingComment: () => Nwe
      });
      var twe = /* @__PURE__ */ ((e) => (e[e.FormatDocument = 0] = "FormatDocument", e[e.FormatSelection = 1] = "FormatSelection", e[e.FormatOnEnter = 2] = "FormatOnEnter", e[e.FormatOnSemicolon = 3] = "FormatOnSemicolon", e[e.FormatOnOpeningCurlyBrace = 4] = "FormatOnOpeningCurlyBrace", e[e.FormatOnClosingCurlyBrace = 5] = "FormatOnClosingCurlyBrace", e))(twe || {}), rwe = class {
        constructor(e, t, n) {
          this.sourceFile = e, this.formattingRequestKind = t, this.options = n;
        }
        updateContext(e, t, n, i, s) {
          this.currentTokenSpan = E.checkDefined(e), this.currentTokenParent = E.checkDefined(t), this.nextTokenSpan = E.checkDefined(n), this.nextTokenParent = E.checkDefined(i), this.contextNode = E.checkDefined(s), this.contextNodeAllOnSameLine = void 0, this.nextNodeAllOnSameLine = void 0, this.tokensAreOnSameLine = void 0, this.contextNodeBlockIsOnOneLine = void 0, this.nextNodeBlockIsOnOneLine = void 0;
        }
        ContextNodeAllOnSameLine() {
          return this.contextNodeAllOnSameLine === void 0 && (this.contextNodeAllOnSameLine = this.NodeIsOnOneLine(this.contextNode)), this.contextNodeAllOnSameLine;
        }
        NextNodeAllOnSameLine() {
          return this.nextNodeAllOnSameLine === void 0 && (this.nextNodeAllOnSameLine = this.NodeIsOnOneLine(this.nextTokenParent)), this.nextNodeAllOnSameLine;
        }
        TokensAreOnSameLine() {
          if (this.tokensAreOnSameLine === void 0) {
            const e = this.sourceFile.getLineAndCharacterOfPosition(this.currentTokenSpan.pos).line, t = this.sourceFile.getLineAndCharacterOfPosition(this.nextTokenSpan.pos).line;
            this.tokensAreOnSameLine = e === t;
          }
          return this.tokensAreOnSameLine;
        }
        ContextNodeBlockIsOnOneLine() {
          return this.contextNodeBlockIsOnOneLine === void 0 && (this.contextNodeBlockIsOnOneLine = this.BlockIsOnOneLine(this.contextNode)), this.contextNodeBlockIsOnOneLine;
        }
        NextNodeBlockIsOnOneLine() {
          return this.nextNodeBlockIsOnOneLine === void 0 && (this.nextNodeBlockIsOnOneLine = this.BlockIsOnOneLine(this.nextTokenParent)), this.nextNodeBlockIsOnOneLine;
        }
        NodeIsOnOneLine(e) {
          const t = this.sourceFile.getLineAndCharacterOfPosition(e.getStart(this.sourceFile)).line, n = this.sourceFile.getLineAndCharacterOfPosition(e.getEnd()).line;
          return t === n;
        }
        BlockIsOnOneLine(e) {
          const t = Za(e, 19, this.sourceFile), n = Za(e, 20, this.sourceFile);
          if (t && n) {
            const i = this.sourceFile.getLineAndCharacterOfPosition(t.getEnd()).line, s = this.sourceFile.getLineAndCharacterOfPosition(n.getStart(this.sourceFile)).line;
            return i === s;
          }
          return !1;
        }
      }, QYe = Pg(
        99,
        /*skipTrivia*/
        !1,
        0
        /* Standard */
      ), YYe = Pg(
        99,
        /*skipTrivia*/
        !1,
        1
        /* JSX */
      );
      function t_e(e, t, n, i, s) {
        const o = t === 1 ? YYe : QYe;
        o.setText(e), o.resetTokenState(n);
        let c = !0, _, u, g, m, h;
        const S = s({
          advance: T,
          readTokenInfo: z,
          readEOFTokenRange: G,
          isOnToken: W,
          isOnEOF: pe,
          getCurrentLeadingTrivia: () => _,
          lastTrailingTriviaWasNewLine: () => c,
          skipToEndOf: U,
          skipToStartOf: ee,
          getTokenFullStart: () => h?.token.pos ?? o.getTokenStart(),
          getStartPos: () => h?.token.pos ?? o.getTokenStart()
        });
        return h = void 0, o.setText(void 0), S;
        function T() {
          h = void 0, o.getTokenFullStart() !== n ? c = !!u && pa(u).kind === 4 : o.scan(), _ = void 0, u = void 0;
          let ie = o.getTokenFullStart();
          for (; ie < i; ) {
            const fe = o.getToken();
            if (!XC(fe))
              break;
            o.scan();
            const me = {
              pos: ie,
              end: o.getTokenFullStart(),
              kind: fe
            };
            ie = o.getTokenFullStart(), _ = Dr(_, me);
          }
          g = o.getTokenFullStart();
        }
        function k(te) {
          switch (te.kind) {
            case 34:
            case 72:
            case 73:
            case 50:
            case 49:
              return !0;
          }
          return !1;
        }
        function D(te) {
          if (te.parent)
            switch (te.parent.kind) {
              case 291:
              case 286:
              case 287:
              case 285:
                return p_(te.kind) || te.kind === 80;
            }
          return !1;
        }
        function w(te) {
          return Lx(te) || lm(te) && h?.token.kind === 12;
        }
        function A(te) {
          return te.kind === 14;
        }
        function O(te) {
          return te.kind === 17 || te.kind === 18;
        }
        function F(te) {
          return te.parent && um(te.parent) && te.parent.initializer === te;
        }
        function j(te) {
          return te === 44 || te === 69;
        }
        function z(te) {
          E.assert(W());
          const ie = k(te) ? 1 : A(te) ? 2 : O(te) ? 3 : D(te) ? 4 : w(te) ? 5 : F(te) ? 6 : 0;
          if (h && ie === m)
            return K(h, te);
          o.getTokenFullStart() !== g && (E.assert(h !== void 0), o.resetTokenState(g), o.scan());
          let fe = V(te, ie);
          const me = iG(
            o.getTokenFullStart(),
            o.getTokenEnd(),
            fe
          );
          for (u && (u = void 0); o.getTokenFullStart() < i && (fe = o.scan(), !!XC(fe)); ) {
            const q = iG(
              o.getTokenFullStart(),
              o.getTokenEnd(),
              fe
            );
            if (u || (u = []), u.push(q), fe === 4) {
              o.scan();
              break;
            }
          }
          return h = { leadingTrivia: _, trailingTrivia: u, token: me }, K(h, te);
        }
        function V(te, ie) {
          const fe = o.getToken();
          switch (m = 0, ie) {
            case 1:
              if (fe === 32) {
                m = 1;
                const me = o.reScanGreaterToken();
                return E.assert(te.kind === me), me;
              }
              break;
            case 2:
              if (j(fe)) {
                m = 2;
                const me = o.reScanSlashToken();
                return E.assert(te.kind === me), me;
              }
              break;
            case 3:
              if (fe === 20)
                return m = 3, o.reScanTemplateToken(
                  /*isTaggedTemplate*/
                  !1
                );
              break;
            case 4:
              return m = 4, o.scanJsxIdentifier();
            case 5:
              return m = 5, o.reScanJsxToken(
                /*allowMultilineJsxText*/
                !1
              );
            case 6:
              return m = 6, o.reScanJsxAttributeValue();
            case 0:
              break;
            default:
              E.assertNever(ie);
          }
          return fe;
        }
        function G() {
          return E.assert(pe()), iG(
            o.getTokenFullStart(),
            o.getTokenEnd(),
            1
            /* EndOfFileToken */
          );
        }
        function W() {
          const te = h ? h.token.kind : o.getToken();
          return te !== 1 && !XC(te);
        }
        function pe() {
          return (h ? h.token.kind : o.getToken()) === 1;
        }
        function K(te, ie) {
          return ex(ie) && te.token.kind !== ie.kind && (te.token.kind = ie.kind), te;
        }
        function U(te) {
          o.resetTokenState(te.end), g = o.getTokenFullStart(), m = void 0, h = void 0, c = !1, _ = void 0, u = void 0;
        }
        function ee(te) {
          o.resetTokenState(te.pos), g = o.getTokenFullStart(), m = void 0, h = void 0, c = !1, _ = void 0, u = void 0;
        }
      }
      var eG = Ue, nwe = /* @__PURE__ */ ((e) => (e[e.None = 0] = "None", e[e.StopProcessingSpaceActions = 1] = "StopProcessingSpaceActions", e[e.StopProcessingTokenActions = 2] = "StopProcessingTokenActions", e[e.InsertSpace = 4] = "InsertSpace", e[e.InsertNewLine = 8] = "InsertNewLine", e[e.DeleteSpace = 16] = "DeleteSpace", e[e.DeleteToken = 32] = "DeleteToken", e[e.InsertTrailingSemicolon = 64] = "InsertTrailingSemicolon", e[e.StopAction = 3] = "StopAction", e[e.ModifySpaceAction = 28] = "ModifySpaceAction", e[e.ModifyTokenAction = 96] = "ModifyTokenAction", e))(nwe || {}), iwe = /* @__PURE__ */ ((e) => (e[e.None = 0] = "None", e[e.CanDeleteNewLines = 1] = "CanDeleteNewLines", e))(iwe || {});
      function swe() {
        const e = [];
        for (let V = 0; V <= 165; V++)
          V !== 1 && e.push(V);
        function t(...V) {
          return { tokens: e.filter((G) => !V.some((W) => W === G)), isSpecific: !1 };
        }
        const n = { tokens: e, isSpecific: !1 }, i = jw([
          ...e,
          3
          /* MultiLineCommentTrivia */
        ]), s = jw([
          ...e,
          1
          /* EndOfFileToken */
        ]), o = owe(
          83,
          165
          /* LastKeyword */
        ), c = owe(
          30,
          79
          /* LastBinaryOperator */
        ), _ = [
          103,
          104,
          165,
          130,
          142,
          152
          /* SatisfiesKeyword */
        ], u = [
          46,
          47,
          55,
          54
          /* ExclamationToken */
        ], g = [
          9,
          10,
          80,
          21,
          23,
          19,
          110,
          105
          /* NewKeyword */
        ], m = [
          80,
          21,
          110,
          105
          /* NewKeyword */
        ], h = [
          80,
          22,
          24,
          105
          /* NewKeyword */
        ], S = [
          80,
          21,
          110,
          105
          /* NewKeyword */
        ], T = [
          80,
          22,
          24,
          105
          /* NewKeyword */
        ], k = [
          2,
          3
          /* MultiLineCommentTrivia */
        ], D = [80, ...AU], w = i, A = jw([
          80,
          32,
          3,
          86,
          95,
          102
          /* ImportKeyword */
        ]), O = jw([
          22,
          3,
          92,
          113,
          98,
          93,
          85
          /* CatchKeyword */
        ]), F = [
          // Leave comments alone
          jn(
            "IgnoreBeforeComment",
            n,
            k,
            eG,
            1
            /* StopProcessingSpaceActions */
          ),
          jn(
            "IgnoreAfterLineComment",
            2,
            n,
            eG,
            1
            /* StopProcessingSpaceActions */
          ),
          jn(
            "NotSpaceBeforeColon",
            n,
            59,
            [Ai, IL, uwe],
            16
            /* DeleteSpace */
          ),
          jn(
            "SpaceAfterColon",
            59,
            n,
            [Ai, IL, dZe],
            4
            /* InsertSpace */
          ),
          jn(
            "NoSpaceBeforeQuestionMark",
            n,
            58,
            [Ai, IL, uwe],
            16
            /* DeleteSpace */
          ),
          // insert space after '?' only when it is used in conditional operator
          jn(
            "SpaceAfterQuestionMarkInConditionalOperator",
            58,
            n,
            [Ai, tZe],
            4
            /* InsertSpace */
          ),
          // in other cases there should be no space between '?' and next token
          jn(
            "NoSpaceAfterQuestionMark",
            58,
            n,
            [Ai, eZe],
            16
            /* DeleteSpace */
          ),
          jn(
            "NoSpaceBeforeDot",
            n,
            [
              25,
              29
              /* QuestionDotToken */
            ],
            [Ai, DZe],
            16
            /* DeleteSpace */
          ),
          jn(
            "NoSpaceAfterDot",
            [
              25,
              29
              /* QuestionDotToken */
            ],
            n,
            [Ai],
            16
            /* DeleteSpace */
          ),
          jn(
            "NoSpaceBetweenImportParenInImportType",
            102,
            21,
            [Ai, fZe],
            16
            /* DeleteSpace */
          ),
          // Special handling of unary operators.
          // Prefix operators generally shouldn't have a space between
          // them and their target unary expression.
          jn(
            "NoSpaceAfterUnaryPrefixOperator",
            u,
            g,
            [Ai, IL],
            16
            /* DeleteSpace */
          ),
          jn(
            "NoSpaceAfterUnaryPreincrementOperator",
            46,
            m,
            [Ai],
            16
            /* DeleteSpace */
          ),
          jn(
            "NoSpaceAfterUnaryPredecrementOperator",
            47,
            S,
            [Ai],
            16
            /* DeleteSpace */
          ),
          jn(
            "NoSpaceBeforeUnaryPostincrementOperator",
            h,
            46,
            [Ai, Ewe],
            16
            /* DeleteSpace */
          ),
          jn(
            "NoSpaceBeforeUnaryPostdecrementOperator",
            T,
            47,
            [Ai, Ewe],
            16
            /* DeleteSpace */
          ),
          // More unary operator special-casing.
          // DevDiv 181814: Be careful when removing leading whitespace
          // around unary operators.  Examples:
          //      1 - -2  --X--> 1--2
          //      a + ++b --X--> a+++b
          jn(
            "SpaceAfterPostincrementWhenFollowedByAdd",
            46,
            40,
            [Ai, d1],
            4
            /* InsertSpace */
          ),
          jn(
            "SpaceAfterAddWhenFollowedByUnaryPlus",
            40,
            40,
            [Ai, d1],
            4
            /* InsertSpace */
          ),
          jn(
            "SpaceAfterAddWhenFollowedByPreincrement",
            40,
            46,
            [Ai, d1],
            4
            /* InsertSpace */
          ),
          jn(
            "SpaceAfterPostdecrementWhenFollowedBySubtract",
            47,
            41,
            [Ai, d1],
            4
            /* InsertSpace */
          ),
          jn(
            "SpaceAfterSubtractWhenFollowedByUnaryMinus",
            41,
            41,
            [Ai, d1],
            4
            /* InsertSpace */
          ),
          jn(
            "SpaceAfterSubtractWhenFollowedByPredecrement",
            41,
            47,
            [Ai, d1],
            4
            /* InsertSpace */
          ),
          jn(
            "NoSpaceAfterCloseBrace",
            20,
            [
              28,
              27
              /* SemicolonToken */
            ],
            [Ai],
            16
            /* DeleteSpace */
          ),
          // For functions and control block place } on a new line [multi-line rule]
          jn(
            "NewLineBeforeCloseBraceInBlockContext",
            i,
            20,
            [fwe],
            8
            /* InsertNewLine */
          ),
          // Space/new line after }.
          jn(
            "SpaceAfterCloseBrace",
            20,
            t(
              22
              /* CloseParenToken */
            ),
            [Ai, iZe],
            4
            /* InsertSpace */
          ),
          // Special case for (}, else) and (}, while) since else & while tokens are not part of the tree which makes SpaceAfterCloseBrace rule not applied
          // Also should not apply to })
          jn(
            "SpaceBetweenCloseBraceAndElse",
            20,
            93,
            [Ai],
            4
            /* InsertSpace */
          ),
          jn(
            "SpaceBetweenCloseBraceAndWhile",
            20,
            117,
            [Ai],
            4
            /* InsertSpace */
          ),
          jn(
            "NoSpaceBetweenEmptyBraceBrackets",
            19,
            20,
            [Ai, ywe],
            16
            /* DeleteSpace */
          ),
          // Add a space after control dec context if the next character is an open bracket ex: 'if (false)[a, b] = [1, 2];' -> 'if (false) [a, b] = [1, 2];'
          jn(
            "SpaceAfterConditionalClosingParen",
            22,
            23,
            [FL],
            4
            /* InsertSpace */
          ),
          jn(
            "NoSpaceBetweenFunctionKeywordAndStar",
            100,
            42,
            [mwe],
            16
            /* DeleteSpace */
          ),
          jn(
            "SpaceAfterStarInGeneratorDeclaration",
            42,
            80,
            [mwe],
            4
            /* InsertSpace */
          ),
          jn(
            "SpaceAfterFunctionInFuncDecl",
            100,
            n,
            [rT],
            4
            /* InsertSpace */
          ),
          // Insert new line after { and before } in multi-line contexts.
          jn(
            "NewLineAfterOpenBraceInBlockContext",
            19,
            n,
            [fwe],
            8
            /* InsertNewLine */
          ),
          // For get/set members, we check for (identifier,identifier) since get/set don't have tokens and they are represented as just an identifier token.
          // Though, we do extra check on the context to make sure we are dealing with get/set node. Example:
          //      get x() {}
          //      set x(val) {}
          jn(
            "SpaceAfterGetSetInMember",
            [
              139,
              153
              /* SetKeyword */
            ],
            80,
            [rT],
            4
            /* InsertSpace */
          ),
          jn(
            "NoSpaceBetweenYieldKeywordAndStar",
            127,
            42,
            [Ai, Cwe],
            16
            /* DeleteSpace */
          ),
          jn(
            "SpaceBetweenYieldOrYieldStarAndOperand",
            [
              127,
              42
              /* AsteriskToken */
            ],
            n,
            [Ai, Cwe],
            4
            /* InsertSpace */
          ),
          jn(
            "NoSpaceBetweenReturnAndSemicolon",
            107,
            27,
            [Ai],
            16
            /* DeleteSpace */
          ),
          jn(
            "SpaceAfterCertainKeywords",
            [
              115,
              111,
              105,
              91,
              107,
              114,
              135
              /* AwaitKeyword */
            ],
            n,
            [Ai],
            4
            /* InsertSpace */
          ),
          jn(
            "SpaceAfterLetConstInVariableDeclaration",
            [
              121,
              87
              /* ConstKeyword */
            ],
            n,
            [Ai, hZe],
            4
            /* InsertSpace */
          ),
          jn(
            "NoSpaceBeforeOpenParenInFuncCall",
            n,
            21,
            [Ai, oZe, cZe],
            16
            /* DeleteSpace */
          ),
          // Special case for binary operators (that are keywords). For these we have to add a space and shouldn't follow any user options.
          jn(
            "SpaceBeforeBinaryKeywordOperator",
            n,
            _,
            [Ai, d1],
            4
            /* InsertSpace */
          ),
          jn(
            "SpaceAfterBinaryKeywordOperator",
            _,
            n,
            [Ai, d1],
            4
            /* InsertSpace */
          ),
          jn(
            "SpaceAfterVoidOperator",
            116,
            n,
            [Ai, TZe],
            4
            /* InsertSpace */
          ),
          // Async-await
          jn(
            "SpaceBetweenAsyncAndOpenParen",
            134,
            21,
            [_Ze, Ai],
            4
            /* InsertSpace */
          ),
          jn(
            "SpaceBetweenAsyncAndFunctionKeyword",
            134,
            [
              100,
              80
              /* Identifier */
            ],
            [Ai],
            4
            /* InsertSpace */
          ),
          // Template string
          jn(
            "NoSpaceBetweenTagAndTemplateString",
            [
              80,
              22
              /* CloseParenToken */
            ],
            [
              15,
              16
              /* TemplateHead */
            ],
            [Ai],
            16
            /* DeleteSpace */
          ),
          // JSX opening elements
          jn(
            "SpaceBeforeJsxAttribute",
            n,
            80,
            [pZe, Ai],
            4
            /* InsertSpace */
          ),
          jn(
            "SpaceBeforeSlashInJsxOpeningElement",
            n,
            44,
            [Twe, Ai],
            4
            /* InsertSpace */
          ),
          jn(
            "NoSpaceBeforeGreaterThanTokenInJsxOpeningElement",
            44,
            32,
            [Twe, Ai],
            16
            /* DeleteSpace */
          ),
          jn(
            "NoSpaceBeforeEqualInJsxAttribute",
            n,
            64,
            [bwe, Ai],
            16
            /* DeleteSpace */
          ),
          jn(
            "NoSpaceAfterEqualInJsxAttribute",
            64,
            n,
            [bwe, Ai],
            16
            /* DeleteSpace */
          ),
          jn(
            "NoSpaceBeforeJsxNamespaceColon",
            80,
            59,
            [Swe],
            16
            /* DeleteSpace */
          ),
          jn(
            "NoSpaceAfterJsxNamespaceColon",
            59,
            80,
            [Swe],
            16
            /* DeleteSpace */
          ),
          // TypeScript-specific rules
          // Use of module as a function call. e.g.: import m2 = module("m2");
          jn(
            "NoSpaceAfterModuleImport",
            [
              144,
              149
              /* RequireKeyword */
            ],
            21,
            [Ai],
            16
            /* DeleteSpace */
          ),
          // Add a space around certain TypeScript keywords
          jn(
            "SpaceAfterCertainTypeScriptKeywords",
            [
              128,
              129,
              86,
              138,
              90,
              94,
              95,
              96,
              139,
              119,
              102,
              120,
              144,
              145,
              123,
              125,
              124,
              148,
              153,
              126,
              156,
              161,
              143,
              140
              /* InferKeyword */
            ],
            n,
            [Ai],
            4
            /* InsertSpace */
          ),
          jn(
            "SpaceBeforeCertainTypeScriptKeywords",
            n,
            [
              96,
              119,
              161
              /* FromKeyword */
            ],
            [Ai],
            4
            /* InsertSpace */
          ),
          // Treat string literals in module names as identifiers, and add a space between the literal and the opening Brace braces, e.g.: module "m2" {
          jn(
            "SpaceAfterModuleName",
            11,
            19,
            [yZe],
            4
            /* InsertSpace */
          ),
          // Lambda expressions
          jn(
            "SpaceBeforeArrow",
            n,
            39,
            [Ai],
            4
            /* InsertSpace */
          ),
          jn(
            "SpaceAfterArrow",
            39,
            n,
            [Ai],
            4
            /* InsertSpace */
          ),
          // Optional parameters and let args
          jn(
            "NoSpaceAfterEllipsis",
            26,
            80,
            [Ai],
            16
            /* DeleteSpace */
          ),
          jn(
            "NoSpaceAfterOptionalParameters",
            58,
            [
              22,
              28
              /* CommaToken */
            ],
            [Ai, IL],
            16
            /* DeleteSpace */
          ),
          // Remove spaces in empty interface literals. e.g.: x: {}
          jn(
            "NoSpaceBetweenEmptyInterfaceBraceBrackets",
            19,
            20,
            [Ai, vZe],
            16
            /* DeleteSpace */
          ),
          // generics and type assertions
          jn(
            "NoSpaceBeforeOpenAngularBracket",
            D,
            30,
            [Ai, OL],
            16
            /* DeleteSpace */
          ),
          jn(
            "NoSpaceBetweenCloseParenAndAngularBracket",
            22,
            30,
            [Ai, OL],
            16
            /* DeleteSpace */
          ),
          jn(
            "NoSpaceAfterOpenAngularBracket",
            30,
            n,
            [Ai, OL],
            16
            /* DeleteSpace */
          ),
          jn(
            "NoSpaceBeforeCloseAngularBracket",
            n,
            32,
            [Ai, OL],
            16
            /* DeleteSpace */
          ),
          jn(
            "NoSpaceAfterCloseAngularBracket",
            32,
            [
              21,
              23,
              32,
              28
              /* CommaToken */
            ],
            [
              Ai,
              OL,
              nZe,
              /*To prevent an interference with the SpaceBeforeOpenParenInFuncDecl rule*/
              SZe
            ],
            16
            /* DeleteSpace */
          ),
          // decorators
          jn(
            "SpaceBeforeAt",
            [
              22,
              80
              /* Identifier */
            ],
            60,
            [Ai],
            4
            /* InsertSpace */
          ),
          jn(
            "NoSpaceAfterAt",
            60,
            n,
            [Ai],
            16
            /* DeleteSpace */
          ),
          // Insert space after @ in decorator
          jn(
            "SpaceAfterDecorator",
            n,
            [
              128,
              80,
              95,
              90,
              86,
              126,
              125,
              123,
              124,
              139,
              153,
              23,
              42
              /* AsteriskToken */
            ],
            [gZe],
            4
            /* InsertSpace */
          ),
          jn(
            "NoSpaceBeforeNonNullAssertionOperator",
            n,
            54,
            [Ai, xZe],
            16
            /* DeleteSpace */
          ),
          jn(
            "NoSpaceAfterNewKeywordOnConstructorSignature",
            105,
            21,
            [Ai, bZe],
            16
            /* DeleteSpace */
          ),
          jn(
            "SpaceLessThanAndNonJSXTypeAnnotation",
            30,
            30,
            [Ai],
            4
            /* InsertSpace */
          )
        ], j = [
          // Treat constructor as an identifier in a function declaration, and remove spaces between constructor and following left parentheses
          jn(
            "SpaceAfterConstructor",
            137,
            21,
            [Mf("insertSpaceAfterConstructor"), Ai],
            4
            /* InsertSpace */
          ),
          jn(
            "NoSpaceAfterConstructor",
            137,
            21,
            [mm("insertSpaceAfterConstructor"), Ai],
            16
            /* DeleteSpace */
          ),
          jn(
            "SpaceAfterComma",
            28,
            n,
            [Mf("insertSpaceAfterCommaDelimiter"), Ai, c_e, lZe, uZe],
            4
            /* InsertSpace */
          ),
          jn(
            "NoSpaceAfterComma",
            28,
            n,
            [mm("insertSpaceAfterCommaDelimiter"), Ai, c_e],
            16
            /* DeleteSpace */
          ),
          // Insert space after function keyword for anonymous functions
          jn(
            "SpaceAfterAnonymousFunctionKeyword",
            [
              100,
              42
              /* AsteriskToken */
            ],
            21,
            [Mf("insertSpaceAfterFunctionKeywordForAnonymousFunctions"), rT],
            4
            /* InsertSpace */
          ),
          jn(
            "NoSpaceAfterAnonymousFunctionKeyword",
            [
              100,
              42
              /* AsteriskToken */
            ],
            21,
            [mm("insertSpaceAfterFunctionKeywordForAnonymousFunctions"), rT],
            16
            /* DeleteSpace */
          ),
          // Insert space after keywords in control flow statements
          jn(
            "SpaceAfterKeywordInControl",
            o,
            21,
            [Mf("insertSpaceAfterKeywordsInControlFlowStatements"), FL],
            4
            /* InsertSpace */
          ),
          jn(
            "NoSpaceAfterKeywordInControl",
            o,
            21,
            [mm("insertSpaceAfterKeywordsInControlFlowStatements"), FL],
            16
            /* DeleteSpace */
          ),
          // Insert space after opening and before closing nonempty parenthesis
          jn(
            "SpaceAfterOpenParen",
            21,
            n,
            [Mf("insertSpaceAfterOpeningAndBeforeClosingNonemptyParenthesis"), Ai],
            4
            /* InsertSpace */
          ),
          jn(
            "SpaceBeforeCloseParen",
            n,
            22,
            [Mf("insertSpaceAfterOpeningAndBeforeClosingNonemptyParenthesis"), Ai],
            4
            /* InsertSpace */
          ),
          jn(
            "SpaceBetweenOpenParens",
            21,
            21,
            [Mf("insertSpaceAfterOpeningAndBeforeClosingNonemptyParenthesis"), Ai],
            4
            /* InsertSpace */
          ),
          jn(
            "NoSpaceBetweenParens",
            21,
            22,
            [Ai],
            16
            /* DeleteSpace */
          ),
          jn(
            "NoSpaceAfterOpenParen",
            21,
            n,
            [mm("insertSpaceAfterOpeningAndBeforeClosingNonemptyParenthesis"), Ai],
            16
            /* DeleteSpace */
          ),
          jn(
            "NoSpaceBeforeCloseParen",
            n,
            22,
            [mm("insertSpaceAfterOpeningAndBeforeClosingNonemptyParenthesis"), Ai],
            16
            /* DeleteSpace */
          ),
          // Insert space after opening and before closing nonempty brackets
          jn(
            "SpaceAfterOpenBracket",
            23,
            n,
            [Mf("insertSpaceAfterOpeningAndBeforeClosingNonemptyBrackets"), Ai],
            4
            /* InsertSpace */
          ),
          jn(
            "SpaceBeforeCloseBracket",
            n,
            24,
            [Mf("insertSpaceAfterOpeningAndBeforeClosingNonemptyBrackets"), Ai],
            4
            /* InsertSpace */
          ),
          jn(
            "NoSpaceBetweenBrackets",
            23,
            24,
            [Ai],
            16
            /* DeleteSpace */
          ),
          jn(
            "NoSpaceAfterOpenBracket",
            23,
            n,
            [mm("insertSpaceAfterOpeningAndBeforeClosingNonemptyBrackets"), Ai],
            16
            /* DeleteSpace */
          ),
          jn(
            "NoSpaceBeforeCloseBracket",
            n,
            24,
            [mm("insertSpaceAfterOpeningAndBeforeClosingNonemptyBrackets"), Ai],
            16
            /* DeleteSpace */
          ),
          // Insert a space after { and before } in single-line contexts, but remove space from empty object literals {}.
          jn(
            "SpaceAfterOpenBrace",
            19,
            n,
            [lwe("insertSpaceAfterOpeningAndBeforeClosingNonemptyBraces"), _we],
            4
            /* InsertSpace */
          ),
          jn(
            "SpaceBeforeCloseBrace",
            n,
            20,
            [lwe("insertSpaceAfterOpeningAndBeforeClosingNonemptyBraces"), _we],
            4
            /* InsertSpace */
          ),
          jn(
            "NoSpaceBetweenEmptyBraceBrackets",
            19,
            20,
            [Ai, ywe],
            16
            /* DeleteSpace */
          ),
          jn(
            "NoSpaceAfterOpenBrace",
            19,
            n,
            [r_e("insertSpaceAfterOpeningAndBeforeClosingNonemptyBraces"), Ai],
            16
            /* DeleteSpace */
          ),
          jn(
            "NoSpaceBeforeCloseBrace",
            n,
            20,
            [r_e("insertSpaceAfterOpeningAndBeforeClosingNonemptyBraces"), Ai],
            16
            /* DeleteSpace */
          ),
          // Insert a space after opening and before closing empty brace brackets
          jn(
            "SpaceBetweenEmptyBraceBrackets",
            19,
            20,
            [Mf("insertSpaceAfterOpeningAndBeforeClosingEmptyBraces")],
            4
            /* InsertSpace */
          ),
          jn(
            "NoSpaceBetweenEmptyBraceBrackets",
            19,
            20,
            [r_e("insertSpaceAfterOpeningAndBeforeClosingEmptyBraces"), Ai],
            16
            /* DeleteSpace */
          ),
          // Insert space after opening and before closing template string braces
          jn(
            "SpaceAfterTemplateHeadAndMiddle",
            [
              16,
              17
              /* TemplateMiddle */
            ],
            n,
            [Mf("insertSpaceAfterOpeningAndBeforeClosingTemplateStringBraces"), vwe],
            4,
            1
            /* CanDeleteNewLines */
          ),
          jn(
            "SpaceBeforeTemplateMiddleAndTail",
            n,
            [
              17,
              18
              /* TemplateTail */
            ],
            [Mf("insertSpaceAfterOpeningAndBeforeClosingTemplateStringBraces"), Ai],
            4
            /* InsertSpace */
          ),
          jn(
            "NoSpaceAfterTemplateHeadAndMiddle",
            [
              16,
              17
              /* TemplateMiddle */
            ],
            n,
            [mm("insertSpaceAfterOpeningAndBeforeClosingTemplateStringBraces"), vwe],
            16,
            1
            /* CanDeleteNewLines */
          ),
          jn(
            "NoSpaceBeforeTemplateMiddleAndTail",
            n,
            [
              17,
              18
              /* TemplateTail */
            ],
            [mm("insertSpaceAfterOpeningAndBeforeClosingTemplateStringBraces"), Ai],
            16
            /* DeleteSpace */
          ),
          // No space after { and before } in JSX expression
          jn(
            "SpaceAfterOpenBraceInJsxExpression",
            19,
            n,
            [Mf("insertSpaceAfterOpeningAndBeforeClosingJsxExpressionBraces"), Ai, rG],
            4
            /* InsertSpace */
          ),
          jn(
            "SpaceBeforeCloseBraceInJsxExpression",
            n,
            20,
            [Mf("insertSpaceAfterOpeningAndBeforeClosingJsxExpressionBraces"), Ai, rG],
            4
            /* InsertSpace */
          ),
          jn(
            "NoSpaceAfterOpenBraceInJsxExpression",
            19,
            n,
            [mm("insertSpaceAfterOpeningAndBeforeClosingJsxExpressionBraces"), Ai, rG],
            16
            /* DeleteSpace */
          ),
          jn(
            "NoSpaceBeforeCloseBraceInJsxExpression",
            n,
            20,
            [mm("insertSpaceAfterOpeningAndBeforeClosingJsxExpressionBraces"), Ai, rG],
            16
            /* DeleteSpace */
          ),
          // Insert space after semicolon in for statement
          jn(
            "SpaceAfterSemicolonInFor",
            27,
            n,
            [Mf("insertSpaceAfterSemicolonInForStatements"), Ai, i_e],
            4
            /* InsertSpace */
          ),
          jn(
            "NoSpaceAfterSemicolonInFor",
            27,
            n,
            [mm("insertSpaceAfterSemicolonInForStatements"), Ai, i_e],
            16
            /* DeleteSpace */
          ),
          // Insert space before and after binary operators
          jn(
            "SpaceBeforeBinaryOperator",
            n,
            c,
            [Mf("insertSpaceBeforeAndAfterBinaryOperators"), Ai, d1],
            4
            /* InsertSpace */
          ),
          jn(
            "SpaceAfterBinaryOperator",
            c,
            n,
            [Mf("insertSpaceBeforeAndAfterBinaryOperators"), Ai, d1],
            4
            /* InsertSpace */
          ),
          jn(
            "NoSpaceBeforeBinaryOperator",
            n,
            c,
            [mm("insertSpaceBeforeAndAfterBinaryOperators"), Ai, d1],
            16
            /* DeleteSpace */
          ),
          jn(
            "NoSpaceAfterBinaryOperator",
            c,
            n,
            [mm("insertSpaceBeforeAndAfterBinaryOperators"), Ai, d1],
            16
            /* DeleteSpace */
          ),
          jn(
            "SpaceBeforeOpenParenInFuncDecl",
            n,
            21,
            [Mf("insertSpaceBeforeFunctionParenthesis"), Ai, rT],
            4
            /* InsertSpace */
          ),
          jn(
            "NoSpaceBeforeOpenParenInFuncDecl",
            n,
            21,
            [mm("insertSpaceBeforeFunctionParenthesis"), Ai, rT],
            16
            /* DeleteSpace */
          ),
          // Open Brace braces after control block
          jn(
            "NewLineBeforeOpenBraceInControl",
            O,
            19,
            [Mf("placeOpenBraceOnNewLineForControlBlocks"), FL, o_e],
            8,
            1
            /* CanDeleteNewLines */
          ),
          // Open Brace braces after function
          // TypeScript: Function can have return types, which can be made of tons of different token kinds
          jn(
            "NewLineBeforeOpenBraceInFunction",
            w,
            19,
            [Mf("placeOpenBraceOnNewLineForFunctions"), rT, o_e],
            8,
            1
            /* CanDeleteNewLines */
          ),
          // Open Brace braces after TypeScript module/class/interface
          jn(
            "NewLineBeforeOpenBraceInTypeScriptDeclWithBlock",
            A,
            19,
            [Mf("placeOpenBraceOnNewLineForFunctions"), gwe, o_e],
            8,
            1
            /* CanDeleteNewLines */
          ),
          jn(
            "SpaceAfterTypeAssertion",
            32,
            n,
            [Mf("insertSpaceAfterTypeAssertion"), Ai, u_e],
            4
            /* InsertSpace */
          ),
          jn(
            "NoSpaceAfterTypeAssertion",
            32,
            n,
            [mm("insertSpaceAfterTypeAssertion"), Ai, u_e],
            16
            /* DeleteSpace */
          ),
          jn(
            "SpaceBeforeTypeAnnotation",
            n,
            [
              58,
              59
              /* ColonToken */
            ],
            [Mf("insertSpaceBeforeTypeAnnotation"), Ai, s_e],
            4
            /* InsertSpace */
          ),
          jn(
            "NoSpaceBeforeTypeAnnotation",
            n,
            [
              58,
              59
              /* ColonToken */
            ],
            [mm("insertSpaceBeforeTypeAnnotation"), Ai, s_e],
            16
            /* DeleteSpace */
          ),
          jn(
            "NoOptionalSemicolon",
            27,
            s,
            [cwe(
              "semicolons",
              "remove"
              /* Remove */
            ), CZe],
            32
            /* DeleteToken */
          ),
          jn(
            "OptionalSemicolon",
            n,
            s,
            [cwe(
              "semicolons",
              "insert"
              /* Insert */
            ), EZe],
            64
            /* InsertTrailingSemicolon */
          )
        ], z = [
          // Space after keyword but not before ; or : or ?
          jn(
            "NoSpaceBeforeSemicolon",
            n,
            27,
            [Ai],
            16
            /* DeleteSpace */
          ),
          jn(
            "SpaceBeforeOpenBraceInControl",
            O,
            19,
            [n_e("placeOpenBraceOnNewLineForControlBlocks"), FL, l_e, a_e],
            4,
            1
            /* CanDeleteNewLines */
          ),
          jn(
            "SpaceBeforeOpenBraceInFunction",
            w,
            19,
            [n_e("placeOpenBraceOnNewLineForFunctions"), rT, tG, l_e, a_e],
            4,
            1
            /* CanDeleteNewLines */
          ),
          jn(
            "SpaceBeforeOpenBraceInTypeScriptDeclWithBlock",
            A,
            19,
            [n_e("placeOpenBraceOnNewLineForFunctions"), gwe, l_e, a_e],
            4,
            1
            /* CanDeleteNewLines */
          ),
          jn(
            "NoSpaceBeforeComma",
            n,
            28,
            [Ai],
            16
            /* DeleteSpace */
          ),
          // No space before and after indexer `x[]`
          jn(
            "NoSpaceBeforeOpenBracket",
            t(
              134,
              84
              /* CaseKeyword */
            ),
            23,
            [Ai],
            16
            /* DeleteSpace */
          ),
          jn(
            "NoSpaceAfterCloseBracket",
            24,
            n,
            [Ai, mZe],
            16
            /* DeleteSpace */
          ),
          jn(
            "SpaceAfterSemicolon",
            27,
            n,
            [Ai],
            4
            /* InsertSpace */
          ),
          // Remove extra space between for and await
          jn(
            "SpaceBetweenForAndAwaitKeyword",
            99,
            135,
            [Ai],
            4
            /* InsertSpace */
          ),
          // Remove extra spaces between ... and type name in tuple spread
          jn(
            "SpaceBetweenDotDotDotAndTypeName",
            26,
            D,
            [Ai],
            16
            /* DeleteSpace */
          ),
          // Add a space between statements. All keywords except (do,else,case) has open/close parens after them.
          // So, we have a rule to add a space for [),Any], [do,Any], [else,Any], and [case,Any]
          jn(
            "SpaceBetweenStatements",
            [
              22,
              92,
              93,
              84
              /* CaseKeyword */
            ],
            n,
            [Ai, c_e, ZYe],
            4
            /* InsertSpace */
          ),
          // This low-pri rule takes care of "try {", "catch {" and "finally {" in case the rule SpaceBeforeOpenBraceInControl didn't execute on FormatOnEnter.
          jn(
            "SpaceAfterTryCatchFinally",
            [
              113,
              85,
              98
              /* FinallyKeyword */
            ],
            19,
            [Ai],
            4
            /* InsertSpace */
          )
        ];
        return [
          ...F,
          ...j,
          ...z
        ];
      }
      function jn(e, t, n, i, s, o = 0) {
        return { leftTokenRange: awe(t), rightTokenRange: awe(n), rule: { debugName: e, context: i, action: s, flags: o } };
      }
      function jw(e) {
        return { tokens: e, isSpecific: !0 };
      }
      function awe(e) {
        return typeof e == "number" ? jw([e]) : fs(e) ? jw(e) : e;
      }
      function owe(e, t, n = []) {
        const i = [];
        for (let s = e; s <= t; s++)
          _s(n, s) || i.push(s);
        return jw(i);
      }
      function cwe(e, t) {
        return (n) => n.options && n.options[e] === t;
      }
      function Mf(e) {
        return (t) => t.options && ao(t.options, e) && !!t.options[e];
      }
      function r_e(e) {
        return (t) => t.options && ao(t.options, e) && !t.options[e];
      }
      function mm(e) {
        return (t) => !t.options || !ao(t.options, e) || !t.options[e];
      }
      function n_e(e) {
        return (t) => !t.options || !ao(t.options, e) || !t.options[e] || t.TokensAreOnSameLine();
      }
      function lwe(e) {
        return (t) => !t.options || !ao(t.options, e) || !!t.options[e];
      }
      function i_e(e) {
        return e.contextNode.kind === 248;
      }
      function ZYe(e) {
        return !i_e(e);
      }
      function d1(e) {
        switch (e.contextNode.kind) {
          case 226:
            return e.contextNode.operatorToken.kind !== 28;
          case 227:
          case 194:
          case 234:
          case 281:
          case 276:
          case 182:
          case 192:
          case 193:
          case 238:
            return !0;
          // equals in binding elements: function foo([[x, y] = [1, 2]])
          case 208:
          // equals in type X = ...
          // falls through
          case 265:
          // equal in import a = module('a');
          // falls through
          case 271:
          // equal in export = 1
          // falls through
          case 277:
          // equal in let a = 0
          // falls through
          case 260:
          // equal in p = 0
          // falls through
          case 169:
          case 306:
          case 172:
          case 171:
            return e.currentTokenSpan.kind === 64 || e.nextTokenSpan.kind === 64;
          // "in" keyword in for (let x in []) { }
          case 249:
          // "in" keyword in [P in keyof T]: T[P]
          // falls through
          case 168:
            return e.currentTokenSpan.kind === 103 || e.nextTokenSpan.kind === 103 || e.currentTokenSpan.kind === 64 || e.nextTokenSpan.kind === 64;
          // Technically, "of" is not a binary operator, but format it the same way as "in"
          case 250:
            return e.currentTokenSpan.kind === 165 || e.nextTokenSpan.kind === 165;
        }
        return !1;
      }
      function IL(e) {
        return !d1(e);
      }
      function uwe(e) {
        return !s_e(e);
      }
      function s_e(e) {
        const t = e.contextNode.kind;
        return t === 172 || t === 171 || t === 169 || t === 260 || tx(t);
      }
      function KYe(e) {
        return is(e.contextNode) && e.contextNode.questionToken;
      }
      function eZe(e) {
        return !KYe(e);
      }
      function tZe(e) {
        return e.contextNode.kind === 227 || e.contextNode.kind === 194;
      }
      function a_e(e) {
        return e.TokensAreOnSameLine() || tG(e);
      }
      function _we(e) {
        return e.contextNode.kind === 206 || e.contextNode.kind === 200 || rZe(e);
      }
      function o_e(e) {
        return tG(e) && !(e.NextNodeAllOnSameLine() || e.NextNodeBlockIsOnOneLine());
      }
      function fwe(e) {
        return pwe(e) && !(e.ContextNodeAllOnSameLine() || e.ContextNodeBlockIsOnOneLine());
      }
      function rZe(e) {
        return pwe(e) && (e.ContextNodeAllOnSameLine() || e.ContextNodeBlockIsOnOneLine());
      }
      function pwe(e) {
        return dwe(e.contextNode);
      }
      function tG(e) {
        return dwe(e.nextTokenParent);
      }
      function dwe(e) {
        if (hwe(e))
          return !0;
        switch (e.kind) {
          case 241:
          case 269:
          case 210:
          case 268:
            return !0;
        }
        return !1;
      }
      function rT(e) {
        switch (e.contextNode.kind) {
          case 262:
          case 174:
          case 173:
          // case SyntaxKind.MemberFunctionDeclaration:
          // falls through
          case 177:
          case 178:
          // case SyntaxKind.MethodSignature:
          // falls through
          case 179:
          case 218:
          case 176:
          case 219:
          // case SyntaxKind.ConstructorDeclaration:
          // case SyntaxKind.SimpleArrowFunctionExpression:
          // case SyntaxKind.ParenthesizedArrowFunctionExpression:
          // falls through
          case 264:
            return !0;
        }
        return !1;
      }
      function nZe(e) {
        return !rT(e);
      }
      function mwe(e) {
        return e.contextNode.kind === 262 || e.contextNode.kind === 218;
      }
      function gwe(e) {
        return hwe(e.contextNode);
      }
      function hwe(e) {
        switch (e.kind) {
          case 263:
          case 231:
          case 264:
          case 266:
          case 187:
          case 267:
          case 278:
          case 279:
          case 272:
          case 275:
            return !0;
        }
        return !1;
      }
      function iZe(e) {
        switch (e.currentTokenParent.kind) {
          case 263:
          case 267:
          case 266:
          case 299:
          case 268:
          case 255:
            return !0;
          case 241: {
            const t = e.currentTokenParent.parent;
            if (!t || t.kind !== 219 && t.kind !== 218)
              return !0;
          }
        }
        return !1;
      }
      function FL(e) {
        switch (e.contextNode.kind) {
          case 245:
          case 255:
          case 248:
          case 249:
          case 250:
          case 247:
          case 258:
          case 246:
          case 254:
          // TODO
          // case SyntaxKind.ElseClause:
          // falls through
          case 299:
            return !0;
          default:
            return !1;
        }
      }
      function ywe(e) {
        return e.contextNode.kind === 210;
      }
      function sZe(e) {
        return e.contextNode.kind === 213;
      }
      function aZe(e) {
        return e.contextNode.kind === 214;
      }
      function oZe(e) {
        return sZe(e) || aZe(e);
      }
      function cZe(e) {
        return e.currentTokenSpan.kind !== 28;
      }
      function lZe(e) {
        return e.nextTokenSpan.kind !== 24;
      }
      function uZe(e) {
        return e.nextTokenSpan.kind !== 22;
      }
      function _Ze(e) {
        return e.contextNode.kind === 219;
      }
      function fZe(e) {
        return e.contextNode.kind === 205;
      }
      function Ai(e) {
        return e.TokensAreOnSameLine() && e.contextNode.kind !== 12;
      }
      function vwe(e) {
        return e.contextNode.kind !== 12;
      }
      function c_e(e) {
        return e.contextNode.kind !== 284 && e.contextNode.kind !== 288;
      }
      function rG(e) {
        return e.contextNode.kind === 294 || e.contextNode.kind === 293;
      }
      function pZe(e) {
        return e.nextTokenParent.kind === 291 || e.nextTokenParent.kind === 295 && e.nextTokenParent.parent.kind === 291;
      }
      function bwe(e) {
        return e.contextNode.kind === 291;
      }
      function dZe(e) {
        return e.nextTokenParent.kind !== 295;
      }
      function Swe(e) {
        return e.nextTokenParent.kind === 295;
      }
      function Twe(e) {
        return e.contextNode.kind === 285;
      }
      function mZe(e) {
        return !rT(e) && !tG(e);
      }
      function gZe(e) {
        return e.TokensAreOnSameLine() && Pf(e.contextNode) && xwe(e.currentTokenParent) && !xwe(e.nextTokenParent);
      }
      function xwe(e) {
        for (; e && lt(e); )
          e = e.parent;
        return e && e.kind === 170;
      }
      function hZe(e) {
        return e.currentTokenParent.kind === 261 && e.currentTokenParent.getStart(e.sourceFile) === e.currentTokenSpan.pos;
      }
      function l_e(e) {
        return e.formattingRequestKind !== 2;
      }
      function yZe(e) {
        return e.contextNode.kind === 267;
      }
      function vZe(e) {
        return e.contextNode.kind === 187;
      }
      function bZe(e) {
        return e.contextNode.kind === 180;
      }
      function kwe(e, t) {
        if (e.kind !== 30 && e.kind !== 32)
          return !1;
        switch (t.kind) {
          case 183:
          case 216:
          case 265:
          case 263:
          case 231:
          case 264:
          case 262:
          case 218:
          case 219:
          case 174:
          case 173:
          case 179:
          case 180:
          case 213:
          case 214:
          case 233:
            return !0;
          default:
            return !1;
        }
      }
      function OL(e) {
        return kwe(e.currentTokenSpan, e.currentTokenParent) || kwe(e.nextTokenSpan, e.nextTokenParent);
      }
      function u_e(e) {
        return e.contextNode.kind === 216;
      }
      function SZe(e) {
        return !u_e(e);
      }
      function TZe(e) {
        return e.currentTokenSpan.kind === 116 && e.currentTokenParent.kind === 222;
      }
      function Cwe(e) {
        return e.contextNode.kind === 229 && e.contextNode.expression !== void 0;
      }
      function xZe(e) {
        return e.contextNode.kind === 235;
      }
      function Ewe(e) {
        return !kZe(e);
      }
      function kZe(e) {
        switch (e.contextNode.kind) {
          case 245:
          case 248:
          case 249:
          case 250:
          case 246:
          case 247:
            return !0;
          default:
            return !1;
        }
      }
      function CZe(e) {
        let t = e.nextTokenSpan.kind, n = e.nextTokenSpan.pos;
        if (XC(t)) {
          const o = e.nextTokenParent === e.currentTokenParent ? a2(
            e.currentTokenParent,
            _r(e.currentTokenParent, (c) => !c.parent),
            e.sourceFile
          ) : e.nextTokenParent.getFirstToken(e.sourceFile);
          if (!o)
            return !0;
          t = o.kind, n = o.getStart(e.sourceFile);
        }
        const i = e.sourceFile.getLineAndCharacterOfPosition(e.currentTokenSpan.pos).line, s = e.sourceFile.getLineAndCharacterOfPosition(n).line;
        return i === s ? t === 20 || t === 1 : t === 27 && e.currentTokenSpan.kind === 27 ? !0 : t === 240 || t === 27 ? !1 : e.contextNode.kind === 264 || e.contextNode.kind === 265 ? !ju(e.currentTokenParent) || !!e.currentTokenParent.type || t !== 21 : is(e.currentTokenParent) ? !e.currentTokenParent.initializer : e.currentTokenParent.kind !== 248 && e.currentTokenParent.kind !== 242 && e.currentTokenParent.kind !== 240 && t !== 23 && t !== 21 && t !== 40 && t !== 41 && t !== 44 && t !== 14 && t !== 28 && t !== 228 && t !== 16 && t !== 15 && t !== 25;
      }
      function EZe(e) {
        return O9(e.currentTokenSpan.end, e.currentTokenParent, e.sourceFile);
      }
      function DZe(e) {
        return !kn(e.contextNode) || !m_(e.contextNode.expression) || e.contextNode.expression.getText().includes(".");
      }
      function wZe(e, t) {
        return { options: e, getRules: PZe(), host: t };
      }
      var __e;
      function PZe() {
        return __e === void 0 && (__e = AZe(swe())), __e;
      }
      function NZe(e) {
        let t = 0;
        return e & 1 && (t |= 28), e & 2 && (t |= 96), e & 28 && (t |= 28), e & 96 && (t |= 96), t;
      }
      function AZe(e) {
        const t = IZe(e);
        return (n) => {
          const i = t[Dwe(n.currentTokenSpan.kind, n.nextTokenSpan.kind)];
          if (i) {
            const s = [];
            let o = 0;
            for (const c of i) {
              const _ = ~NZe(o);
              c.action & _ && Pi(c.context, (u) => u(n)) && (s.push(c), o |= c.action);
            }
            if (s.length)
              return s;
          }
        };
      }
      function IZe(e) {
        const t = new Array(f_e * f_e), n = new Array(t.length);
        for (const i of e) {
          const s = i.leftTokenRange.isSpecific && i.rightTokenRange.isSpecific;
          for (const o of i.leftTokenRange.tokens)
            for (const c of i.rightTokenRange.tokens) {
              const _ = Dwe(o, c);
              let u = t[_];
              u === void 0 && (u = t[_] = []), FZe(u, i.rule, s, n, _);
            }
        }
        return t;
      }
      function Dwe(e, t) {
        return E.assert(e <= 165 && t <= 165, "Must compute formatting context from tokens"), e * f_e + t;
      }
      var Bw = 5, nG = 31, f_e = 166, T8 = ((e) => (e[e.StopRulesSpecific = 0] = "StopRulesSpecific", e[e.StopRulesAny = Bw * 1] = "StopRulesAny", e[e.ContextRulesSpecific = Bw * 2] = "ContextRulesSpecific", e[e.ContextRulesAny = Bw * 3] = "ContextRulesAny", e[e.NoContextRulesSpecific = Bw * 4] = "NoContextRulesSpecific", e[e.NoContextRulesAny = Bw * 5] = "NoContextRulesAny", e))(T8 || {});
      function FZe(e, t, n, i, s) {
        const o = t.action & 3 ? n ? 0 : T8.StopRulesAny : t.context !== eG ? n ? T8.ContextRulesSpecific : T8.ContextRulesAny : n ? T8.NoContextRulesSpecific : T8.NoContextRulesAny, c = i[s] || 0;
        e.splice(OZe(c, o), 0, t), i[s] = LZe(c, o);
      }
      function OZe(e, t) {
        let n = 0;
        for (let i = 0; i <= t; i += Bw)
          n += e & nG, e >>= Bw;
        return n;
      }
      function LZe(e, t) {
        const n = (e >> t & nG) + 1;
        return E.assert((n & nG) === n, "Adding more rules into the sub-bucket than allowed. Maximum allowed is 32 rules."), e & ~(nG << t) | n << t;
      }
      function iG(e, t, n) {
        const i = { pos: e, end: t, kind: n };
        return E.isDebugging && Object.defineProperty(i, "__debugKind", {
          get: () => E.formatSyntaxKind(n)
        }), i;
      }
      function MZe(e, t, n) {
        const i = t.getLineAndCharacterOfPosition(e).line;
        if (i === 0)
          return [];
        let s = a3(i, t);
        for (; Hd(t.text.charCodeAt(s)); )
          s--;
        gu(t.text.charCodeAt(s)) && s--;
        const o = {
          // get start position for the previous line
          pos: Wy(i - 1, t),
          // end value is exclusive so add 1 to the result
          end: s + 1
        };
        return LL(
          o,
          t,
          n,
          2
          /* FormatOnEnter */
        );
      }
      function RZe(e, t, n) {
        const i = p_e(e, 27, t);
        return wwe(
          d_e(i),
          t,
          n,
          3
          /* FormatOnSemicolon */
        );
      }
      function jZe(e, t, n) {
        const i = p_e(e, 19, t);
        if (!i)
          return [];
        const s = i.parent, o = d_e(s), c = {
          pos: Lp(o.getStart(t), t),
          // TODO: GH#18217
          end: e
        };
        return LL(
          c,
          t,
          n,
          4
          /* FormatOnOpeningCurlyBrace */
        );
      }
      function BZe(e, t, n) {
        const i = p_e(e, 20, t);
        return wwe(
          d_e(i),
          t,
          n,
          5
          /* FormatOnClosingCurlyBrace */
        );
      }
      function JZe(e, t) {
        const n = {
          pos: 0,
          end: e.text.length
        };
        return LL(
          n,
          e,
          t,
          0
          /* FormatDocument */
        );
      }
      function zZe(e, t, n, i) {
        const s = {
          pos: Lp(e, n),
          end: t
        };
        return LL(
          s,
          n,
          i,
          1
          /* FormatSelection */
        );
      }
      function p_e(e, t, n) {
        const i = cl(e, n);
        return i && i.kind === t && e === i.getEnd() ? i : void 0;
      }
      function d_e(e) {
        let t = e;
        for (; t && t.parent && t.parent.end === e.end && !WZe(t.parent, t); )
          t = t.parent;
        return t;
      }
      function WZe(e, t) {
        switch (e.kind) {
          case 263:
          case 264:
            return d_(e.members, t);
          case 267:
            const n = e.body;
            return !!n && n.kind === 268 && d_(n.statements, t);
          case 307:
          case 241:
          case 268:
            return d_(e.statements, t);
          case 299:
            return d_(e.block.statements, t);
        }
        return !1;
      }
      function VZe(e, t) {
        return n(t);
        function n(i) {
          const s = Ss(i, (o) => aJ(o.getStart(t), o.end, e) && o);
          if (s) {
            const o = n(s);
            if (o)
              return o;
          }
          return i;
        }
      }
      function UZe(e, t) {
        if (!e.length)
          return s;
        const n = e.filter((o) => dw(t, o.start, o.start + o.length)).sort((o, c) => o.start - c.start);
        if (!n.length)
          return s;
        let i = 0;
        return (o) => {
          for (; ; ) {
            if (i >= n.length)
              return !1;
            const c = n[i];
            if (o.end <= c.start)
              return !1;
            if (d9(o.pos, o.end, c.start, c.start + c.length))
              return !0;
            i++;
          }
        };
        function s() {
          return !1;
        }
      }
      function qZe(e, t, n) {
        const i = e.getStart(n);
        if (i === t.pos && e.end === t.end)
          return i;
        const s = cl(t.pos, n);
        return !s || s.end >= t.pos ? e.pos : s.end;
      }
      function HZe(e, t, n) {
        let i = -1, s;
        for (; e; ) {
          const o = n.getLineAndCharacterOfPosition(e.getStart(n)).line;
          if (i !== -1 && o !== i)
            break;
          if (gm.shouldIndentChildNode(t, e, s, n))
            return t.indentSize;
          i = o, s = e, e = e.parent;
        }
        return 0;
      }
      function GZe(e, t, n, i, s, o) {
        const c = { pos: e.pos, end: e.end };
        return t_e(t.text, n, c.pos, c.end, (_) => Pwe(
          c,
          e,
          i,
          s,
          _,
          o,
          1,
          (u) => !1,
          // assume that node does not have any errors
          t
        ));
      }
      function wwe(e, t, n, i) {
        if (!e)
          return [];
        const s = {
          pos: Lp(e.getStart(t), t),
          end: e.end
        };
        return LL(s, t, n, i);
      }
      function LL(e, t, n, i) {
        const s = VZe(e, t);
        return t_e(
          t.text,
          t.languageVariant,
          qZe(s, e, t),
          e.end,
          (o) => Pwe(
            e,
            s,
            gm.getIndentationForNode(s, e, t, n.options),
            HZe(s, n.options, t),
            o,
            n,
            i,
            UZe(t.parseDiagnostics, e),
            t
          )
        );
      }
      function Pwe(e, t, n, i, s, { options: o, getRules: c, host: _ }, u, g, m) {
        var h;
        const S = new rwe(m, u, o);
        let T, k, D, w, A, O = -1;
        const F = [];
        if (s.advance(), s.isOnToken()) {
          const oe = m.getLineAndCharacterOfPosition(t.getStart(m)).line;
          let ve = oe;
          Pf(t) && (ve = m.getLineAndCharacterOfPosition(Kj(t, m)).line), pe(t, t, oe, ve, n, i);
        }
        const j = s.getCurrentLeadingTrivia();
        if (j) {
          const oe = gm.nodeWillIndentChild(
            o,
            t,
            /*child*/
            void 0,
            m,
            /*indentByDefault*/
            !1
          ) ? n + o.indentSize : n;
          K(
            j,
            oe,
            /*indentNextTokenOrTrivia*/
            !0,
            (ve) => {
              ee(
                ve,
                m.getLineAndCharacterOfPosition(ve.pos),
                t,
                t,
                /*dynamicIndentation*/
                void 0
              ), ie(
                ve.pos,
                oe,
                /*lineAdded*/
                !1
              );
            }
          ), o.trimTrailingWhitespace !== !1 && De(j);
        }
        if (k && s.getTokenFullStart() >= e.end) {
          const oe = s.isOnEOF() ? s.readEOFTokenRange() : s.isOnToken() ? s.readTokenInfo(t).token : void 0;
          if (oe && oe.pos === T) {
            const ve = ((h = cl(oe.end, m, t)) == null ? void 0 : h.parent) || D;
            te(
              oe,
              m.getLineAndCharacterOfPosition(oe.pos).line,
              ve,
              k,
              w,
              D,
              ve,
              /*dynamicIndentation*/
              void 0
            );
          }
        }
        return F;
        function z(oe, ve, se, Pe, Ee) {
          if (dw(Pe, oe, ve) || NA(Pe, oe, ve)) {
            if (Ee !== -1)
              return Ee;
          } else {
            const Ce = m.getLineAndCharacterOfPosition(oe).line, ze = Lp(oe, m), St = gm.findFirstNonWhitespaceColumn(ze, oe, m, o);
            if (Ce !== se || oe === St) {
              const Bt = gm.getBaseIndentation(o);
              return Bt > St ? Bt : St;
            }
          }
          return -1;
        }
        function V(oe, ve, se, Pe, Ee, Ce) {
          const ze = gm.shouldIndentChildNode(o, oe) ? o.indentSize : 0;
          return Ce === ve ? {
            indentation: ve === A ? O : Ee.getIndentation(),
            delta: Math.min(o.indentSize, Ee.getDelta(oe) + ze)
          } : se === -1 ? oe.kind === 21 && ve === A ? { indentation: O, delta: Ee.getDelta(oe) } : gm.childStartsOnTheSameLineWithElseInIfStatement(Pe, oe, ve, m) || gm.childIsUnindentedBranchOfConditionalExpression(Pe, oe, ve, m) || gm.argumentStartsOnSameLineAsPreviousArgument(Pe, oe, ve, m) ? { indentation: Ee.getIndentation(), delta: ze } : { indentation: Ee.getIndentation() + Ee.getDelta(oe), delta: ze } : { indentation: se, delta: ze };
        }
        function G(oe) {
          if (Fp(oe)) {
            const ve = Dn(oe.modifiers, Ks, oc(oe.modifiers, yl));
            if (ve) return ve.kind;
          }
          switch (oe.kind) {
            case 263:
              return 86;
            case 264:
              return 120;
            case 262:
              return 100;
            case 266:
              return 266;
            case 177:
              return 139;
            case 178:
              return 153;
            case 174:
              if (oe.asteriskToken)
                return 42;
            // falls through
            case 172:
            case 169:
              const ve = ls(oe);
              if (ve)
                return ve.kind;
          }
        }
        function W(oe, ve, se, Pe) {
          return {
            getIndentationForComment: (ze, St, Bt) => {
              switch (ze) {
                // preceding comment to the token that closes the indentation scope inherits the indentation from the scope
                // ..  {
                //     // comment
                // }
                case 20:
                case 24:
                case 22:
                  return se + Ce(Bt);
              }
              return St !== -1 ? St : se;
            },
            // if list end token is LessThanToken '>' then its delta should be explicitly suppressed
            // so that LessThanToken as a binary operator can still be indented.
            // foo.then
            //     <
            //         number,
            //         string,
            //     >();
            // vs
            // var a = xValue
            //     > yValue;
            getIndentationForToken: (ze, St, Bt, tr) => !tr && Ee(ze, St, Bt) ? se + Ce(Bt) : se,
            getIndentation: () => se,
            getDelta: Ce,
            recomputeIndentation: (ze, St) => {
              gm.shouldIndentChildNode(o, St, oe, m) && (se += ze ? o.indentSize : -o.indentSize, Pe = gm.shouldIndentChildNode(o, oe) ? o.indentSize : 0);
            }
          };
          function Ee(ze, St, Bt) {
            switch (St) {
              // open and close brace, 'else' and 'while' (in do statement) tokens has indentation of the parent
              case 19:
              case 20:
              case 22:
              case 93:
              case 117:
              case 60:
                return !1;
              case 44:
              case 32:
                switch (Bt.kind) {
                  case 286:
                  case 287:
                  case 285:
                    return !1;
                }
                break;
              case 23:
              case 24:
                if (Bt.kind !== 200)
                  return !1;
                break;
            }
            return ve !== ze && !(Pf(oe) && St === G(oe));
          }
          function Ce(ze) {
            return gm.nodeWillIndentChild(
              o,
              oe,
              ze,
              m,
              /*indentByDefault*/
              !0
            ) ? Pe : 0;
          }
        }
        function pe(oe, ve, se, Pe, Ee, Ce) {
          if (!dw(e, oe.getStart(m), oe.getEnd()))
            return;
          const ze = W(oe, se, Ee, Ce);
          let St = ve;
          for (Ss(
            oe,
            (it) => {
              Bt(
                it,
                /*inheritedIndentation*/
                -1,
                oe,
                ze,
                se,
                Pe,
                /*isListItem*/
                !1
              );
            },
            (it) => {
              tr(it, oe, se, ze);
            }
          ); s.isOnToken() && s.getTokenFullStart() < e.end; ) {
            const it = s.readTokenInfo(oe);
            if (it.token.end > Math.min(oe.end, e.end))
              break;
            Fr(it, oe, ze, oe);
          }
          function Bt(it, Wt, Wr, ai, zi, Pt, Fn, ii) {
            if (E.assert(!oo(it)), cc(it) || RZ(Wr, it))
              return Wt;
            const li = it.getStart(m), cn = m.getLineAndCharacterOfPosition(li).line;
            let ci = cn;
            Pf(it) && (ci = m.getLineAndCharacterOfPosition(Kj(it, m)).line);
            let je = -1;
            if (Fn && d_(e, Wr) && (je = z(li, it.end, zi, e, Wt), je !== -1 && (Wt = je)), !dw(e, it.pos, it.end))
              return it.end < e.pos && s.skipToEndOf(it), Wt;
            if (it.getFullWidth() === 0)
              return Wt;
            for (; s.isOnToken() && s.getTokenFullStart() < e.end; ) {
              const Vr = s.readTokenInfo(oe);
              if (Vr.token.end > e.end)
                return Wt;
              if (Vr.token.end > li) {
                Vr.token.pos > li && s.skipToStartOf(it);
                break;
              }
              Fr(Vr, oe, ai, oe);
            }
            if (!s.isOnToken() || s.getTokenFullStart() >= e.end)
              return Wt;
            if (ex(it)) {
              const Vr = s.readTokenInfo(it);
              if (it.kind !== 12)
                return E.assert(Vr.token.end === it.end, "Token end is child end"), Fr(Vr, oe, ai, it), Wt;
            }
            const ut = it.kind === 170 ? cn : Pt, er = V(it, cn, je, oe, ai, ut);
            return pe(it, St, cn, ci, er.indentation, er.delta), St = oe, ii && Wr.kind === 209 && Wt === -1 && (Wt = er.indentation), Wt;
          }
          function tr(it, Wt, Wr, ai) {
            E.assert(vb(it)), E.assert(!oo(it));
            const zi = $Ze(Wt, it);
            let Pt = ai, Fn = Wr;
            if (!dw(e, it.pos, it.end)) {
              it.end < e.pos && s.skipToEndOf(it);
              return;
            }
            if (zi !== 0)
              for (; s.isOnToken() && s.getTokenFullStart() < e.end; ) {
                const cn = s.readTokenInfo(Wt);
                if (cn.token.end > it.pos)
                  break;
                if (cn.token.kind === zi) {
                  Fn = m.getLineAndCharacterOfPosition(cn.token.pos).line, Fr(cn, Wt, ai, Wt);
                  let ci;
                  if (O !== -1)
                    ci = O;
                  else {
                    const je = Lp(cn.token.pos, m);
                    ci = gm.findFirstNonWhitespaceColumn(je, cn.token.pos, m, o);
                  }
                  Pt = W(Wt, Wr, ci, o.indentSize);
                } else
                  Fr(cn, Wt, ai, Wt);
              }
            let ii = -1;
            for (let cn = 0; cn < it.length; cn++) {
              const ci = it[cn];
              ii = Bt(
                ci,
                ii,
                oe,
                Pt,
                Fn,
                Fn,
                /*isListItem*/
                !0,
                /*isFirstListItem*/
                cn === 0
              );
            }
            const li = XZe(zi);
            if (li !== 0 && s.isOnToken() && s.getTokenFullStart() < e.end) {
              let cn = s.readTokenInfo(Wt);
              cn.token.kind === 28 && (Fr(cn, Wt, Pt, Wt), cn = s.isOnToken() ? s.readTokenInfo(Wt) : void 0), cn && cn.token.kind === li && d_(Wt, cn.token) && Fr(
                cn,
                Wt,
                Pt,
                Wt,
                /*isListEndToken*/
                !0
              );
            }
          }
          function Fr(it, Wt, Wr, ai, zi) {
            E.assert(d_(Wt, it.token));
            const Pt = s.lastTrailingTriviaWasNewLine();
            let Fn = !1;
            it.leadingTrivia && U(it.leadingTrivia, Wt, St, Wr);
            let ii = 0;
            const li = d_(e, it.token), cn = m.getLineAndCharacterOfPosition(it.token.pos);
            if (li) {
              const ci = g(it.token), je = k;
              if (ii = ee(it.token, cn, Wt, St, Wr), !ci)
                if (ii === 0) {
                  const ut = je && m.getLineAndCharacterOfPosition(je.end).line;
                  Fn = Pt && cn.line !== ut;
                } else
                  Fn = ii === 1;
            }
            if (it.trailingTrivia && (T = pa(it.trailingTrivia).end, U(it.trailingTrivia, Wt, St, Wr)), Fn) {
              const ci = li && !g(it.token) ? Wr.getIndentationForToken(cn.line, it.token.kind, ai, !!zi) : -1;
              let je = !0;
              if (it.leadingTrivia) {
                const ut = Wr.getIndentationForComment(it.token.kind, ci, ai);
                je = K(it.leadingTrivia, ut, je, (er) => ie(
                  er.pos,
                  ut,
                  /*lineAdded*/
                  !1
                ));
              }
              ci !== -1 && je && (ie(
                it.token.pos,
                ci,
                ii === 1
                /* LineAdded */
              ), A = cn.line, O = ci);
            }
            s.advance(), St = Wt;
          }
        }
        function K(oe, ve, se, Pe) {
          for (const Ee of oe) {
            const Ce = d_(e, Ee);
            switch (Ee.kind) {
              case 3:
                Ce && q(
                  Ee,
                  ve,
                  /*firstLineIsIndented*/
                  !se
                ), se = !1;
                break;
              case 2:
                se && Ce && Pe(Ee), se = !1;
                break;
              case 4:
                se = !0;
                break;
            }
          }
          return se;
        }
        function U(oe, ve, se, Pe) {
          for (const Ee of oe)
            if (S9(Ee.kind) && d_(e, Ee)) {
              const Ce = m.getLineAndCharacterOfPosition(Ee.pos);
              ee(Ee, Ce, ve, se, Pe);
            }
        }
        function ee(oe, ve, se, Pe, Ee) {
          const Ce = g(oe);
          let ze = 0;
          if (!Ce)
            if (k)
              ze = te(oe, ve.line, se, k, w, D, Pe, Ee);
            else {
              const St = m.getLineAndCharacterOfPosition(e.pos);
              he(St.line, ve.line);
            }
          return k = oe, T = oe.end, D = se, w = ve.line, ze;
        }
        function te(oe, ve, se, Pe, Ee, Ce, ze, St) {
          S.updateContext(Pe, Ce, oe, se, ze);
          const Bt = c(S);
          let tr = S.options.trimTrailingWhitespace !== !1, Fr = 0;
          return Bt ? zX(Bt, (it) => {
            if (Fr = nt(it, Pe, Ee, oe, ve), St)
              switch (Fr) {
                case 2:
                  se.getStart(m) === oe.pos && St.recomputeIndentation(
                    /*lineAddedByFormatting*/
                    !1,
                    ze
                  );
                  break;
                case 1:
                  se.getStart(m) === oe.pos && St.recomputeIndentation(
                    /*lineAddedByFormatting*/
                    !0,
                    ze
                  );
                  break;
                default:
                  E.assert(
                    Fr === 0
                    /* None */
                  );
              }
            tr = tr && !(it.action & 16) && it.flags !== 1;
          }) : tr = tr && oe.kind !== 1, ve !== Ee && tr && he(Ee, ve, Pe), Fr;
        }
        function ie(oe, ve, se) {
          const Pe = m_e(ve, o);
          if (se)
            ue(oe, 0, Pe);
          else {
            const Ee = m.getLineAndCharacterOfPosition(oe), Ce = Wy(Ee.line, m);
            (ve !== fe(Ce, Ee.character) || me(Pe, Ce)) && ue(Ce, Ee.character, Pe);
          }
        }
        function fe(oe, ve) {
          let se = 0;
          for (let Pe = 0; Pe < ve; Pe++)
            m.text.charCodeAt(oe + Pe) === 9 ? se += o.tabSize - se % o.tabSize : se++;
          return se;
        }
        function me(oe, ve) {
          return oe !== m.text.substr(ve, oe.length);
        }
        function q(oe, ve, se, Pe = !0) {
          let Ee = m.getLineAndCharacterOfPosition(oe.pos).line;
          const Ce = m.getLineAndCharacterOfPosition(oe.end).line;
          if (Ee === Ce) {
            se || ie(
              oe.pos,
              ve,
              /*lineAdded*/
              !1
            );
            return;
          }
          const ze = [];
          let St = oe.pos;
          for (let Wt = Ee; Wt < Ce; Wt++) {
            const Wr = a3(Wt, m);
            ze.push({ pos: St, end: Wr }), St = Wy(Wt + 1, m);
          }
          if (Pe && ze.push({ pos: St, end: oe.end }), ze.length === 0) return;
          const Bt = Wy(Ee, m), tr = gm.findFirstNonWhitespaceCharacterAndColumn(Bt, ze[0].pos, m, o);
          let Fr = 0;
          se && (Fr = 1, Ee++);
          const it = ve - tr.column;
          for (let Wt = Fr; Wt < ze.length; Wt++, Ee++) {
            const Wr = Wy(Ee, m), ai = Wt === 0 ? tr : gm.findFirstNonWhitespaceCharacterAndColumn(ze[Wt].pos, ze[Wt].end, m, o), zi = ai.column + it;
            if (zi > 0) {
              const Pt = m_e(zi, o);
              ue(Wr, ai.character, Pt);
            } else
              xe(Wr, ai.character);
          }
        }
        function he(oe, ve, se) {
          for (let Pe = oe; Pe < ve; Pe++) {
            const Ee = Wy(Pe, m), Ce = a3(Pe, m);
            if (se && (S9(se.kind) || CU(se.kind)) && se.pos <= Ce && se.end > Ce)
              continue;
            const ze = Me(Ee, Ce);
            ze !== -1 && (E.assert(ze === Ee || !Hd(m.text.charCodeAt(ze - 1))), xe(ze, Ce + 1 - ze));
          }
        }
        function Me(oe, ve) {
          let se = ve;
          for (; se >= oe && Hd(m.text.charCodeAt(se)); )
            se--;
          return se !== ve ? se + 1 : -1;
        }
        function De(oe) {
          let ve = k ? k.end : e.pos;
          for (const se of oe)
            S9(se.kind) && (ve < se.pos && re(ve, se.pos - 1, k), ve = se.end + 1);
          ve < e.end && re(ve, e.end, k);
        }
        function re(oe, ve, se) {
          const Pe = m.getLineAndCharacterOfPosition(oe).line, Ee = m.getLineAndCharacterOfPosition(ve).line;
          he(Pe, Ee + 1, se);
        }
        function xe(oe, ve) {
          ve && F.push(x9(oe, ve, ""));
        }
        function ue(oe, ve, se) {
          (ve || se) && F.push(x9(oe, ve, se));
        }
        function Xe(oe, ve) {
          F.push(x9(oe, 0, ve));
        }
        function nt(oe, ve, se, Pe, Ee) {
          const Ce = Ee !== se;
          switch (oe.action) {
            case 1:
              return 0;
            case 16:
              if (ve.end !== Pe.pos)
                return xe(ve.end, Pe.pos - ve.end), Ce ? 2 : 0;
              break;
            case 32:
              xe(ve.pos, ve.end - ve.pos);
              break;
            case 8:
              if (oe.flags !== 1 && se !== Ee)
                return 0;
              if (Ee - se !== 1)
                return ue(ve.end, Pe.pos - ve.end, Jh(_, o)), Ce ? 0 : 1;
              break;
            case 4:
              if (oe.flags !== 1 && se !== Ee)
                return 0;
              if (Pe.pos - ve.end !== 1 || m.text.charCodeAt(ve.end) !== 32)
                return ue(ve.end, Pe.pos - ve.end, " "), Ce ? 2 : 0;
              break;
            case 64:
              Xe(ve.end, ";");
          }
          return 0;
        }
      }
      function Nwe(e, t, n, i = mi(e, t)) {
        const s = _r(i, bd);
        if (s && (i = s.parent), i.getStart(e) <= t && t < i.getEnd())
          return;
        n = n === null ? void 0 : n === void 0 ? cl(t, e) : n;
        const c = n && Iy(e.text, n.end), _ = fB(i, e), u = Ji(c, _);
        return u && Dn(u, (g) => PA(g, t) || // The end marker of a single-line comment does not include the newline character.
        // With caret at `^`, in the following case, we are inside a comment (^ denotes the cursor position):
        //
        //    // asdf   ^\n
        //
        // But for closed multi-line comments, we don't want to be inside the comment in the following case:
        //
        //    /* asdf */^
        //
        // However, unterminated multi-line comments *do* contain their end.
        //
        // Internally, we represent the end of the comment at the newline and closing '/', respectively.
        //
        t === g.end && (g.kind === 2 || t === e.getFullWidth()));
      }
      function $Ze(e, t) {
        switch (e.kind) {
          case 176:
          case 262:
          case 218:
          case 174:
          case 173:
          case 219:
          case 179:
          case 180:
          case 184:
          case 185:
          case 177:
          case 178:
            if (e.typeParameters === t)
              return 30;
            if (e.parameters === t)
              return 21;
            break;
          case 213:
          case 214:
            if (e.typeArguments === t)
              return 30;
            if (e.arguments === t)
              return 21;
            break;
          case 263:
          case 231:
          case 264:
          case 265:
            if (e.typeParameters === t)
              return 30;
            break;
          case 183:
          case 215:
          case 186:
          case 233:
          case 205:
            if (e.typeArguments === t)
              return 30;
            break;
          case 187:
            return 19;
        }
        return 0;
      }
      function XZe(e) {
        switch (e) {
          case 21:
            return 22;
          case 30:
            return 32;
          case 19:
            return 20;
        }
        return 0;
      }
      var sG, x8, k8;
      function m_e(e, t) {
        if ((!sG || sG.tabSize !== t.tabSize || sG.indentSize !== t.indentSize) && (sG = { tabSize: t.tabSize, indentSize: t.indentSize }, x8 = k8 = void 0), t.convertTabsToSpaces) {
          let i;
          const s = Math.floor(e / t.indentSize), o = e % t.indentSize;
          return k8 || (k8 = []), k8[s] === void 0 ? (i = OA(" ", t.indentSize * s), k8[s] = i) : i = k8[s], o ? i + OA(" ", o) : i;
        } else {
          const i = Math.floor(e / t.tabSize), s = e - i * t.tabSize;
          let o;
          return x8 || (x8 = []), x8[i] === void 0 ? x8[i] = o = OA("	", i) : o = x8[i], s ? o + OA(" ", s) : o;
        }
      }
      var gm;
      ((e) => {
        let t;
        ((q) => {
          q[q.Unknown = -1] = "Unknown";
        })(t || (t = {}));
        function n(q, he, Me, De = !1) {
          if (q > he.text.length)
            return _(Me);
          if (Me.indentStyle === 0)
            return 0;
          const re = cl(
            q,
            he,
            /*startNode*/
            void 0,
            /*excludeJsdoc*/
            !0
          ), xe = Nwe(he, q, re || null);
          if (xe && xe.kind === 3)
            return i(he, q, Me, xe);
          if (!re)
            return _(Me);
          if (CU(re.kind) && re.getStart(he) <= q && q < re.end)
            return 0;
          const Xe = he.getLineAndCharacterOfPosition(q).line, nt = mi(he, q), oe = nt.kind === 19 && nt.parent.kind === 210;
          if (Me.indentStyle === 1 || oe)
            return s(he, q, Me);
          if (re.kind === 28 && re.parent.kind !== 226) {
            const se = m(re, he, Me);
            if (se !== -1)
              return se;
          }
          const ve = j(q, re.parent, he);
          if (ve && !d_(ve, re)) {
            const Pe = [
              218,
              219
              /* ArrowFunction */
            ].includes(nt.parent.kind) ? 0 : Me.indentSize;
            return G(ve, he, Me) + Pe;
          }
          return o(he, q, re, Xe, De, Me);
        }
        e.getIndentation = n;
        function i(q, he, Me, De) {
          const re = Js(q, he).line - 1, xe = Js(q, De.pos).line;
          if (E.assert(xe >= 0), re <= xe)
            return ee(Wy(xe, q), he, q, Me);
          const ue = Wy(re, q), { column: Xe, character: nt } = U(ue, he, q, Me);
          return Xe === 0 ? Xe : q.text.charCodeAt(ue + nt) === 42 ? Xe - 1 : Xe;
        }
        function s(q, he, Me) {
          let De = he;
          for (; De > 0; ) {
            const xe = q.text.charCodeAt(De);
            if (!Dg(xe))
              break;
            De--;
          }
          const re = Lp(De, q);
          return ee(re, De, q, Me);
        }
        function o(q, he, Me, De, re, xe) {
          let ue, Xe = Me;
          for (; Xe; ) {
            if (yU(Xe, he, q) && fe(
              xe,
              Xe,
              ue,
              q,
              /*isNextChild*/
              !0
            )) {
              const oe = k(Xe, q), ve = T(Me, Xe, De, q), se = ve !== 0 ? re && ve === 2 ? xe.indentSize : 0 : De !== oe.line ? xe.indentSize : 0;
              return u(
                Xe,
                oe,
                /*ignoreActualIndentationRange*/
                void 0,
                se,
                q,
                /*isNextChild*/
                !0,
                xe
              );
            }
            const nt = W(
              Xe,
              q,
              xe,
              /*listIndentsChild*/
              !0
            );
            if (nt !== -1)
              return nt;
            ue = Xe, Xe = Xe.parent;
          }
          return _(xe);
        }
        function c(q, he, Me, De) {
          const re = Me.getLineAndCharacterOfPosition(q.getStart(Me));
          return u(
            q,
            re,
            he,
            /*indentationDelta*/
            0,
            Me,
            /*isNextChild*/
            !1,
            De
          );
        }
        e.getIndentationForNode = c;
        function _(q) {
          return q.baseIndentSize || 0;
        }
        e.getBaseIndentation = _;
        function u(q, he, Me, De, re, xe, ue) {
          var Xe;
          let nt = q.parent;
          for (; nt; ) {
            let oe = !0;
            if (Me) {
              const Ee = q.getStart(re);
              oe = Ee < Me.pos || Ee > Me.end;
            }
            const ve = g(nt, q, re), se = ve.line === he.line || w(nt, q, he.line, re);
            if (oe) {
              const Ee = (Xe = F(q, re)) == null ? void 0 : Xe[0], Ce = !!Ee && k(Ee, re).line > ve.line;
              let ze = W(q, re, ue, Ce);
              if (ze !== -1 || (ze = h(q, nt, he, se, re, ue), ze !== -1))
                return ze + De;
            }
            fe(ue, nt, q, re, xe) && !se && (De += ue.indentSize);
            const Pe = D(nt, q, he.line, re);
            q = nt, nt = q.parent, he = Pe ? re.getLineAndCharacterOfPosition(q.getStart(re)) : ve;
          }
          return De + _(ue);
        }
        function g(q, he, Me) {
          const De = F(he, Me), re = De ? De.pos : q.getStart(Me);
          return Me.getLineAndCharacterOfPosition(re);
        }
        function m(q, he, Me) {
          const De = Hse(q);
          return De && De.listItemIndex > 0 ? pe(De.list.getChildren(), De.listItemIndex - 1, he, Me) : -1;
        }
        function h(q, he, Me, De, re, xe) {
          return (Dl(q) || r3(q)) && (he.kind === 307 || !De) ? K(Me, re, xe) : -1;
        }
        let S;
        ((q) => {
          q[q.Unknown = 0] = "Unknown", q[q.OpenBrace = 1] = "OpenBrace", q[q.CloseBrace = 2] = "CloseBrace";
        })(S || (S = {}));
        function T(q, he, Me, De) {
          const re = a2(q, he, De);
          if (!re)
            return 0;
          if (re.kind === 19)
            return 1;
          if (re.kind === 20) {
            const xe = k(re, De).line;
            return Me === xe ? 2 : 0;
          }
          return 0;
        }
        function k(q, he) {
          return he.getLineAndCharacterOfPosition(q.getStart(he));
        }
        function D(q, he, Me, De) {
          if (!(Ms(q) && _s(q.arguments, he)))
            return !1;
          const re = q.expression.getEnd();
          return Js(De, re).line === Me;
        }
        e.isArgumentAndStartLineOverlapsExpressionBeingCalled = D;
        function w(q, he, Me, De) {
          if (q.kind === 245 && q.elseStatement === he) {
            const re = Za(q, 93, De);
            return E.assert(re !== void 0), k(re, De).line === Me;
          }
          return !1;
        }
        e.childStartsOnTheSameLineWithElseInIfStatement = w;
        function A(q, he, Me, De) {
          if (FS(q) && (he === q.whenTrue || he === q.whenFalse)) {
            const re = Js(De, q.condition.end).line;
            if (he === q.whenTrue)
              return Me === re;
            {
              const xe = k(q.whenTrue, De).line, ue = Js(De, q.whenTrue.end).line;
              return re === xe && ue === Me;
            }
          }
          return !1;
        }
        e.childIsUnindentedBranchOfConditionalExpression = A;
        function O(q, he, Me, De) {
          if (Gd(q)) {
            if (!q.arguments) return !1;
            const re = Dn(q.arguments, (nt) => nt.pos === he.pos);
            if (!re) return !1;
            const xe = q.arguments.indexOf(re);
            if (xe === 0) return !1;
            const ue = q.arguments[xe - 1], Xe = Js(De, ue.getEnd()).line;
            if (Me === Xe)
              return !0;
          }
          return !1;
        }
        e.argumentStartsOnSameLineAsPreviousArgument = O;
        function F(q, he) {
          return q.parent && z(q.getStart(he), q.getEnd(), q.parent, he);
        }
        e.getContainingList = F;
        function j(q, he, Me) {
          return he && z(q, q, he, Me);
        }
        function z(q, he, Me, De) {
          switch (Me.kind) {
            case 183:
              return re(Me.typeArguments);
            case 210:
              return re(Me.properties);
            case 209:
              return re(Me.elements);
            case 187:
              return re(Me.members);
            case 262:
            case 218:
            case 219:
            case 174:
            case 173:
            case 179:
            case 176:
            case 185:
            case 180:
              return re(Me.typeParameters) || re(Me.parameters);
            case 177:
              return re(Me.parameters);
            case 263:
            case 231:
            case 264:
            case 265:
            case 345:
              return re(Me.typeParameters);
            case 214:
            case 213:
              return re(Me.typeArguments) || re(Me.arguments);
            case 261:
              return re(Me.declarations);
            case 275:
            case 279:
              return re(Me.elements);
            case 206:
            case 207:
              return re(Me.elements);
          }
          function re(xe) {
            return xe && NA(V(Me, xe, De), q, he) ? xe : void 0;
          }
        }
        function V(q, he, Me) {
          const De = q.getChildren(Me);
          for (let re = 1; re < De.length - 1; re++)
            if (De[re].pos === he.pos && De[re].end === he.end)
              return { pos: De[re - 1].end, end: De[re + 1].getStart(Me) };
          return he;
        }
        function G(q, he, Me) {
          return q ? K(he.getLineAndCharacterOfPosition(q.pos), he, Me) : -1;
        }
        function W(q, he, Me, De) {
          if (q.parent && q.parent.kind === 261)
            return -1;
          const re = F(q, he);
          if (re) {
            const xe = re.indexOf(q);
            if (xe !== -1) {
              const ue = pe(re, xe, he, Me);
              if (ue !== -1)
                return ue;
            }
            return G(re, he, Me) + (De ? Me.indentSize : 0);
          }
          return -1;
        }
        function pe(q, he, Me, De) {
          E.assert(he >= 0 && he < q.length);
          const re = q[he];
          let xe = k(re, Me);
          for (let ue = he - 1; ue >= 0; ue--) {
            if (q[ue].kind === 28)
              continue;
            if (Me.getLineAndCharacterOfPosition(q[ue].end).line !== xe.line)
              return K(xe, Me, De);
            xe = k(q[ue], Me);
          }
          return -1;
        }
        function K(q, he, Me) {
          const De = he.getPositionOfLineAndCharacter(q.line, 0);
          return ee(De, De + q.character, he, Me);
        }
        function U(q, he, Me, De) {
          let re = 0, xe = 0;
          for (let ue = q; ue < he; ue++) {
            const Xe = Me.text.charCodeAt(ue);
            if (!Hd(Xe))
              break;
            Xe === 9 ? xe += De.tabSize + xe % De.tabSize : xe++, re++;
          }
          return { column: xe, character: re };
        }
        e.findFirstNonWhitespaceCharacterAndColumn = U;
        function ee(q, he, Me, De) {
          return U(q, he, Me, De).column;
        }
        e.findFirstNonWhitespaceColumn = ee;
        function te(q, he, Me, De, re) {
          const xe = Me ? Me.kind : 0;
          switch (he.kind) {
            case 244:
            case 263:
            case 231:
            case 264:
            case 266:
            case 265:
            case 209:
            case 241:
            case 268:
            case 210:
            case 187:
            case 200:
            case 189:
            case 217:
            case 211:
            case 213:
            case 214:
            case 243:
            case 277:
            case 253:
            case 227:
            case 207:
            case 206:
            case 286:
            case 289:
            case 285:
            case 294:
            case 173:
            case 179:
            case 180:
            case 169:
            case 184:
            case 185:
            case 196:
            case 215:
            case 223:
            case 279:
            case 275:
            case 281:
            case 276:
            case 172:
            case 296:
            case 297:
              return !0;
            case 269:
              return q.indentSwitchCase ?? !0;
            case 260:
            case 303:
            case 226:
              if (!q.indentMultiLineObjectLiteralBeginningOnBlankLine && De && xe === 210)
                return me(De, Me);
              if (he.kind === 226 && De && Me && xe === 284) {
                const ue = De.getLineAndCharacterOfPosition(ca(De.text, he.pos)).line, Xe = De.getLineAndCharacterOfPosition(ca(De.text, Me.pos)).line;
                return ue !== Xe;
              }
              if (he.kind !== 226)
                return !0;
              break;
            case 246:
            case 247:
            case 249:
            case 250:
            case 248:
            case 245:
            case 262:
            case 218:
            case 174:
            case 176:
            case 177:
            case 178:
              return xe !== 241;
            case 219:
              return De && xe === 217 ? me(De, Me) : xe !== 241;
            case 278:
              return xe !== 279;
            case 272:
              return xe !== 273 || !!Me.namedBindings && Me.namedBindings.kind !== 275;
            case 284:
              return xe !== 287;
            case 288:
              return xe !== 290;
            case 193:
            case 192:
            case 238:
              if (xe === 187 || xe === 189 || xe === 200)
                return !1;
              break;
          }
          return re;
        }
        e.nodeWillIndentChild = te;
        function ie(q, he) {
          switch (q) {
            case 253:
            case 257:
            case 251:
            case 252:
              return he.kind !== 241;
            default:
              return !1;
          }
        }
        function fe(q, he, Me, De, re = !1) {
          return te(
            q,
            he,
            Me,
            De,
            /*indentByDefault*/
            !1
          ) && !(re && Me && ie(Me.kind, he));
        }
        e.shouldIndentChildNode = fe;
        function me(q, he) {
          const Me = ca(q.text, he.pos), De = q.getLineAndCharacterOfPosition(Me).line, re = q.getLineAndCharacterOfPosition(he.end).line;
          return De === re;
        }
      })(gm || (gm = {}));
      var aG = {};
      Ta(aG, {
        preparePasteEdits: () => QZe
      });
      function QZe(e, t, n) {
        let i = !1;
        return t.forEach((s) => {
          const o = _r(
            mi(e, s.pos),
            (c) => d_(c, s)
          );
          o && Ss(o, function c(_) {
            var u;
            if (!i) {
              if (Fe(_) && q6(s, _.getStart(e))) {
                const g = n.resolveName(
                  _.text,
                  _,
                  -1,
                  /*excludeGlobals*/
                  !1
                );
                if (g && g.declarations) {
                  for (const m of g.declarations)
                    if (Rq(m) || _.text && e.symbol && ((u = e.symbol.exports) != null && u.has(_.escapedText))) {
                      i = !0;
                      return;
                    }
                }
              }
              _.forEachChild(c);
            }
          });
        }), i;
      }
      var oG = {};
      Ta(oG, {
        pasteEditsProvider: () => ZZe
      });
      var YZe = "providePostPasteEdits";
      function ZZe(e, t, n, i, s, o, c, _) {
        return { edits: nn.ChangeTracker.with({ host: s, formatContext: c, preferences: o }, (g) => KZe(e, t, n, i, s, o, c, _, g)), fixId: YZe };
      }
      function KZe(e, t, n, i, s, o, c, _, u) {
        let g;
        t.length !== n.length && (g = t.length === 1 ? t[0] : t.join(Jh(c.host, c.options)));
        const m = [];
        let h = e.text;
        for (let T = n.length - 1; T >= 0; T--) {
          const { pos: k, end: D } = n[T];
          h = g ? h.slice(0, k) + g + h.slice(D) : h.slice(0, k) + t[T] + h.slice(D);
        }
        let S;
        E.checkDefined(s.runWithTemporaryFileUpdate).call(s, e.fileName, h, (T, k, D) => {
          if (S = ku.createImportAdder(D, T, o, s), i?.range) {
            E.assert(i.range.length === t.length), i.range.forEach((j) => {
              const z = i.file.statements, V = oc(z, (W) => W.end > j.pos);
              if (V === -1) return;
              let G = oc(z, (W) => W.end >= j.end, V);
              G !== -1 && j.end <= z[G].getStart() && G--, m.push(...z.slice(V, G === -1 ? z.length : G + 1));
            }), E.assertIsDefined(k, "no original program found");
            const w = k.getTypeChecker(), A = eKe(i), O = Z9(i.file, m, w, Aoe(D, m, w), A), F = !lq(e.fileName, k, s, !!i.file.commonJsModuleIndicator);
            xoe(i.file, O.targetFileImportsFromOldFile, u, F), Foe(i.file, O.oldImportsNeededByTargetFile, O.targetFileImportsFromOldFile, w, T, S);
          } else {
            const w = {
              sourceFile: D,
              program: k,
              cancellationToken: _,
              host: s,
              preferences: o,
              formatContext: c
            };
            let A = 0;
            n.forEach((O, F) => {
              const j = O.end - O.pos, z = g ?? t[F], V = O.pos + A, G = V + z.length, W = { pos: V, end: G };
              A += z.length - j;
              const pe = _r(
                mi(w.sourceFile, W.pos),
                (K) => d_(K, W)
              );
              pe && Ss(pe, function K(U) {
                if (Fe(U) && q6(W, U.getStart(D)) && !T?.getTypeChecker().resolveName(
                  U.text,
                  U,
                  -1,
                  /*excludeGlobals*/
                  !1
                ))
                  return S.addImportForUnresolvedIdentifier(
                    w,
                    U,
                    /*useAutoImportProvider*/
                    !0
                  );
                U.forEachChild(K);
              });
            });
          }
          S.writeFixes(u, K_(i ? i.file : e, o));
        }), S.hasFixes() && n.forEach((T, k) => {
          u.replaceRangeWithText(
            e,
            { pos: T.pos, end: T.end },
            g ?? t[k]
          );
        });
      }
      function eKe({ file: e, range: t }) {
        const n = t[0].pos, i = t[t.length - 1].end, s = mi(e, n), o = mw(e, n) ?? mi(e, i);
        return {
          pos: Fe(s) && n <= s.getStart(e) ? s.getFullStart() : n,
          end: Fe(o) && i === o.getEnd() ? nn.getAdjustedEndPosition(e, o, {}) : i
        };
      }
      var Awe = {};
      Ta(Awe, {
        ANONYMOUS: () => KU,
        AccessFlags: () => VQ,
        AssertionLevel: () => KX,
        AssignmentDeclarationKind: () => ZQ,
        AssignmentKind: () => xK,
        Associativity: () => AK,
        BreakpointResolver: () => Yq,
        BuilderFileEmit: () => wie,
        BuilderProgramKind: () => Mie,
        BuilderState: () => Td,
        CallHierarchy: () => pk,
        CharacterCodes: () => lY,
        CheckFlags: () => BQ,
        CheckMode: () => bW,
        ClassificationType: () => cU,
        ClassificationTypeNames: () => jse,
        CommentDirectiveType: () => kQ,
        Comparison: () => JX,
        CompletionInfoFlags: () => Ase,
        CompletionTriggerKind: () => aU,
        Completions: () => yk,
        ContainerFlags: () => cne,
        ContextFlags: () => AQ,
        Debug: () => E,
        DiagnosticCategory: () => QI,
        Diagnostics: () => p,
        DocumentHighlights: () => G9,
        ElementFlags: () => WQ,
        EmitFlags: () => sj,
        EmitHint: () => pY,
        EmitOnly: () => EQ,
        EndOfLineState: () => Ose,
        ExitStatus: () => DQ,
        ExportKind: () => Nae,
        Extension: () => uY,
        ExternalEmitHelpers: () => fY,
        FileIncludeKind: () => XR,
        FilePreprocessingDiagnosticsKind: () => CQ,
        FileSystemEntryKind: () => TY,
        FileWatcherEventKind: () => vY,
        FindAllReferences: () => Eo,
        FlattenLevel: () => Nne,
        FlowFlags: () => XI,
        ForegroundColorEscapeSequences: () => yie,
        FunctionFlags: () => PK,
        GeneratedIdentifierFlags: () => $R,
        GetLiteralTextFlags: () => JZ,
        GoToDefinition: () => sE,
        HighlightSpanKind: () => Pse,
        IdentifierNameMap: () => O6,
        ImportKind: () => Pae,
        ImportsNotUsedAsValues: () => iY,
        IndentStyle: () => Nse,
        IndexFlags: () => UQ,
        IndexKind: () => GQ,
        InferenceFlags: () => QQ,
        InferencePriority: () => XQ,
        InlayHintKind: () => wse,
        InlayHints: () => WH,
        InternalEmitFlags: () => _Y,
        InternalNodeBuilderFlags: () => FQ,
        InternalSymbolName: () => JQ,
        IntersectionFlags: () => NQ,
        InvalidatedProjectKind: () => sse,
        JSDocParsingMode: () => yY,
        JsDoc: () => Dv,
        JsTyping: () => f1,
        JsxEmit: () => nY,
        JsxFlags: () => bQ,
        JsxReferenceKind: () => qQ,
        LanguageFeatureMinimumTarget: () => kl,
        LanguageServiceMode: () => Ese,
        LanguageVariant: () => oY,
        LexicalEnvironmentFlags: () => mY,
        ListFormat: () => gY,
        LogLevel: () => lQ,
        MapCode: () => VH,
        MemberOverrideStatus: () => wQ,
        ModifierFlags: () => HR,
        ModuleDetectionKind: () => KQ,
        ModuleInstanceState: () => ane,
        ModuleKind: () => TC,
        ModuleResolutionKind: () => SC,
        ModuleSpecifierEnding: () => Dee,
        NavigateTo: () => eoe,
        NavigationBar: () => roe,
        NewLineKind: () => sY,
        NodeBuilderFlags: () => IQ,
        NodeCheckFlags: () => ZR,
        NodeFactoryFlags: () => rte,
        NodeFlags: () => qR,
        NodeResolutionFeatures: () => Qre,
        ObjectFlags: () => ej,
        OperationCanceledException: () => _4,
        OperatorPrecedence: () => IK,
        OrganizeImports: () => wv,
        OrganizeImportsMode: () => sU,
        OuterExpressionKinds: () => dY,
        OutliningElementsCollector: () => qH,
        OutliningSpanKind: () => Ise,
        OutputFileType: () => Fse,
        PackageJsonAutoImportPreference: () => Cse,
        PackageJsonDependencyGroup: () => kse,
        PatternMatchKind: () => yq,
        PollingInterval: () => aj,
        PollingWatchKind: () => rY,
        PragmaKindFlags: () => hY,
        PredicateSemantics: () => SQ,
        PreparePasteEdits: () => aG,
        PrivateIdentifierKind: () => fte,
        ProcessLevel: () => One,
        ProgramUpdateLevel: () => pie,
        QuotePreference: () => aae,
        RegularExpressionFlags: () => TQ,
        RelationComparisonResult: () => GR,
        Rename: () => NL,
        ScriptElementKind: () => Mse,
        ScriptElementKindModifier: () => Rse,
        ScriptKind: () => rj,
        ScriptSnapshot: () => s9,
        ScriptTarget: () => aY,
        SemanticClassificationFormat: () => Dse,
        SemanticMeaning: () => Bse,
        SemicolonPreference: () => oU,
        SignatureCheckMode: () => SW,
        SignatureFlags: () => tj,
        SignatureHelp: () => g8,
        SignatureInfo: () => Die,
        SignatureKind: () => HQ,
        SmartSelectionRange: () => $H,
        SnippetKind: () => ij,
        StatisticType: () => dse,
        StructureIsReused: () => QR,
        SymbolAccessibility: () => MQ,
        SymbolDisplay: () => j0,
        SymbolDisplayPartKind: () => o9,
        SymbolFlags: () => YR,
        SymbolFormatFlags: () => LQ,
        SyntaxKind: () => UR,
        Ternary: () => YQ,
        ThrottledCancellationToken: () => uce,
        TokenClass: () => Lse,
        TokenFlags: () => xQ,
        TransformFlags: () => nj,
        TypeFacts: () => vW,
        TypeFlags: () => KR,
        TypeFormatFlags: () => OQ,
        TypeMapKind: () => $Q,
        TypePredicateKind: () => RQ,
        TypeReferenceSerializationKind: () => jQ,
        UnionReduction: () => PQ,
        UpToDateStatusType: () => Zie,
        VarianceFlags: () => zQ,
        Version: () => ld,
        VersionRange: () => $I,
        WatchDirectoryFlags: () => cY,
        WatchDirectoryKind: () => tY,
        WatchFileKind: () => eY,
        WatchLogLevel: () => mie,
        WatchType: () => Nl,
        accessPrivateIdentifier: () => Pne,
        addEmitFlags: () => im,
        addEmitHelper: () => Ox,
        addEmitHelpers: () => qg,
        addInternalEmitFlags: () => DS,
        addNodeFactoryPatcher: () => $he,
        addObjectAllocatorPatcher: () => Fhe,
        addRange: () => wn,
        addRelatedInfo: () => Ws,
        addSyntheticLeadingComment: () => Wb,
        addSyntheticTrailingComment: () => kD,
        addToSeen: () => Pp,
        advancedAsyncSuperHelper: () => mF,
        affectsDeclarationPathOptionDeclarations: () => vre,
        affectsEmitOptionDeclarations: () => yre,
        allKeysStartWithDot: () => lO,
        altDirectorySeparator: () => e7,
        and: () => qI,
        append: () => Dr,
        appendIfUnique: () => Sh,
        arrayFrom: () => rs,
        arrayIsEqualTo: () => Cf,
        arrayIsHomogeneous: () => Lee,
        arrayOf: () => XX,
        arrayReverseIterator: () => kR,
        arrayToMap: () => hC,
        arrayToMultiMap: () => EP,
        arrayToNumericMap: () => YX,
        assertType: () => lge,
        assign: () => eS,
        asyncSuperHelper: () => dF,
        attachFileToDiagnostics: () => Cx,
        base64decode: () => KK,
        base64encode: () => ZK,
        binarySearch: () => ky,
        binarySearchKey: () => VT,
        bindSourceFile: () => lne,
        breakIntoCharacterSpans: () => Hae,
        breakIntoWordSpans: () => Gae,
        buildLinkParts: () => dae,
        buildOpts: () => VN,
        buildOverload: () => Owe,
        bundlerModuleNameResolver: () => Yre,
        canBeConvertedToAsync: () => kq,
        canHaveDecorators: () => Zb,
        canHaveExportModifier: () => pN,
        canHaveFlowNode: () => HC,
        canHaveIllegalDecorators: () => wz,
        canHaveIllegalModifiers: () => Zte,
        canHaveIllegalType: () => b0e,
        canHaveIllegalTypeParameters: () => Yte,
        canHaveJSDoc: () => L3,
        canHaveLocals: () => qm,
        canHaveModifiers: () => Fp,
        canHaveModuleSpecifier: () => bK,
        canHaveSymbol: () => fd,
        canIncludeBindAndCheckDiagnostics: () => dD,
        canJsonReportNoInputFiles: () => XN,
        canProduceDiagnostics: () => iA,
        canUsePropertyAccess: () => LJ,
        canWatchAffectingLocation: () => Uie,
        canWatchAtTypes: () => Vie,
        canWatchDirectoryOrFile: () => TV,
        canWatchDirectoryOrFilePath: () => vA,
        cartesianProduct: () => oQ,
        cast: () => Us,
        chainBundle: () => Sd,
        chainDiagnosticMessages: () => vs,
        changeAnyExtension: () => FP,
        changeCompilerHostLikeToUseCache: () => aw,
        changeExtension: () => Oh,
        changeFullExtension: () => n7,
        changesAffectModuleResolution: () => N7,
        changesAffectingProgramStructure: () => IZ,
        characterCodeToRegularExpressionFlag: () => hj,
        childIsDecorated: () => B4,
        classElementOrClassElementParameterIsDecorated: () => gB,
        classHasClassThisAssignment: () => MW,
        classHasDeclaredOrExplicitlyAssignedName: () => RW,
        classHasExplicitlyAssignedName: () => xO,
        classOrConstructorParameterIsDecorated: () => b0,
        classicNameResolver: () => ine,
        classifier: () => dce,
        cleanExtendedConfigCache: () => PO,
        clear: () => bp,
        clearMap: () => D_,
        clearSharedExtendedConfigFileWatcher: () => YW,
        climbPastPropertyAccess: () => u9,
        clone: () => ZX,
        cloneCompilerOptions: () => DU,
        closeFileWatcher: () => $p,
        closeFileWatcherOf: () => lp,
        codefix: () => ku,
        collapseTextChangeRangesAcrossMultipleVersions: () => qY,
        collectExternalModuleInfo: () => IW,
        combine: () => WT,
        combinePaths: () => An,
        commandLineOptionOfCustomType: () => Tre,
        commentPragmas: () => YI,
        commonOptionsWithBuild: () => WF,
        compact: () => kP,
        compareBooleans: () => J1,
        compareDataObjects: () => lJ,
        compareDiagnostics: () => oD,
        compareEmitHelpers: () => dte,
        compareNumberOfDirectorySeparators: () => uN,
        comparePaths: () => xh,
        comparePathsCaseInsensitive: () => Fge,
        comparePathsCaseSensitive: () => Ige,
        comparePatternKeys: () => fW,
        compareProperties: () => nQ,
        compareStringsCaseInsensitive: () => wP,
        compareStringsCaseInsensitiveEslintCompatible: () => eQ,
        compareStringsCaseSensitive: () => au,
        compareStringsCaseSensitiveUI: () => PP,
        compareTextSpans: () => VI,
        compareValues: () => go,
        compilerOptionsAffectDeclarationPath: () => See,
        compilerOptionsAffectEmit: () => bee,
        compilerOptionsAffectSemanticDiagnostics: () => vee,
        compilerOptionsDidYouMeanDiagnostics: () => HF,
        compilerOptionsIndicateEsModules: () => FU,
        computeCommonSourceDirectoryOfFilenames: () => gie,
        computeLineAndCharacterOfPosition: () => CC,
        computeLineOfPosition: () => g4,
        computeLineStarts: () => ZT,
        computePositionOfLineAndCharacter: () => o7,
        computeSignatureWithDiagnostics: () => gV,
        computeSuggestionDiagnostics: () => Sq,
        computedOptions: () => cD,
        concatenate: () => Ji,
        concatenateDiagnosticMessageChains: () => fee,
        consumesNodeCoreModules: () => j9,
        contains: () => _s,
        containsIgnoredPath: () => hD,
        containsObjectRestOrSpread: () => BN,
        containsParseError: () => cx,
        containsPath: () => Qf,
        convertCompilerOptionsForTelemetry: () => jre,
        convertCompilerOptionsFromJson: () => wye,
        convertJsonOption: () => zS,
        convertToBase64: () => YK,
        convertToJson: () => HN,
        convertToObject: () => Are,
        convertToOptionsWithAbsolutePaths: () => QF,
        convertToRelativePath: () => d4,
        convertToTSConfig: () => Xz,
        convertTypeAcquisitionFromJson: () => Pye,
        copyComments: () => QS,
        copyEntries: () => A7,
        copyLeadingComments: () => Y6,
        copyProperties: () => NR,
        copyTrailingAsLeadingComments: () => zA,
        copyTrailingComments: () => Tw,
        couldStartTrivia: () => AY,
        countWhere: () => d0,
        createAbstractBuilder: () => Lve,
        createAccessorPropertyBackingField: () => Az,
        createAccessorPropertyGetRedirector: () => are,
        createAccessorPropertySetRedirector: () => ore,
        createBaseNodeFactory: () => Yee,
        createBinaryExpressionTrampoline: () => RF,
        createBuilderProgram: () => hV,
        createBuilderProgramUsingIncrementalBuildInfo: () => Jie,
        createBuilderStatusReporter: () => YO,
        createCacheableExportInfoMap: () => uq,
        createCachedDirectoryStructureHost: () => DO,
        createClassifier: () => f2e,
        createCommentDirectivesMap: () => jZ,
        createCompilerDiagnostic: () => $o,
        createCompilerDiagnosticForInvalidCustomType: () => xre,
        createCompilerDiagnosticFromMessageChain: () => L5,
        createCompilerHost: () => hie,
        createCompilerHostFromProgramHost: () => RV,
        createCompilerHostWorker: () => NO,
        createDetachedDiagnostic: () => kx,
        createDiagnosticCollection: () => Y4,
        createDiagnosticForFileFromMessageChain: () => _B,
        createDiagnosticForNode: () => Kr,
        createDiagnosticForNodeArray: () => jC,
        createDiagnosticForNodeArrayFromMessageChain: () => _3,
        createDiagnosticForNodeFromMessageChain: () => Lg,
        createDiagnosticForNodeInSourceFile: () => Zf,
        createDiagnosticForRange: () => ZZ,
        createDiagnosticMessageChainFromDiagnostic: () => YZ,
        createDiagnosticReporter: () => sk,
        createDocumentPositionMapper: () => kne,
        createDocumentRegistry: () => Lae,
        createDocumentRegistryInternal: () => mq,
        createEmitAndSemanticDiagnosticsBuilderProgram: () => SV,
        createEmitHelperFactory: () => pte,
        createEmptyExports: () => AN,
        createEvaluator: () => qee,
        createExpressionForJsxElement: () => qte,
        createExpressionForJsxFragment: () => Hte,
        createExpressionForObjectLiteralElementLike: () => Gte,
        createExpressionForPropertyName: () => Tz,
        createExpressionFromEntityName: () => IN,
        createExternalHelpersImportDeclarationIfNeeded: () => Cz,
        createFileDiagnostic: () => al,
        createFileDiagnosticFromMessageChain: () => z7,
        createFlowNode: () => eg,
        createForOfBindingStatement: () => Sz,
        createFutureSourceFile: () => U9,
        createGetCanonicalFileName: () => Hl,
        createGetIsolatedDeclarationErrors: () => nie,
        createGetSourceFile: () => rV,
        createGetSymbolAccessibilityDiagnosticForNode: () => gv,
        createGetSymbolAccessibilityDiagnosticForNodeName: () => rie,
        createGetSymbolWalker: () => une,
        createIncrementalCompilerHost: () => QO,
        createIncrementalProgram: () => Yie,
        createJsxFactoryExpression: () => bz,
        createLanguageService: () => _ce,
        createLanguageServiceSourceFile: () => lL,
        createMemberAccessForPropertyName: () => BS,
        createModeAwareCache: () => P6,
        createModeAwareCacheKey: () => HD,
        createModeMismatchDetails: () => Xj,
        createModuleNotFoundChain: () => F7,
        createModuleResolutionCache: () => N6,
        createModuleResolutionLoader: () => cV,
        createModuleResolutionLoaderUsingGlobalCache: () => $ie,
        createModuleSpecifierResolutionHost: () => bv,
        createMultiMap: () => Tp,
        createNameResolver: () => JJ,
        createNodeConverters: () => ete,
        createNodeFactory: () => hN,
        createOptionNameMap: () => UF,
        createOverload: () => cG,
        createPackageJsonImportFilter: () => Z6,
        createPackageJsonInfo: () => rq,
        createParenthesizerRules: () => Zee,
        createPatternMatcher: () => Jae,
        createPrinter: () => u1,
        createPrinterWithDefaults: () => _ie,
        createPrinterWithRemoveComments: () => r2,
        createPrinterWithRemoveCommentsNeverAsciiEscape: () => fie,
        createPrinterWithRemoveCommentsOmitTrailingSemicolon: () => QW,
        createProgram: () => gA,
        createProgramDiagnostics: () => Cie,
        createProgramHost: () => jV,
        createPropertyNameNodeForIdentifierOrLiteral: () => tF,
        createQueue: () => DP,
        createRange: () => tp,
        createRedirectedBuilderProgram: () => bV,
        createResolutionCache: () => kV,
        createRuntimeTypeSerializer: () => Bne,
        createScanner: () => Pg,
        createSemanticDiagnosticsBuilderProgram: () => Ove,
        createSet: () => AR,
        createSolutionBuilder: () => rse,
        createSolutionBuilderHost: () => ese,
        createSolutionBuilderWithWatch: () => nse,
        createSolutionBuilderWithWatchHost: () => tse,
        createSortedArray: () => xR,
        createSourceFile: () => Qx,
        createSourceMapGenerator: () => vne,
        createSourceMapSource: () => Zhe,
        createSuperAccessVariableStatement: () => CO,
        createSymbolTable: () => qs,
        createSymlinkCache: () => vJ,
        createSyntacticTypeNodeBuilder: () => Sse,
        createSystemWatchFunctions: () => xY,
        createTextChange: () => FA,
        createTextChangeFromStartLength: () => x9,
        createTextChangeRange: () => VP,
        createTextRangeFromNode: () => NU,
        createTextRangeFromSpan: () => T9,
        createTextSpan: () => Gl,
        createTextSpanFromBounds: () => wc,
        createTextSpanFromNode: () => t_,
        createTextSpanFromRange: () => L0,
        createTextSpanFromStringLiteralLikeContent: () => PU,
        createTextWriter: () => G3,
        createTokenRange: () => iJ,
        createTypeChecker: () => hne,
        createTypeReferenceDirectiveResolutionCache: () => aO,
        createTypeReferenceResolutionLoader: () => FO,
        createWatchCompilerHost: () => qve,
        createWatchCompilerHostOfConfigFile: () => BV,
        createWatchCompilerHostOfFilesAndCompilerOptions: () => JV,
        createWatchFactory: () => MV,
        createWatchHost: () => LV,
        createWatchProgram: () => zV,
        createWatchStatusReporter: () => CV,
        createWriteFileMeasuringIO: () => nV,
        declarationNameToString: () => _o,
        decodeMappings: () => PW,
        decodedTextSpanIntersectsWith: () => WP,
        deduplicate: () => pb,
        defaultInitCompilerOptions: () => Wz,
        defaultMaximumTruncationLength: () => I4,
        diagnosticCategoryName: () => rS,
        diagnosticToString: () => c2,
        diagnosticsEqualityComparer: () => M5,
        directoryProbablyExists: () => md,
        directorySeparator: () => xo,
        displayPart: () => N_,
        displayPartsToString: () => e8,
        disposeEmitNodes: () => XJ,
        documentSpansEqual: () => JU,
        dumpTracingLegend: () => vQ,
        elementAt: () => xy,
        elideNodes: () => sre,
        emitDetachedComments: () => zK,
        emitFiles: () => $W,
        emitFilesAndReportErrors: () => HO,
        emitFilesAndReportErrorsAndGetExitStatus: () => OV,
        emitModuleKindIsNonNodeESM: () => aN,
        emitNewLineBeforeLeadingCommentOfPosition: () => JK,
        emitResolverSkipsTypeChecking: () => GW,
        emitSkippedWithNoDiagnostics: () => _V,
        emptyArray: () => Ue,
        emptyFileSystemEntries: () => DJ,
        emptyMap: () => mR,
        emptyOptions: () => Op,
        endsWith: () => No,
        ensurePathIsNonModuleName: () => nS,
        ensureScriptKind: () => H5,
        ensureTrailingDirectorySeparator: () => ml,
        entityNameToString: () => q_,
        enumerateInsertsAndDeletes: () => GI,
        equalOwnProperties: () => QX,
        equateStringsCaseInsensitive: () => wy,
        equateStringsCaseSensitive: () => gb,
        equateValues: () => Dy,
        escapeJsxAttributeString: () => JB,
        escapeLeadingUnderscores: () => ec,
        escapeNonAsciiString: () => d5,
        escapeSnippetText: () => zb,
        escapeString: () => Qm,
        escapeTemplateSubstitution: () => jB,
        evaluatorResult: () => hl,
        every: () => Pi,
        exclusivelyPrefixedNodeCoreModules: () => cF,
        executeCommandLine: () => kbe,
        expandPreOrPostfixIncrementOrDecrementExpression: () => IF,
        explainFiles: () => PV,
        explainIfFileIsRedirectAndImpliedFormat: () => NV,
        exportAssignmentIsAlias: () => B3,
        expressionResultIsUnused: () => Ree,
        extend: () => WI,
        extensionFromPath: () => fD,
        extensionIsTS: () => Y5,
        extensionsNotSupportingExtensionlessResolution: () => Q5,
        externalHelpersModuleNameText: () => zy,
        factory: () => N,
        fileExtensionIs: () => Wo,
        fileExtensionIsOneOf: () => Dc,
        fileIncludeReasonToDiagnostics: () => FV,
        fileShouldUseJavaScriptRequire: () => lq,
        filter: () => Tn,
        filterMutate: () => yR,
        filterSemanticDiagnostics: () => RO,
        find: () => Dn,
        findAncestor: () => _r,
        findBestPatternMatch: () => RR,
        findChildOfKind: () => Za,
        findComputedPropertyNameCacheAssignment: () => jF,
        findConfigFile: () => eV,
        findConstructorDeclaration: () => gN,
        findContainingList: () => m9,
        findDiagnosticForNode: () => Eae,
        findFirstNonJsxWhitespaceToken: () => Gse,
        findIndex: () => oc,
        findLast: () => fb,
        findLastIndex: () => BI,
        findListItemInfo: () => Hse,
        findModifier: () => $6,
        findNextToken: () => a2,
        findPackageJson: () => Cae,
        findPackageJsons: () => tq,
        findPrecedingMatchingToken: () => b9,
        findPrecedingToken: () => cl,
        findSuperStatementIndexPath: () => vO,
        findTokenOnLeftOfPosition: () => mw,
        findUseStrictPrologue: () => kz,
        first: () => xa,
        firstDefined: () => Ic,
        firstDefinedIterator: () => xP,
        firstIterator: () => ER,
        firstOrOnly: () => sq,
        firstOrUndefined: () => Xc,
        firstOrUndefinedIterator: () => CP,
        fixupCompilerOptions: () => Cq,
        flatMap: () => oa,
        flatMapIterator: () => vR,
        flatMapToMutable: () => t4,
        flatten: () => Sp,
        flattenCommaList: () => cre,
        flattenDestructuringAssignment: () => qS,
        flattenDestructuringBinding: () => t2,
        flattenDiagnosticMessageText: () => fm,
        forEach: () => ar,
        forEachAncestor: () => FZ,
        forEachAncestorDirectory: () => m4,
        forEachAncestorDirectoryStoppingAtGlobalCache: () => Km,
        forEachChild: () => Ss,
        forEachChildRecursively: () => Xx,
        forEachDynamicImportOrRequireCall: () => lF,
        forEachEmittedFile: () => VW,
        forEachEnclosingBlockScopeContainer: () => $Z,
        forEachEntry: () => gl,
        forEachExternalModuleToImportFrom: () => fq,
        forEachImportClauseDeclaration: () => SK,
        forEachKey: () => Fg,
        forEachLeadingCommentRange: () => MP,
        forEachNameInAccessChainWalkingLeft: () => oee,
        forEachNameOfDefaultExport: () => H9,
        forEachOptionsSyntaxByName: () => HJ,
        forEachProjectReference: () => TD,
        forEachPropertyAssignment: () => zC,
        forEachResolvedProjectReference: () => UJ,
        forEachReturnStatement: () => qy,
        forEachRight: () => zX,
        forEachTrailingCommentRange: () => RP,
        forEachTsConfigPropArray: () => g3,
        forEachUnique: () => WU,
        forEachYieldExpression: () => rK,
        formatColorAndReset: () => n2,
        formatDiagnostic: () => iV,
        formatDiagnostics: () => cve,
        formatDiagnosticsWithColorAndContext: () => Sie,
        formatGeneratedName: () => _v,
        formatGeneratedNamePart: () => C6,
        formatLocation: () => sV,
        formatMessage: () => Ex,
        formatStringFromArgs: () => Jg,
        formatting: () => rl,
        generateDjb2Hash: () => f4,
        generateTSConfig: () => Fre,
        getAdjustedReferenceLocation: () => SU,
        getAdjustedRenameLocation: () => h9,
        getAliasDeclarationFromName: () => wB,
        getAllAccessorDeclarations: () => Mb,
        getAllDecoratorsOfClass: () => OW,
        getAllDecoratorsOfClassElement: () => SO,
        getAllJSDocTags: () => d7,
        getAllJSDocTagsOfKind: () => rhe,
        getAllKeys: () => sge,
        getAllProjectOutputs: () => EO,
        getAllSuperTypeNodes: () => H4,
        getAllowImportingTsExtensions: () => dee,
        getAllowJSCompilerOption: () => Zy,
        getAllowSyntheticDefaultImports: () => Dx,
        getAncestor: () => Y1,
        getAnyExtensionFromPath: () => XT,
        getAreDeclarationMapsEnabled: () => R5,
        getAssignedExpandoInitializer: () => _x,
        getAssignedName: () => _7,
        getAssignmentDeclarationKind: () => Pc,
        getAssignmentDeclarationPropertyAccessKind: () => P3,
        getAssignmentTargetKind: () => Hy,
        getAutomaticTypeDirectiveNames: () => iO,
        getBaseFileName: () => Qc,
        getBinaryOperatorPrecedence: () => U3,
        getBuildInfo: () => XW,
        getBuildInfoFileVersionMap: () => vV,
        getBuildInfoText: () => lie,
        getBuildOrderFromAnyBuildOrder: () => SA,
        getBuilderCreationParameters: () => zO,
        getBuilderFileEmit: () => _1,
        getCanonicalDiagnostic: () => KZ,
        getCheckFlags: () => lc,
        getClassExtendsHeritageElement: () => Ib,
        getClassLikeDeclarationOfSymbol: () => Fh,
        getCombinedLocalAndExportSymbolFlags: () => t6,
        getCombinedModifierFlags: () => W1,
        getCombinedNodeFlags: () => Ch,
        getCombinedNodeFlagsAlwaysIncludeJSDoc: () => xj,
        getCommentRange: () => sm,
        getCommonSourceDirectory: () => sw,
        getCommonSourceDirectoryOfConfig: () => HS,
        getCompilerOptionValue: () => J5,
        getCompilerOptionsDiffValue: () => Ire,
        getConditions: () => o1,
        getConfigFileParsingDiagnostics: () => i2,
        getConstantValue: () => ste,
        getContainerFlags: () => dW,
        getContainerNode: () => XS,
        getContainingClass: () => Jl,
        getContainingClassExcludingClassDecorators: () => X7,
        getContainingClassStaticBlock: () => uK,
        getContainingFunction: () => Df,
        getContainingFunctionDeclaration: () => lK,
        getContainingFunctionOrClassStaticBlock: () => $7,
        getContainingNodeArray: () => jee,
        getContainingObjectLiteralElement: () => t8,
        getContextualTypeFromParent: () => I9,
        getContextualTypeFromParentOrAncestorTypeNode: () => g9,
        getDeclarationDiagnostics: () => iie,
        getDeclarationEmitExtensionForPath: () => h5,
        getDeclarationEmitOutputFilePath: () => MK,
        getDeclarationEmitOutputFilePathWorker: () => g5,
        getDeclarationFileExtension: () => JF,
        getDeclarationFromName: () => q4,
        getDeclarationModifierFlagsFromSymbol: () => np,
        getDeclarationOfKind: () => jo,
        getDeclarationsOfKind: () => AZ,
        getDeclaredExpandoInitializer: () => W4,
        getDecorators: () => Fy,
        getDefaultCompilerOptions: () => cL,
        getDefaultFormatCodeSettings: () => a9,
        getDefaultLibFileName: () => BP,
        getDefaultLibFilePath: () => fce,
        getDefaultLikeExportInfo: () => q9,
        getDefaultLikeExportNameFromDeclaration: () => aq,
        getDefaultResolutionModeForFileWorker: () => MO,
        getDiagnosticText: () => g_,
        getDiagnosticsWithinSpan: () => Dae,
        getDirectoryPath: () => Un,
        getDirectoryToWatchFailedLookupLocation: () => xV,
        getDirectoryToWatchFailedLookupLocationFromTypeRoot: () => Hie,
        getDocumentPositionMapper: () => bq,
        getDocumentSpansEqualityComparer: () => zU,
        getESModuleInterop: () => zg,
        getEditsForFileRename: () => Rae,
        getEffectiveBaseTypeNode: () => Zd,
        getEffectiveConstraintOfTypeParameter: () => PC,
        getEffectiveContainerForJSDocTemplateTag: () => o5,
        getEffectiveImplementsTypeNodes: () => $C,
        getEffectiveInitializer: () => E3,
        getEffectiveJSDocHost: () => Q1,
        getEffectiveModifierFlags: () => Lu,
        getEffectiveModifierFlagsAlwaysIncludeJSDoc: () => qK,
        getEffectiveModifierFlagsNoCache: () => HK,
        getEffectiveReturnTypeNode: () => mf,
        getEffectiveSetAccessorTypeAnnotationNode: () => $B,
        getEffectiveTypeAnnotationNode: () => Yc,
        getEffectiveTypeParameterDeclarations: () => Ly,
        getEffectiveTypeRoots: () => qD,
        getElementOrPropertyAccessArgumentExpressionOrName: () => a5,
        getElementOrPropertyAccessName: () => wh,
        getElementsOfBindingOrAssignmentPattern: () => k6,
        getEmitDeclarations: () => w_,
        getEmitFlags: () => ka,
        getEmitHelpers: () => QJ,
        getEmitModuleDetectionKind: () => mee,
        getEmitModuleFormatOfFileWorker: () => lw,
        getEmitModuleKind: () => Mu,
        getEmitModuleResolutionKind: () => vu,
        getEmitScriptTarget: () => ga,
        getEmitStandardClassFields: () => hJ,
        getEnclosingBlockScopeContainer: () => pd,
        getEnclosingContainer: () => J7,
        getEncodedSemanticClassifications: () => pq,
        getEncodedSyntacticClassifications: () => dq,
        getEndLinePosition: () => a3,
        getEntityNameFromTypeNode: () => v3,
        getEntrypointsFromPackageJsonInfo: () => lW,
        getErrorCountForSummary: () => UO,
        getErrorSpanForNode: () => pS,
        getErrorSummaryText: () => DV,
        getEscapedTextOfIdentifierOrLiteral: () => X4,
        getEscapedTextOfJsxAttributeName: () => bD,
        getEscapedTextOfJsxNamespacedName: () => Ax,
        getExpandoInitializer: () => $1,
        getExportAssignmentExpression: () => PB,
        getExportInfoMap: () => GA,
        getExportNeedsImportStarHelper: () => Cne,
        getExpressionAssociativity: () => MB,
        getExpressionPrecedence: () => Q4,
        getExternalHelpersModuleName: () => ON,
        getExternalModuleImportEqualsDeclarationExpression: () => J4,
        getExternalModuleName: () => px,
        getExternalModuleNameFromDeclaration: () => OK,
        getExternalModuleNameFromPath: () => VB,
        getExternalModuleNameLiteral: () => $x,
        getExternalModuleRequireArgument: () => yB,
        getFallbackOptions: () => pA,
        getFileEmitOutput: () => Eie,
        getFileMatcherPatterns: () => q5,
        getFileNamesFromConfigSpecs: () => VD,
        getFileWatcherEventKind: () => lj,
        getFilesInErrorForSummary: () => qO,
        getFirstConstructorWithBody: () => jg,
        getFirstIdentifier: () => Xu,
        getFirstNonSpaceCharacterPosition: () => hae,
        getFirstProjectOutput: () => HW,
        getFixableErrorSpanExpression: () => nq,
        getFormatCodeSettingsForWriting: () => W9,
        getFullWidth: () => i3,
        getFunctionFlags: () => Fc,
        getHeritageClause: () => J3,
        getHostSignatureFromJSDoc: () => X1,
        getIdentifierAutoGenerate: () => t0e,
        getIdentifierGeneratedImportReference: () => _te,
        getIdentifierTypeArguments: () => wS,
        getImmediatelyInvokedFunctionExpression: () => Db,
        getImpliedNodeFormatForEmitWorker: () => GS,
        getImpliedNodeFormatForFile: () => mA,
        getImpliedNodeFormatForFileWorker: () => LO,
        getImportNeedsImportDefaultHelper: () => AW,
        getImportNeedsImportStarHelper: () => hO,
        getIndentString: () => m5,
        getInferredLibraryNameResolveFrom: () => OO,
        getInitializedVariables: () => iD,
        getInitializerOfBinaryExpression: () => TB,
        getInitializerOfBindingOrAssignmentElement: () => MN,
        getInterfaceBaseTypeNodes: () => G4,
        getInternalEmitFlags: () => Hp,
        getInvokedExpression: () => Z7,
        getIsFileExcluded: () => Iae,
        getIsolatedModules: () => Np,
        getJSDocAugmentsTag: () => tZ,
        getJSDocClassTag: () => Ej,
        getJSDocCommentRanges: () => pB,
        getJSDocCommentsAndTags: () => xB,
        getJSDocDeprecatedTag: () => Dj,
        getJSDocDeprecatedTagNoCache: () => cZ,
        getJSDocEnumTag: () => wj,
        getJSDocHost: () => Nb,
        getJSDocImplementsTags: () => rZ,
        getJSDocOverloadTags: () => CB,
        getJSDocOverrideTagNoCache: () => oZ,
        getJSDocParameterTags: () => wC,
        getJSDocParameterTagsNoCache: () => YY,
        getJSDocPrivateTag: () => Zge,
        getJSDocPrivateTagNoCache: () => iZ,
        getJSDocProtectedTag: () => Kge,
        getJSDocProtectedTagNoCache: () => sZ,
        getJSDocPublicTag: () => Yge,
        getJSDocPublicTagNoCache: () => nZ,
        getJSDocReadonlyTag: () => ehe,
        getJSDocReadonlyTagNoCache: () => aZ,
        getJSDocReturnTag: () => lZ,
        getJSDocReturnType: () => qP,
        getJSDocRoot: () => GC,
        getJSDocSatisfiesExpressionType: () => RJ,
        getJSDocSatisfiesTag: () => Pj,
        getJSDocTags: () => U1,
        getJSDocTemplateTag: () => the,
        getJSDocThisTag: () => f7,
        getJSDocType: () => Oy,
        getJSDocTypeAliasName: () => Dz,
        getJSDocTypeAssertionType: () => T6,
        getJSDocTypeParameterDeclarations: () => T5,
        getJSDocTypeParameterTags: () => ZY,
        getJSDocTypeParameterTagsNoCache: () => KY,
        getJSDocTypeTag: () => V1,
        getJSXImplicitImportBase: () => oN,
        getJSXRuntimeImport: () => W5,
        getJSXTransformEnabled: () => z5,
        getKeyForCompilerOptions: () => iW,
        getLanguageVariant: () => tN,
        getLastChild: () => uJ,
        getLeadingCommentRanges: () => wg,
        getLeadingCommentRangesOfNode: () => fB,
        getLeftmostAccessExpression: () => r6,
        getLeftmostExpression: () => n6,
        getLibFileNameFromLibReference: () => VJ,
        getLibNameFromLibReference: () => WJ,
        getLibraryNameFromLibFileName: () => lV,
        getLineAndCharacterOfPosition: () => Js,
        getLineInfo: () => wW,
        getLineOfLocalPosition: () => Z4,
        getLineStartPositionForPosition: () => Lp,
        getLineStarts: () => Eg,
        getLinesBetweenPositionAndNextNonWhitespaceCharacter: () => iee,
        getLinesBetweenPositionAndPrecedingNonWhitespaceCharacter: () => nee,
        getLinesBetweenPositions: () => h4,
        getLinesBetweenRangeEndAndRangeStart: () => sJ,
        getLinesBetweenRangeEndPositions: () => Ahe,
        getLiteralText: () => zZ,
        getLocalNameForExternalImport: () => x6,
        getLocalSymbolForExportDefault: () => rD,
        getLocaleSpecificMessage: () => hs,
        getLocaleTimeString: () => bA,
        getMappedContextSpan: () => VU,
        getMappedDocumentSpan: () => P9,
        getMappedLocation: () => vw,
        getMatchedFileSpec: () => AV,
        getMatchedIncludeSpec: () => IV,
        getMeaningFromDeclaration: () => c9,
        getMeaningFromLocation: () => $S,
        getMembersOfDeclaration: () => nK,
        getModeForFileReference: () => Tie,
        getModeForResolutionAtIndex: () => dve,
        getModeForUsageLocation: () => oV,
        getModifiedTime: () => $T,
        getModifiers: () => yb,
        getModuleInstanceState: () => jh,
        getModuleNameStringLiteralAt: () => hA,
        getModuleSpecifierEndingPreference: () => wee,
        getModuleSpecifierResolverHost: () => OU,
        getNameForExportedSymbol: () => B9,
        getNameFromImportAttribute: () => sF,
        getNameFromIndexInfo: () => XZ,
        getNameFromPropertyName: () => LA,
        getNameOfAccessExpression: () => fJ,
        getNameOfCompilerOptionValue: () => Qz,
        getNameOfDeclaration: () => ls,
        getNameOfExpando: () => vB,
        getNameOfJSDocTypedef: () => QY,
        getNameOfScriptTarget: () => B5,
        getNameOrArgument: () => w3,
        getNameTable: () => Qq,
        getNamespaceDeclarationNode: () => qC,
        getNewLineCharacter: () => x0,
        getNewLineKind: () => HA,
        getNewLineOrDefaultFromHost: () => Jh,
        getNewTargetContainer: () => fK,
        getNextJSDocCommentLocation: () => kB,
        getNodeChildren: () => yz,
        getNodeForGeneratedName: () => jN,
        getNodeId: () => Oa,
        getNodeKind: () => s2,
        getNodeModifiers: () => gw,
        getNodeModulePathParts: () => rF,
        getNonAssignedNameOfDeclaration: () => u7,
        getNonAssignmentOperatorForCompoundAssignment: () => KD,
        getNonAugmentationDeclaration: () => sB,
        getNonDecoratorTokenPosOfNode: () => Kj,
        getNonIncrementalBuildInfoRoots: () => zie,
        getNonModifierTokenPosOfNode: () => BZ,
        getNormalizedAbsolutePath: () => Xi,
        getNormalizedAbsolutePathWithoutRoot: () => pj,
        getNormalizedPathComponents: () => r7,
        getObjectFlags: () => Cn,
        getOperatorAssociativity: () => RB,
        getOperatorPrecedence: () => V3,
        getOptionFromName: () => Uz,
        getOptionsForLibraryResolution: () => sW,
        getOptionsNameMap: () => D6,
        getOptionsSyntaxByArrayElementValue: () => qJ,
        getOptionsSyntaxByValue: () => Qee,
        getOrCreateEmitNode: () => uu,
        getOrUpdate: () => r4,
        getOriginalNode: () => Vo,
        getOriginalNodeId: () => e_,
        getOutputDeclarationFileName: () => M6,
        getOutputDeclarationFileNameWorker: () => UW,
        getOutputExtension: () => uA,
        getOutputFileNames: () => ave,
        getOutputJSFileNameWorker: () => qW,
        getOutputPathsFor: () => iw,
        getOwnEmitOutputFilePath: () => LK,
        getOwnKeys: () => Ud,
        getOwnValues: () => UT,
        getPackageJsonTypesVersionsPaths: () => nO,
        getPackageNameFromTypesPackageName: () => XD,
        getPackageScopeForPath: () => $D,
        getParameterSymbolFromJSDoc: () => M3,
        getParentNodeInSpan: () => RA,
        getParseTreeNode: () => ds,
        getParsedCommandLineOfConfigFile: () => UN,
        getPathComponents: () => ou,
        getPathFromPathComponents: () => z1,
        getPathUpdater: () => hq,
        getPathsBasePath: () => y5,
        getPatternFromSpec: () => TJ,
        getPendingEmitKindWithSeen: () => JO,
        getPositionOfLineAndCharacter: () => OP,
        getPossibleGenericSignatures: () => xU,
        getPossibleOriginalInputExtensionForExtension: () => UB,
        getPossibleOriginalInputPathWithoutChangingExt: () => qB,
        getPossibleTypeArgumentsInfo: () => kU,
        getPreEmitDiagnostics: () => ove,
        getPrecedingNonSpaceCharacterPosition: () => N9,
        getPrivateIdentifier: () => LW,
        getProperties: () => FW,
        getProperty: () => zI,
        getPropertyAssignmentAliasLikeExpression: () => wK,
        getPropertyNameForPropertyNameNode: () => SS,
        getPropertyNameFromType: () => sp,
        getPropertyNameOfBindingOrAssignmentElement: () => Ez,
        getPropertySymbolFromBindingElement: () => w9,
        getPropertySymbolsFromContextualType: () => uL,
        getQuoteFromPreference: () => MU,
        getQuotePreference: () => K_,
        getRangesWhere: () => TR,
        getRefactorContextSpan: () => lk,
        getReferencedFileLocation: () => cw,
        getRegexFromPattern: () => k0,
        getRegularExpressionForWildcard: () => lD,
        getRegularExpressionsForWildcards: () => V5,
        getRelativePathFromDirectory: () => Ef,
        getRelativePathFromFile: () => kC,
        getRelativePathToDirectoryOrUrl: () => YT,
        getRenameLocation: () => JA,
        getReplacementSpanForContextToken: () => wU,
        getResolutionDiagnostic: () => pV,
        getResolutionModeOverride: () => R6,
        getResolveJsonModule: () => jb,
        getResolvePackageJsonExports: () => nN,
        getResolvePackageJsonImports: () => iN,
        getResolvedExternalModuleName: () => WB,
        getResolvedModuleFromResolution: () => ox,
        getResolvedTypeReferenceDirectiveFromResolution: () => I7,
        getRestIndicatorOfBindingOrAssignmentElement: () => LF,
        getRestParameterElementType: () => dB,
        getRightMostAssignedExpression: () => D3,
        getRootDeclaration: () => em,
        getRootDirectoryOfResolutionCache: () => Gie,
        getRootLength: () => ud,
        getScriptKind: () => GU,
        getScriptKindFromFileName: () => G5,
        getScriptTargetFeatures: () => eB,
        getSelectedEffectiveModifierFlags: () => vx,
        getSelectedSyntacticModifierFlags: () => VK,
        getSemanticClassifications: () => Fae,
        getSemanticJsxChildren: () => QC,
        getSetAccessorTypeAnnotationNode: () => jK,
        getSetAccessorValueParameter: () => K4,
        getSetExternalModuleIndicator: () => rN,
        getShebang: () => c7,
        getSingleVariableOfVariableStatement: () => gx,
        getSnapshotText: () => ck,
        getSnippetElement: () => YJ,
        getSourceFileOfModule: () => s3,
        getSourceFileOfNode: () => Er,
        getSourceFilePathInNewDir: () => b5,
        getSourceFileVersionAsHashFromText: () => GO,
        getSourceFilesToEmit: () => v5,
        getSourceMapRange: () => E0,
        getSourceMapper: () => Xae,
        getSourceTextOfNodeFromSourceFile: () => xb,
        getSpanOfTokenAtPosition: () => Xd,
        getSpellingSuggestion: () => hb,
        getStartPositionOfLine: () => Wy,
        getStartPositionOfRange: () => nD,
        getStartsOnNewLine: () => xD,
        getStaticPropertiesAndClassStaticBlock: () => bO,
        getStrictOptionValue: () => lu,
        getStringComparer: () => vC,
        getSubPatternFromSpec: () => U5,
        getSuperCallFromStatement: () => yO,
        getSuperContainer: () => h3,
        getSupportedCodeFixes: () => $q,
        getSupportedExtensions: () => uD,
        getSupportedExtensionsWithJsonIfResolveJsonModule: () => lN,
        getSwitchedType: () => ZU,
        getSymbolId: () => ea,
        getSymbolNameForPrivateIdentifier: () => z3,
        getSymbolTarget: () => $U,
        getSyntacticClassifications: () => Oae,
        getSyntacticModifierFlags: () => S0,
        getSyntacticModifierFlagsNoCache: () => YB,
        getSynthesizedDeepClone: () => qa,
        getSynthesizedDeepCloneWithReplacements: () => BA,
        getSynthesizedDeepClones: () => o2,
        getSynthesizedDeepClonesWithReplacements: () => XU,
        getSyntheticLeadingComments: () => l6,
        getSyntheticTrailingComments: () => SN,
        getTargetLabel: () => _9,
        getTargetOfBindingOrAssignmentElement: () => s1,
        getTemporaryModuleResolutionState: () => GD,
        getTextOfConstantValue: () => WZ,
        getTextOfIdentifierOrLiteral: () => ep,
        getTextOfJSDocComment: () => HP,
        getTextOfJsxAttributeName: () => mN,
        getTextOfJsxNamespacedName: () => SD,
        getTextOfNode: () => Go,
        getTextOfNodeFromSourceText: () => O4,
        getTextOfPropertyName: () => ux,
        getThisContainer: () => Ou,
        getThisParameter: () => Ob,
        getTokenAtPosition: () => mi,
        getTokenPosOfNode: () => Vy,
        getTokenSourceMapRange: () => Khe,
        getTouchingPropertyName: () => h_,
        getTouchingToken: () => H6,
        getTrailingCommentRanges: () => Iy,
        getTrailingSemicolonDeferringWriter: () => zB,
        getTransformers: () => aie,
        getTsBuildInfoEmitOutputFilePath: () => hv,
        getTsConfigObjectLiteralExpression: () => j4,
        getTsConfigPropArrayElementValue: () => G7,
        getTypeAnnotationNode: () => BK,
        getTypeArgumentOrTypeParameterList: () => eae,
        getTypeKeywordOfTypeOnlyImport: () => BU,
        getTypeNode: () => lte,
        getTypeNodeIfAccessible: () => kw,
        getTypeParameterFromJsDoc: () => TK,
        getTypeParameterOwner: () => Gge,
        getTypesPackageName: () => uO,
        getUILocale: () => tQ,
        getUniqueName: () => YS,
        getUniqueSymbolId: () => gae,
        getUseDefineForClassFields: () => sN,
        getWatchErrorSummaryDiagnosticMessage: () => EV,
        getWatchFactory: () => KW,
        group: () => yC,
        groupBy: () => PR,
        guessIndentation: () => PZ,
        handleNoEmitOptions: () => fV,
        handleWatchOptionsConfigDirTemplateSubstitution: () => YF,
        hasAbstractModifier: () => Rb,
        hasAccessorModifier: () => tm,
        hasAmbientModifier: () => QB,
        hasChangesInResolutions: () => Qj,
        hasContextSensitiveParameters: () => eF,
        hasDecorators: () => Pf,
        hasDocComment: () => Zse,
        hasDynamicName: () => Ph,
        hasEffectiveModifier: () => $_,
        hasEffectiveModifiers: () => XB,
        hasEffectiveReadonlyModifier: () => xS,
        hasExtension: () => xC,
        hasImplementationTSFileExtension: () => Eee,
        hasIndexSignature: () => YU,
        hasInferredType: () => oF,
        hasInitializer: () => y0,
        hasInvalidEscape: () => BB,
        hasJSDocNodes: () => pf,
        hasJSDocParameterTags: () => eZ,
        hasJSFileExtension: () => Wg,
        hasJsonModuleEmitEnabled: () => j5,
        hasOnlyExpressionInitializer: () => _S,
        hasOverrideModifier: () => x5,
        hasPossibleExternalModuleReference: () => GZ,
        hasProperty: () => ao,
        hasPropertyAccessExpressionWithName: () => DA,
        hasQuestionToken: () => dx,
        hasRecordedExternalHelpers: () => Qte,
        hasResolutionModeOverride: () => Vee,
        hasRestParameter: () => qj,
        hasScopeMarker: () => bZ,
        hasStaticModifier: () => sl,
        hasSyntacticModifier: () => qn,
        hasSyntacticModifiers: () => WK,
        hasTSFileExtension: () => CS,
        hasTabstop: () => Jee,
        hasTrailingDirectorySeparator: () => Ny,
        hasType: () => D7,
        hasTypeArguments: () => She,
        hasZeroOrOneAsteriskCharacter: () => yJ,
        hostGetCanonicalFileName: () => Nh,
        hostUsesCaseSensitiveFileNames: () => TS,
        idText: () => Pn,
        identifierIsThisKeyword: () => GB,
        identifierToKeywordKind: () => sS,
        identity: () => mo,
        identitySourceMapConsumer: () => NW,
        ignoreSourceNewlines: () => KJ,
        ignoredPaths: () => KI,
        importFromModuleSpecifier: () => V4,
        importSyntaxAffectsModuleResolution: () => gJ,
        indexOfAnyCharCode: () => VX,
        indexOfNode: () => MC,
        indicesOf: () => JI,
        inferredTypesContainingFile: () => ow,
        injectClassNamedEvaluationHelperBlockIfMissing: () => kO,
        injectClassThisAssignmentIfMissing: () => Fne,
        insertImports: () => jU,
        insertSorted: () => Ty,
        insertStatementAfterCustomPrologue: () => fS,
        insertStatementAfterStandardPrologue: () => dhe,
        insertStatementsAfterCustomPrologue: () => Yj,
        insertStatementsAfterStandardPrologue: () => Og,
        intersperse: () => hR,
        intrinsicTagNameToString: () => jJ,
        introducesArgumentsExoticObject: () => aK,
        inverseJsxOptionMap: () => WN,
        isAbstractConstructorSymbol: () => see,
        isAbstractModifier: () => Ste,
        isAccessExpression: () => ko,
        isAccessibilityModifier: () => EU,
        isAccessor: () => By,
        isAccessorModifier: () => xte,
        isAliasableExpression: () => c5,
        isAmbientModule: () => Fu,
        isAmbientPropertyDeclaration: () => oB,
        isAnyDirectorySeparator: () => uj,
        isAnyImportOrBareOrAccessedRequire: () => qZ,
        isAnyImportOrReExport: () => l3,
        isAnyImportOrRequireStatement: () => HZ,
        isAnyImportSyntax: () => lx,
        isAnySupportedFileExtension: () => qhe,
        isApplicableVersionedTypesKey: () => ZN,
        isArgumentExpressionOfElementAccess: () => mU,
        isArray: () => fs,
        isArrayBindingElement: () => S7,
        isArrayBindingOrAssignmentElement: () => ZP,
        isArrayBindingOrAssignmentPattern: () => Bj,
        isArrayBindingPattern: () => N0,
        isArrayLiteralExpression: () => Ql,
        isArrayLiteralOrObjectLiteralDestructuringPattern: () => O0,
        isArrayTypeNode: () => EN,
        isArrowFunction: () => Co,
        isAsExpression: () => p6,
        isAssertClause: () => Nte,
        isAssertEntry: () => u0e,
        isAssertionExpression: () => Tb,
        isAssertsKeyword: () => vte,
        isAssignmentDeclaration: () => z4,
        isAssignmentExpression: () => wl,
        isAssignmentOperator: () => Ah,
        isAssignmentPattern: () => N4,
        isAssignmentTarget: () => Gy,
        isAsteriskToken: () => xN,
        isAsyncFunction: () => $4,
        isAsyncModifier: () => DD,
        isAutoAccessorPropertyDeclaration: () => u_,
        isAwaitExpression: () => n1,
        isAwaitKeyword: () => iz,
        isBigIntLiteral: () => ED,
        isBinaryExpression: () => _n,
        isBinaryLogicalOperator: () => $3,
        isBinaryOperatorToken: () => ire,
        isBindableObjectDefinePropertyCall: () => hS,
        isBindableStaticAccessExpression: () => Pb,
        isBindableStaticElementAccessExpression: () => s5,
        isBindableStaticNameExpression: () => yS,
        isBindingElement: () => ya,
        isBindingElementOfBareOrAccessedRequire: () => mK,
        isBindingName: () => lS,
        isBindingOrAssignmentElement: () => gZ,
        isBindingOrAssignmentPattern: () => QP,
        isBindingPattern: () => Ps,
        isBlock: () => Cs,
        isBlockLike: () => uk,
        isBlockOrCatchScoped: () => tB,
        isBlockScope: () => cB,
        isBlockScopedContainerTopLevel: () => UZ,
        isBooleanLiteral: () => P4,
        isBreakOrContinueStatement: () => C4,
        isBreakStatement: () => o0e,
        isBuildCommand: () => mse,
        isBuildInfoFile: () => oie,
        isBuilderProgram: () => wV,
        isBundle: () => Ote,
        isCallChain: () => aS,
        isCallExpression: () => Ms,
        isCallExpressionTarget: () => lU,
        isCallLikeExpression: () => Sb,
        isCallLikeOrFunctionLikeExpression: () => Jj,
        isCallOrNewExpression: () => Gd,
        isCallOrNewExpressionTarget: () => uU,
        isCallSignatureDeclaration: () => Bx,
        isCallToHelper: () => CD,
        isCaseBlock: () => OD,
        isCaseClause: () => h6,
        isCaseKeyword: () => kte,
        isCaseOrDefaultClause: () => C7,
        isCatchClause: () => Qb,
        isCatchClauseVariableDeclaration: () => Bee,
        isCatchClauseVariableDeclarationOrBindingElement: () => rB,
        isCheckJsEnabledForFile: () => pD,
        isCircularBuildOrder: () => ak,
        isClassDeclaration: () => el,
        isClassElement: () => Jc,
        isClassExpression: () => Kc,
        isClassInstanceProperty: () => dZ,
        isClassLike: () => Xn,
        isClassMemberModifier: () => Mj,
        isClassNamedEvaluationHelperBlock: () => nk,
        isClassOrTypeElement: () => b7,
        isClassStaticBlockDeclaration: () => hc,
        isClassThisAssignmentBlock: () => tw,
        isColonToken: () => hte,
        isCommaExpression: () => FN,
        isCommaListExpression: () => ID,
        isCommaSequence: () => BD,
        isCommaToken: () => gte,
        isComment: () => S9,
        isCommonJsExportPropertyAssignment: () => q7,
        isCommonJsExportedExpression: () => iK,
        isCompoundAssignment: () => ZD,
        isComputedNonLiteralName: () => u3,
        isComputedPropertyName: () => ia,
        isConciseBody: () => x7,
        isConditionalExpression: () => FS,
        isConditionalTypeNode: () => Ub,
        isConstAssertion: () => BJ,
        isConstTypeReference: () => Up,
        isConstructSignatureDeclaration: () => CN,
        isConstructorDeclaration: () => Xo,
        isConstructorTypeNode: () => u6,
        isContextualKeyword: () => u5,
        isContinueStatement: () => a0e,
        isCustomPrologue: () => m3,
        isDebuggerStatement: () => c0e,
        isDeclaration: () => Dl,
        isDeclarationBindingElement: () => XP,
        isDeclarationFileName: () => Sl,
        isDeclarationName: () => Xm,
        isDeclarationNameOfEnumOrNamespace: () => oJ,
        isDeclarationReadonly: () => f3,
        isDeclarationStatement: () => kZ,
        isDeclarationWithTypeParameterChildren: () => uB,
        isDeclarationWithTypeParameters: () => lB,
        isDecorator: () => yl,
        isDecoratorTarget: () => zse,
        isDefaultClause: () => LD,
        isDefaultImport: () => vS,
        isDefaultModifier: () => vF,
        isDefaultedExpandoInitializer: () => gK,
        isDeleteExpression: () => Ete,
        isDeleteTarget: () => DB,
        isDeprecatedDeclaration: () => J9,
        isDestructuringAssignment: () => T0,
        isDiskPathRoot: () => _j,
        isDoStatement: () => s0e,
        isDocumentRegistryEntry: () => $A,
        isDotDotDotToken: () => hF,
        isDottedName: () => Q3,
        isDynamicName: () => f5,
        isEffectiveExternalModule: () => RC,
        isEffectiveStrictModeSourceFile: () => aB,
        isElementAccessChain: () => Nj,
        isElementAccessExpression: () => fo,
        isEmittedFileOfProgram: () => die,
        isEmptyArrayLiteral: () => QK,
        isEmptyBindingElement: () => GY,
        isEmptyBindingPattern: () => HY,
        isEmptyObjectLiteral: () => rJ,
        isEmptyStatement: () => oz,
        isEmptyStringLiteral: () => hB,
        isEntityName: () => Gu,
        isEntityNameExpression: () => to,
        isEnumConst: () => H1,
        isEnumDeclaration: () => Gb,
        isEnumMember: () => A0,
        isEqualityOperatorKind: () => F9,
        isEqualsGreaterThanToken: () => yte,
        isExclamationToken: () => kN,
        isExcludedFile: () => Lre,
        isExclusivelyTypeOnlyImportOrExport: () => aV,
        isExpandoPropertyDeclaration: () => Ix,
        isExportAssignment: () => Oo,
        isExportDeclaration: () => Oc,
        isExportModifier: () => Rx,
        isExportName: () => FF,
        isExportNamespaceAsDefaultDeclaration: () => R7,
        isExportOrDefaultModifier: () => RN,
        isExportSpecifier: () => bu,
        isExportsIdentifier: () => gS,
        isExportsOrModuleExportsOrAlias: () => Kb,
        isExpression: () => lt,
        isExpressionNode: () => dd,
        isExpressionOfExternalModuleImportEqualsDeclaration: () => Use,
        isExpressionOfOptionalChainRoot: () => g7,
        isExpressionStatement: () => Pl,
        isExpressionWithTypeArguments: () => Lh,
        isExpressionWithTypeArgumentsInClassExtendsClause: () => C5,
        isExternalModule: () => ol,
        isExternalModuleAugmentation: () => Cb,
        isExternalModuleImportEqualsDeclaration: () => G1,
        isExternalModuleIndicator: () => e3,
        isExternalModuleNameRelative: () => Cl,
        isExternalModuleReference: () => Mh,
        isExternalModuleSymbol: () => sx,
        isExternalOrCommonJsModule: () => H_,
        isFileLevelReservedGeneratedIdentifier: () => $P,
        isFileLevelUniqueName: () => L7,
        isFileProbablyExternalModule: () => JN,
        isFirstDeclarationOfSymbolParameter: () => UU,
        isFixablePromiseHandler: () => xq,
        isForInOrOfStatement: () => uS,
        isForInStatement: () => kF,
        isForInitializer: () => Yf,
        isForOfStatement: () => wN,
        isForStatement: () => ov,
        isFullSourceFile: () => Mg,
        isFunctionBlock: () => Eb,
        isFunctionBody: () => Wj,
        isFunctionDeclaration: () => Tc,
        isFunctionExpression: () => ho,
        isFunctionExpressionOrArrowFunction: () => Ky,
        isFunctionLike: () => Ts,
        isFunctionLikeDeclaration: () => uo,
        isFunctionLikeKind: () => tx,
        isFunctionLikeOrClassStaticBlockDeclaration: () => IC,
        isFunctionOrConstructorTypeNode: () => mZ,
        isFunctionOrModuleBlock: () => Rj,
        isFunctionSymbol: () => vK,
        isFunctionTypeNode: () => Ym,
        isGeneratedIdentifier: () => Mo,
        isGeneratedPrivateIdentifier: () => cS,
        isGetAccessor: () => Ag,
        isGetAccessorDeclaration: () => ap,
        isGetOrSetAccessorDeclaration: () => GP,
        isGlobalScopeAugmentation: () => $m,
        isGlobalSourceFile: () => v0,
        isGrammarError: () => RZ,
        isHeritageClause: () => Q_,
        isHoistedFunction: () => V7,
        isHoistedVariableStatement: () => U7,
        isIdentifier: () => Fe,
        isIdentifierANonContextualKeyword: () => IB,
        isIdentifierName: () => DK,
        isIdentifierOrThisTypeNode: () => ere,
        isIdentifierPart: () => kh,
        isIdentifierStart: () => Um,
        isIdentifierText: () => C_,
        isIdentifierTypePredicate: () => oK,
        isIdentifierTypeReference: () => Oee,
        isIfStatement: () => av,
        isIgnoredFileFromWildCardWatching: () => fA,
        isImplicitGlob: () => SJ,
        isImportAttribute: () => Ate,
        isImportAttributeName: () => pZ,
        isImportAttributes: () => LS,
        isImportCall: () => df,
        isImportClause: () => Qp,
        isImportDeclaration: () => Uo,
        isImportEqualsDeclaration: () => bl,
        isImportKeyword: () => PD,
        isImportMeta: () => JC,
        isImportOrExportSpecifier: () => Ry,
        isImportOrExportSpecifierName: () => mae,
        isImportSpecifier: () => Bu,
        isImportTypeAssertionContainer: () => l0e,
        isImportTypeNode: () => am,
        isImportable: () => _q,
        isInComment: () => F0,
        isInCompoundLikeAssignment: () => EB,
        isInExpressionContext: () => K7,
        isInJSDoc: () => T3,
        isInJSFile: () => tn,
        isInJSXText: () => Yse,
        isInJsonFile: () => t5,
        isInNonReferenceComment: () => nae,
        isInReferenceComment: () => rae,
        isInRightSideOfInternalImportEqualsDeclaration: () => l9,
        isInString: () => ok,
        isInTemplateString: () => TU,
        isInTopLevelContext: () => Q7,
        isInTypeQuery: () => yx,
        isIncrementalBuildInfo: () => yA,
        isIncrementalBundleEmitBuildInfo: () => Lie,
        isIncrementalCompilation: () => Bb,
        isIndexSignatureDeclaration: () => r1,
        isIndexedAccessTypeNode: () => qb,
        isInferTypeNode: () => NS,
        isInfinityOrNaNString: () => yD,
        isInitializedProperty: () => rA,
        isInitializedVariable: () => eN,
        isInsideJsxElement: () => v9,
        isInsideJsxElementOrAttribute: () => Qse,
        isInsideNodeModules: () => VA,
        isInsideTemplateLiteral: () => IA,
        isInstanceOfExpression: () => E5,
        isInstantiatedModule: () => xW,
        isInterfaceDeclaration: () => Yl,
        isInternalDeclaration: () => NZ,
        isInternalModuleImportEqualsDeclaration: () => mS,
        isInternalName: () => xz,
        isIntersectionTypeNode: () => Wx,
        isIntrinsicJsxName: () => YC,
        isIterationStatement: () => Jy,
        isJSDoc: () => bd,
        isJSDocAllType: () => Rte,
        isJSDocAugmentsTag: () => Gx,
        isJSDocAuthorTag: () => d0e,
        isJSDocCallbackTag: () => _z,
        isJSDocClassTag: () => Bte,
        isJSDocCommentContainingNode: () => E7,
        isJSDocConstructSignature: () => mx,
        isJSDocDeprecatedTag: () => gz,
        isJSDocEnumTag: () => NN,
        isJSDocFunctionType: () => v6,
        isJSDocImplementsTag: () => NF,
        isJSDocImportTag: () => _m,
        isJSDocIndexSignature: () => n5,
        isJSDocLikeText: () => Iz,
        isJSDocLink: () => Lte,
        isJSDocLinkCode: () => Mte,
        isJSDocLinkLike: () => ix,
        isJSDocLinkPlain: () => f0e,
        isJSDocMemberName: () => uv,
        isJSDocNameReference: () => MD,
        isJSDocNamepathType: () => p0e,
        isJSDocNamespaceBody: () => ohe,
        isJSDocNode: () => FC,
        isJSDocNonNullableType: () => EF,
        isJSDocNullableType: () => y6,
        isJSDocOptionalParameter: () => nF,
        isJSDocOptionalType: () => uz,
        isJSDocOverloadTag: () => b6,
        isJSDocOverrideTag: () => wF,
        isJSDocParameterTag: () => Af,
        isJSDocPrivateTag: () => pz,
        isJSDocPropertyLikeTag: () => E4,
        isJSDocPropertyTag: () => Jte,
        isJSDocProtectedTag: () => dz,
        isJSDocPublicTag: () => fz,
        isJSDocReadonlyTag: () => mz,
        isJSDocReturnTag: () => PF,
        isJSDocSatisfiesExpression: () => MJ,
        isJSDocSatisfiesTag: () => AF,
        isJSDocSeeTag: () => m0e,
        isJSDocSignature: () => I0,
        isJSDocTag: () => OC,
        isJSDocTemplateTag: () => Ip,
        isJSDocThisTag: () => hz,
        isJSDocThrowsTag: () => h0e,
        isJSDocTypeAlias: () => Dp,
        isJSDocTypeAssertion: () => Yb,
        isJSDocTypeExpression: () => lv,
        isJSDocTypeLiteral: () => RS,
        isJSDocTypeTag: () => RD,
        isJSDocTypedefTag: () => jS,
        isJSDocUnknownTag: () => g0e,
        isJSDocUnknownType: () => jte,
        isJSDocVariadicType: () => DF,
        isJSXTagName: () => VC,
        isJsonEqual: () => Z5,
        isJsonSourceFile: () => Kf,
        isJsxAttribute: () => um,
        isJsxAttributeLike: () => k7,
        isJsxAttributeName: () => Wee,
        isJsxAttributes: () => Xb,
        isJsxCallLike: () => wZ,
        isJsxChild: () => n3,
        isJsxClosingElement: () => $b,
        isJsxClosingFragment: () => Fte,
        isJsxElement: () => lm,
        isJsxExpression: () => g6,
        isJsxFragment: () => cv,
        isJsxNamespacedName: () => vd,
        isJsxOpeningElement: () => yd,
        isJsxOpeningFragment: () => Yp,
        isJsxOpeningLikeElement: () => yu,
        isJsxOpeningLikeElementTagName: () => Wse,
        isJsxSelfClosingElement: () => MS,
        isJsxSpreadAttribute: () => Hx,
        isJsxTagNameExpression: () => A4,
        isJsxText: () => Lx,
        isJumpStatementTarget: () => wA,
        isKeyword: () => p_,
        isKeywordOrPunctuation: () => l5,
        isKnownSymbol: () => W3,
        isLabelName: () => pU,
        isLabelOfLabeledStatement: () => fU,
        isLabeledStatement: () => i1,
        isLateVisibilityPaintedStatement: () => B7,
        isLeftHandSideExpression: () => __,
        isLet: () => W7,
        isLineBreak: () => gu,
        isLiteralComputedPropertyDeclarationName: () => j3,
        isLiteralExpression: () => oS,
        isLiteralExpressionOfObject: () => Oj,
        isLiteralImportTypeNode: () => Dh,
        isLiteralKind: () => D4,
        isLiteralNameOfPropertyDeclarationOrIndexAccess: () => f9,
        isLiteralTypeLiteral: () => vZ,
        isLiteralTypeNode: () => P0,
        isLocalName: () => Rh,
        isLogicalOperator: () => GK,
        isLogicalOrCoalescingAssignmentExpression: () => ZB,
        isLogicalOrCoalescingAssignmentOperator: () => eD,
        isLogicalOrCoalescingBinaryExpression: () => X3,
        isLogicalOrCoalescingBinaryOperator: () => k5,
        isMappedTypeNode: () => IS,
        isMemberName: () => Ng,
        isMetaProperty: () => AD,
        isMethodDeclaration: () => uc,
        isMethodOrAccessor: () => rx,
        isMethodSignature: () => Xp,
        isMinusToken: () => nz,
        isMissingDeclaration: () => _0e,
        isMissingPackageJsonInfo: () => Gre,
        isModifier: () => Ks,
        isModifierKind: () => jy,
        isModifierLike: () => Ro,
        isModuleAugmentationExternal: () => iB,
        isModuleBlock: () => om,
        isModuleBody: () => SZ,
        isModuleDeclaration: () => zc,
        isModuleExportName: () => CF,
        isModuleExportsAccessExpression: () => Rg,
        isModuleIdentifier: () => bB,
        isModuleName: () => nre,
        isModuleOrEnumDeclaration: () => t3,
        isModuleReference: () => EZ,
        isModuleSpecifierLike: () => D9,
        isModuleWithStringLiteralName: () => j7,
        isNameOfFunctionDeclaration: () => hU,
        isNameOfModuleDeclaration: () => gU,
        isNamedDeclaration: () => El,
        isNamedEvaluation: () => G_,
        isNamedEvaluationSource: () => FB,
        isNamedExportBindings: () => Ij,
        isNamedExports: () => cp,
        isNamedImportBindings: () => Vj,
        isNamedImports: () => cm,
        isNamedImportsOrExports: () => F5,
        isNamedTupleMember: () => _6,
        isNamespaceBody: () => ahe,
        isNamespaceExport: () => Zm,
        isNamespaceExportDeclaration: () => PN,
        isNamespaceImport: () => Hg,
        isNamespaceReexportDeclaration: () => dK,
        isNewExpression: () => Hb,
        isNewExpressionTarget: () => pw,
        isNewScopeNode: () => Xee,
        isNoSubstitutionTemplateLiteral: () => PS,
        isNodeArray: () => vb,
        isNodeArrayMultiLine: () => ree,
        isNodeDescendantOf: () => Ab,
        isNodeKind: () => y7,
        isNodeLikeSystem: () => JR,
        isNodeModulesDirectory: () => i7,
        isNodeWithPossibleHoistedDeclaration: () => CK,
        isNonContextualKeyword: () => AB,
        isNonGlobalAmbientModule: () => nB,
        isNonNullAccess: () => zee,
        isNonNullChain: () => h7,
        isNonNullExpression: () => Ux,
        isNonStaticMethodOrAccessorWithPrivateName: () => Ene,
        isNotEmittedStatement: () => Ite,
        isNullishCoalesce: () => Aj,
        isNumber: () => Cy,
        isNumericLiteral: () => m_,
        isNumericLiteralName: () => Ug,
        isObjectBindingElementWithoutPropertyName: () => MA,
        isObjectBindingOrAssignmentElement: () => YP,
        isObjectBindingOrAssignmentPattern: () => jj,
        isObjectBindingPattern: () => Nf,
        isObjectLiteralElement: () => Uj,
        isObjectLiteralElementLike: () => Eh,
        isObjectLiteralExpression: () => ua,
        isObjectLiteralMethod: () => Ep,
        isObjectLiteralOrClassExpressionMethodOrAccessor: () => H7,
        isObjectTypeDeclaration: () => xx,
        isOmittedExpression: () => vl,
        isOptionalChain: () => hu,
        isOptionalChainRoot: () => x4,
        isOptionalDeclaration: () => Nx,
        isOptionalJSDocPropertyLikeTag: () => dN,
        isOptionalTypeNode: () => bF,
        isOuterExpression: () => OF,
        isOutermostOptionalChain: () => k4,
        isOverrideModifier: () => Tte,
        isPackageJsonInfo: () => sO,
        isPackedArrayLiteral: () => OJ,
        isParameter: () => Ni,
        isParameterPropertyDeclaration: () => U_,
        isParameterPropertyModifier: () => w4,
        isParenthesizedExpression: () => Zu,
        isParenthesizedTypeNode: () => AS,
        isParseTreeNode: () => T4,
        isPartOfParameterDeclaration: () => Z1,
        isPartOfTypeNode: () => Yd,
        isPartOfTypeOnlyImportOrExportDeclaration: () => fZ,
        isPartOfTypeQuery: () => e5,
        isPartiallyEmittedExpression: () => Dte,
        isPatternMatch: () => UI,
        isPinnedComment: () => M7,
        isPlainJsFile: () => F4,
        isPlusToken: () => rz,
        isPossiblyTypeArgumentPosition: () => AA,
        isPostfixUnaryExpression: () => az,
        isPrefixUnaryExpression: () => sv,
        isPrimitiveLiteralValue: () => aF,
        isPrivateIdentifier: () => Di,
        isPrivateIdentifierClassElementDeclaration: () => Iu,
        isPrivateIdentifierPropertyAccessExpression: () => AC,
        isPrivateIdentifierSymbol: () => NK,
        isProgramUptoDate: () => uV,
        isPrologueDirective: () => Qd,
        isPropertyAccessChain: () => m7,
        isPropertyAccessEntityNameExpression: () => Y3,
        isPropertyAccessExpression: () => kn,
        isPropertyAccessOrQualifiedName: () => KP,
        isPropertyAccessOrQualifiedNameOrImportTypeNode: () => hZ,
        isPropertyAssignment: () => tl,
        isPropertyDeclaration: () => is,
        isPropertyName: () => Bc,
        isPropertyNameLiteral: () => Kd,
        isPropertySignature: () => ju,
        isPrototypeAccess: () => Qy,
        isPrototypePropertyAssignment: () => N3,
        isPunctuation: () => NB,
        isPushOrUnshiftIdentifier: () => OB,
        isQualifiedName: () => Qu,
        isQuestionDotToken: () => yF,
        isQuestionOrExclamationToken: () => Kte,
        isQuestionOrPlusOrMinusToken: () => rre,
        isQuestionToken: () => t1,
        isReadonlyKeyword: () => bte,
        isReadonlyKeywordOrPlusOrMinusToken: () => tre,
        isRecognizedTripleSlashComment: () => Zj,
        isReferenceFileLocation: () => j6,
        isReferencedFile: () => yv,
        isRegularExpressionLiteral: () => ez,
        isRequireCall: () => f_,
        isRequireVariableStatement: () => k3,
        isRestParameter: () => Hm,
        isRestTypeNode: () => SF,
        isReturnStatement: () => gf,
        isReturnStatementWithFixablePromiseHandler: () => $9,
        isRightSideOfAccessExpression: () => tJ,
        isRightSideOfInstanceofExpression: () => XK,
        isRightSideOfPropertyAccess: () => V6,
        isRightSideOfQualifiedName: () => Vse,
        isRightSideOfQualifiedNameOrPropertyAccess: () => tD,
        isRightSideOfQualifiedNameOrPropertyAccessOrJSDocMemberName: () => $K,
        isRootedDiskPath: () => V_,
        isSameEntityName: () => UC,
        isSatisfiesExpression: () => d6,
        isSemicolonClassElement: () => wte,
        isSetAccessor: () => $d,
        isSetAccessorDeclaration: () => P_,
        isShiftOperatorOrHigher: () => Pz,
        isShorthandAmbientModuleSymbol: () => c3,
        isShorthandPropertyAssignment: () => _u,
        isSideEffectImport: () => zJ,
        isSignedNumericLiteral: () => _5,
        isSimpleCopiableExpression: () => e2,
        isSimpleInlineableExpression: () => tg,
        isSimpleParameterList: () => nA,
        isSingleOrDoubleQuote: () => C3,
        isSolutionConfig: () => Kz,
        isSourceElement: () => Uee,
        isSourceFile: () => xi,
        isSourceFileFromLibrary: () => K6,
        isSourceFileJS: () => $u,
        isSourceFileNotJson: () => r5,
        isSourceMapping: () => xne,
        isSpecialPropertyDeclaration: () => yK,
        isSpreadAssignment: () => Gg,
        isSpreadElement: () => op,
        isStatement: () => yi,
        isStatementButNotDeclaration: () => r3,
        isStatementOrBlock: () => CZ,
        isStatementWithLocals: () => MZ,
        isStatic: () => zs,
        isStaticModifier: () => jx,
        isString: () => cs,
        isStringANonContextualKeyword: () => hx,
        isStringAndEmptyAnonymousObjectIntersection: () => tae,
        isStringDoubleQuoted: () => i5,
        isStringLiteral: () => la,
        isStringLiteralLike: () => Ba,
        isStringLiteralOrJsxExpression: () => DZ,
        isStringLiteralOrTemplate: () => Sae,
        isStringOrNumericLiteralLike: () => wf,
        isStringOrRegularExpressionOrTemplateLiteral: () => CU,
        isStringTextContainingNode: () => Lj,
        isSuperCall: () => dS,
        isSuperKeyword: () => wD,
        isSuperProperty: () => E_,
        isSupportedSourceFileName: () => EJ,
        isSwitchStatement: () => FD,
        isSyntaxList: () => S6,
        isSyntheticExpression: () => i0e,
        isSyntheticReference: () => qx,
        isTagName: () => dU,
        isTaggedTemplateExpression: () => iv,
        isTaggedTemplateTag: () => Jse,
        isTemplateExpression: () => xF,
        isTemplateHead: () => Mx,
        isTemplateLiteral: () => nx,
        isTemplateLiteralKind: () => My,
        isTemplateLiteralToken: () => uZ,
        isTemplateLiteralTypeNode: () => Cte,
        isTemplateLiteralTypeSpan: () => sz,
        isTemplateMiddle: () => tz,
        isTemplateMiddleOrTemplateTail: () => v7,
        isTemplateSpan: () => m6,
        isTemplateTail: () => gF,
        isTextWhiteSpaceLike: () => oae,
        isThis: () => U6,
        isThisContainerOrFunctionBlock: () => _K,
        isThisIdentifier: () => Xy,
        isThisInTypeQuery: () => Lb,
        isThisInitializedDeclaration: () => Y7,
        isThisInitializedObjectBindingExpression: () => pK,
        isThisProperty: () => y3,
        isThisTypeNode: () => ND,
        isThisTypeParameter: () => vD,
        isThisTypePredicate: () => cK,
        isThrowStatement: () => lz,
        isToken: () => ex,
        isTokenKind: () => Fj,
        isTraceEnabled: () => a1,
        isTransientSymbol: () => Ig,
        isTrivia: () => XC,
        isTryStatement: () => OS,
        isTupleTypeNode: () => zx,
        isTypeAlias: () => O3,
        isTypeAliasDeclaration: () => Ap,
        isTypeAssertionExpression: () => TF,
        isTypeDeclaration: () => Px,
        isTypeElement: () => bb,
        isTypeKeyword: () => hw,
        isTypeKeywordTokenOrIdentifier: () => k9,
        isTypeLiteralNode: () => Yu,
        isTypeNode: () => si,
        isTypeNodeKind: () => _J,
        isTypeOfExpression: () => f6,
        isTypeOnlyExportDeclaration: () => _Z,
        isTypeOnlyImportDeclaration: () => NC,
        isTypeOnlyImportOrExportDeclaration: () => h0,
        isTypeOperatorNode: () => nv,
        isTypeParameterDeclaration: () => Fo,
        isTypePredicateNode: () => Jx,
        isTypeQueryNode: () => Vb,
        isTypeReferenceNode: () => X_,
        isTypeReferenceType: () => w7,
        isTypeUsableAsPropertyName: () => ip,
        isUMDExportSymbol: () => I5,
        isUnaryExpression: () => zj,
        isUnaryExpressionWithWrite: () => yZ,
        isUnicodeIdentifierStart: () => a7,
        isUnionTypeNode: () => w0,
        isUrl: () => CY,
        isValidBigIntString: () => K5,
        isValidESSymbolDeclaration: () => sK,
        isValidTypeOnlyAliasUseSite: () => ev,
        isValueSignatureDeclaration: () => bS,
        isVarAwaitUsing: () => p3,
        isVarConst: () => BC,
        isVarConstLike: () => tK,
        isVarUsing: () => d3,
        isVariableDeclaration: () => Zn,
        isVariableDeclarationInVariableStatement: () => R4,
        isVariableDeclarationInitializedToBareOrAccessedRequire: () => wb,
        isVariableDeclarationInitializedToRequire: () => x3,
        isVariableDeclarationList: () => zl,
        isVariableLike: () => M4,
        isVariableStatement: () => Sc,
        isVoidExpression: () => Vx,
        isWatchSet: () => cJ,
        isWhileStatement: () => cz,
        isWhiteSpaceLike: () => Dg,
        isWhiteSpaceSingleLine: () => Hd,
        isWithStatement: () => Pte,
        isWriteAccess: () => Tx,
        isWriteOnlyAccess: () => A5,
        isYieldExpression: () => DN,
        jsxModeNeedsExplicitImport: () => cq,
        keywordPart: () => ef,
        last: () => pa,
        lastOrUndefined: () => Po,
        length: () => Ar,
        libMap: () => Rz,
        libs: () => zF,
        lineBreakPart: () => Q6,
        loadModuleFromGlobalCache: () => sne,
        loadWithModeAwareCache: () => dA,
        makeIdentifierFromModuleName: () => VZ,
        makeImport: () => p1,
        makeStringLiteral: () => yw,
        mangleScopedPackageName: () => I6,
        map: () => fr,
        mapAllOrFail: () => bR,
        mapDefined: () => Oi,
        mapDefinedIterator: () => Sy,
        mapEntries: () => HX,
        mapIterator: () => e4,
        mapOneOrMany: () => iq,
        mapToDisplayParts: () => Sv,
        matchFiles: () => xJ,
        matchPatternOrExact: () => wJ,
        matchedText: () => aQ,
        matchesExclude: () => eO,
        matchesExcludeWorker: () => tO,
        maxBy: () => IR,
        maybeBind: () => Ls,
        maybeSetLocalizedDiagnosticMessages: () => _ee,
        memoize: () => Au,
        memoizeOne: () => qd,
        min: () => FR,
        minAndMax: () => Aee,
        missingFileModifiedTime: () => W_,
        modifierToFlag: () => bx,
        modifiersToFlags: () => rm,
        moduleExportNameIsDefault: () => Gm,
        moduleExportNameTextEscaped: () => kb,
        moduleExportNameTextUnescaped: () => Uy,
        moduleOptionDeclaration: () => mre,
        moduleResolutionIsEqualTo: () => OZ,
        moduleResolutionNameAndModeGetter: () => IO,
        moduleResolutionOptionDeclarations: () => Bz,
        moduleResolutionSupportsPackageJsonExportsAndImports: () => i6,
        moduleResolutionUsesNodeModules: () => C9,
        moduleSpecifierToValidIdentifier: () => qA,
        moduleSpecifiers: () => Bh,
        moduleSupportsImportAttributes: () => yee,
        moduleSymbolToValidIdentifier: () => UA,
        moveEmitHelpers: () => ote,
        moveRangeEnd: () => P5,
        moveRangePastDecorators: () => Ih,
        moveRangePastModifiers: () => nm,
        moveRangePos: () => K1,
        moveSyntheticComments: () => ite,
        mutateMap: () => aD,
        mutateMapSkippingNewValues: () => Bg,
        needsParentheses: () => A9,
        needsScopeMarker: () => T7,
        newCaseClauseTracker: () => V9,
        newPrivateEnvironment: () => wne,
        noEmitNotification: () => oA,
        noEmitSubstitution: () => nw,
        noTransformers: () => sie,
        noTruncationMaximumTruncationLength: () => Gj,
        nodeCanBeDecorated: () => b3,
        nodeCoreModules: () => c6,
        nodeHasName: () => UP,
        nodeIsDecorated: () => WC,
        nodeIsMissing: () => cc,
        nodeIsPresent: () => Cp,
        nodeIsSynthesized: () => oo,
        nodeModuleNameResolver: () => Zre,
        nodeModulesPathPart: () => $g,
        nodeNextJsonConfigResolver: () => Kre,
        nodeOrChildIsDecorated: () => S3,
        nodeOverlapsWithStartEnd: () => p9,
        nodePosToString: () => uhe,
        nodeSeenTracker: () => G6,
        nodeStartsNewLexicalEnvironment: () => LB,
        noop: () => Ua,
        noopFileWatcher: () => z6,
        normalizePath: () => Gs,
        normalizeSlashes: () => Bl,
        normalizeSpans: () => Tj,
        not: () => HI,
        notImplemented: () => Hs,
        notImplementedResolver: () => uie,
        nullNodeConverters: () => tte,
        nullParenthesizerRules: () => Kee,
        nullTransformationContext: () => lA,
        objectAllocator: () => Xl,
        operatorPart: () => bw,
        optionDeclarations: () => Zp,
        optionMapToObject: () => $F,
        optionsAffectingProgramStructure: () => bre,
        optionsForBuild: () => zz,
        optionsForWatch: () => Zx,
        optionsHaveChanges: () => ax,
        or: () => z_,
        orderedRemoveItem: () => i4,
        orderedRemoveItemAt: () => Py,
        packageIdToPackageName: () => O7,
        packageIdToString: () => q1,
        parameterIsThisKeyword: () => $y,
        parameterNamePart: () => lae,
        parseBaseNodeFactory: () => lre,
        parseBigInt: () => Fee,
        parseBuildCommand: () => wre,
        parseCommandLine: () => Ere,
        parseCommandLineWorker: () => Vz,
        parseConfigFileTextToJson: () => qz,
        parseConfigFileWithSystem: () => Xie,
        parseConfigHostFromCompilerHostLike: () => jO,
        parseCustomTypeOption: () => qF,
        parseIsolatedEntityName: () => Yx,
        parseIsolatedJSDocComment: () => _re,
        parseJSDocTypeExpressionForTests: () => z0e,
        parseJsonConfigFileContent: () => gye,
        parseJsonSourceFileConfigFileContent: () => GN,
        parseJsonText: () => zN,
        parseListTypeOption: () => kre,
        parseNodeFactory: () => fv,
        parseNodeModuleFromPath: () => YN,
        parsePackageName: () => cO,
        parsePseudoBigInt: () => mD,
        parseValidBigInt: () => IJ,
        pasteEdits: () => oG,
        patchWriteFileEnsuringDirectory: () => kY,
        pathContainsNodeModules: () => c1,
        pathIsAbsolute: () => p4,
        pathIsBareSpecifier: () => fj,
        pathIsRelative: () => ff,
        patternText: () => sQ,
        performIncrementalCompilation: () => Qie,
        performance: () => dQ,
        positionBelongsToNode: () => yU,
        positionIsASICandidate: () => O9,
        positionIsSynthesized: () => gd,
        positionsAreOnSameLine: () => rp,
        preProcessFile: () => E2e,
        probablyUsesSemicolons: () => WA,
        processCommentPragmas: () => Lz,
        processPragmasIntoFields: () => Mz,
        processTaggedTemplateExpression: () => jW,
        programContainsEsModules: () => sae,
        programContainsModules: () => iae,
        projectReferenceIsEqualTo: () => $j,
        propertyNamePart: () => uae,
        pseudoBigIntToString: () => Jb,
        punctuationPart: () => xu,
        pushIfUnique: () => $f,
        quote: () => xw,
        quotePreferenceFromString: () => LU,
        rangeContainsPosition: () => q6,
        rangeContainsPositionExclusive: () => PA,
        rangeContainsRange: () => d_,
        rangeContainsRangeExclusive: () => qse,
        rangeContainsStartEnd: () => NA,
        rangeEndIsOnSameLineAsRangeStart: () => K3,
        rangeEndPositionsAreOnSameLine: () => eee,
        rangeEquals: () => CR,
        rangeIsOnSingleLine: () => kS,
        rangeOfNode: () => NJ,
        rangeOfTypeParameters: () => AJ,
        rangeOverlapsWithStartEnd: () => dw,
        rangeStartIsOnSameLineAsRangeEnd: () => tee,
        rangeStartPositionsAreOnSameLine: () => N5,
        readBuilderProgram: () => XO,
        readConfigFile: () => qN,
        readJson: () => e6,
        readJsonConfigFile: () => Pre,
        readJsonOrUndefined: () => nJ,
        reduceEachLeadingCommentRange: () => FY,
        reduceEachTrailingCommentRange: () => OY,
        reduceLeft: () => Hu,
        reduceLeftIterator: () => WX,
        reducePathComponents: () => QT,
        refactor: () => fk,
        regExpEscape: () => Bhe,
        regularExpressionFlagToCharacterCode: () => jge,
        relativeComplement: () => GX,
        removeAllComments: () => vN,
        removeEmitHelper: () => e0e,
        removeExtension: () => _N,
        removeFileExtension: () => Ru,
        removeIgnoredPath: () => WO,
        removeMinAndVersionNumbers: () => MR,
        removePrefix: () => s4,
        removeSuffix: () => bC,
        removeTrailingDirectorySeparator: () => g0,
        repeatString: () => OA,
        replaceElement: () => wR,
        replaceFirstStar: () => ES,
        resolutionExtensionIsTSOrJson: () => _D,
        resolveConfigFileProjectName: () => WV,
        resolveJSModule: () => Xre,
        resolveLibrary: () => oO,
        resolveModuleName: () => WS,
        resolveModuleNameFromCache: () => Hye,
        resolvePackageNameToPackageJson: () => nW,
        resolvePath: () => Ay,
        resolveProjectReferencePath: () => ik,
        resolveTripleslashReference: () => tV,
        resolveTypeReferenceDirective: () => qre,
        resolvingEmptyArray: () => Hj,
        returnFalse: () => Th,
        returnNoopFileWatcher: () => uw,
        returnTrue: () => db,
        returnUndefined: () => mb,
        returnsPromise: () => Tq,
        rewriteModuleSpecifier: () => tk,
        sameFlatMap: () => UX,
        sameMap: () => $c,
        sameMapping: () => M1e,
        scanTokenAtPosition: () => eK,
        scanner: () => Wl,
        semanticDiagnosticsOptionDeclarations: () => hre,
        serializeCompilerOptions: () => XF,
        server: () => Lwe,
        servicesVersion: () => mTe,
        setCommentRange: () => Zc,
        setConfigFileInOptions: () => Yz,
        setConstantValue: () => ate,
        setEmitFlags: () => an,
        setGetSourceFileAsHashVersioned: () => $O,
        setIdentifierAutoGenerate: () => TN,
        setIdentifierGeneratedImportReference: () => ute,
        setIdentifierTypeArguments: () => D0,
        setInternalEmitFlags: () => bN,
        setLocalizedDiagnosticMessages: () => uee,
        setNodeChildren: () => zte,
        setNodeFlags: () => Mee,
        setObjectAllocator: () => lee,
        setOriginalNode: () => xn,
        setParent: () => Wa,
        setParentRecursive: () => tv,
        setPrivateIdentifier: () => US,
        setSnippetElement: () => ZJ,
        setSourceMapRange: () => ha,
        setStackTraceLimit: () => Sge,
        setStartsOnNewLine: () => fF,
        setSyntheticLeadingComments: () => rv,
        setSyntheticTrailingComments: () => Fx,
        setSys: () => Dge,
        setSysLog: () => SY,
        setTextRange: () => ot,
        setTextRangeEnd: () => o6,
        setTextRangePos: () => gD,
        setTextRangePosEnd: () => hd,
        setTextRangePosWidth: () => FJ,
        setTokenSourceMapRange: () => nte,
        setTypeNode: () => cte,
        setUILocale: () => rQ,
        setValueDeclaration: () => A3,
        shouldAllowImportingTsExtension: () => F6,
        shouldPreserveConstEnums: () => Yy,
        shouldRewriteModuleSpecifier: () => F3,
        shouldUseUriStyleNodeCoreModules: () => z9,
        showModuleSpecifier: () => aee,
        signatureHasRestParameter: () => Tu,
        signatureToDisplayParts: () => HU,
        single: () => DR,
        singleElementArray: () => GT,
        singleIterator: () => qX,
        singleOrMany: () => Wm,
        singleOrUndefined: () => zm,
        skipAlias: () => $l,
        skipConstraint: () => IU,
        skipOuterExpressions: () => xc,
        skipParentheses: () => za,
        skipPartiallyEmittedExpressions: () => qp,
        skipTrivia: () => ca,
        skipTypeChecking: () => a6,
        skipTypeCheckingIgnoringNoCheck: () => Iee,
        skipTypeParentheses: () => U4,
        skipWhile: () => cQ,
        sliceAfter: () => PJ,
        some: () => at,
        sortAndDeduplicate: () => n4,
        sortAndDeduplicateDiagnostics: () => DC,
        sourceFileAffectingCompilerOptions: () => Jz,
        sourceFileMayBeEmitted: () => Fb,
        sourceMapCommentRegExp: () => EW,
        sourceMapCommentRegExpDontCareLineStart: () => bne,
        spacePart: () => yc,
        spanMap: () => SR,
        startEndContainsRange: () => aJ,
        startEndOverlapsWithStartEnd: () => d9,
        startOnNewLine: () => Su,
        startTracing: () => yQ,
        startsWith: () => Wi,
        startsWithDirectory: () => mj,
        startsWithUnderscore: () => oq,
        startsWithUseStrict: () => $te,
        stringContainsAt: () => wae,
        stringToToken: () => iS,
        stripQuotes: () => wp,
        supportedDeclarationExtensions: () => X5,
        supportedJSExtensionsFlat: () => s6,
        supportedLocaleDirectories: () => XY,
        supportedTSExtensionsFlat: () => kJ,
        supportedTSImplementationExtensions: () => cN,
        suppressLeadingAndTrailingTrivia: () => tf,
        suppressLeadingTrivia: () => QU,
        suppressTrailingTrivia: () => yae,
        symbolEscapedNameNoDefault: () => E9,
        symbolName: () => bc,
        symbolNameNoDefault: () => RU,
        symbolToDisplayParts: () => Sw,
        sys: () => dl,
        sysLog: () => IP,
        tagNamesAreEquivalent: () => dv,
        takeWhile: () => BR,
        targetOptionDeclaration: () => jz,
        targetToLibMap: () => LY,
        testFormatSettings: () => Gbe,
        textChangeRangeIsUnchanged: () => UY,
        textChangeRangeNewSpan: () => S4,
        textChanges: () => nn,
        textOrKeywordPart: () => qU,
        textPart: () => Lf,
        textRangeContainsPositionInclusive: () => JP,
        textRangeContainsTextSpan: () => jY,
        textRangeIntersectsWithTextSpan: () => WY,
        textSpanContainsPosition: () => bj,
        textSpanContainsTextRange: () => Sj,
        textSpanContainsTextSpan: () => RY,
        textSpanEnd: () => Ko,
        textSpanIntersection: () => VY,
        textSpanIntersectsWith: () => zP,
        textSpanIntersectsWithPosition: () => zY,
        textSpanIntersectsWithTextSpan: () => JY,
        textSpanIsEmpty: () => MY,
        textSpanOverlap: () => BY,
        textSpanOverlapsWith: () => Hge,
        textSpansEqual: () => X6,
        textToKeywordObj: () => s7,
        timestamp: () => co,
        toArray: () => qT,
        toBuilderFileEmit: () => jie,
        toBuilderStateFileInfoForMultiEmit: () => Rie,
        toEditorSettings: () => KA,
        toFileNameLowerCase: () => Ey,
        toPath: () => lo,
        toProgramEmitPending: () => Bie,
        toSorted: () => J_,
        tokenIsIdentifierOrKeyword: () => l_,
        tokenIsIdentifierOrKeywordOrGreaterThan: () => DY,
        tokenToString: () => Qs,
        trace: () => es,
        tracing: () => rn,
        tracingEnabled: () => AP,
        transferSourceFileChildren: () => Wte,
        transform: () => CTe,
        transformClassFields: () => jne,
        transformDeclarations: () => WW,
        transformECMAScriptModule: () => zW,
        transformES2015: () => Zne,
        transformES2016: () => Yne,
        transformES2017: () => Wne,
        transformES2018: () => Vne,
        transformES2019: () => Une,
        transformES2020: () => qne,
        transformES2021: () => Hne,
        transformESDecorators: () => zne,
        transformESNext: () => Gne,
        transformGenerators: () => Kne,
        transformImpliedNodeFormatDependentModule: () => tie,
        transformJsx: () => Qne,
        transformLegacyDecorators: () => Jne,
        transformModule: () => JW,
        transformNamedEvaluation: () => Y_,
        transformNodes: () => cA,
        transformSystemModule: () => eie,
        transformTypeScript: () => Rne,
        transpile: () => L2e,
        transpileDeclaration: () => F2e,
        transpileModule: () => Yae,
        transpileOptionValueCompilerOptions: () => Sre,
        tryAddToSet: () => m0,
        tryAndIgnoreErrors: () => R9,
        tryCast: () => Mn,
        tryDirectoryExists: () => M9,
        tryExtractTSExtension: () => D5,
        tryFileExists: () => Cw,
        tryGetClassExtendingExpressionWithTypeArguments: () => KB,
        tryGetClassImplementingOrExtendingExpressionWithTypeArguments: () => eJ,
        tryGetDirectories: () => L9,
        tryGetExtensionFromPath: () => Vg,
        tryGetImportFromModuleSpecifier: () => I3,
        tryGetJSDocSatisfiesTypeNode: () => iF,
        tryGetModuleNameFromFile: () => LN,
        tryGetModuleSpecifierFromDeclaration: () => fx,
        tryGetNativePerformanceHooks: () => pQ,
        tryGetPropertyAccessOrIdentifierToString: () => Z3,
        tryGetPropertyNameOfBindingOrAssignmentElement: () => MF,
        tryGetSourceMappingURL: () => Sne,
        tryGetTextOfPropertyName: () => L4,
        tryParseJson: () => w5,
        tryParsePattern: () => wx,
        tryParsePatterns: () => fN,
        tryParseRawSourceMap: () => Tne,
        tryReadDirectory: () => eq,
        tryReadFile: () => WD,
        tryRemoveDirectoryPrefix: () => bJ,
        tryRemoveExtension: () => Nee,
        tryRemovePrefix: () => jR,
        tryRemoveSuffix: () => iQ,
        tscBuildOption: () => JS,
        typeAcquisitionDeclarations: () => VF,
        typeAliasNamePart: () => _ae,
        typeDirectiveIsEqualTo: () => LZ,
        typeKeywords: () => AU,
        typeParameterNamePart: () => fae,
        typeToDisplayParts: () => jA,
        unchangedPollThresholds: () => ZI,
        unchangedTextChangeRange: () => l7,
        unescapeLeadingUnderscores: () => Ei,
        unmangleScopedPackageName: () => KN,
        unorderedRemoveItem: () => HT,
        unprefixedNodeCoreModules: () => $ee,
        unreachableCodeIsError: () => gee,
        unsetNodeChildren: () => vz,
        unusedLabelIsError: () => hee,
        unwrapInnermostStatementOfLabel: () => mB,
        unwrapParenthesizedExpression: () => Hee,
        updateErrorForNoInputFiles: () => KF,
        updateLanguageServiceSourceFile: () => Xq,
        updateMissingFilePathsWatch: () => ZW,
        updateResolutionField: () => w6,
        updateSharedExtendedConfigFileWatcher: () => wO,
        updateSourceFile: () => Fz,
        updateWatchingWildcardDirectories: () => _A,
        usingSingleLineStringWriter: () => LC,
        utf16EncodeAsString: () => b4,
        validateLocaleAndSetLanguage: () => kj,
        version: () => Gf,
        versionMajorMinor: () => K2,
        visitArray: () => QD,
        visitCommaListElements: () => gO,
        visitEachChild: () => yr,
        visitFunctionBody: () => Of,
        visitIterationBody: () => Ku,
        visitLexicalEnvironment: () => CW,
        visitNode: () => $e,
        visitNodes: () => Lr,
        visitParameterList: () => _c,
        walkUpBindingElementsAndPatterns: () => KT,
        walkUpOuterExpressions: () => Xte,
        walkUpParenthesizedExpressions: () => Gp,
        walkUpParenthesizedTypes: () => R3,
        walkUpParenthesizedTypesAndGetParentAndChild: () => EK,
        whitespaceOrMapCommentRegExp: () => DW,
        writeCommentRange: () => KC,
        writeFile: () => S5,
        writeFileEnsuringDirectories: () => HB,
        zipWith: () => gR
      });
      var Iwe;
      function tKe() {
        return Iwe ?? (Iwe = new ld(Gf));
      }
      function Fwe(e, t, n, i, s) {
        let o = t ? "DeprecationError: " : "DeprecationWarning: ";
        return o += `'${e}' `, o += i ? `has been deprecated since v${i}` : "is deprecated", o += t ? " and can no longer be used." : n ? ` and will no longer be usable after v${n}.` : ".", o += s ? ` ${Jg(s, [e])}` : "", o;
      }
      function rKe(e, t, n, i) {
        const s = Fwe(
          e,
          /*error*/
          !0,
          t,
          n,
          i
        );
        return () => {
          throw new TypeError(s);
        };
      }
      function nKe(e, t, n, i) {
        let s = !1;
        return () => {
          s || (E.log.warn(Fwe(
            e,
            /*error*/
            !1,
            t,
            n,
            i
          )), s = !0);
        };
      }
      function iKe(e, t = {}) {
        const n = typeof t.typeScriptVersion == "string" ? new ld(t.typeScriptVersion) : t.typeScriptVersion ?? tKe(), i = typeof t.errorAfter == "string" ? new ld(t.errorAfter) : t.errorAfter, s = typeof t.warnAfter == "string" ? new ld(t.warnAfter) : t.warnAfter, o = typeof t.since == "string" ? new ld(t.since) : t.since ?? s, c = t.error || i && n.compareTo(i) >= 0, _ = !s || n.compareTo(s) >= 0;
        return c ? rKe(e, i, o, t.message) : _ ? nKe(e, i, o, t.message) : Ua;
      }
      function sKe(e, t) {
        return function() {
          return e(), t.apply(this, arguments);
        };
      }
      function aKe(e, t) {
        const n = iKe(t?.name ?? E.getFunctionName(e), t);
        return sKe(n, e);
      }
      function cG(e, t, n, i) {
        if (Object.defineProperty(o, "name", { ...Object.getOwnPropertyDescriptor(o, "name"), value: e }), i)
          for (const c of Object.keys(i)) {
            const _ = +c;
            !isNaN(_) && ao(t, `${_}`) && (t[_] = aKe(t[_], { ...i[_], name: e }));
          }
        const s = oKe(t, n);
        return o;
        function o(...c) {
          const _ = s(c), u = _ !== void 0 ? t[_] : void 0;
          if (typeof u == "function")
            return u(...c);
          throw new TypeError("Invalid arguments");
        }
      }
      function oKe(e, t) {
        return (n) => {
          for (let i = 0; ao(e, `${i}`) && ao(t, `${i}`); i++) {
            const s = t[i];
            if (s(n))
              return i;
          }
        };
      }
      function Owe(e) {
        return {
          overload: (t) => ({
            bind: (n) => ({
              finish: () => cG(e, t, n),
              deprecate: (i) => ({
                finish: () => cG(e, t, n, i)
              })
            })
          })
        };
      }
      var Lwe = {};
      Ta(Lwe, {
        ActionInvalidate: () => n9,
        ActionPackageInstalled: () => i9,
        ActionSet: () => r9,
        ActionWatchTypingLocations: () => CA,
        Arguments: () => iU,
        AutoImportProviderProject: () => J_e,
        AuxiliaryProject: () => j_e,
        CharRangeSection: () => ffe,
        CloseFileWatcherEvent: () => SG,
        CommandNames: () => pPe,
        ConfigFileDiagEvent: () => gG,
        ConfiguredProject: () => z_e,
        ConfiguredProjectLoadKind: () => G_e,
        CreateDirectoryWatcherEvent: () => bG,
        CreateFileWatcherEvent: () => vG,
        Errors: () => Uh,
        EventBeginInstallTypes: () => rU,
        EventEndInstallTypes: () => nU,
        EventInitializationFailed: () => Tse,
        EventTypesRegistry: () => tU,
        ExternalProject: () => uG,
        GcTimer: () => E_e,
        InferredProject: () => R_e,
        LargeFileReferencedEvent: () => mG,
        LineIndex: () => A8,
        LineLeaf: () => BL,
        LineNode: () => fE,
        LogLevel: () => h_e,
        Msg: () => y_e,
        OpenFileInfoTelemetryEvent: () => W_e,
        Project: () => Tk,
        ProjectInfoTelemetryEvent: () => yG,
        ProjectKind: () => zw,
        ProjectLanguageServiceStateEvent: () => hG,
        ProjectLoadingFinishEvent: () => dG,
        ProjectLoadingStartEvent: () => pG,
        ProjectService: () => rfe,
        ProjectsUpdatedInBackgroundEvent: () => ML,
        ScriptInfo: () => N_e,
        ScriptVersionCache: () => FG,
        Session: () => SPe,
        TextStorage: () => P_e,
        ThrottledOperations: () => C_e,
        TypingsInstallerAdapter: () => DPe,
        allFilesAreJsOrDts: () => O_e,
        allRootFilesAreJsOrDts: () => F_e,
        asNormalizedPath: () => Bwe,
        convertCompilerOptions: () => RL,
        convertFormatOptions: () => lE,
        convertScriptKindName: () => xG,
        convertTypeAcquisition: () => U_e,
        convertUserPreferences: () => q_e,
        convertWatchOptions: () => P8,
        countEachFileTypes: () => C8,
        createInstallTypingsRequest: () => v_e,
        createModuleSpecifierCache: () => sfe,
        createNormalizedPathMap: () => Jwe,
        createPackageJsonCache: () => afe,
        createSortedArray: () => k_e,
        emptyArray: () => Tl,
        findArgument: () => Bbe,
        formatDiagnosticToProtocol: () => N8,
        formatMessage: () => ofe,
        getBaseConfigFileName: () => lG,
        getDetailWatchInfo: () => DG,
        getLocationInNewDocument: () => _fe,
        hasArgument: () => jbe,
        hasNoTypeScriptSource: () => L_e,
        indent: () => fw,
        isBackgroundProject: () => D8,
        isConfigFile: () => nfe,
        isConfiguredProject: () => B0,
        isDynamicFileName: () => Jw,
        isExternalProject: () => E8,
        isInferredProject: () => cE,
        isInferredProjectName: () => b_e,
        isProjectDeferredClose: () => w8,
        makeAutoImportProviderProjectName: () => T_e,
        makeAuxiliaryProjectName: () => x_e,
        makeInferredProjectName: () => S_e,
        maxFileSize: () => fG,
        maxProgramSizeForNonTsFiles: () => _G,
        normalizedPathToPath: () => oE,
        nowString: () => Jbe,
        nullCancellationToken: () => uPe,
        nullTypingsInstaller: () => jL,
        protocol: () => D_e,
        scriptInfoIsContainedByBackgroundProject: () => A_e,
        scriptInfoIsContainedByDeferredClosedProject: () => I_e,
        stringifyIndented: () => vv,
        toEvent: () => cfe,
        toNormalizedPath: () => ro,
        tryConvertScriptKindName: () => TG,
        typingsInstaller: () => g_e,
        updateProjectIfDirty: () => Mp
      });
      var g_e = {};
      Ta(g_e, {
        TypingsInstaller: () => uKe,
        getNpmCommandForInstallation: () => Rwe,
        installNpmPackages: () => lKe,
        typingsName: () => jwe
      });
      var cKe = {
        isEnabled: () => !1,
        writeLine: Ua
      };
      function Mwe(e, t, n, i) {
        try {
          const s = WS(t, An(e, "index.d.ts"), {
            moduleResolution: 2
            /* Node10 */
          }, n);
          return s.resolvedModule && s.resolvedModule.resolvedFileName;
        } catch (s) {
          i.isEnabled() && i.writeLine(`Failed to resolve ${t} in folder '${e}': ${s.message}`);
          return;
        }
      }
      function lKe(e, t, n, i) {
        let s = !1;
        for (let o = n.length; o > 0; ) {
          const c = Rwe(e, t, n, o);
          o = c.remaining, s = i(c.command) || s;
        }
        return s;
      }
      function Rwe(e, t, n, i) {
        const s = n.length - i;
        let o, c = i;
        for (; o = `${e} install --ignore-scripts ${(c === n.length ? n : n.slice(s, s + c)).join(" ")} --save-dev --user-agent="typesInstaller/${t}"`, !(o.length < 8e3); )
          c = c - Math.floor(c / 2);
        return { command: o, remaining: i - c };
      }
      var uKe = class {
        constructor(e, t, n, i, s, o = cKe) {
          this.installTypingHost = e, this.globalCachePath = t, this.safeListPath = n, this.typesMapLocation = i, this.throttleLimit = s, this.log = o, this.packageNameToTypingLocation = /* @__PURE__ */ new Map(), this.missingTypingsSet = /* @__PURE__ */ new Set(), this.knownCachesSet = /* @__PURE__ */ new Set(), this.projectWatchers = /* @__PURE__ */ new Map(), this.pendingRunRequests = [], this.installRunCount = 1, this.inFlightRequestCount = 0, this.latestDistTag = "latest", this.log.isEnabled() && this.log.writeLine(`Global cache location '${t}', safe file path '${n}', types map path ${i}`), this.processCacheLocation(this.globalCachePath);
        }
        /** @internal */
        handleRequest(e) {
          switch (e.kind) {
            case "discover":
              this.install(e);
              break;
            case "closeProject":
              this.closeProject(e);
              break;
            case "typesRegistry": {
              const t = {};
              this.typesRegistry.forEach((i, s) => {
                t[s] = i;
              });
              const n = { kind: tU, typesRegistry: t };
              this.sendResponse(n);
              break;
            }
            case "installPackage": {
              this.installPackage(e);
              break;
            }
            default:
              E.assertNever(e);
          }
        }
        closeProject(e) {
          this.closeWatchers(e.projectName);
        }
        closeWatchers(e) {
          if (this.log.isEnabled() && this.log.writeLine(`Closing file watchers for project '${e}'`), !this.projectWatchers.get(e)) {
            this.log.isEnabled() && this.log.writeLine(`No watchers are registered for project '${e}'`);
            return;
          }
          this.projectWatchers.delete(e), this.sendResponse({ kind: CA, projectName: e, files: [] }), this.log.isEnabled() && this.log.writeLine(`Closing file watchers for project '${e}' - done.`);
        }
        install(e) {
          this.log.isEnabled() && this.log.writeLine(`Got install request${vv(e)}`), e.cachePath && (this.log.isEnabled() && this.log.writeLine(`Request specifies cache path '${e.cachePath}', loading cached information...`), this.processCacheLocation(e.cachePath)), this.safeList === void 0 && this.initializeSafeList();
          const t = f1.discoverTypings(
            this.installTypingHost,
            this.log.isEnabled() ? (n) => this.log.writeLine(n) : void 0,
            e.fileNames,
            e.projectRootPath,
            this.safeList,
            this.packageNameToTypingLocation,
            e.typeAcquisition,
            e.unresolvedImports,
            this.typesRegistry,
            e.compilerOptions
          );
          this.watchFiles(e.projectName, t.filesToWatch), t.newTypingNames.length ? this.installTypings(e, e.cachePath || this.globalCachePath, t.cachedTypingPaths, t.newTypingNames) : (this.sendResponse(this.createSetTypings(e, t.cachedTypingPaths)), this.log.isEnabled() && this.log.writeLine("No new typings were requested as a result of typings discovery"));
        }
        /** @internal */
        installPackage(e) {
          const { fileName: t, packageName: n, projectName: i, projectRootPath: s, id: o } = e, c = m4(Un(t), (_) => {
            if (this.installTypingHost.fileExists(An(_, "package.json")))
              return _;
          }) || s;
          if (c)
            this.installWorker(-1, [n], c, (_) => {
              const u = _ ? `Package ${n} installed.` : `There was an error installing ${n}.`, g = {
                kind: i9,
                projectName: i,
                id: o,
                success: _,
                message: u
              };
              this.sendResponse(g);
            });
          else {
            const _ = {
              kind: i9,
              projectName: i,
              id: o,
              success: !1,
              message: "Could not determine a project root path."
            };
            this.sendResponse(_);
          }
        }
        initializeSafeList() {
          if (this.typesMapLocation) {
            const e = f1.loadTypesMap(this.installTypingHost, this.typesMapLocation);
            if (e) {
              this.log.writeLine(`Loaded safelist from types map file '${this.typesMapLocation}'`), this.safeList = e;
              return;
            }
            this.log.writeLine(`Failed to load safelist from types map file '${this.typesMapLocation}'`);
          }
          this.safeList = f1.loadSafeList(this.installTypingHost, this.safeListPath);
        }
        processCacheLocation(e) {
          if (this.log.isEnabled() && this.log.writeLine(`Processing cache location '${e}'`), this.knownCachesSet.has(e)) {
            this.log.isEnabled() && this.log.writeLine("Cache location was already processed...");
            return;
          }
          const t = An(e, "package.json"), n = An(e, "package-lock.json");
          if (this.log.isEnabled() && this.log.writeLine(`Trying to find '${t}'...`), this.installTypingHost.fileExists(t) && this.installTypingHost.fileExists(n)) {
            const i = JSON.parse(this.installTypingHost.readFile(t)), s = JSON.parse(this.installTypingHost.readFile(n));
            if (this.log.isEnabled() && (this.log.writeLine(`Loaded content of '${t}':${vv(i)}`), this.log.writeLine(`Loaded content of '${n}':${vv(s)}`)), i.devDependencies && s.dependencies)
              for (const o in i.devDependencies) {
                if (!ao(s.dependencies, o))
                  continue;
                const c = Qc(o);
                if (!c)
                  continue;
                const _ = Mwe(e, c, this.installTypingHost, this.log);
                if (!_) {
                  this.missingTypingsSet.add(c);
                  continue;
                }
                const u = this.packageNameToTypingLocation.get(c);
                if (u) {
                  if (u.typingLocation === _)
                    continue;
                  this.log.isEnabled() && this.log.writeLine(`New typing for package ${c} from '${_}' conflicts with existing typing file '${u}'`);
                }
                this.log.isEnabled() && this.log.writeLine(`Adding entry into typings cache: '${c}' => '${_}'`);
                const g = zI(s.dependencies, o), m = g && g.version;
                if (!m)
                  continue;
                const h = { typingLocation: _, version: new ld(m) };
                this.packageNameToTypingLocation.set(c, h);
              }
          }
          this.log.isEnabled() && this.log.writeLine(`Finished processing cache location '${e}'`), this.knownCachesSet.add(e);
        }
        filterTypings(e) {
          return Oi(e, (t) => {
            const n = I6(t);
            if (this.missingTypingsSet.has(n)) {
              this.log.isEnabled() && this.log.writeLine(`'${t}':: '${n}' is in missingTypingsSet - skipping...`);
              return;
            }
            const i = f1.validatePackageName(t);
            if (i !== f1.NameValidationResult.Ok) {
              this.missingTypingsSet.add(n), this.log.isEnabled() && this.log.writeLine(f1.renderPackageNameValidationFailure(i, t));
              return;
            }
            if (!this.typesRegistry.has(n)) {
              this.log.isEnabled() && this.log.writeLine(`'${t}':: Entry for package '${n}' does not exist in local types registry - skipping...`);
              return;
            }
            if (this.packageNameToTypingLocation.get(n) && f1.isTypingUpToDate(this.packageNameToTypingLocation.get(n), this.typesRegistry.get(n))) {
              this.log.isEnabled() && this.log.writeLine(`'${t}':: '${n}' already has an up-to-date typing - skipping...`);
              return;
            }
            return n;
          });
        }
        ensurePackageDirectoryExists(e) {
          const t = An(e, "package.json");
          this.log.isEnabled() && this.log.writeLine(`Npm config file: ${t}`), this.installTypingHost.fileExists(t) || (this.log.isEnabled() && this.log.writeLine(`Npm config file: '${t}' is missing, creating new one...`), this.ensureDirectoryExists(e, this.installTypingHost), this.installTypingHost.writeFile(t, '{ "private": true }'));
        }
        installTypings(e, t, n, i) {
          this.log.isEnabled() && this.log.writeLine(`Installing typings ${JSON.stringify(i)}`);
          const s = this.filterTypings(i);
          if (s.length === 0) {
            this.log.isEnabled() && this.log.writeLine("All typings are known to be missing or invalid - no need to install more typings"), this.sendResponse(this.createSetTypings(e, n));
            return;
          }
          this.ensurePackageDirectoryExists(t);
          const o = this.installRunCount;
          this.installRunCount++, this.sendResponse({
            kind: rU,
            eventId: o,
            typingsInstallerVersion: Gf,
            projectName: e.projectName
          });
          const c = s.map(jwe);
          this.installTypingsAsync(o, c, t, (_) => {
            try {
              if (!_) {
                this.log.isEnabled() && this.log.writeLine(`install request failed, marking packages as missing to prevent repeated requests: ${JSON.stringify(s)}`);
                for (const g of s)
                  this.missingTypingsSet.add(g);
                return;
              }
              this.log.isEnabled() && this.log.writeLine(`Installed typings ${JSON.stringify(c)}`);
              const u = [];
              for (const g of s) {
                const m = Mwe(t, g, this.installTypingHost, this.log);
                if (!m) {
                  this.missingTypingsSet.add(g);
                  continue;
                }
                const h = this.typesRegistry.get(g), S = new ld(h[`ts${K2}`] || h[this.latestDistTag]), T = { typingLocation: m, version: S };
                this.packageNameToTypingLocation.set(g, T), u.push(m);
              }
              this.log.isEnabled() && this.log.writeLine(`Installed typing files ${JSON.stringify(u)}`), this.sendResponse(this.createSetTypings(e, n.concat(u)));
            } finally {
              const u = {
                kind: nU,
                eventId: o,
                projectName: e.projectName,
                packagesToInstall: c,
                installSuccess: _,
                typingsInstallerVersion: Gf
              };
              this.sendResponse(u);
            }
          });
        }
        ensureDirectoryExists(e, t) {
          const n = Un(e);
          t.directoryExists(n) || this.ensureDirectoryExists(n, t), t.directoryExists(e) || t.createDirectory(e);
        }
        watchFiles(e, t) {
          if (!t.length) {
            this.closeWatchers(e);
            return;
          }
          const n = this.projectWatchers.get(e), i = new Set(t);
          !n || Fg(i, (s) => !n.has(s)) || Fg(n, (s) => !i.has(s)) ? (this.projectWatchers.set(e, i), this.sendResponse({ kind: CA, projectName: e, files: t })) : this.sendResponse({ kind: CA, projectName: e, files: void 0 });
        }
        createSetTypings(e, t) {
          return {
            projectName: e.projectName,
            typeAcquisition: e.typeAcquisition,
            compilerOptions: e.compilerOptions,
            typings: t,
            unresolvedImports: e.unresolvedImports,
            kind: r9
          };
        }
        installTypingsAsync(e, t, n, i) {
          this.pendingRunRequests.unshift({ requestId: e, packageNames: t, cwd: n, onRequestCompleted: i }), this.executeWithThrottling();
        }
        executeWithThrottling() {
          for (; this.inFlightRequestCount < this.throttleLimit && this.pendingRunRequests.length; ) {
            this.inFlightRequestCount++;
            const e = this.pendingRunRequests.pop();
            this.installWorker(e.requestId, e.packageNames, e.cwd, (t) => {
              this.inFlightRequestCount--, e.onRequestCompleted(t), this.executeWithThrottling();
            });
          }
        }
      };
      function jwe(e) {
        return `@types/${e}@ts${K2}`;
      }
      var h_e = /* @__PURE__ */ ((e) => (e[e.terse = 0] = "terse", e[e.normal = 1] = "normal", e[e.requestTime = 2] = "requestTime", e[e.verbose = 3] = "verbose", e))(h_e || {}), Tl = k_e(), y_e = /* @__PURE__ */ ((e) => (e.Err = "Err", e.Info = "Info", e.Perf = "Perf", e))(y_e || {});
      function v_e(e, t, n, i) {
        return {
          projectName: e.getProjectName(),
          fileNames: e.getFileNames(
            /*excludeFilesFromExternalLibraries*/
            !0,
            /*excludeConfigFiles*/
            !0
          ).concat(e.getExcludedFiles()),
          compilerOptions: e.getCompilationSettings(),
          typeAcquisition: t,
          unresolvedImports: n,
          projectRootPath: e.getCurrentDirectory(),
          cachePath: i,
          kind: "discover"
        };
      }
      var Uh;
      ((e) => {
        function t() {
          throw new Error("No Project.");
        }
        e.ThrowNoProject = t;
        function n() {
          throw new Error("The project's language service is disabled.");
        }
        e.ThrowProjectLanguageServiceDisabled = n;
        function i(s, o) {
          throw new Error(`Project '${o.getProjectName()}' does not contain document '${s}'`);
        }
        e.ThrowProjectDoesNotContainDocument = i;
      })(Uh || (Uh = {}));
      function ro(e) {
        return Gs(e);
      }
      function oE(e, t, n) {
        const i = V_(e) ? e : Xi(e, t);
        return n(i);
      }
      function Bwe(e) {
        return e;
      }
      function Jwe() {
        const e = /* @__PURE__ */ new Map();
        return {
          get(t) {
            return e.get(t);
          },
          set(t, n) {
            e.set(t, n);
          },
          contains(t) {
            return e.has(t);
          },
          remove(t) {
            e.delete(t);
          }
        };
      }
      function b_e(e) {
        return /dev\/null\/inferredProject\d+\*/.test(e);
      }
      function S_e(e) {
        return `/dev/null/inferredProject${e}*`;
      }
      function T_e(e) {
        return `/dev/null/autoImportProviderProject${e}*`;
      }
      function x_e(e) {
        return `/dev/null/auxiliaryProject${e}*`;
      }
      function k_e() {
        return [];
      }
      var C_e = class C5e {
        constructor(t, n) {
          this.host = t, this.pendingTimeouts = /* @__PURE__ */ new Map(), this.logger = n.hasLevel(
            3
            /* verbose */
          ) ? n : void 0;
        }
        /**
         * Wait `number` milliseconds and then invoke `cb`.  If, while waiting, schedule
         * is called again with the same `operationId`, cancel this operation in favor
         * of the new one.  (Note that the amount of time the canceled operation had been
         * waiting does not affect the amount of time that the new operation waits.)
         */
        schedule(t, n, i) {
          const s = this.pendingTimeouts.get(t);
          s && this.host.clearTimeout(s), this.pendingTimeouts.set(t, this.host.setTimeout(C5e.run, n, t, this, i)), this.logger && this.logger.info(`Scheduled: ${t}${s ? ", Cancelled earlier one" : ""}`);
        }
        cancel(t) {
          const n = this.pendingTimeouts.get(t);
          return n ? (this.host.clearTimeout(n), this.pendingTimeouts.delete(t)) : !1;
        }
        static run(t, n, i) {
          n.pendingTimeouts.delete(t), n.logger && n.logger.info(`Running: ${t}`), i();
        }
      }, E_e = class E5e {
        constructor(t, n, i) {
          this.host = t, this.delay = n, this.logger = i;
        }
        scheduleCollect() {
          !this.host.gc || this.timerId !== void 0 || (this.timerId = this.host.setTimeout(E5e.run, this.delay, this));
        }
        static run(t) {
          t.timerId = void 0;
          const n = t.logger.hasLevel(
            2
            /* requestTime */
          ), i = n && t.host.getMemoryUsage();
          if (t.host.gc(), n) {
            const s = t.host.getMemoryUsage();
            t.logger.perftrc(`GC::before ${i}, after ${s}`);
          }
        }
      };
      function lG(e) {
        const t = Qc(e);
        return t === "tsconfig.json" || t === "jsconfig.json" ? t : void 0;
      }
      var D_e = {};
      Ta(D_e, {
        ClassificationType: () => cU,
        CommandTypes: () => w_e,
        CompletionTriggerKind: () => aU,
        IndentStyle: () => Uwe,
        JsxEmit: () => qwe,
        ModuleKind: () => Hwe,
        ModuleResolutionKind: () => Gwe,
        NewLineKind: () => $we,
        OrganizeImportsMode: () => sU,
        PollingWatchKind: () => Vwe,
        ScriptTarget: () => Xwe,
        SemicolonPreference: () => oU,
        WatchDirectoryKind: () => Wwe,
        WatchFileKind: () => zwe
      });
      var w_e = /* @__PURE__ */ ((e) => (e.JsxClosingTag = "jsxClosingTag", e.LinkedEditingRange = "linkedEditingRange", e.Brace = "brace", e.BraceFull = "brace-full", e.BraceCompletion = "braceCompletion", e.GetSpanOfEnclosingComment = "getSpanOfEnclosingComment", e.Change = "change", e.Close = "close", e.Completions = "completions", e.CompletionInfo = "completionInfo", e.CompletionsFull = "completions-full", e.CompletionDetails = "completionEntryDetails", e.CompletionDetailsFull = "completionEntryDetails-full", e.CompileOnSaveAffectedFileList = "compileOnSaveAffectedFileList", e.CompileOnSaveEmitFile = "compileOnSaveEmitFile", e.Configure = "configure", e.Definition = "definition", e.DefinitionFull = "definition-full", e.DefinitionAndBoundSpan = "definitionAndBoundSpan", e.DefinitionAndBoundSpanFull = "definitionAndBoundSpan-full", e.Implementation = "implementation", e.ImplementationFull = "implementation-full", e.EmitOutput = "emit-output", e.Exit = "exit", e.FileReferences = "fileReferences", e.FileReferencesFull = "fileReferences-full", e.Format = "format", e.Formatonkey = "formatonkey", e.FormatFull = "format-full", e.FormatonkeyFull = "formatonkey-full", e.FormatRangeFull = "formatRange-full", e.Geterr = "geterr", e.GeterrForProject = "geterrForProject", e.SemanticDiagnosticsSync = "semanticDiagnosticsSync", e.SyntacticDiagnosticsSync = "syntacticDiagnosticsSync", e.SuggestionDiagnosticsSync = "suggestionDiagnosticsSync", e.NavBar = "navbar", e.NavBarFull = "navbar-full", e.Navto = "navto", e.NavtoFull = "navto-full", e.NavTree = "navtree", e.NavTreeFull = "navtree-full", e.DocumentHighlights = "documentHighlights", e.DocumentHighlightsFull = "documentHighlights-full", e.Open = "open", e.Quickinfo = "quickinfo", e.QuickinfoFull = "quickinfo-full", e.References = "references", e.ReferencesFull = "references-full", e.Reload = "reload", e.Rename = "rename", e.RenameInfoFull = "rename-full", e.RenameLocationsFull = "renameLocations-full", e.Saveto = "saveto", e.SignatureHelp = "signatureHelp", e.SignatureHelpFull = "signatureHelp-full", e.FindSourceDefinition = "findSourceDefinition", e.Status = "status", e.TypeDefinition = "typeDefinition", e.ProjectInfo = "projectInfo", e.ReloadProjects = "reloadProjects", e.Unknown = "unknown", e.OpenExternalProject = "openExternalProject", e.OpenExternalProjects = "openExternalProjects", e.CloseExternalProject = "closeExternalProject", e.SynchronizeProjectList = "synchronizeProjectList", e.ApplyChangedToOpenFiles = "applyChangedToOpenFiles", e.UpdateOpen = "updateOpen", e.EncodedSyntacticClassificationsFull = "encodedSyntacticClassifications-full", e.EncodedSemanticClassificationsFull = "encodedSemanticClassifications-full", e.Cleanup = "cleanup", e.GetOutliningSpans = "getOutliningSpans", e.GetOutliningSpansFull = "outliningSpans", e.TodoComments = "todoComments", e.Indentation = "indentation", e.DocCommentTemplate = "docCommentTemplate", e.CompilerOptionsDiagnosticsFull = "compilerOptionsDiagnostics-full", e.NameOrDottedNameSpan = "nameOrDottedNameSpan", e.BreakpointStatement = "breakpointStatement", e.CompilerOptionsForInferredProjects = "compilerOptionsForInferredProjects", e.GetCodeFixes = "getCodeFixes", e.GetCodeFixesFull = "getCodeFixes-full", e.GetCombinedCodeFix = "getCombinedCodeFix", e.GetCombinedCodeFixFull = "getCombinedCodeFix-full", e.ApplyCodeActionCommand = "applyCodeActionCommand", e.GetSupportedCodeFixes = "getSupportedCodeFixes", e.GetApplicableRefactors = "getApplicableRefactors", e.GetEditsForRefactor = "getEditsForRefactor", e.GetMoveToRefactoringFileSuggestions = "getMoveToRefactoringFileSuggestions", e.PreparePasteEdits = "preparePasteEdits", e.GetPasteEdits = "getPasteEdits", e.GetEditsForRefactorFull = "getEditsForRefactor-full", e.OrganizeImports = "organizeImports", e.OrganizeImportsFull = "organizeImports-full", e.GetEditsForFileRename = "getEditsForFileRename", e.GetEditsForFileRenameFull = "getEditsForFileRename-full", e.ConfigurePlugin = "configurePlugin", e.SelectionRange = "selectionRange", e.SelectionRangeFull = "selectionRange-full", e.ToggleLineComment = "toggleLineComment", e.ToggleLineCommentFull = "toggleLineComment-full", e.ToggleMultilineComment = "toggleMultilineComment", e.ToggleMultilineCommentFull = "toggleMultilineComment-full", e.CommentSelection = "commentSelection", e.CommentSelectionFull = "commentSelection-full", e.UncommentSelection = "uncommentSelection", e.UncommentSelectionFull = "uncommentSelection-full", e.PrepareCallHierarchy = "prepareCallHierarchy", e.ProvideCallHierarchyIncomingCalls = "provideCallHierarchyIncomingCalls", e.ProvideCallHierarchyOutgoingCalls = "provideCallHierarchyOutgoingCalls", e.ProvideInlayHints = "provideInlayHints", e.WatchChange = "watchChange", e.MapCode = "mapCode", e.CopilotRelated = "copilotRelated", e))(w_e || {}), zwe = /* @__PURE__ */ ((e) => (e.FixedPollingInterval = "FixedPollingInterval", e.PriorityPollingInterval = "PriorityPollingInterval", e.DynamicPriorityPolling = "DynamicPriorityPolling", e.FixedChunkSizePolling = "FixedChunkSizePolling", e.UseFsEvents = "UseFsEvents", e.UseFsEventsOnParentDirectory = "UseFsEventsOnParentDirectory", e))(zwe || {}), Wwe = /* @__PURE__ */ ((e) => (e.UseFsEvents = "UseFsEvents", e.FixedPollingInterval = "FixedPollingInterval", e.DynamicPriorityPolling = "DynamicPriorityPolling", e.FixedChunkSizePolling = "FixedChunkSizePolling", e))(Wwe || {}), Vwe = /* @__PURE__ */ ((e) => (e.FixedInterval = "FixedInterval", e.PriorityInterval = "PriorityInterval", e.DynamicPriority = "DynamicPriority", e.FixedChunkSize = "FixedChunkSize", e))(Vwe || {}), Uwe = /* @__PURE__ */ ((e) => (e.None = "None", e.Block = "Block", e.Smart = "Smart", e))(Uwe || {}), qwe = /* @__PURE__ */ ((e) => (e.None = "none", e.Preserve = "preserve", e.ReactNative = "react-native", e.React = "react", e.ReactJSX = "react-jsx", e.ReactJSXDev = "react-jsxdev", e))(qwe || {}), Hwe = /* @__PURE__ */ ((e) => (e.None = "none", e.CommonJS = "commonjs", e.AMD = "amd", e.UMD = "umd", e.System = "system", e.ES6 = "es6", e.ES2015 = "es2015", e.ES2020 = "es2020", e.ES2022 = "es2022", e.ESNext = "esnext", e.Node16 = "node16", e.Node18 = "node18", e.NodeNext = "nodenext", e.Preserve = "preserve", e))(Hwe || {}), Gwe = /* @__PURE__ */ ((e) => (e.Classic = "classic", e.Node = "node", e.NodeJs = "node", e.Node10 = "node10", e.Node16 = "node16", e.NodeNext = "nodenext", e.Bundler = "bundler", e))(Gwe || {}), $we = /* @__PURE__ */ ((e) => (e.Crlf = "Crlf", e.Lf = "Lf", e))($we || {}), Xwe = /* @__PURE__ */ ((e) => (e.ES3 = "es3", e.ES5 = "es5", e.ES6 = "es6", e.ES2015 = "es2015", e.ES2016 = "es2016", e.ES2017 = "es2017", e.ES2018 = "es2018", e.ES2019 = "es2019", e.ES2020 = "es2020", e.ES2021 = "es2021", e.ES2022 = "es2022", e.ES2023 = "es2023", e.ES2024 = "es2024", e.ESNext = "esnext", e.JSON = "json", e.Latest = "esnext", e))(Xwe || {}), P_e = class {
        constructor(e, t, n) {
          this.host = e, this.info = t, this.isOpen = !1, this.ownFileText = !1, this.pendingReloadFromDisk = !1, this.version = n || 0;
        }
        getVersion() {
          return this.svc ? `SVC-${this.version}-${this.svc.getSnapshotVersion()}` : `Text-${this.version}`;
        }
        hasScriptVersionCache_TestOnly() {
          return this.svc !== void 0;
        }
        resetSourceMapInfo() {
          this.info.sourceFileLike = void 0, this.info.closeSourceMapFileWatcher(), this.info.sourceMapFilePath = void 0, this.info.declarationInfoPath = void 0, this.info.sourceInfos = void 0, this.info.documentPositionMapper = void 0;
        }
        /** Public for testing */
        useText(e) {
          this.svc = void 0, this.text = e, this.textSnapshot = void 0, this.lineMap = void 0, this.fileSize = void 0, this.resetSourceMapInfo(), this.version++;
        }
        edit(e, t, n) {
          this.switchToScriptVersionCache().edit(e, t - e, n), this.ownFileText = !1, this.text = void 0, this.textSnapshot = void 0, this.lineMap = void 0, this.fileSize = void 0, this.resetSourceMapInfo();
        }
        /**
         * Set the contents as newText
         * returns true if text changed
         */
        reload(e) {
          return E.assert(e !== void 0), this.pendingReloadFromDisk = !1, !this.text && this.svc && (this.text = ck(this.svc.getSnapshot())), this.text !== e ? (this.useText(e), this.ownFileText = !1, !0) : !1;
        }
        /**
         * Reads the contents from tempFile(if supplied) or own file and sets it as contents
         * returns true if text changed
         */
        reloadWithFileText(e) {
          const { text: t, fileSize: n } = e || !this.info.isDynamicOrHasMixedContent() ? this.getFileTextAndSize(e) : { text: "", fileSize: void 0 }, i = this.reload(t);
          return this.fileSize = n, this.ownFileText = !e || e === this.info.fileName, this.ownFileText && this.info.mTime === W_.getTime() && (this.info.mTime = (this.host.getModifiedTime(this.info.fileName) || W_).getTime()), i;
        }
        /**
         * Schedule reload from the disk if its not already scheduled and its not own text
         * returns true when scheduling reload
         */
        scheduleReloadIfNeeded() {
          return !this.pendingReloadFromDisk && !this.ownFileText ? this.pendingReloadFromDisk = !0 : !1;
        }
        delayReloadFromFileIntoText() {
          this.pendingReloadFromDisk = !0;
        }
        /**
         * For telemetry purposes, we would like to be able to report the size of the file.
         * However, we do not want telemetry to require extra file I/O so we report a size
         * that may be stale (e.g. may not reflect change made on disk since the last reload).
         * NB: Will read from disk if the file contents have never been loaded because
         * telemetry falsely indicating size 0 would be counter-productive.
         */
        getTelemetryFileSize() {
          return this.fileSize ? this.fileSize : this.text ? this.text.length : this.svc ? this.svc.getSnapshot().getLength() : this.getSnapshot().getLength();
        }
        getSnapshot() {
          var e;
          return ((e = this.tryUseScriptVersionCache()) == null ? void 0 : e.getSnapshot()) || (this.textSnapshot ?? (this.textSnapshot = s9.fromString(E.checkDefined(this.text))));
        }
        getAbsolutePositionAndLineText(e) {
          const t = this.tryUseScriptVersionCache();
          if (t) return t.getAbsolutePositionAndLineText(e);
          const n = this.getLineMap();
          return e <= n.length ? {
            absolutePosition: n[e - 1],
            lineText: this.text.substring(n[e - 1], n[e])
          } : {
            absolutePosition: this.text.length,
            lineText: void 0
          };
        }
        /**
         *  @param line 0 based index
         */
        lineToTextSpan(e) {
          const t = this.tryUseScriptVersionCache();
          if (t) return t.lineToTextSpan(e);
          const n = this.getLineMap(), i = n[e], s = e + 1 < n.length ? n[e + 1] : this.text.length;
          return wc(i, s);
        }
        /**
         * @param line 1 based index
         * @param offset 1 based index
         */
        lineOffsetToPosition(e, t, n) {
          const i = this.tryUseScriptVersionCache();
          return i ? i.lineOffsetToPosition(e, t) : o7(this.getLineMap(), e - 1, t - 1, this.text, n);
        }
        positionToLineOffset(e) {
          const t = this.tryUseScriptVersionCache();
          if (t) return t.positionToLineOffset(e);
          const { line: n, character: i } = CC(this.getLineMap(), e);
          return { line: n + 1, offset: i + 1 };
        }
        getFileTextAndSize(e) {
          let t;
          const n = e || this.info.fileName, i = () => t === void 0 ? t = this.host.readFile(n) || "" : t;
          if (!CS(this.info.fileName)) {
            const s = this.host.getFileSize ? this.host.getFileSize(n) : i().length;
            if (s > fG)
              return E.assert(!!this.info.containingProjects.length), this.info.containingProjects[0].projectService.logger.info(`Skipped loading contents of large file ${n} for info ${this.info.fileName}: fileSize: ${s}`), this.info.containingProjects[0].projectService.sendLargeFileReferencedEvent(n, s), { text: "", fileSize: s };
          }
          return { text: i() };
        }
        /** @internal */
        switchToScriptVersionCache() {
          return (!this.svc || this.pendingReloadFromDisk) && (this.svc = FG.fromString(this.getOrLoadText()), this.textSnapshot = void 0, this.version++), this.svc;
        }
        tryUseScriptVersionCache() {
          return (!this.svc || this.pendingReloadFromDisk) && this.getOrLoadText(), this.isOpen ? (!this.svc && !this.textSnapshot && (this.svc = FG.fromString(E.checkDefined(this.text)), this.textSnapshot = void 0), this.svc) : this.svc;
        }
        getOrLoadText() {
          return (this.text === void 0 || this.pendingReloadFromDisk) && (E.assert(!this.svc || this.pendingReloadFromDisk, "ScriptVersionCache should not be set when reloading from disk"), this.reloadWithFileText()), this.text;
        }
        getLineMap() {
          return E.assert(!this.svc, "ScriptVersionCache should not be set"), this.lineMap || (this.lineMap = ZT(E.checkDefined(this.text)));
        }
        getLineInfo() {
          const e = this.tryUseScriptVersionCache();
          if (e)
            return {
              getLineCount: () => e.getLineCount(),
              getLineText: (n) => e.getAbsolutePositionAndLineText(n + 1).lineText
            };
          const t = this.getLineMap();
          return wW(this.text, t);
        }
      };
      function Jw(e) {
        return e[0] === "^" || (e.includes("walkThroughSnippet:/") || e.includes("untitled:/")) && Qc(e)[0] === "^" || e.includes(":^") && !e.includes(xo);
      }
      var N_e = class {
        constructor(e, t, n, i, s, o) {
          this.host = e, this.fileName = t, this.scriptKind = n, this.hasMixedContent = i, this.path = s, this.containingProjects = [], this.isDynamic = Jw(t), this.textStorage = new P_e(e, this, o), (i || this.isDynamic) && (this.realpath = this.path), this.scriptKind = n || G5(t);
        }
        /** @internal */
        isDynamicOrHasMixedContent() {
          return this.hasMixedContent || this.isDynamic;
        }
        isScriptOpen() {
          return this.textStorage.isOpen;
        }
        open(e) {
          this.textStorage.isOpen = !0, e !== void 0 && this.textStorage.reload(e) && this.markContainingProjectsAsDirty();
        }
        close(e = !0) {
          this.textStorage.isOpen = !1, e && this.textStorage.scheduleReloadIfNeeded() && this.markContainingProjectsAsDirty();
        }
        getSnapshot() {
          return this.textStorage.getSnapshot();
        }
        ensureRealPath() {
          if (this.realpath === void 0 && (this.realpath = this.path, this.host.realpath)) {
            E.assert(!!this.containingProjects.length);
            const e = this.containingProjects[0], t = this.host.realpath(this.path);
            t && (this.realpath = e.toPath(t), this.realpath !== this.path && e.projectService.realpathToScriptInfos.add(this.realpath, this));
          }
        }
        /** @internal */
        getRealpathIfDifferent() {
          return this.realpath && this.realpath !== this.path ? this.realpath : void 0;
        }
        /**
         * @internal
         * Does not compute realpath; uses precomputed result. Use `ensureRealPath`
         * first if a definite result is needed.
         */
        isSymlink() {
          return this.realpath && this.realpath !== this.path;
        }
        getFormatCodeSettings() {
          return this.formatSettings;
        }
        getPreferences() {
          return this.preferences;
        }
        attachToProject(e) {
          const t = !this.isAttached(e);
          return t && (this.containingProjects.push(e), e.getCompilerOptions().preserveSymlinks || this.ensureRealPath(), e.onFileAddedOrRemoved(this.isSymlink())), t;
        }
        isAttached(e) {
          switch (this.containingProjects.length) {
            case 0:
              return !1;
            case 1:
              return this.containingProjects[0] === e;
            case 2:
              return this.containingProjects[0] === e || this.containingProjects[1] === e;
            default:
              return _s(this.containingProjects, e);
          }
        }
        detachFromProject(e) {
          switch (this.containingProjects.length) {
            case 0:
              return;
            case 1:
              this.containingProjects[0] === e && (e.onFileAddedOrRemoved(this.isSymlink()), this.containingProjects.pop());
              break;
            case 2:
              this.containingProjects[0] === e ? (e.onFileAddedOrRemoved(this.isSymlink()), this.containingProjects[0] = this.containingProjects.pop()) : this.containingProjects[1] === e && (e.onFileAddedOrRemoved(this.isSymlink()), this.containingProjects.pop());
              break;
            default:
              i4(this.containingProjects, e) && e.onFileAddedOrRemoved(this.isSymlink());
              break;
          }
        }
        detachAllProjects() {
          for (const e of this.containingProjects) {
            B0(e) && e.getCachedDirectoryStructureHost().addOrDeleteFile(
              this.fileName,
              this.path,
              2
              /* Deleted */
            );
            const t = e.getRootFilesMap().get(this.path);
            e.removeFile(
              this,
              /*fileExists*/
              !1,
              /*detachFromProject*/
              !1
            ), e.onFileAddedOrRemoved(this.isSymlink()), t && !cE(e) && e.addMissingFileRoot(t.fileName);
          }
          bp(this.containingProjects);
        }
        getDefaultProject() {
          switch (this.containingProjects.length) {
            case 0:
              return Uh.ThrowNoProject();
            case 1:
              return w8(this.containingProjects[0]) || D8(this.containingProjects[0]) ? Uh.ThrowNoProject() : this.containingProjects[0];
            default:
              let e, t, n, i;
              for (let s = 0; s < this.containingProjects.length; s++) {
                const o = this.containingProjects[s];
                if (B0(o)) {
                  if (o.deferredClose) continue;
                  if (!o.isSourceOfProjectReferenceRedirect(this.fileName)) {
                    if (i === void 0 && s !== this.containingProjects.length - 1 && (i = o.projectService.findDefaultConfiguredProject(this) || !1), i === o) return o;
                    n || (n = o);
                  }
                  e || (e = o);
                } else {
                  if (E8(o))
                    return o;
                  !t && cE(o) && (t = o);
                }
              }
              return (i || n || e || t) ?? Uh.ThrowNoProject();
          }
        }
        registerFileUpdate() {
          for (const e of this.containingProjects)
            e.registerFileUpdate(this.path);
        }
        setOptions(e, t) {
          e && (this.formatSettings ? this.formatSettings = { ...this.formatSettings, ...e } : (this.formatSettings = a9(this.host.newLine), eS(this.formatSettings, e))), t && (this.preferences || (this.preferences = Op), this.preferences = { ...this.preferences, ...t });
        }
        getLatestVersion() {
          return this.textStorage.getSnapshot(), this.textStorage.getVersion();
        }
        saveTo(e) {
          this.host.writeFile(e, ck(this.textStorage.getSnapshot()));
        }
        /** @internal */
        delayReloadNonMixedContentFile() {
          E.assert(!this.isDynamicOrHasMixedContent()), this.textStorage.delayReloadFromFileIntoText(), this.markContainingProjectsAsDirty();
        }
        reloadFromFile(e) {
          return this.textStorage.reloadWithFileText(e) ? (this.markContainingProjectsAsDirty(), !0) : !1;
        }
        editContent(e, t, n) {
          this.textStorage.edit(e, t, n), this.markContainingProjectsAsDirty();
        }
        markContainingProjectsAsDirty() {
          for (const e of this.containingProjects)
            e.markFileAsDirty(this.path);
        }
        isOrphan() {
          return this.deferredDelete || !ar(this.containingProjects, (e) => !e.isOrphan());
        }
        /**
         *  @param line 1 based index
         */
        lineToTextSpan(e) {
          return this.textStorage.lineToTextSpan(e);
        }
        // eslint-disable-line @typescript-eslint/unified-signatures
        lineOffsetToPosition(e, t, n) {
          return this.textStorage.lineOffsetToPosition(e, t, n);
        }
        positionToLineOffset(e) {
          _Ke(e);
          const t = this.textStorage.positionToLineOffset(e);
          return fKe(t), t;
        }
        isJavaScript() {
          return this.scriptKind === 1 || this.scriptKind === 2;
        }
        /** @internal */
        closeSourceMapFileWatcher() {
          this.sourceMapFilePath && !cs(this.sourceMapFilePath) && (lp(this.sourceMapFilePath), this.sourceMapFilePath = void 0);
        }
      };
      function _Ke(e) {
        E.assert(typeof e == "number", `Expected position ${e} to be a number.`), E.assert(e >= 0, "Expected position to be non-negative.");
      }
      function fKe(e) {
        E.assert(typeof e.line == "number", `Expected line ${e.line} to be a number.`), E.assert(typeof e.offset == "number", `Expected offset ${e.offset} to be a number.`), E.assert(e.line > 0, `Expected line to be non-${e.line === 0 ? "zero" : "negative"}`), E.assert(e.offset > 0, `Expected offset to be non-${e.offset === 0 ? "zero" : "negative"}`);
      }
      function A_e(e) {
        return at(
          e.containingProjects,
          D8
        );
      }
      function I_e(e) {
        return at(
          e.containingProjects,
          w8
        );
      }
      var zw = /* @__PURE__ */ ((e) => (e[e.Inferred = 0] = "Inferred", e[e.Configured = 1] = "Configured", e[e.External = 2] = "External", e[e.AutoImportProvider = 3] = "AutoImportProvider", e[e.Auxiliary = 4] = "Auxiliary", e))(zw || {});
      function C8(e, t = !1) {
        const n = {
          js: 0,
          jsSize: 0,
          jsx: 0,
          jsxSize: 0,
          ts: 0,
          tsSize: 0,
          tsx: 0,
          tsxSize: 0,
          dts: 0,
          dtsSize: 0,
          deferred: 0,
          deferredSize: 0
        };
        for (const i of e) {
          const s = t ? i.textStorage.getTelemetryFileSize() : 0;
          switch (i.scriptKind) {
            case 1:
              n.js += 1, n.jsSize += s;
              break;
            case 2:
              n.jsx += 1, n.jsxSize += s;
              break;
            case 3:
              Sl(i.fileName) ? (n.dts += 1, n.dtsSize += s) : (n.ts += 1, n.tsSize += s);
              break;
            case 4:
              n.tsx += 1, n.tsxSize += s;
              break;
            case 7:
              n.deferred += 1, n.deferredSize += s;
              break;
          }
        }
        return n;
      }
      function pKe(e) {
        const t = C8(e.getScriptInfos());
        return t.js > 0 && t.ts === 0 && t.tsx === 0;
      }
      function F_e(e) {
        const t = C8(e.getRootScriptInfos());
        return t.ts === 0 && t.tsx === 0;
      }
      function O_e(e) {
        const t = C8(e.getScriptInfos());
        return t.ts === 0 && t.tsx === 0;
      }
      function L_e(e) {
        return !e.some((t) => Wo(
          t,
          ".ts"
          /* Ts */
        ) && !Sl(t) || Wo(
          t,
          ".tsx"
          /* Tsx */
        ));
      }
      function M_e(e) {
        return e.generatedFilePath !== void 0;
      }
      function Qwe(e, t) {
        if (e === t || (e || Tl).length === 0 && (t || Tl).length === 0)
          return !0;
        const n = /* @__PURE__ */ new Map();
        let i = 0;
        for (const s of e)
          n.get(s) !== !0 && (n.set(s, !0), i++);
        for (const s of t) {
          const o = n.get(s);
          if (o === void 0)
            return !1;
          o === !0 && (n.set(s, !1), i--);
        }
        return i === 0;
      }
      function dKe(e, t) {
        return e.enable !== t.enable || !Qwe(e.include, t.include) || !Qwe(e.exclude, t.exclude);
      }
      function mKe(e, t) {
        return Zy(e) !== Zy(t);
      }
      function gKe(e, t) {
        return e === t ? !1 : !Cf(e, t);
      }
      var Tk = class D5e {
        /** @internal */
        constructor(t, n, i, s, o, c, _, u, g, m) {
          switch (this.projectKind = n, this.projectService = i, this.compilerOptions = c, this.compileOnSaveEnabled = _, this.watchOptions = u, this.rootFilesMap = /* @__PURE__ */ new Map(), this.plugins = [], this.cachedUnresolvedImportsPerFile = /* @__PURE__ */ new Map(), this.hasAddedorRemovedFiles = !1, this.hasAddedOrRemovedSymlinks = !1, this.lastReportedVersion = 0, this.projectProgramVersion = 0, this.projectStateVersion = 0, this.initialLoadPending = !1, this.dirty = !1, this.typingFiles = Tl, this.moduleSpecifierCache = sfe(this), this.createHash = Ls(this.projectService.host, this.projectService.host.createHash), this.globalCacheResolutionModuleName = f1.nonRelativeModuleNameForTypingCache, this.updateFromProjectInProgress = !1, i.logger.info(`Creating ${zw[n]}Project: ${t}, currentDirectory: ${m}`), this.projectName = t, this.directoryStructureHost = g, this.currentDirectory = this.projectService.getNormalizedAbsolutePath(m), this.getCanonicalFileName = this.projectService.toCanonicalFileName, this.jsDocParsingMode = this.projectService.jsDocParsingMode, this.cancellationToken = new uce(this.projectService.cancellationToken, this.projectService.throttleWaitMilliseconds), this.compilerOptions ? (s || Zy(this.compilerOptions) || this.projectService.hasDeferredExtension()) && (this.compilerOptions.allowNonTsExtensions = !0) : (this.compilerOptions = cL(), this.compilerOptions.allowNonTsExtensions = !0, this.compilerOptions.allowJs = !0), i.serverMode) {
            case 0:
              this.languageServiceEnabled = !0;
              break;
            case 1:
              this.languageServiceEnabled = !0, this.compilerOptions.noResolve = !0, this.compilerOptions.types = [];
              break;
            case 2:
              this.languageServiceEnabled = !1, this.compilerOptions.noResolve = !0, this.compilerOptions.types = [];
              break;
            default:
              E.assertNever(i.serverMode);
          }
          this.setInternalCompilerOptionsForEmittingJsFiles();
          const h = this.projectService.host;
          this.projectService.logger.loggingEnabled() ? this.trace = (S) => this.writeLog(S) : h.trace && (this.trace = (S) => h.trace(S)), this.realpath = Ls(h, h.realpath), this.preferNonRecursiveWatch = this.projectService.canUseWatchEvents || h.preferNonRecursiveWatch, this.resolutionCache = kV(
            this,
            this.currentDirectory,
            /*logChangesWhenResolvingModule*/
            !0
          ), this.languageService = _ce(
            this,
            this.projectService.documentRegistry,
            this.projectService.serverMode
          ), o && this.disableLanguageService(o), this.markAsDirty(), D8(this) || (this.projectService.pendingEnsureProjectForOpenFiles = !0), this.projectService.onProjectCreation(this);
        }
        /** @internal */
        getResolvedProjectReferenceToRedirect(t) {
        }
        isNonTsProject() {
          return Mp(this), O_e(this);
        }
        isJsOnlyProject() {
          return Mp(this), pKe(this);
        }
        static resolveModule(t, n, i, s) {
          return D5e.importServicePluginSync({ name: t }, [n], i, s).resolvedModule;
        }
        /** @internal */
        static importServicePluginSync(t, n, i, s) {
          E.assertIsDefined(i.require);
          let o, c;
          for (const _ of n) {
            const u = Bl(i.resolvePath(An(_, "node_modules")));
            s(`Loading ${t.name} from ${_} (resolved to ${u})`);
            const g = i.require(u, t.name);
            if (!g.error) {
              c = g.module;
              break;
            }
            const m = g.error.stack || g.error.message || JSON.stringify(g.error);
            (o ?? (o = [])).push(`Failed to load module '${t.name}' from ${u}: ${m}`);
          }
          return { pluginConfigEntry: t, resolvedModule: c, errorLogs: o };
        }
        /** @internal */
        static async importServicePluginAsync(t, n, i, s) {
          E.assertIsDefined(i.importPlugin);
          let o, c;
          for (const _ of n) {
            const u = An(_, "node_modules");
            s(`Dynamically importing ${t.name} from ${_} (resolved to ${u})`);
            let g;
            try {
              g = await i.importPlugin(u, t.name);
            } catch (h) {
              g = { module: void 0, error: h };
            }
            if (!g.error) {
              c = g.module;
              break;
            }
            const m = g.error.stack || g.error.message || JSON.stringify(g.error);
            (o ?? (o = [])).push(`Failed to dynamically import module '${t.name}' from ${u}: ${m}`);
          }
          return { pluginConfigEntry: t, resolvedModule: c, errorLogs: o };
        }
        isKnownTypesPackageName(t) {
          return this.projectService.typingsInstaller.isKnownTypesPackageName(t);
        }
        installPackage(t) {
          return this.projectService.typingsInstaller.installPackage({ ...t, projectName: this.projectName, projectRootPath: this.toPath(this.currentDirectory) });
        }
        /** @internal */
        getGlobalTypingsCacheLocation() {
          return this.getTypeAcquisition().enable ? this.projectService.typingsInstaller.globalTypingsCacheLocation : void 0;
        }
        /** @internal */
        getSymlinkCache() {
          return this.symlinks || (this.symlinks = vJ(this.getCurrentDirectory(), this.getCanonicalFileName)), this.program && !this.symlinks.hasProcessedResolutions() && this.symlinks.setSymlinksFromResolutions(
            this.program.forEachResolvedModule,
            this.program.forEachResolvedTypeReferenceDirective,
            this.program.getAutomaticTypeDirectiveResolutions()
          ), this.symlinks;
        }
        // Method of LanguageServiceHost
        getCompilationSettings() {
          return this.compilerOptions;
        }
        // Method to support public API
        getCompilerOptions() {
          return this.getCompilationSettings();
        }
        getNewLine() {
          return this.projectService.host.newLine;
        }
        getProjectVersion() {
          return this.projectStateVersion.toString();
        }
        getProjectReferences() {
        }
        getScriptFileNames() {
          if (!this.rootFilesMap.size)
            return Ue;
          let t;
          return this.rootFilesMap.forEach((n) => {
            (this.languageServiceEnabled || n.info && n.info.isScriptOpen()) && (t || (t = [])).push(n.fileName);
          }), wn(t, this.typingFiles) || Ue;
        }
        getOrCreateScriptInfoAndAttachToProject(t) {
          const n = this.projectService.getOrCreateScriptInfoNotOpenedByClient(
            t,
            this.currentDirectory,
            this.directoryStructureHost,
            /*deferredDeleteOk*/
            !1
          );
          if (n) {
            const i = this.rootFilesMap.get(n.path);
            i && i.info !== n && (i.info = n), n.attachToProject(this);
          }
          return n;
        }
        getScriptKind(t) {
          const n = this.projectService.getScriptInfoForPath(this.toPath(t));
          return n && n.scriptKind;
        }
        getScriptVersion(t) {
          const n = this.projectService.getOrCreateScriptInfoNotOpenedByClient(
            t,
            this.currentDirectory,
            this.directoryStructureHost,
            /*deferredDeleteOk*/
            !1
          );
          return n && n.getLatestVersion();
        }
        getScriptSnapshot(t) {
          const n = this.getOrCreateScriptInfoAndAttachToProject(t);
          if (n)
            return n.getSnapshot();
        }
        getCancellationToken() {
          return this.cancellationToken;
        }
        getCurrentDirectory() {
          return this.currentDirectory;
        }
        getDefaultLibFileName() {
          const t = Un(Gs(this.projectService.getExecutingFilePath()));
          return An(t, BP(this.compilerOptions));
        }
        useCaseSensitiveFileNames() {
          return this.projectService.host.useCaseSensitiveFileNames;
        }
        readDirectory(t, n, i, s, o) {
          return this.directoryStructureHost.readDirectory(t, n, i, s, o);
        }
        readFile(t) {
          return this.projectService.host.readFile(t);
        }
        writeFile(t, n) {
          return this.projectService.host.writeFile(t, n);
        }
        fileExists(t) {
          const n = this.toPath(t);
          return !!this.projectService.getScriptInfoForPath(n) || !this.isWatchedMissingFile(n) && this.directoryStructureHost.fileExists(t);
        }
        /** @internal */
        resolveModuleNameLiterals(t, n, i, s, o, c) {
          return this.resolutionCache.resolveModuleNameLiterals(t, n, i, s, o, c);
        }
        /** @internal */
        getModuleResolutionCache() {
          return this.resolutionCache.getModuleResolutionCache();
        }
        /** @internal */
        resolveTypeReferenceDirectiveReferences(t, n, i, s, o, c) {
          return this.resolutionCache.resolveTypeReferenceDirectiveReferences(
            t,
            n,
            i,
            s,
            o,
            c
          );
        }
        /** @internal */
        resolveLibrary(t, n, i, s) {
          return this.resolutionCache.resolveLibrary(t, n, i, s);
        }
        directoryExists(t) {
          return this.directoryStructureHost.directoryExists(t);
        }
        getDirectories(t) {
          return this.directoryStructureHost.getDirectories(t);
        }
        /** @internal */
        getCachedDirectoryStructureHost() {
        }
        /** @internal */
        toPath(t) {
          return lo(t, this.currentDirectory, this.projectService.toCanonicalFileName);
        }
        /** @internal */
        watchDirectoryOfFailedLookupLocation(t, n, i) {
          return this.projectService.watchFactory.watchDirectory(
            t,
            n,
            i,
            this.projectService.getWatchOptions(this),
            Nl.FailedLookupLocations,
            this
          );
        }
        /** @internal */
        watchAffectingFileLocation(t, n) {
          return this.projectService.watchFactory.watchFile(
            t,
            n,
            2e3,
            this.projectService.getWatchOptions(this),
            Nl.AffectingFileLocation,
            this
          );
        }
        /** @internal */
        clearInvalidateResolutionOfFailedLookupTimer() {
          return this.projectService.throttledOperations.cancel(`${this.getProjectName()}FailedLookupInvalidation`);
        }
        /** @internal */
        scheduleInvalidateResolutionsOfFailedLookupLocations() {
          this.projectService.throttledOperations.schedule(
            `${this.getProjectName()}FailedLookupInvalidation`,
            /*delay*/
            1e3,
            () => {
              this.resolutionCache.invalidateResolutionsOfFailedLookupLocations() && this.projectService.delayUpdateProjectGraphAndEnsureProjectStructureForOpenFiles(this);
            }
          );
        }
        /** @internal */
        invalidateResolutionsOfFailedLookupLocations() {
          this.clearInvalidateResolutionOfFailedLookupTimer() && this.resolutionCache.invalidateResolutionsOfFailedLookupLocations() && (this.markAsDirty(), this.projectService.delayEnsureProjectForOpenFiles());
        }
        /** @internal */
        onInvalidatedResolution() {
          this.projectService.delayUpdateProjectGraphAndEnsureProjectStructureForOpenFiles(this);
        }
        /** @internal */
        watchTypeRootsDirectory(t, n, i) {
          return this.projectService.watchFactory.watchDirectory(
            t,
            n,
            i,
            this.projectService.getWatchOptions(this),
            Nl.TypeRoots,
            this
          );
        }
        /** @internal */
        hasChangedAutomaticTypeDirectiveNames() {
          return this.resolutionCache.hasChangedAutomaticTypeDirectiveNames();
        }
        /** @internal */
        onChangedAutomaticTypeDirectiveNames() {
          this.projectService.delayUpdateProjectGraphAndEnsureProjectStructureForOpenFiles(this);
        }
        /** @internal */
        fileIsOpen(t) {
          return this.projectService.openFiles.has(t);
        }
        /** @internal */
        writeLog(t) {
          this.projectService.logger.info(t);
        }
        log(t) {
          this.writeLog(t);
        }
        error(t) {
          this.projectService.logger.msg(
            t,
            "Err"
            /* Err */
          );
        }
        setInternalCompilerOptionsForEmittingJsFiles() {
          (this.projectKind === 0 || this.projectKind === 2) && (this.compilerOptions.noEmitForJsFiles = !0);
        }
        /**
         * Get the errors that dont have any file name associated
         */
        getGlobalProjectErrors() {
          return Tn(this.projectErrors, (t) => !t.file) || Tl;
        }
        /**
         * Get all the project errors
         */
        getAllProjectErrors() {
          return this.projectErrors || Tl;
        }
        setProjectErrors(t) {
          this.projectErrors = t;
        }
        getLanguageService(t = !0) {
          return t && Mp(this), this.languageService;
        }
        /** @internal */
        getSourceMapper() {
          return this.getLanguageService().getSourceMapper();
        }
        /** @internal */
        clearSourceMapperCache() {
          this.languageService.clearSourceMapperCache();
        }
        /** @internal */
        getDocumentPositionMapper(t, n) {
          return this.projectService.getDocumentPositionMapper(this, t, n);
        }
        /** @internal */
        getSourceFileLike(t) {
          return this.projectService.getSourceFileLike(t, this);
        }
        /** @internal */
        shouldEmitFile(t) {
          return t && !t.isDynamicOrHasMixedContent() && !this.program.isSourceOfProjectReferenceRedirect(t.path);
        }
        getCompileOnSaveAffectedFileList(t) {
          return this.languageServiceEnabled ? (Mp(this), this.builderState = Td.create(
            this.program,
            this.builderState,
            /*disableUseFileVersionAsSignature*/
            !0
          ), Oi(
            Td.getFilesAffectedBy(
              this.builderState,
              this.program,
              t.path,
              this.cancellationToken,
              this.projectService.host
            ),
            (n) => this.shouldEmitFile(this.projectService.getScriptInfoForPath(n.path)) ? n.fileName : void 0
          )) : [];
        }
        /**
         * Returns true if emit was conducted
         */
        emitFile(t, n) {
          if (!this.languageServiceEnabled || !this.shouldEmitFile(t))
            return { emitSkipped: !0, diagnostics: Tl };
          const { emitSkipped: i, diagnostics: s, outputFiles: o } = this.getLanguageService().getEmitOutput(t.fileName);
          if (!i) {
            for (const c of o) {
              const _ = Xi(c.name, this.currentDirectory);
              n(_, c.text, c.writeByteOrderMark);
            }
            if (this.builderState && w_(this.compilerOptions)) {
              const c = o.filter((_) => Sl(_.name));
              if (c.length === 1) {
                const _ = this.program.getSourceFile(t.fileName), u = this.projectService.host.createHash ? this.projectService.host.createHash(c[0].text) : f4(c[0].text);
                Td.updateSignatureOfFile(this.builderState, u, _.resolvedPath);
              }
            }
          }
          return { emitSkipped: i, diagnostics: s };
        }
        enableLanguageService() {
          this.languageServiceEnabled || this.projectService.serverMode === 2 || (this.languageServiceEnabled = !0, this.lastFileExceededProgramSize = void 0, this.projectService.onUpdateLanguageServiceStateForProject(
            this,
            /*languageServiceEnabled*/
            !0
          ));
        }
        /** @internal */
        cleanupProgram() {
          if (this.program) {
            for (const t of this.program.getSourceFiles())
              this.detachScriptInfoIfNotRoot(t.fileName);
            this.program.forEachResolvedProjectReference((t) => this.detachScriptInfoFromProject(t.sourceFile.fileName)), this.program = void 0;
          }
        }
        disableLanguageService(t) {
          this.languageServiceEnabled && (E.assert(
            this.projectService.serverMode !== 2
            /* Syntactic */
          ), this.languageService.cleanupSemanticCache(), this.languageServiceEnabled = !1, this.cleanupProgram(), this.lastFileExceededProgramSize = t, this.builderState = void 0, this.autoImportProviderHost && this.autoImportProviderHost.close(), this.autoImportProviderHost = void 0, this.resolutionCache.closeTypeRootsWatch(), this.clearGeneratedFileWatch(), this.projectService.verifyDocumentRegistry(), this.projectService.onUpdateLanguageServiceStateForProject(
            this,
            /*languageServiceEnabled*/
            !1
          ));
        }
        getProjectName() {
          return this.projectName;
        }
        removeLocalTypingsFromTypeAcquisition(t) {
          return !t.enable || !t.include ? t : { ...t, include: this.removeExistingTypings(t.include) };
        }
        getExternalFiles(t) {
          return J_(oa(this.plugins, (n) => {
            if (typeof n.module.getExternalFiles == "function")
              try {
                return n.module.getExternalFiles(
                  this,
                  t || 0
                  /* Update */
                );
              } catch (i) {
                this.projectService.logger.info(`A plugin threw an exception in getExternalFiles: ${i}`), i.stack && this.projectService.logger.info(i.stack);
              }
          }));
        }
        getSourceFile(t) {
          if (this.program)
            return this.program.getSourceFileByPath(t);
        }
        /** @internal */
        getSourceFileOrConfigFile(t) {
          const n = this.program.getCompilerOptions();
          return t === n.configFilePath ? n.configFile : this.getSourceFile(t);
        }
        close() {
          var t;
          this.typingsCache && this.projectService.typingsInstaller.onProjectClosed(this), this.typingsCache = void 0, this.closeWatchingTypingLocations(), this.cleanupProgram(), ar(this.externalFiles, (n) => this.detachScriptInfoIfNotRoot(n)), this.rootFilesMap.forEach((n) => {
            var i;
            return (i = n.info) == null ? void 0 : i.detachFromProject(this);
          }), this.projectService.pendingEnsureProjectForOpenFiles = !0, this.rootFilesMap = void 0, this.externalFiles = void 0, this.program = void 0, this.builderState = void 0, this.resolutionCache.clear(), this.resolutionCache = void 0, this.cachedUnresolvedImportsPerFile = void 0, (t = this.packageJsonWatches) == null || t.forEach((n) => {
            n.projects.delete(this), n.close();
          }), this.packageJsonWatches = void 0, this.moduleSpecifierCache.clear(), this.moduleSpecifierCache = void 0, this.directoryStructureHost = void 0, this.exportMapCache = void 0, this.projectErrors = void 0, this.plugins.length = 0, this.missingFilesMap && (D_(this.missingFilesMap, $p), this.missingFilesMap = void 0), this.clearGeneratedFileWatch(), this.clearInvalidateResolutionOfFailedLookupTimer(), this.autoImportProviderHost && this.autoImportProviderHost.close(), this.autoImportProviderHost = void 0, this.noDtsResolutionProject && this.noDtsResolutionProject.close(), this.noDtsResolutionProject = void 0, this.languageService.dispose(), this.languageService = void 0;
        }
        detachScriptInfoIfNotRoot(t) {
          const n = this.projectService.getScriptInfo(t);
          n && !this.isRoot(n) && n.detachFromProject(this);
        }
        isClosed() {
          return this.rootFilesMap === void 0;
        }
        hasRoots() {
          var t;
          return !!((t = this.rootFilesMap) != null && t.size);
        }
        /** @internal */
        isOrphan() {
          return !1;
        }
        getRootFiles() {
          return this.rootFilesMap && rs(Sy(this.rootFilesMap.values(), (t) => {
            var n;
            return (n = t.info) == null ? void 0 : n.fileName;
          }));
        }
        /** @internal */
        getRootFilesMap() {
          return this.rootFilesMap;
        }
        getRootScriptInfos() {
          return rs(Sy(this.rootFilesMap.values(), (t) => t.info));
        }
        getScriptInfos() {
          return this.languageServiceEnabled ? fr(this.program.getSourceFiles(), (t) => {
            const n = this.projectService.getScriptInfoForPath(t.resolvedPath);
            return E.assert(!!n, "getScriptInfo", () => `scriptInfo for a file '${t.fileName}' Path: '${t.path}' / '${t.resolvedPath}' is missing.`), n;
          }) : this.getRootScriptInfos();
        }
        getExcludedFiles() {
          return Tl;
        }
        getFileNames(t, n) {
          if (!this.program)
            return [];
          if (!this.languageServiceEnabled) {
            let s = this.getRootFiles();
            if (this.compilerOptions) {
              const o = fce(this.compilerOptions);
              o && (s || (s = [])).push(o);
            }
            return s;
          }
          const i = [];
          for (const s of this.program.getSourceFiles())
            t && this.program.isSourceFileFromExternalLibrary(s) || i.push(s.fileName);
          if (!n) {
            const s = this.program.getCompilerOptions().configFile;
            if (s && (i.push(s.fileName), s.extendedSourceFiles))
              for (const o of s.extendedSourceFiles)
                i.push(o);
          }
          return i;
        }
        /** @internal */
        getFileNamesWithRedirectInfo(t) {
          return this.getFileNames().map((n) => ({
            fileName: n,
            isSourceOfProjectReferenceRedirect: t && this.isSourceOfProjectReferenceRedirect(n)
          }));
        }
        hasConfigFile(t) {
          if (this.program && this.languageServiceEnabled) {
            const n = this.program.getCompilerOptions().configFile;
            if (n) {
              if (t === n.fileName)
                return !0;
              if (n.extendedSourceFiles) {
                for (const i of n.extendedSourceFiles)
                  if (t === i)
                    return !0;
              }
            }
          }
          return !1;
        }
        containsScriptInfo(t) {
          if (this.isRoot(t)) return !0;
          if (!this.program) return !1;
          const n = this.program.getSourceFileByPath(t.path);
          return !!n && n.resolvedPath === t.path;
        }
        containsFile(t, n) {
          const i = this.projectService.getScriptInfoForNormalizedPath(t);
          return i && (i.isScriptOpen() || !n) ? this.containsScriptInfo(i) : !1;
        }
        isRoot(t) {
          var n, i;
          return ((i = (n = this.rootFilesMap) == null ? void 0 : n.get(t.path)) == null ? void 0 : i.info) === t;
        }
        // add a root file to project
        addRoot(t, n) {
          E.assert(!this.isRoot(t)), this.rootFilesMap.set(t.path, { fileName: n || t.fileName, info: t }), t.attachToProject(this), this.markAsDirty();
        }
        // add a root file that doesnt exist on host
        addMissingFileRoot(t) {
          const n = this.projectService.toPath(t);
          this.rootFilesMap.set(n, { fileName: t }), this.markAsDirty();
        }
        removeFile(t, n, i) {
          this.isRoot(t) && this.removeRoot(t), n ? this.resolutionCache.removeResolutionsOfFile(t.path) : this.resolutionCache.invalidateResolutionOfFile(t.path), this.cachedUnresolvedImportsPerFile.delete(t.path), i && t.detachFromProject(this), this.markAsDirty();
        }
        registerFileUpdate(t) {
          (this.updatedFileNames || (this.updatedFileNames = /* @__PURE__ */ new Set())).add(t);
        }
        /** @internal */
        markFileAsDirty(t) {
          this.markAsDirty(), this.exportMapCache && !this.exportMapCache.isEmpty() && (this.changedFilesForExportMapCache || (this.changedFilesForExportMapCache = /* @__PURE__ */ new Set())).add(t);
        }
        /** @internal */
        markAsDirty() {
          this.dirty || (this.projectStateVersion++, this.dirty = !0);
        }
        /** @internal */
        markAutoImportProviderAsDirty() {
          var t;
          this.autoImportProviderHost || (this.autoImportProviderHost = void 0), (t = this.autoImportProviderHost) == null || t.markAsDirty();
        }
        /** @internal */
        onAutoImportProviderSettingsChanged() {
          this.markAutoImportProviderAsDirty();
        }
        /** @internal */
        onPackageJsonChange() {
          this.moduleSpecifierCache.clear(), this.markAutoImportProviderAsDirty();
        }
        /** @internal */
        onFileAddedOrRemoved(t) {
          this.hasAddedorRemovedFiles = !0, t && (this.hasAddedOrRemovedSymlinks = !0);
        }
        /** @internal */
        onDiscoveredSymlink() {
          this.hasAddedOrRemovedSymlinks = !0;
        }
        /** @internal */
        onReleaseOldSourceFile(t, n, i, s) {
          (!s || t.resolvedPath === t.path && s.resolvedPath !== t.path) && this.detachScriptInfoFromProject(t.fileName, i);
        }
        /** @internal */
        updateFromProject() {
          Mp(this);
        }
        /**
         * Updates set of files that contribute to this project
         * @returns: true if set of files in the project stays the same and false - otherwise.
         */
        updateGraph() {
          var t, n;
          (t = rn) == null || t.push(rn.Phase.Session, "updateGraph", { name: this.projectName, kind: zw[this.projectKind] }), this.resolutionCache.startRecordingFilesWithChangedResolutions();
          const i = this.updateGraphWorker(), s = this.hasAddedorRemovedFiles;
          this.hasAddedorRemovedFiles = !1, this.hasAddedOrRemovedSymlinks = !1;
          const o = this.resolutionCache.finishRecordingFilesWithChangedResolutions() || Tl;
          for (const _ of o)
            this.cachedUnresolvedImportsPerFile.delete(_);
          this.languageServiceEnabled && this.projectService.serverMode === 0 && !this.isOrphan() ? ((i || o.length) && (this.lastCachedUnresolvedImportsList = hKe(this.program, this.cachedUnresolvedImportsPerFile)), this.enqueueInstallTypingsForProject(s)) : this.lastCachedUnresolvedImportsList = void 0;
          const c = this.projectProgramVersion === 0 && i;
          return i && this.projectProgramVersion++, s && this.markAutoImportProviderAsDirty(), c && this.getPackageJsonAutoImportProvider(), (n = rn) == null || n.pop(), !i;
        }
        /** @internal */
        enqueueInstallTypingsForProject(t) {
          const n = this.getTypeAcquisition();
          if (!n || !n.enable || this.projectService.typingsInstaller === jL)
            return;
          const i = this.typingsCache;
          (t || !i || dKe(n, i.typeAcquisition) || mKe(this.getCompilationSettings(), i.compilerOptions) || gKe(this.lastCachedUnresolvedImportsList, i.unresolvedImports)) && (this.typingsCache = {
            compilerOptions: this.getCompilationSettings(),
            typeAcquisition: n,
            unresolvedImports: this.lastCachedUnresolvedImportsList
          }, this.projectService.typingsInstaller.enqueueInstallTypingsRequest(this, n, this.lastCachedUnresolvedImportsList));
        }
        /** @internal */
        updateTypingFiles(t, n, i, s) {
          this.typingsCache = {
            compilerOptions: t,
            typeAcquisition: n,
            unresolvedImports: i
          };
          const o = !n || !n.enable ? Tl : J_(s);
          GI(
            o,
            this.typingFiles,
            vC(!this.useCaseSensitiveFileNames()),
            /*inserted*/
            Ua,
            (c) => this.detachScriptInfoFromProject(c)
          ) && (this.typingFiles = o, this.resolutionCache.setFilesWithInvalidatedNonRelativeUnresolvedImports(this.cachedUnresolvedImportsPerFile), this.projectService.delayUpdateProjectGraphAndEnsureProjectStructureForOpenFiles(this));
        }
        closeWatchingTypingLocations() {
          this.typingWatchers && D_(this.typingWatchers, $p), this.typingWatchers = void 0;
        }
        onTypingInstallerWatchInvoke() {
          this.typingWatchers.isInvoked = !0, this.projectService.updateTypingsForProject({ projectName: this.getProjectName(), kind: n9 });
        }
        /** @internal */
        watchTypingLocations(t) {
          if (!t) {
            this.typingWatchers.isInvoked = !1;
            return;
          }
          if (!t.length) {
            this.closeWatchingTypingLocations();
            return;
          }
          const n = new Map(this.typingWatchers);
          this.typingWatchers || (this.typingWatchers = /* @__PURE__ */ new Map()), this.typingWatchers.isInvoked = !1;
          const i = (s, o) => {
            const c = this.toPath(s);
            if (n.delete(c), !this.typingWatchers.has(c)) {
              const _ = o === "FileWatcher" ? Nl.TypingInstallerLocationFile : Nl.TypingInstallerLocationDirectory;
              this.typingWatchers.set(
                c,
                vA(c) ? o === "FileWatcher" ? this.projectService.watchFactory.watchFile(
                  s,
                  () => this.typingWatchers.isInvoked ? this.writeLog("TypingWatchers already invoked") : this.onTypingInstallerWatchInvoke(),
                  2e3,
                  this.projectService.getWatchOptions(this),
                  _,
                  this
                ) : this.projectService.watchFactory.watchDirectory(
                  s,
                  (u) => {
                    if (this.typingWatchers.isInvoked) return this.writeLog("TypingWatchers already invoked");
                    if (!Wo(
                      u,
                      ".json"
                      /* Json */
                    )) return this.writeLog("Ignoring files that are not *.json");
                    if (xh(u, An(this.projectService.typingsInstaller.globalTypingsCacheLocation, "package.json"), !this.useCaseSensitiveFileNames())) return this.writeLog("Ignoring package.json change at global typings location");
                    this.onTypingInstallerWatchInvoke();
                  },
                  1,
                  this.projectService.getWatchOptions(this),
                  _,
                  this
                ) : (this.writeLog(`Skipping watcher creation at ${s}:: ${DG(_, this)}`), z6)
              );
            }
          };
          for (const s of t) {
            const o = Qc(s);
            if (o === "package.json" || o === "bower.json") {
              i(
                s,
                "FileWatcher"
                /* FileWatcher */
              );
              continue;
            }
            if (Qf(this.currentDirectory, s, this.currentDirectory, !this.useCaseSensitiveFileNames())) {
              const c = s.indexOf(xo, this.currentDirectory.length + 1);
              i(
                c !== -1 ? s.substr(0, c) : s,
                "DirectoryWatcher"
                /* DirectoryWatcher */
              );
              continue;
            }
            if (Qf(this.projectService.typingsInstaller.globalTypingsCacheLocation, s, this.currentDirectory, !this.useCaseSensitiveFileNames())) {
              i(
                this.projectService.typingsInstaller.globalTypingsCacheLocation,
                "DirectoryWatcher"
                /* DirectoryWatcher */
              );
              continue;
            }
            i(
              s,
              "DirectoryWatcher"
              /* DirectoryWatcher */
            );
          }
          n.forEach((s, o) => {
            s.close(), this.typingWatchers.delete(o);
          });
        }
        /** @internal */
        getCurrentProgram() {
          return this.program;
        }
        removeExistingTypings(t) {
          if (!t.length) return t;
          const n = iO(this.getCompilerOptions(), this);
          return Tn(t, (i) => !n.includes(i));
        }
        updateGraphWorker() {
          var t, n;
          const i = this.languageService.getCurrentProgram();
          E.assert(i === this.program), E.assert(!this.isClosed(), "Called update graph worker of closed project"), this.writeLog(`Starting updateGraphWorker: Project: ${this.getProjectName()}`);
          const s = co(), { hasInvalidatedResolutions: o, hasInvalidatedLibResolutions: c } = this.resolutionCache.createHasInvalidatedResolutions(Th, Th);
          this.hasInvalidatedResolutions = o, this.hasInvalidatedLibResolutions = c, this.resolutionCache.startCachingPerDirectoryResolution(), this.dirty = !1, this.updateFromProjectInProgress = !0, this.program = this.languageService.getProgram(), this.updateFromProjectInProgress = !1, (t = rn) == null || t.push(rn.Phase.Session, "finishCachingPerDirectoryResolution"), this.resolutionCache.finishCachingPerDirectoryResolution(this.program, i), (n = rn) == null || n.pop(), E.assert(i === void 0 || this.program !== void 0);
          let _ = !1;
          if (this.program && (!i || this.program !== i && this.program.structureIsReused !== 2)) {
            if (_ = !0, this.rootFilesMap.forEach((m, h) => {
              var S;
              const T = this.program.getSourceFileByPath(h), k = m.info;
              !T || ((S = m.info) == null ? void 0 : S.path) === T.resolvedPath || (m.info = this.projectService.getScriptInfo(T.fileName), E.assert(m.info.isAttached(this)), k?.detachFromProject(this));
            }), ZW(
              this.program,
              this.missingFilesMap || (this.missingFilesMap = /* @__PURE__ */ new Map()),
              // Watch the missing files
              (m, h) => this.addMissingFileWatcher(m, h)
            ), this.generatedFilesMap) {
              const m = this.compilerOptions.outFile;
              M_e(this.generatedFilesMap) ? (!m || !this.isValidGeneratedFileWatcher(
                Ru(m) + ".d.ts",
                this.generatedFilesMap
              )) && this.clearGeneratedFileWatch() : m ? this.clearGeneratedFileWatch() : this.generatedFilesMap.forEach((h, S) => {
                const T = this.program.getSourceFileByPath(S);
                (!T || T.resolvedPath !== S || !this.isValidGeneratedFileWatcher(
                  g5(T.fileName, this.compilerOptions, this.program),
                  h
                )) && (lp(h), this.generatedFilesMap.delete(S));
              });
            }
            this.languageServiceEnabled && this.projectService.serverMode === 0 && this.resolutionCache.updateTypeRootsWatch();
          }
          this.projectService.verifyProgram(this), this.exportMapCache && !this.exportMapCache.isEmpty() && (this.exportMapCache.releaseSymbols(), this.hasAddedorRemovedFiles || i && !this.program.structureIsReused ? this.exportMapCache.clear() : this.changedFilesForExportMapCache && i && this.program && Fg(this.changedFilesForExportMapCache, (m) => {
            const h = i.getSourceFileByPath(m), S = this.program.getSourceFileByPath(m);
            return !h || !S ? (this.exportMapCache.clear(), !0) : this.exportMapCache.onFileChanged(h, S, !!this.getTypeAcquisition().enable);
          })), this.changedFilesForExportMapCache && this.changedFilesForExportMapCache.clear(), (this.hasAddedOrRemovedSymlinks || this.program && !this.program.structureIsReused && this.getCompilerOptions().preserveSymlinks) && (this.symlinks = void 0, this.moduleSpecifierCache.clear());
          const u = this.externalFiles || Tl;
          this.externalFiles = this.getExternalFiles(), GI(
            this.externalFiles,
            u,
            vC(!this.useCaseSensitiveFileNames()),
            // Ensure a ScriptInfo is created for new external files. This is performed indirectly
            // by the host for files in the program when the program is retrieved above but
            // the program doesn't contain external files so this must be done explicitly.
            (m) => {
              const h = this.projectService.getOrCreateScriptInfoNotOpenedByClient(
                m,
                this.currentDirectory,
                this.directoryStructureHost,
                /*deferredDeleteOk*/
                !1
              );
              h?.attachToProject(this);
            },
            (m) => this.detachScriptInfoFromProject(m)
          );
          const g = co() - s;
          return this.sendPerformanceEvent("UpdateGraph", g), this.writeLog(`Finishing updateGraphWorker: Project: ${this.getProjectName()} projectStateVersion: ${this.projectStateVersion} projectProgramVersion: ${this.projectProgramVersion} structureChanged: ${_}${this.program ? ` structureIsReused:: ${QR[this.program.structureIsReused]}` : ""} Elapsed: ${g}ms`), this.projectService.logger.isTestLogger ? this.program !== i ? this.print(
            /*writeProjectFileNames*/
            !0,
            this.hasAddedorRemovedFiles,
            /*writeFileVersionAndText*/
            !0
          ) : this.writeLog("Same program as before") : this.hasAddedorRemovedFiles ? this.print(
            /*writeProjectFileNames*/
            !0,
            /*writeFileExplaination*/
            !0,
            /*writeFileVersionAndText*/
            !1
          ) : this.program !== i && this.writeLog("Different program with same set of files"), this.projectService.verifyDocumentRegistry(), _;
        }
        /** @internal */
        sendPerformanceEvent(t, n) {
          this.projectService.sendPerformanceEvent(t, n);
        }
        detachScriptInfoFromProject(t, n) {
          const i = this.projectService.getScriptInfo(t);
          i && (i.detachFromProject(this), n || this.resolutionCache.removeResolutionsOfFile(i.path));
        }
        addMissingFileWatcher(t, n) {
          var i;
          if (B0(this)) {
            const o = this.projectService.configFileExistenceInfoCache.get(t);
            if ((i = o?.config) != null && i.projects.has(this.canonicalConfigFilePath)) return z6;
          }
          const s = this.projectService.watchFactory.watchFile(
            Xi(n, this.currentDirectory),
            (o, c) => {
              B0(this) && this.getCachedDirectoryStructureHost().addOrDeleteFile(o, t, c), c === 0 && this.missingFilesMap.has(t) && (this.missingFilesMap.delete(t), s.close(), this.projectService.delayUpdateProjectGraphAndEnsureProjectStructureForOpenFiles(this));
            },
            500,
            this.projectService.getWatchOptions(this),
            Nl.MissingFile,
            this
          );
          return s;
        }
        isWatchedMissingFile(t) {
          return !!this.missingFilesMap && this.missingFilesMap.has(t);
        }
        /** @internal */
        addGeneratedFileWatch(t, n) {
          if (this.compilerOptions.outFile)
            this.generatedFilesMap || (this.generatedFilesMap = this.createGeneratedFileWatcher(t));
          else {
            const i = this.toPath(n);
            if (this.generatedFilesMap) {
              if (M_e(this.generatedFilesMap)) {
                E.fail(`${this.projectName} Expected to not have --out watcher for generated file with options: ${JSON.stringify(this.compilerOptions)}`);
                return;
              }
              if (this.generatedFilesMap.has(i)) return;
            } else
              this.generatedFilesMap = /* @__PURE__ */ new Map();
            this.generatedFilesMap.set(i, this.createGeneratedFileWatcher(t));
          }
        }
        createGeneratedFileWatcher(t) {
          return {
            generatedFilePath: this.toPath(t),
            watcher: this.projectService.watchFactory.watchFile(
              t,
              () => {
                this.clearSourceMapperCache(), this.projectService.delayUpdateProjectGraphAndEnsureProjectStructureForOpenFiles(this);
              },
              2e3,
              this.projectService.getWatchOptions(this),
              Nl.MissingGeneratedFile,
              this
            )
          };
        }
        isValidGeneratedFileWatcher(t, n) {
          return this.toPath(t) === n.generatedFilePath;
        }
        clearGeneratedFileWatch() {
          this.generatedFilesMap && (M_e(this.generatedFilesMap) ? lp(this.generatedFilesMap) : D_(this.generatedFilesMap, lp), this.generatedFilesMap = void 0);
        }
        getScriptInfoForNormalizedPath(t) {
          const n = this.projectService.getScriptInfoForPath(this.toPath(t));
          return n && !n.isAttached(this) ? Uh.ThrowProjectDoesNotContainDocument(t, this) : n;
        }
        getScriptInfo(t) {
          return this.projectService.getScriptInfo(t);
        }
        filesToString(t) {
          return this.filesToStringWorker(
            t,
            /*writeFileExplaination*/
            !0,
            /*writeFileVersionAndText*/
            !1
          );
        }
        filesToStringWorker(t, n, i) {
          if (this.initialLoadPending) return `	Files (0) InitialLoadPending
`;
          if (!this.program) return `	Files (0) NoProgram
`;
          const s = this.program.getSourceFiles();
          let o = `	Files (${s.length})
`;
          if (t) {
            for (const c of s)
              o += `	${c.fileName}${i ? ` ${c.version} ${JSON.stringify(c.text)}` : ""}
`;
            n && (o += `

`, PV(this.program, (c) => o += `	${c}
`));
          }
          return o;
        }
        /** @internal */
        print(t, n, i) {
          var s;
          this.writeLog(`Project '${this.projectName}' (${zw[this.projectKind]})`), this.writeLog(this.filesToStringWorker(
            t && this.projectService.logger.hasLevel(
              3
              /* verbose */
            ),
            n && this.projectService.logger.hasLevel(
              3
              /* verbose */
            ),
            i && this.projectService.logger.hasLevel(
              3
              /* verbose */
            )
          )), this.writeLog("-----------------------------------------------"), this.autoImportProviderHost && this.autoImportProviderHost.print(
            /*writeProjectFileNames*/
            !1,
            /*writeFileExplaination*/
            !1,
            /*writeFileVersionAndText*/
            !1
          ), (s = this.noDtsResolutionProject) == null || s.print(
            /*writeProjectFileNames*/
            !1,
            /*writeFileExplaination*/
            !1,
            /*writeFileVersionAndText*/
            !1
          );
        }
        setCompilerOptions(t) {
          var n;
          if (t) {
            t.allowNonTsExtensions = !0;
            const i = this.compilerOptions;
            this.compilerOptions = t, this.setInternalCompilerOptionsForEmittingJsFiles(), (n = this.noDtsResolutionProject) == null || n.setCompilerOptions(this.getCompilerOptionsForNoDtsResolutionProject()), N7(i, t) && (this.cachedUnresolvedImportsPerFile.clear(), this.lastCachedUnresolvedImportsList = void 0, this.resolutionCache.onChangesAffectModuleResolution(), this.moduleSpecifierCache.clear()), this.markAsDirty();
          }
        }
        /** @internal */
        setWatchOptions(t) {
          this.watchOptions = t;
        }
        /** @internal */
        getWatchOptions() {
          return this.watchOptions;
        }
        setTypeAcquisition(t) {
          t && (this.typeAcquisition = this.removeLocalTypingsFromTypeAcquisition(t));
        }
        getTypeAcquisition() {
          return this.typeAcquisition || {};
        }
        /** @internal */
        getChangesSinceVersion(t, n) {
          var i, s;
          const o = n ? (u) => rs(u.entries(), ([g, m]) => ({
            fileName: g,
            isSourceOfProjectReferenceRedirect: m
          })) : (u) => rs(u.keys());
          this.initialLoadPending || Mp(this);
          const c = {
            projectName: this.getProjectName(),
            version: this.projectProgramVersion,
            isInferred: cE(this),
            options: this.getCompilationSettings(),
            languageServiceDisabled: !this.languageServiceEnabled,
            lastFileExceededProgramSize: this.lastFileExceededProgramSize
          }, _ = this.updatedFileNames;
          if (this.updatedFileNames = void 0, this.lastReportedFileNames && t === this.lastReportedVersion) {
            if (this.projectProgramVersion === this.lastReportedVersion && !_)
              return { info: c, projectErrors: this.getGlobalProjectErrors() };
            const u = this.lastReportedFileNames, g = ((i = this.externalFiles) == null ? void 0 : i.map((D) => ({
              fileName: ro(D),
              isSourceOfProjectReferenceRedirect: !1
            }))) || Tl, m = hC(
              this.getFileNamesWithRedirectInfo(!!n).concat(g),
              (D) => D.fileName,
              (D) => D.isSourceOfProjectReferenceRedirect
            ), h = /* @__PURE__ */ new Map(), S = /* @__PURE__ */ new Map(), T = _ ? rs(_.keys()) : [], k = [];
            return gl(m, (D, w) => {
              u.has(w) ? n && D !== u.get(w) && k.push({
                fileName: w,
                isSourceOfProjectReferenceRedirect: D
              }) : h.set(w, D);
            }), gl(u, (D, w) => {
              m.has(w) || S.set(w, D);
            }), this.lastReportedFileNames = m, this.lastReportedVersion = this.projectProgramVersion, {
              info: c,
              changes: {
                added: o(h),
                removed: o(S),
                updated: n ? T.map((D) => ({
                  fileName: D,
                  isSourceOfProjectReferenceRedirect: this.isSourceOfProjectReferenceRedirect(D)
                })) : T,
                updatedRedirects: n ? k : void 0
              },
              projectErrors: this.getGlobalProjectErrors()
            };
          } else {
            const u = this.getFileNamesWithRedirectInfo(!!n), g = ((s = this.externalFiles) == null ? void 0 : s.map((h) => ({
              fileName: ro(h),
              isSourceOfProjectReferenceRedirect: !1
            }))) || Tl, m = u.concat(g);
            return this.lastReportedFileNames = hC(
              m,
              (h) => h.fileName,
              (h) => h.isSourceOfProjectReferenceRedirect
            ), this.lastReportedVersion = this.projectProgramVersion, {
              info: c,
              files: n ? m : m.map((h) => h.fileName),
              projectErrors: this.getGlobalProjectErrors()
            };
          }
        }
        // remove a root file from project
        removeRoot(t) {
          this.rootFilesMap.delete(t.path);
        }
        /** @internal */
        isSourceOfProjectReferenceRedirect(t) {
          return !!this.program && this.program.isSourceOfProjectReferenceRedirect(t);
        }
        /** @internal */
        getGlobalPluginSearchPaths() {
          return [
            ...this.projectService.pluginProbeLocations,
            // ../../.. to walk from X/node_modules/typescript/lib/tsserver.js to X/node_modules/
            An(this.projectService.getExecutingFilePath(), "../../..")
          ];
        }
        enableGlobalPlugins(t) {
          if (!this.projectService.globalPlugins.length) return;
          const n = this.projectService.host;
          if (!n.require && !n.importPlugin) {
            this.projectService.logger.info("Plugins were requested but not running in environment that supports 'require'. Nothing will be loaded");
            return;
          }
          const i = this.getGlobalPluginSearchPaths();
          for (const s of this.projectService.globalPlugins)
            s && (t.plugins && t.plugins.some((o) => o.name === s) || (this.projectService.logger.info(`Loading global plugin ${s}`), this.enablePlugin({ name: s, global: !0 }, i)));
        }
        enablePlugin(t, n) {
          this.projectService.requestEnablePlugin(this, t, n);
        }
        /** @internal */
        enableProxy(t, n) {
          try {
            if (typeof t != "function") {
              this.projectService.logger.info(`Skipped loading plugin ${n.name} because it did not expose a proper factory function`);
              return;
            }
            const i = {
              config: n,
              project: this,
              languageService: this.languageService,
              languageServiceHost: this,
              serverHost: this.projectService.host,
              session: this.projectService.session
            }, s = t({ typescript: Awe }), o = s.create(i);
            for (const c of Object.keys(this.languageService))
              c in o || (this.projectService.logger.info(`Plugin activation warning: Missing proxied method ${c} in created LS. Patching.`), o[c] = this.languageService[c]);
            this.projectService.logger.info("Plugin validation succeeded"), this.languageService = o, this.plugins.push({ name: n.name, module: s });
          } catch (i) {
            this.projectService.logger.info(`Plugin activation failed: ${i}`);
          }
        }
        /** @internal */
        onPluginConfigurationChanged(t, n) {
          this.plugins.filter((i) => i.name === t).forEach((i) => {
            i.module.onConfigurationChanged && i.module.onConfigurationChanged(n);
          });
        }
        /** Starts a new check for diagnostics. Call this if some file has updated that would cause diagnostics to be changed. */
        refreshDiagnostics() {
          this.projectService.sendProjectsUpdatedInBackgroundEvent();
        }
        /** @internal */
        getPackageJsonsVisibleToFile(t, n) {
          return this.projectService.serverMode !== 0 ? Tl : this.projectService.getPackageJsonsVisibleToFile(t, this, n);
        }
        /** @internal */
        getNearestAncestorDirectoryWithPackageJson(t) {
          return this.projectService.getNearestAncestorDirectoryWithPackageJson(t, this);
        }
        /** @internal */
        getPackageJsonsForAutoImport(t) {
          return this.getPackageJsonsVisibleToFile(An(this.currentDirectory, ow), t);
        }
        /** @internal */
        getPackageJsonCache() {
          return this.projectService.packageJsonCache;
        }
        /** @internal */
        getCachedExportInfoMap() {
          return this.exportMapCache || (this.exportMapCache = uq(this));
        }
        /** @internal */
        clearCachedExportInfoMap() {
          var t;
          (t = this.exportMapCache) == null || t.clear();
        }
        /** @internal */
        getModuleSpecifierCache() {
          return this.moduleSpecifierCache;
        }
        /** @internal */
        includePackageJsonAutoImports() {
          return this.projectService.includePackageJsonAutoImports() === 0 || !this.languageServiceEnabled || VA(this.currentDirectory) || !this.isDefaultProjectForOpenFiles() ? 0 : this.projectService.includePackageJsonAutoImports();
        }
        /** @internal */
        getHostForAutoImportProvider() {
          var t, n;
          return this.program ? {
            fileExists: this.program.fileExists,
            directoryExists: this.program.directoryExists,
            realpath: this.program.realpath || ((t = this.projectService.host.realpath) == null ? void 0 : t.bind(this.projectService.host)),
            getCurrentDirectory: this.getCurrentDirectory.bind(this),
            readFile: this.projectService.host.readFile.bind(this.projectService.host),
            getDirectories: this.projectService.host.getDirectories.bind(this.projectService.host),
            trace: (n = this.projectService.host.trace) == null ? void 0 : n.bind(this.projectService.host),
            useCaseSensitiveFileNames: this.program.useCaseSensitiveFileNames(),
            readDirectory: this.projectService.host.readDirectory.bind(this.projectService.host)
          } : this.projectService.host;
        }
        /** @internal */
        getPackageJsonAutoImportProvider() {
          var t, n, i;
          if (this.autoImportProviderHost === !1)
            return;
          if (this.projectService.serverMode !== 0) {
            this.autoImportProviderHost = !1;
            return;
          }
          if (this.autoImportProviderHost) {
            if (Mp(this.autoImportProviderHost), this.autoImportProviderHost.isEmpty()) {
              this.autoImportProviderHost.close(), this.autoImportProviderHost = void 0;
              return;
            }
            return this.autoImportProviderHost.getCurrentProgram();
          }
          const s = this.includePackageJsonAutoImports();
          if (s) {
            (t = rn) == null || t.push(rn.Phase.Session, "getPackageJsonAutoImportProvider");
            const o = co();
            if (this.autoImportProviderHost = J_e.create(
              s,
              this,
              this.getHostForAutoImportProvider()
            ) ?? !1, this.autoImportProviderHost)
              return Mp(this.autoImportProviderHost), this.sendPerformanceEvent("CreatePackageJsonAutoImportProvider", co() - o), (n = rn) == null || n.pop(), this.autoImportProviderHost.getCurrentProgram();
            (i = rn) == null || i.pop();
          }
        }
        isDefaultProjectForOpenFiles() {
          return !!gl(
            this.projectService.openFiles,
            (t, n) => this.projectService.tryGetDefaultProjectForFile(this.projectService.getScriptInfoForPath(n)) === this
          );
        }
        /** @internal */
        watchNodeModulesForPackageJsonChanges(t) {
          return this.projectService.watchPackageJsonsInNodeModules(t, this);
        }
        /** @internal */
        getIncompleteCompletionsCache() {
          return this.projectService.getIncompleteCompletionsCache();
        }
        /** @internal */
        getNoDtsResolutionProject(t) {
          return E.assert(
            this.projectService.serverMode === 0
            /* Semantic */
          ), this.noDtsResolutionProject ?? (this.noDtsResolutionProject = new j_e(this)), this.noDtsResolutionProject.rootFile !== t && (this.projectService.setFileNamesOfAutoImportProviderOrAuxillaryProject(
            this.noDtsResolutionProject,
            [t]
          ), this.noDtsResolutionProject.rootFile = t), this.noDtsResolutionProject;
        }
        /** @internal */
        runWithTemporaryFileUpdate(t, n, i) {
          var s, o, c, _;
          const u = this.program, g = E.checkDefined((s = this.program) == null ? void 0 : s.getSourceFile(t), "Expected file to be part of program"), m = E.checkDefined(g.getFullText());
          (o = this.getScriptInfo(t)) == null || o.editContent(0, m.length, n), this.updateGraph();
          try {
            i(this.program, u, (c = this.program) == null ? void 0 : c.getSourceFile(t));
          } finally {
            (_ = this.getScriptInfo(t)) == null || _.editContent(0, n.length, m);
          }
        }
        /** @internal */
        getCompilerOptionsForNoDtsResolutionProject() {
          return {
            ...this.getCompilerOptions(),
            noDtsResolution: !0,
            allowJs: !0,
            maxNodeModuleJsDepth: 3,
            diagnostics: !1,
            skipLibCheck: !0,
            sourceMap: !1,
            types: Ue,
            lib: Ue,
            noLib: !0
          };
        }
      };
      function hKe(e, t) {
        var n, i;
        const s = e.getSourceFiles();
        (n = rn) == null || n.push(rn.Phase.Session, "getUnresolvedImports", { count: s.length });
        const o = e.getTypeChecker().getAmbientModules().map((_) => wp(_.getName())), c = n4(oa(s, (_) => yKe(
          e,
          _,
          o,
          t
        )));
        return (i = rn) == null || i.pop(), c;
      }
      function yKe(e, t, n, i) {
        return r4(i, t.path, () => {
          let s;
          return e.forEachResolvedModule(({ resolvedModule: o }, c) => {
            (!o || !_D(o.extension)) && !Cl(c) && !n.some((_) => _ === c) && (s = Dr(s, cO(c).packageName));
          }, t), s || Tl;
        });
      }
      var R_e = class extends Tk {
        /** @internal */
        constructor(e, t, n, i, s, o) {
          super(
            e.newInferredProjectName(),
            0,
            e,
            /*hasExplicitListOfFiles*/
            !1,
            /*lastFileExceededProgramSize*/
            void 0,
            t,
            /*compileOnSaveEnabled*/
            !1,
            n,
            e.host,
            s
          ), this._isJsInferredProject = !1, this.typeAcquisition = o, this.projectRootPath = i && e.toCanonicalFileName(i), !i && !e.useSingleInferredProject && (this.canonicalCurrentDirectory = e.toCanonicalFileName(this.currentDirectory)), this.enableGlobalPlugins(this.getCompilerOptions());
        }
        toggleJsInferredProject(e) {
          e !== this._isJsInferredProject && (this._isJsInferredProject = e, this.setCompilerOptions());
        }
        setCompilerOptions(e) {
          if (!e && !this.getCompilationSettings())
            return;
          const t = DU(e || this.getCompilationSettings());
          this._isJsInferredProject && typeof t.maxNodeModuleJsDepth != "number" ? t.maxNodeModuleJsDepth = 2 : this._isJsInferredProject || (t.maxNodeModuleJsDepth = void 0), t.allowJs = !0, super.setCompilerOptions(t);
        }
        addRoot(e) {
          E.assert(e.isScriptOpen()), this.projectService.startWatchingConfigFilesForInferredProjectRoot(e), !this._isJsInferredProject && e.isJavaScript() ? this.toggleJsInferredProject(
            /*isJsInferredProject*/
            !0
          ) : this.isOrphan() && this._isJsInferredProject && !e.isJavaScript() && this.toggleJsInferredProject(
            /*isJsInferredProject*/
            !1
          ), super.addRoot(e);
        }
        removeRoot(e) {
          this.projectService.stopWatchingConfigFilesForScriptInfo(e), super.removeRoot(e), !this.isOrphan() && this._isJsInferredProject && e.isJavaScript() && Pi(this.getRootScriptInfos(), (t) => !t.isJavaScript()) && this.toggleJsInferredProject(
            /*isJsInferredProject*/
            !1
          );
        }
        /** @internal */
        isOrphan() {
          return !this.hasRoots();
        }
        isProjectWithSingleRoot() {
          return !this.projectRootPath && !this.projectService.useSingleInferredProject || this.getRootScriptInfos().length === 1;
        }
        close() {
          ar(this.getRootScriptInfos(), (e) => this.projectService.stopWatchingConfigFilesForScriptInfo(e)), super.close();
        }
        getTypeAcquisition() {
          return this.typeAcquisition || {
            enable: F_e(this),
            include: Ue,
            exclude: Ue
          };
        }
      }, j_e = class extends Tk {
        constructor(e) {
          super(
            e.projectService.newAuxiliaryProjectName(),
            4,
            e.projectService,
            /*hasExplicitListOfFiles*/
            !1,
            /*lastFileExceededProgramSize*/
            void 0,
            e.getCompilerOptionsForNoDtsResolutionProject(),
            /*compileOnSaveEnabled*/
            !1,
            /*watchOptions*/
            void 0,
            e.projectService.host,
            e.currentDirectory
          );
        }
        isOrphan() {
          return !0;
        }
        scheduleInvalidateResolutionsOfFailedLookupLocations() {
        }
      }, B_e = class ege extends Tk {
        /** @internal */
        constructor(t, n, i) {
          super(
            t.projectService.newAutoImportProviderProjectName(),
            3,
            t.projectService,
            /*hasExplicitListOfFiles*/
            !1,
            /*lastFileExceededProgramSize*/
            void 0,
            i,
            /*compileOnSaveEnabled*/
            !1,
            t.getWatchOptions(),
            t.projectService.host,
            t.currentDirectory
          ), this.hostProject = t, this.rootFileNames = n, this.useSourceOfProjectReferenceRedirect = Ls(this.hostProject, this.hostProject.useSourceOfProjectReferenceRedirect), this.getParsedCommandLine = Ls(this.hostProject, this.hostProject.getParsedCommandLine);
        }
        /** @internal */
        static getRootFileNames(t, n, i, s) {
          var o, c;
          if (!t)
            return Ue;
          const _ = n.getCurrentProgram();
          if (!_)
            return Ue;
          const u = co();
          let g, m;
          const h = An(n.currentDirectory, ow), S = n.getPackageJsonsForAutoImport(An(n.currentDirectory, h));
          for (const j of S)
            (o = j.dependencies) == null || o.forEach((z, V) => A(V)), (c = j.peerDependencies) == null || c.forEach((z, V) => A(V));
          let T = 0;
          if (g) {
            const j = n.getSymlinkCache();
            for (const z of rs(g.keys())) {
              if (t === 2 && T >= this.maxDependencies)
                return n.log(`AutoImportProviderProject: attempted to add more than ${this.maxDependencies} dependencies. Aborting.`), Ue;
              const V = nW(
                z,
                n.currentDirectory,
                s,
                i,
                _.getModuleResolutionCache()
              );
              if (V) {
                const W = O(V, _, j);
                if (W) {
                  T += w(W);
                  continue;
                }
              }
              if (!ar([n.currentDirectory, n.getGlobalTypingsCacheLocation()], (W) => {
                if (W) {
                  const pe = nW(
                    `@types/${z}`,
                    W,
                    s,
                    i,
                    _.getModuleResolutionCache()
                  );
                  if (pe) {
                    const K = O(pe, _, j);
                    return T += w(K), !0;
                  }
                }
              }) && V && s.allowJs && s.maxNodeModuleJsDepth) {
                const W = O(
                  V,
                  _,
                  j,
                  /*resolveJs*/
                  !0
                );
                T += w(W);
              }
            }
          }
          const k = _.getResolvedProjectReferences();
          let D = 0;
          return k?.length && n.projectService.getHostPreferences().includeCompletionsForModuleExports && k.forEach((j) => {
            if (j?.commandLine.options.outFile)
              D += w(F([
                Oh(j.commandLine.options.outFile, ".d.ts")
              ]));
            else if (j) {
              const z = Au(
                () => HS(
                  j.commandLine,
                  !n.useCaseSensitiveFileNames()
                )
              );
              D += w(F(Oi(
                j.commandLine.fileNames,
                (V) => !Sl(V) && !Wo(
                  V,
                  ".json"
                  /* Json */
                ) && !_.getSourceFile(V) ? M6(
                  V,
                  j.commandLine,
                  !n.useCaseSensitiveFileNames(),
                  z
                ) : void 0
              )));
            }
          }), m?.size && n.log(`AutoImportProviderProject: found ${m.size} root files in ${T} dependencies ${D} referenced projects in ${co() - u} ms`), m ? rs(m.values()) : Ue;
          function w(j) {
            return j?.length ? (m ?? (m = /* @__PURE__ */ new Set()), j.forEach((z) => m.add(z)), 1) : 0;
          }
          function A(j) {
            Wi(j, "@types/") || (g || (g = /* @__PURE__ */ new Set())).add(j);
          }
          function O(j, z, V, G) {
            var W;
            const pe = lW(
              j,
              s,
              i,
              z.getModuleResolutionCache(),
              G
            );
            if (pe) {
              const K = (W = i.realpath) == null ? void 0 : W.call(i, j.packageDirectory), U = K ? n.toPath(K) : void 0, ee = U && U !== n.toPath(j.packageDirectory);
              return ee && V.setSymlinkedDirectory(j.packageDirectory, {
                real: ml(K),
                realPath: ml(U)
              }), F(pe, ee ? (te) => te.replace(j.packageDirectory, K) : void 0);
            }
          }
          function F(j, z) {
            return Oi(j, (V) => {
              const G = z ? z(V) : V;
              if (!_.getSourceFile(G) && !(z && _.getSourceFile(V)))
                return G;
            });
          }
        }
        /** @internal */
        static create(t, n, i) {
          if (t === 0)
            return;
          const s = {
            ...n.getCompilerOptions(),
            ...this.compilerOptionsOverrides
          }, o = this.getRootFileNames(t, n, i, s);
          if (o.length)
            return new ege(n, o, s);
        }
        /** @internal */
        isEmpty() {
          return !at(this.rootFileNames);
        }
        /** @internal */
        isOrphan() {
          return !0;
        }
        updateGraph() {
          let t = this.rootFileNames;
          t || (t = ege.getRootFileNames(
            this.hostProject.includePackageJsonAutoImports(),
            this.hostProject,
            this.hostProject.getHostForAutoImportProvider(),
            this.getCompilationSettings()
          )), this.projectService.setFileNamesOfAutoImportProviderOrAuxillaryProject(this, t), this.rootFileNames = t;
          const n = this.getCurrentProgram(), i = super.updateGraph();
          return n && n !== this.getCurrentProgram() && this.hostProject.clearCachedExportInfoMap(), i;
        }
        /** @internal */
        scheduleInvalidateResolutionsOfFailedLookupLocations() {
        }
        hasRoots() {
          var t;
          return !!((t = this.rootFileNames) != null && t.length);
        }
        /** @internal */
        markAsDirty() {
          this.rootFileNames = void 0, super.markAsDirty();
        }
        getScriptFileNames() {
          return this.rootFileNames || Ue;
        }
        getLanguageService() {
          throw new Error("AutoImportProviderProject language service should never be used. To get the program, use `project.getCurrentProgram()`.");
        }
        /** @internal */
        onAutoImportProviderSettingsChanged() {
          throw new Error("AutoImportProviderProject is an auto import provider; use `markAsDirty()` instead.");
        }
        /** @internal */
        onPackageJsonChange() {
          throw new Error("package.json changes should be notified on an AutoImportProvider's host project");
        }
        getHostForAutoImportProvider() {
          throw new Error("AutoImportProviderProject cannot provide its own host; use `hostProject.getModuleResolutionHostForAutomImportProvider()` instead.");
        }
        getProjectReferences() {
          return this.hostProject.getProjectReferences();
        }
        /** @internal */
        includePackageJsonAutoImports() {
          return 0;
        }
        /** @internal */
        getSymlinkCache() {
          return this.hostProject.getSymlinkCache();
        }
        /** @internal */
        getModuleResolutionCache() {
          var t;
          return (t = this.hostProject.getCurrentProgram()) == null ? void 0 : t.getModuleResolutionCache();
        }
      };
      B_e.maxDependencies = 10, B_e.compilerOptionsOverrides = {
        diagnostics: !1,
        skipLibCheck: !0,
        sourceMap: !1,
        types: Ue,
        lib: Ue,
        noLib: !0
      };
      var J_e = B_e, z_e = class extends Tk {
        /** @internal */
        constructor(e, t, n, i, s) {
          super(
            e,
            1,
            n,
            /*hasExplicitListOfFiles*/
            !1,
            /*lastFileExceededProgramSize*/
            void 0,
            /*compilerOptions*/
            {},
            /*compileOnSaveEnabled*/
            !1,
            /*watchOptions*/
            void 0,
            i,
            Un(e)
          ), this.canonicalConfigFilePath = t, this.openFileWatchTriggered = /* @__PURE__ */ new Map(), this.initialLoadPending = !0, this.sendLoadingProjectFinish = !1, this.pendingUpdateLevel = 2, this.pendingUpdateReason = s;
        }
        /** @internal */
        setCompilerHost(e) {
          this.compilerHost = e;
        }
        /** @internal */
        getCompilerHost() {
          return this.compilerHost;
        }
        /** @internal */
        useSourceOfProjectReferenceRedirect() {
          return this.languageServiceEnabled;
        }
        /** @internal */
        getParsedCommandLine(e) {
          const t = ro(e), n = this.projectService.toCanonicalFileName(t);
          let i = this.projectService.configFileExistenceInfoCache.get(n);
          return i || this.projectService.configFileExistenceInfoCache.set(n, i = { exists: this.projectService.host.fileExists(t) }), this.projectService.ensureParsedConfigUptoDate(t, n, i, this), this.languageServiceEnabled && this.projectService.serverMode === 0 && this.projectService.watchWildcards(t, i, this), i.exists ? i.config.parsedCommandLine : void 0;
        }
        /** @internal */
        onReleaseParsedCommandLine(e) {
          this.releaseParsedConfig(this.projectService.toCanonicalFileName(ro(e)));
        }
        releaseParsedConfig(e) {
          this.projectService.stopWatchingWildCards(e, this), this.projectService.releaseParsedConfig(e, this);
        }
        /**
         * If the project has reload from disk pending, it reloads (and then updates graph as part of that) instead of just updating the graph
         * @returns: true if set of files in the project stays the same and false - otherwise.
         */
        updateGraph() {
          if (this.deferredClose) return !1;
          const e = this.dirty;
          this.initialLoadPending = !1;
          const t = this.pendingUpdateLevel;
          this.pendingUpdateLevel = 0;
          let n;
          switch (t) {
            case 1:
              this.openFileWatchTriggered.clear(), n = this.projectService.reloadFileNamesOfConfiguredProject(this);
              break;
            case 2:
              this.openFileWatchTriggered.clear();
              const i = E.checkDefined(this.pendingUpdateReason);
              this.projectService.reloadConfiguredProject(this, i), n = !0;
              break;
            default:
              n = super.updateGraph();
          }
          return this.compilerHost = void 0, this.projectService.sendProjectLoadingFinishEvent(this), this.projectService.sendProjectTelemetry(this), t === 2 || // Already sent event through reload
          n && // Not new program
          (!e || !this.triggerFileForConfigFileDiag || this.getCurrentProgram().structureIsReused === 2) ? this.triggerFileForConfigFileDiag = void 0 : this.triggerFileForConfigFileDiag || this.projectService.sendConfigFileDiagEvent(
            this,
            /*triggerFile*/
            void 0,
            /*force*/
            !1
          ), n;
        }
        /** @internal */
        getCachedDirectoryStructureHost() {
          return this.directoryStructureHost;
        }
        getConfigFilePath() {
          return this.getProjectName();
        }
        getProjectReferences() {
          return this.projectReferences;
        }
        updateReferences(e) {
          this.projectReferences = e, this.potentialProjectReferences = void 0;
        }
        /** @internal */
        setPotentialProjectReference(e) {
          E.assert(this.initialLoadPending), (this.potentialProjectReferences || (this.potentialProjectReferences = /* @__PURE__ */ new Set())).add(e);
        }
        /** @internal */
        getResolvedProjectReferenceToRedirect(e) {
          const t = this.getCurrentProgram();
          return t && t.getResolvedProjectReferenceToRedirect(e);
        }
        /** @internal */
        forEachResolvedProjectReference(e) {
          var t;
          return (t = this.getCurrentProgram()) == null ? void 0 : t.forEachResolvedProjectReference(e);
        }
        /** @internal */
        enablePluginsWithOptions(e) {
          var t;
          if (this.plugins.length = 0, !((t = e.plugins) != null && t.length) && !this.projectService.globalPlugins.length) return;
          const n = this.projectService.host;
          if (!n.require && !n.importPlugin) {
            this.projectService.logger.info("Plugins were requested but not running in environment that supports 'require'. Nothing will be loaded");
            return;
          }
          const i = this.getGlobalPluginSearchPaths();
          if (this.projectService.allowLocalPluginLoads) {
            const s = Un(this.canonicalConfigFilePath);
            this.projectService.logger.info(`Local plugin loading enabled; adding ${s} to search paths`), i.unshift(s);
          }
          if (e.plugins)
            for (const s of e.plugins)
              this.enablePlugin(s, i);
          return this.enableGlobalPlugins(e);
        }
        /**
         * Get the errors that dont have any file name associated
         */
        getGlobalProjectErrors() {
          return Tn(this.projectErrors, (e) => !e.file) || Tl;
        }
        /**
         * Get all the project errors
         */
        getAllProjectErrors() {
          return this.projectErrors || Tl;
        }
        setProjectErrors(e) {
          this.projectErrors = e;
        }
        close() {
          this.projectService.configFileExistenceInfoCache.forEach((e, t) => this.releaseParsedConfig(t)), this.projectErrors = void 0, this.openFileWatchTriggered.clear(), this.compilerHost = void 0, super.close();
        }
        /** @internal */
        markAsDirty() {
          this.deferredClose || super.markAsDirty();
        }
        /** @internal */
        isOrphan() {
          return !!this.deferredClose;
        }
        getEffectiveTypeRoots() {
          return qD(this.getCompilationSettings(), this) || [];
        }
        /** @internal */
        updateErrorOnNoInputFiles(e) {
          this.parsedCommandLine = e, KF(
            e.fileNames,
            this.getConfigFilePath(),
            this.getCompilerOptions().configFile.configFileSpecs,
            this.projectErrors,
            XN(e.raw)
          );
        }
      }, uG = class extends Tk {
        /** @internal */
        constructor(e, t, n, i, s, o, c) {
          super(
            e,
            2,
            t,
            /*hasExplicitListOfFiles*/
            !0,
            i,
            n,
            s,
            c,
            t.host,
            Un(o || Bl(e))
          ), this.externalProjectName = e, this.compileOnSaveEnabled = s, this.excludedFiles = [], this.enableGlobalPlugins(this.getCompilerOptions());
        }
        updateGraph() {
          const e = super.updateGraph();
          return this.projectService.sendProjectTelemetry(this), e;
        }
        getExcludedFiles() {
          return this.excludedFiles;
        }
      };
      function cE(e) {
        return e.projectKind === 0;
      }
      function B0(e) {
        return e.projectKind === 1;
      }
      function E8(e) {
        return e.projectKind === 2;
      }
      function D8(e) {
        return e.projectKind === 3 || e.projectKind === 4;
      }
      function w8(e) {
        return B0(e) && !!e.deferredClose;
      }
      var _G = 20 * 1024 * 1024, fG = 4 * 1024 * 1024, ML = "projectsUpdatedInBackground", pG = "projectLoadingStart", dG = "projectLoadingFinish", mG = "largeFileReferenced", gG = "configFileDiag", hG = "projectLanguageServiceState", yG = "projectInfo", W_e = "openFileInfo", vG = "createFileWatcher", bG = "createDirectoryWatcher", SG = "closeFileWatcher", Ywe = "*ensureProjectForOpenFiles*";
      function Zwe(e) {
        const t = /* @__PURE__ */ new Map();
        for (const n of e)
          if (typeof n.type == "object") {
            const i = n.type;
            i.forEach((s) => {
              E.assert(typeof s == "number");
            }), t.set(n.name, i);
          }
        return t;
      }
      var vKe = Zwe(Zp), bKe = Zwe(Zx), SKe = new Map(Object.entries({
        none: 0,
        block: 1,
        smart: 2
        /* Smart */
      })), V_e = {
        jquery: {
          // jquery files can have names like "jquery-1.10.2.min.js" (or "jquery.intellisense.js")
          match: /jquery(-[\d.]+)?(\.intellisense)?(\.min)?\.js$/i,
          types: ["jquery"]
        },
        WinJS: {
          // e.g. c:/temp/UWApp1/lib/winjs-4.0.1/js/base.js
          match: /^(.*\/winjs-[.\d]+)\/js\/base\.js$/i,
          // If the winjs/base.js file is found..
          exclude: [["^", 1, "/.*"]],
          // ..then exclude all files under the winjs folder
          types: ["winjs"]
          // And fetch the @types package for WinJS
        },
        Kendo: {
          // e.g. /Kendo3/wwwroot/lib/kendo/kendo.all.min.js
          match: /^(.*\/kendo(-ui)?)\/kendo\.all(\.min)?\.js$/i,
          exclude: [["^", 1, "/.*"]],
          types: ["kendo-ui"]
        },
        "Office Nuget": {
          // e.g. /scripts/Office/1/excel-15.debug.js
          match: /^(.*\/office\/1)\/excel-\d+\.debug\.js$/i,
          // Office NuGet package is installed under a "1/office" folder
          exclude: [["^", 1, "/.*"]],
          // Exclude that whole folder if the file indicated above is found in it
          types: ["office"]
          // @types package to fetch instead
        },
        References: {
          match: /^(.*\/_references\.js)$/i,
          exclude: [["^", 1, "$"]]
        }
      };
      function lE(e) {
        return cs(e.indentStyle) && (e.indentStyle = SKe.get(e.indentStyle.toLowerCase()), E.assert(e.indentStyle !== void 0)), e;
      }
      function RL(e) {
        return vKe.forEach((t, n) => {
          const i = e[n];
          cs(i) && (e[n] = t.get(i.toLowerCase()));
        }), e;
      }
      function P8(e, t) {
        let n, i;
        return Zx.forEach((s) => {
          const o = e[s.name];
          if (o === void 0) return;
          const c = bKe.get(s.name);
          (n || (n = {}))[s.name] = c ? cs(o) ? c.get(o.toLowerCase()) : o : zS(s, o, t || "", i || (i = []));
        }), n && { watchOptions: n, errors: i };
      }
      function U_e(e) {
        let t;
        return VF.forEach((n) => {
          const i = e[n.name];
          i !== void 0 && ((t || (t = {}))[n.name] = i);
        }), t;
      }
      function TG(e) {
        return cs(e) ? xG(e) : e;
      }
      function xG(e) {
        switch (e) {
          case "JS":
            return 1;
          case "JSX":
            return 2;
          case "TS":
            return 3;
          case "TSX":
            return 4;
          default:
            return 0;
        }
      }
      function q_e(e) {
        const { lazyConfiguredProjectsFromExternalProject: t, ...n } = e;
        return n;
      }
      var kG = {
        getFileName: (e) => e,
        getScriptKind: (e, t) => {
          let n;
          if (t) {
            const i = XT(e);
            i && at(t, (s) => s.extension === i ? (n = s.scriptKind, !0) : !1);
          }
          return n;
        },
        hasMixedContent: (e, t) => at(t, (n) => n.isMixedContent && Wo(e, n.extension))
      }, CG = {
        getFileName: (e) => e.fileName,
        getScriptKind: (e) => TG(e.scriptKind),
        // TODO: GH#18217
        hasMixedContent: (e) => !!e.hasMixedContent
      };
      function Kwe(e, t) {
        for (const n of t)
          if (n.getProjectName() === e)
            return n;
      }
      var jL = {
        isKnownTypesPackageName: Th,
        // Should never be called because we never provide a types registry.
        installPackage: Hs,
        enqueueInstallTypingsRequest: Ua,
        attach: Ua,
        onProjectClosed: Ua,
        globalTypingsCacheLocation: void 0
        // TODO: GH#18217
      }, H_e = { close: Ua };
      function ePe(e, t) {
        if (!t) return;
        const n = t.get(e.path);
        if (n !== void 0)
          return EG(e) ? n && !cs(n) ? (
            // Map with fileName as key
            n.get(e.fileName)
          ) : void 0 : cs(n) || !n ? n : (
            // direct result
            n.get(
              /*key*/
              !1
            )
          );
      }
      function tPe(e) {
        return !!e.containingProjects;
      }
      function EG(e) {
        return !!e.configFileInfo;
      }
      var G_e = /* @__PURE__ */ ((e) => (e[e.FindOptimized = 0] = "FindOptimized", e[e.Find = 1] = "Find", e[e.CreateReplayOptimized = 2] = "CreateReplayOptimized", e[e.CreateReplay = 3] = "CreateReplay", e[e.CreateOptimized = 4] = "CreateOptimized", e[e.Create = 5] = "Create", e[e.ReloadOptimized = 6] = "ReloadOptimized", e[e.Reload = 7] = "Reload", e))(G_e || {});
      function rPe(e) {
        return e - 1;
      }
      function nPe(e, t, n, i, s, o, c, _, u) {
        for (var g; ; ) {
          if (t.parsedCommandLine && (_ && !t.parsedCommandLine.options.composite || // Currently disableSolutionSearching is shared for finding solution/project when
          // - loading solution for find all references
          // - trying to find default project
          t.parsedCommandLine.options.disableSolutionSearching)) return;
          const m = t.projectService.getConfigFileNameForFile(
            {
              fileName: t.getConfigFilePath(),
              path: e.path,
              configFileInfo: !0,
              isForDefaultProject: !_
            },
            i <= 3
            /* CreateReplay */
          );
          if (!m) return;
          const h = t.projectService.findCreateOrReloadConfiguredProject(
            m,
            i,
            s,
            o,
            _ ? void 0 : e.fileName,
            // Config Diag event for project if its for default project
            c,
            _,
            // Delay load if we are searching for solution
            u
          );
          if (!h) return;
          !h.project.parsedCommandLine && ((g = t.parsedCommandLine) != null && g.options.composite) && h.project.setPotentialProjectReference(t.canonicalConfigFilePath);
          const S = n(h);
          if (S) return S;
          t = h.project;
        }
      }
      function iPe(e, t, n, i, s, o, c, _) {
        const u = t.options.disableReferencedProjectLoad ? 0 : i;
        let g;
        return ar(
          t.projectReferences,
          (m) => {
            var h;
            const S = ro(ik(m)), T = e.projectService.toCanonicalFileName(S), k = _?.get(T);
            if (k !== void 0 && k >= u) return;
            const D = e.projectService.configFileExistenceInfoCache.get(T);
            let w = u === 0 ? D?.exists || (h = e.resolvedChildConfigs) != null && h.has(T) ? D.config.parsedCommandLine : void 0 : e.getParsedCommandLine(S);
            if (w && u !== i && u > 2 && (w = e.getParsedCommandLine(S)), !w) return;
            const A = e.projectService.findConfiguredProjectByProjectName(S, o);
            if (!(u === 2 && !D && !A)) {
              switch (u) {
                case 6:
                  A && A.projectService.reloadConfiguredProjectOptimized(A, s, c);
                // falls through
                case 4:
                  (e.resolvedChildConfigs ?? (e.resolvedChildConfigs = /* @__PURE__ */ new Set())).add(T);
                // falls through
                case 2:
                case 0:
                  if (A || u !== 0) {
                    const O = n(
                      D ?? e.projectService.configFileExistenceInfoCache.get(T),
                      A,
                      S,
                      s,
                      e,
                      T
                    );
                    if (O) return O;
                  }
                  break;
                default:
                  E.assertNever(u);
              }
              (_ ?? (_ = /* @__PURE__ */ new Map())).set(T, u), (g ?? (g = [])).push(w);
            }
          }
        ) || ar(
          g,
          (m) => m.projectReferences && iPe(
            e,
            m,
            n,
            u,
            s,
            o,
            c,
            _
          )
        );
      }
      function $_e(e, t, n, i, s) {
        let o = !1, c;
        switch (t) {
          case 2:
          case 3:
            Z_e(e) && (c = e.projectService.configFileExistenceInfoCache.get(e.canonicalConfigFilePath));
            break;
          case 4:
            if (c = Y_e(e), c) break;
          // falls through
          case 5:
            o = xKe(e, n);
            break;
          case 6:
            if (e.projectService.reloadConfiguredProjectOptimized(e, i, s), c = Y_e(e), c) break;
          // falls through
          case 7:
            o = e.projectService.reloadConfiguredProjectClearingSemanticCache(
              e,
              i,
              s
            );
            break;
          case 0:
          case 1:
            break;
          default:
            E.assertNever(t);
        }
        return { project: e, sentConfigFileDiag: o, configFileExistenceInfo: c, reason: i };
      }
      function sPe(e, t) {
        return e.initialLoadPending ? (e.potentialProjectReferences && Fg(e.potentialProjectReferences, t)) ?? (e.resolvedChildConfigs && Fg(e.resolvedChildConfigs, t)) : void 0;
      }
      function TKe(e, t, n, i) {
        return e.getCurrentProgram() ? e.forEachResolvedProjectReference(t) : e.initialLoadPending ? sPe(e, i) : ar(e.getProjectReferences(), n);
      }
      function X_e(e, t, n) {
        const i = n && e.projectService.configuredProjects.get(n);
        return i && t(i);
      }
      function aPe(e, t) {
        return TKe(
          e,
          (n) => X_e(e, t, n.sourceFile.path),
          (n) => X_e(e, t, e.toPath(ik(n))),
          (n) => X_e(e, t, n)
        );
      }
      function DG(e, t) {
        return `${cs(t) ? `Config: ${t} ` : t ? `Project: ${t.getProjectName()} ` : ""}WatchType: ${e}`;
      }
      function Q_e(e) {
        return !e.isScriptOpen() && e.mTime !== void 0;
      }
      function Mp(e) {
        return e.invalidateResolutionsOfFailedLookupLocations(), e.dirty && !e.updateGraph();
      }
      function oPe(e, t, n) {
        if (!n && (e.invalidateResolutionsOfFailedLookupLocations(), !e.dirty))
          return !1;
        e.triggerFileForConfigFileDiag = t;
        const i = e.pendingUpdateLevel;
        if (e.updateGraph(), !e.triggerFileForConfigFileDiag && !n) return i === 2;
        const s = e.projectService.sendConfigFileDiagEvent(e, t, n);
        return e.triggerFileForConfigFileDiag = void 0, s;
      }
      function xKe(e, t) {
        if (t) {
          if (oPe(
            e,
            t,
            /*isReload*/
            !1
          )) return !0;
        } else
          Mp(e);
        return !1;
      }
      function Y_e(e) {
        const t = ro(e.getConfigFilePath()), n = e.projectService.ensureParsedConfigUptoDate(
          t,
          e.canonicalConfigFilePath,
          e.projectService.configFileExistenceInfoCache.get(e.canonicalConfigFilePath),
          e
        ), i = n.config.parsedCommandLine;
        if (e.parsedCommandLine = i, e.resolvedChildConfigs = void 0, e.updateReferences(i.projectReferences), Z_e(e)) return n;
      }
      function Z_e(e) {
        return !!e.parsedCommandLine && (!!e.parsedCommandLine.options.composite || // If solution, no need to load it to determine if file belongs to it
        !!Kz(e.parsedCommandLine));
      }
      function kKe(e) {
        return Z_e(e) ? e.projectService.configFileExistenceInfoCache.get(e.canonicalConfigFilePath) : void 0;
      }
      function CKe(e) {
        return `Creating possible configured project for ${e.fileName} to open`;
      }
      function wG(e) {
        return `User requested reload projects: ${e}`;
      }
      function K_e(e) {
        B0(e) && (e.projectOptions = !0);
      }
      function efe(e) {
        let t = 1;
        return () => e(t++);
      }
      function tfe() {
        return { idToCallbacks: /* @__PURE__ */ new Map(), pathToId: /* @__PURE__ */ new Map() };
      }
      function cPe(e, t) {
        return !!t && !!e.eventHandler && !!e.session;
      }
      function EKe(e, t) {
        if (!cPe(e, t)) return;
        const n = tfe(), i = tfe(), s = tfe();
        let o = 1;
        return e.session.addProtocolHandler("watchChange", (T) => (g(T.arguments), { responseRequired: !1 })), {
          watchFile: c,
          watchDirectory: _,
          getCurrentDirectory: () => e.host.getCurrentDirectory(),
          useCaseSensitiveFileNames: e.host.useCaseSensitiveFileNames
        };
        function c(T, k) {
          return u(
            n,
            T,
            k,
            (D) => ({ eventName: vG, data: { id: D, path: T } })
          );
        }
        function _(T, k, D) {
          return u(
            D ? s : i,
            T,
            k,
            (w) => ({
              eventName: bG,
              data: {
                id: w,
                path: T,
                recursive: !!D,
                // Special case node_modules as we watch it for changes to closed script infos as well
                ignoreUpdate: T.endsWith("/node_modules") ? void 0 : !0
              }
            })
          );
        }
        function u({ pathToId: T, idToCallbacks: k }, D, w, A) {
          const O = e.toPath(D);
          let F = T.get(O);
          F || T.set(O, F = o++);
          let j = k.get(F);
          return j || (k.set(F, j = /* @__PURE__ */ new Set()), e.eventHandler(A(F))), j.add(w), {
            close() {
              const z = k.get(F);
              z?.delete(w) && (z.size || (k.delete(F), T.delete(O), e.eventHandler({ eventName: SG, data: { id: F } })));
            }
          };
        }
        function g(T) {
          fs(T) ? T.forEach(m) : m(T);
        }
        function m({ id: T, created: k, deleted: D, updated: w }) {
          h(
            T,
            k,
            0
            /* Created */
          ), h(
            T,
            D,
            2
            /* Deleted */
          ), h(
            T,
            w,
            1
            /* Changed */
          );
        }
        function h(T, k, D) {
          k?.length && (S(n, T, k, (w, A) => w(A, D)), S(i, T, k, (w, A) => w(A)), S(s, T, k, (w, A) => w(A)));
        }
        function S(T, k, D, w) {
          var A;
          (A = T.idToCallbacks.get(k)) == null || A.forEach((O) => {
            D.forEach((F) => w(O, Bl(F)));
          });
        }
      }
      var lPe = class tge {
        constructor(t) {
          this.filenameToScriptInfo = /* @__PURE__ */ new Map(), this.nodeModulesWatchers = /* @__PURE__ */ new Map(), this.filenameToScriptInfoVersion = /* @__PURE__ */ new Map(), this.allJsFilesForOpenFileTelemetry = /* @__PURE__ */ new Set(), this.externalProjectToConfiguredProjectMap = /* @__PURE__ */ new Map(), this.externalProjects = [], this.inferredProjects = [], this.configuredProjects = /* @__PURE__ */ new Map(), this.newInferredProjectName = efe(S_e), this.newAutoImportProviderProjectName = efe(T_e), this.newAuxiliaryProjectName = efe(x_e), this.openFiles = /* @__PURE__ */ new Map(), this.configFileForOpenFiles = /* @__PURE__ */ new Map(), this.rootOfInferredProjects = /* @__PURE__ */ new Set(), this.openFilesWithNonRootedDiskPath = /* @__PURE__ */ new Map(), this.compilerOptionsForInferredProjectsPerProjectRoot = /* @__PURE__ */ new Map(), this.watchOptionsForInferredProjectsPerProjectRoot = /* @__PURE__ */ new Map(), this.typeAcquisitionForInferredProjectsPerProjectRoot = /* @__PURE__ */ new Map(), this.projectToSizeMap = /* @__PURE__ */ new Map(), this.configFileExistenceInfoCache = /* @__PURE__ */ new Map(), this.safelist = V_e, this.legacySafelist = /* @__PURE__ */ new Map(), this.pendingProjectUpdates = /* @__PURE__ */ new Map(), this.pendingEnsureProjectForOpenFiles = !1, this.seenProjects = /* @__PURE__ */ new Map(), this.sharedExtendedConfigFileWatchers = /* @__PURE__ */ new Map(), this.extendedConfigCache = /* @__PURE__ */ new Map(), this.baseline = Ua, this.verifyDocumentRegistry = Ua, this.verifyProgram = Ua, this.onProjectCreation = Ua;
          var n;
          this.host = t.host, this.logger = t.logger, this.cancellationToken = t.cancellationToken, this.useSingleInferredProject = t.useSingleInferredProject, this.useInferredProjectPerProjectRoot = t.useInferredProjectPerProjectRoot, this.typingsInstaller = t.typingsInstaller || jL, this.throttleWaitMilliseconds = t.throttleWaitMilliseconds, this.eventHandler = t.eventHandler, this.suppressDiagnosticEvents = t.suppressDiagnosticEvents, this.globalPlugins = t.globalPlugins || Tl, this.pluginProbeLocations = t.pluginProbeLocations || Tl, this.allowLocalPluginLoads = !!t.allowLocalPluginLoads, this.typesMapLocation = t.typesMapLocation === void 0 ? An(Un(this.getExecutingFilePath()), "typesMap.json") : t.typesMapLocation, this.session = t.session, this.jsDocParsingMode = t.jsDocParsingMode, t.serverMode !== void 0 ? this.serverMode = t.serverMode : this.serverMode = 0, this.host.realpath && (this.realpathToScriptInfos = Tp()), this.currentDirectory = ro(this.host.getCurrentDirectory()), this.toCanonicalFileName = Hl(this.host.useCaseSensitiveFileNames), this.globalCacheLocationDirectoryPath = this.typingsInstaller.globalTypingsCacheLocation ? ml(this.toPath(this.typingsInstaller.globalTypingsCacheLocation)) : void 0, this.throttledOperations = new C_e(this.host, this.logger), this.logger.info(`currentDirectory:: ${this.host.getCurrentDirectory()} useCaseSensitiveFileNames:: ${this.host.useCaseSensitiveFileNames}`), this.logger.info(`libs Location:: ${Un(this.host.getExecutingFilePath())}`), this.logger.info(`globalTypingsCacheLocation:: ${this.typingsInstaller.globalTypingsCacheLocation}`), this.typesMapLocation ? this.loadTypesMap() : this.logger.info("No types map provided; using the default"), this.typingsInstaller.attach(this), this.hostConfiguration = {
            formatCodeOptions: a9(this.host.newLine),
            preferences: Op,
            hostInfo: "Unknown host",
            extraFileExtensions: []
          }, this.documentRegistry = mq(
            this.host.useCaseSensitiveFileNames,
            this.currentDirectory,
            this.jsDocParsingMode,
            this
          );
          const i = this.logger.hasLevel(
            3
            /* verbose */
          ) ? 2 : this.logger.loggingEnabled() ? 1 : 0, s = i !== 0 ? (o) => this.logger.info(o) : Ua;
          this.packageJsonCache = afe(this), this.watchFactory = this.serverMode !== 0 ? {
            watchFile: uw,
            watchDirectory: uw
          } : KW(
            EKe(this, t.canUseWatchEvents) || this.host,
            i,
            s,
            DG
          ), this.canUseWatchEvents = cPe(this, t.canUseWatchEvents), (n = t.incrementalVerifier) == null || n.call(t, this);
        }
        toPath(t) {
          return lo(t, this.currentDirectory, this.toCanonicalFileName);
        }
        /** @internal */
        getExecutingFilePath() {
          return this.getNormalizedAbsolutePath(this.host.getExecutingFilePath());
        }
        /** @internal */
        getNormalizedAbsolutePath(t) {
          return Xi(t, this.host.getCurrentDirectory());
        }
        /** @internal */
        setDocument(t, n, i) {
          const s = E.checkDefined(this.getScriptInfoForPath(n));
          s.cacheSourceFile = { key: t, sourceFile: i };
        }
        /** @internal */
        getDocument(t, n) {
          const i = this.getScriptInfoForPath(n);
          return i && i.cacheSourceFile && i.cacheSourceFile.key === t ? i.cacheSourceFile.sourceFile : void 0;
        }
        /** @internal */
        ensureInferredProjectsUpToDate_TestOnly() {
          this.ensureProjectStructuresUptoDate();
        }
        /** @internal */
        getCompilerOptionsForInferredProjects() {
          return this.compilerOptionsForInferredProjects;
        }
        /** @internal */
        onUpdateLanguageServiceStateForProject(t, n) {
          if (!this.eventHandler)
            return;
          const i = {
            eventName: hG,
            data: { project: t, languageServiceEnabled: n }
          };
          this.eventHandler(i);
        }
        loadTypesMap() {
          try {
            const t = this.host.readFile(this.typesMapLocation);
            if (t === void 0) {
              this.logger.info(`Provided types map file "${this.typesMapLocation}" doesn't exist`);
              return;
            }
            const n = JSON.parse(t);
            for (const i of Object.keys(n.typesMap))
              n.typesMap[i].match = new RegExp(n.typesMap[i].match, "i");
            this.safelist = n.typesMap;
            for (const i in n.simpleMap)
              ao(n.simpleMap, i) && this.legacySafelist.set(i, n.simpleMap[i].toLowerCase());
          } catch (t) {
            this.logger.info(`Error loading types map: ${t}`), this.safelist = V_e, this.legacySafelist.clear();
          }
        }
        // eslint-disable-line @typescript-eslint/unified-signatures
        updateTypingsForProject(t) {
          const n = this.findProject(t.projectName);
          if (n)
            switch (t.kind) {
              case r9:
                n.updateTypingFiles(
                  t.compilerOptions,
                  t.typeAcquisition,
                  t.unresolvedImports,
                  t.typings
                );
                return;
              case n9:
                n.enqueueInstallTypingsForProject(
                  /*forceRefresh*/
                  !0
                );
                return;
            }
        }
        /** @internal */
        watchTypingLocations(t) {
          var n;
          (n = this.findProject(t.projectName)) == null || n.watchTypingLocations(t.files);
        }
        /** @internal */
        delayEnsureProjectForOpenFiles() {
          this.openFiles.size && (this.pendingEnsureProjectForOpenFiles = !0, this.throttledOperations.schedule(
            Ywe,
            /*delay*/
            2500,
            () => {
              this.pendingProjectUpdates.size !== 0 ? this.delayEnsureProjectForOpenFiles() : this.pendingEnsureProjectForOpenFiles && (this.ensureProjectForOpenFiles(), this.sendProjectsUpdatedInBackgroundEvent());
            }
          ));
        }
        delayUpdateProjectGraph(t) {
          if (w8(t) || (t.markAsDirty(), D8(t))) return;
          const n = t.getProjectName();
          this.pendingProjectUpdates.set(n, t), this.throttledOperations.schedule(
            n,
            /*delay*/
            250,
            () => {
              this.pendingProjectUpdates.delete(n) && Mp(t);
            }
          );
        }
        /** @internal */
        hasPendingProjectUpdate(t) {
          return this.pendingProjectUpdates.has(t.getProjectName());
        }
        /** @internal */
        sendProjectsUpdatedInBackgroundEvent() {
          if (!this.eventHandler)
            return;
          const t = {
            eventName: ML,
            data: {
              openFiles: rs(this.openFiles.keys(), (n) => this.getScriptInfoForPath(n).fileName)
            }
          };
          this.eventHandler(t);
        }
        /** @internal */
        sendLargeFileReferencedEvent(t, n) {
          if (!this.eventHandler)
            return;
          const i = {
            eventName: mG,
            data: { file: t, fileSize: n, maxFileSize: fG }
          };
          this.eventHandler(i);
        }
        /** @internal */
        sendProjectLoadingStartEvent(t, n) {
          if (!this.eventHandler)
            return;
          t.sendLoadingProjectFinish = !0;
          const i = {
            eventName: pG,
            data: { project: t, reason: n }
          };
          this.eventHandler(i);
        }
        /** @internal */
        sendProjectLoadingFinishEvent(t) {
          if (!this.eventHandler || !t.sendLoadingProjectFinish)
            return;
          t.sendLoadingProjectFinish = !1;
          const n = {
            eventName: dG,
            data: { project: t }
          };
          this.eventHandler(n);
        }
        /** @internal */
        sendPerformanceEvent(t, n) {
          this.performanceEventHandler && this.performanceEventHandler({ kind: t, durationMs: n });
        }
        /** @internal */
        delayUpdateProjectGraphAndEnsureProjectStructureForOpenFiles(t) {
          this.delayUpdateProjectGraph(t), this.delayEnsureProjectForOpenFiles();
        }
        delayUpdateProjectGraphs(t, n) {
          if (t.length) {
            for (const i of t)
              n && i.clearSourceMapperCache(), this.delayUpdateProjectGraph(i);
            this.delayEnsureProjectForOpenFiles();
          }
        }
        setCompilerOptionsForInferredProjects(t, n) {
          E.assert(n === void 0 || this.useInferredProjectPerProjectRoot, "Setting compiler options per project root path is only supported when useInferredProjectPerProjectRoot is enabled");
          const i = RL(t), s = P8(t, n), o = U_e(t);
          i.allowNonTsExtensions = !0;
          const c = n && this.toCanonicalFileName(n);
          c ? (this.compilerOptionsForInferredProjectsPerProjectRoot.set(c, i), this.watchOptionsForInferredProjectsPerProjectRoot.set(c, s || !1), this.typeAcquisitionForInferredProjectsPerProjectRoot.set(c, o)) : (this.compilerOptionsForInferredProjects = i, this.watchOptionsForInferredProjects = s, this.typeAcquisitionForInferredProjects = o);
          for (const _ of this.inferredProjects)
            (c ? _.projectRootPath === c : !_.projectRootPath || !this.compilerOptionsForInferredProjectsPerProjectRoot.has(_.projectRootPath)) && (_.setCompilerOptions(i), _.setTypeAcquisition(o), _.setWatchOptions(s?.watchOptions), _.setProjectErrors(s?.errors), _.compileOnSaveEnabled = i.compileOnSave, _.markAsDirty(), this.delayUpdateProjectGraph(_));
          this.delayEnsureProjectForOpenFiles();
        }
        findProject(t) {
          if (t !== void 0)
            return b_e(t) ? Kwe(t, this.inferredProjects) : this.findExternalProjectByProjectName(t) || this.findConfiguredProjectByProjectName(ro(t));
        }
        /** @internal */
        forEachProject(t) {
          this.externalProjects.forEach(t), this.configuredProjects.forEach(t), this.inferredProjects.forEach(t);
        }
        /** @internal */
        forEachEnabledProject(t) {
          this.forEachProject((n) => {
            !n.isOrphan() && n.languageServiceEnabled && t(n);
          });
        }
        getDefaultProjectForFile(t, n) {
          return n ? this.ensureDefaultProjectForFile(t) : this.tryGetDefaultProjectForFile(t);
        }
        /** @internal */
        tryGetDefaultProjectForFile(t) {
          const n = cs(t) ? this.getScriptInfoForNormalizedPath(t) : t;
          return n && !n.isOrphan() ? n.getDefaultProject() : void 0;
        }
        /**
         * If there is default project calculation pending for this file,
         * then it completes that calculation so that correct default project is used for the project
         */
        tryGetDefaultProjectForEnsuringConfiguredProjectForFile(t) {
          var n;
          const i = cs(t) ? this.getScriptInfoForNormalizedPath(t) : t;
          if (i)
            return (n = this.pendingOpenFileProjectUpdates) != null && n.delete(i.path) && (this.tryFindDefaultConfiguredProjectAndLoadAncestorsForOpenScriptInfo(
              i,
              5
              /* Create */
            ), i.isOrphan() && this.assignOrphanScriptInfoToInferredProject(i, this.openFiles.get(i.path))), this.tryGetDefaultProjectForFile(i);
        }
        /** @internal */
        ensureDefaultProjectForFile(t) {
          return this.tryGetDefaultProjectForEnsuringConfiguredProjectForFile(t) || this.doEnsureDefaultProjectForFile(t);
        }
        doEnsureDefaultProjectForFile(t) {
          this.ensureProjectStructuresUptoDate();
          const n = cs(t) ? this.getScriptInfoForNormalizedPath(t) : t;
          return n ? n.getDefaultProject() : (this.logErrorForScriptInfoNotFound(cs(t) ? t : t.fileName), Uh.ThrowNoProject());
        }
        getScriptInfoEnsuringProjectsUptoDate(t) {
          return this.ensureProjectStructuresUptoDate(), this.getScriptInfo(t);
        }
        /**
         * Ensures the project structures are upto date
         * This means,
         * - we go through all the projects and update them if they are dirty
         * - if updates reflect some change in structure or there was pending request to ensure projects for open files
         *   ensure that each open script info has project
         */
        ensureProjectStructuresUptoDate() {
          let t = this.pendingEnsureProjectForOpenFiles;
          this.pendingProjectUpdates.clear();
          const n = (i) => {
            t = Mp(i) || t;
          };
          this.externalProjects.forEach(n), this.configuredProjects.forEach(n), this.inferredProjects.forEach(n), t && this.ensureProjectForOpenFiles();
        }
        getFormatCodeOptions(t) {
          const n = this.getScriptInfoForNormalizedPath(t);
          return n && n.getFormatCodeSettings() || this.hostConfiguration.formatCodeOptions;
        }
        getPreferences(t) {
          const n = this.getScriptInfoForNormalizedPath(t);
          return { ...this.hostConfiguration.preferences, ...n && n.getPreferences() };
        }
        getHostFormatCodeOptions() {
          return this.hostConfiguration.formatCodeOptions;
        }
        getHostPreferences() {
          return this.hostConfiguration.preferences;
        }
        onSourceFileChanged(t, n) {
          E.assert(!t.isScriptOpen()), n === 2 ? this.handleDeletedFile(
            t,
            /*deferredDelete*/
            !0
          ) : (t.deferredDelete && (t.deferredDelete = void 0), t.delayReloadNonMixedContentFile(), this.delayUpdateProjectGraphs(
            t.containingProjects,
            /*clearSourceMapperCache*/
            !1
          ), this.handleSourceMapProjects(t));
        }
        handleSourceMapProjects(t) {
          if (t.sourceMapFilePath)
            if (cs(t.sourceMapFilePath)) {
              const n = this.getScriptInfoForPath(t.sourceMapFilePath);
              this.delayUpdateSourceInfoProjects(n?.sourceInfos);
            } else
              this.delayUpdateSourceInfoProjects(t.sourceMapFilePath.sourceInfos);
          this.delayUpdateSourceInfoProjects(t.sourceInfos), t.declarationInfoPath && this.delayUpdateProjectsOfScriptInfoPath(t.declarationInfoPath);
        }
        delayUpdateSourceInfoProjects(t) {
          t && t.forEach((n, i) => this.delayUpdateProjectsOfScriptInfoPath(i));
        }
        delayUpdateProjectsOfScriptInfoPath(t) {
          const n = this.getScriptInfoForPath(t);
          n && this.delayUpdateProjectGraphs(
            n.containingProjects,
            /*clearSourceMapperCache*/
            !0
          );
        }
        handleDeletedFile(t, n) {
          E.assert(!t.isScriptOpen()), this.delayUpdateProjectGraphs(
            t.containingProjects,
            /*clearSourceMapperCache*/
            !1
          ), this.handleSourceMapProjects(t), t.detachAllProjects(), n ? (t.delayReloadNonMixedContentFile(), t.deferredDelete = !0) : this.deleteScriptInfo(t);
        }
        /**
         * This is to watch whenever files are added or removed to the wildcard directories
         */
        watchWildcardDirectory(t, n, i, s) {
          let o = this.watchFactory.watchDirectory(
            t,
            (_) => this.onWildCardDirectoryWatcherInvoke(
              t,
              i,
              s,
              c,
              _
            ),
            n,
            this.getWatchOptionsFromProjectWatchOptions(s.parsedCommandLine.watchOptions, Un(i)),
            Nl.WildcardDirectory,
            i
          );
          const c = {
            packageJsonWatches: void 0,
            close() {
              var _;
              o && (o.close(), o = void 0, (_ = c.packageJsonWatches) == null || _.forEach((u) => {
                u.projects.delete(c), u.close();
              }), c.packageJsonWatches = void 0);
            }
          };
          return c;
        }
        onWildCardDirectoryWatcherInvoke(t, n, i, s, o) {
          const c = this.toPath(o), _ = i.cachedDirectoryStructureHost.addOrDeleteFileOrDirectory(o, c);
          if (Qc(c) === "package.json" && !VA(c) && (_ && _.fileExists || !_ && this.host.fileExists(o))) {
            const g = this.getNormalizedAbsolutePath(o);
            this.logger.info(`Config: ${n} Detected new package.json: ${g}`), this.packageJsonCache.addOrUpdate(g, c), this.watchPackageJsonFile(g, c, s);
          }
          _?.fileExists || this.sendSourceFileChange(c);
          const u = this.findConfiguredProjectByProjectName(n);
          fA({
            watchedDirPath: this.toPath(t),
            fileOrDirectory: o,
            fileOrDirectoryPath: c,
            configFileName: n,
            extraFileExtensions: this.hostConfiguration.extraFileExtensions,
            currentDirectory: this.currentDirectory,
            options: i.parsedCommandLine.options,
            program: u?.getCurrentProgram() || i.parsedCommandLine.fileNames,
            useCaseSensitiveFileNames: this.host.useCaseSensitiveFileNames,
            writeLog: (g) => this.logger.info(g),
            toPath: (g) => this.toPath(g),
            getScriptKind: u ? (g) => u.getScriptKind(g) : void 0
          }) || (i.updateLevel !== 2 && (i.updateLevel = 1), i.projects.forEach((g, m) => {
            var h;
            if (!g) return;
            const S = this.getConfiguredProjectByCanonicalConfigFilePath(m);
            if (!S) return;
            if (u !== S && this.getHostPreferences().includeCompletionsForModuleExports) {
              const k = this.toPath(n);
              Dn((h = S.getCurrentProgram()) == null ? void 0 : h.getResolvedProjectReferences(), (D) => D?.sourceFile.path === k) && S.markAutoImportProviderAsDirty();
            }
            const T = u === S ? 1 : 0;
            if (!(S.pendingUpdateLevel > T))
              if (this.openFiles.has(c))
                if (E.checkDefined(this.getScriptInfoForPath(c)).isAttached(S)) {
                  const D = Math.max(
                    T,
                    S.openFileWatchTriggered.get(c) || 0
                    /* Update */
                  );
                  S.openFileWatchTriggered.set(c, D);
                } else
                  S.pendingUpdateLevel = T, this.delayUpdateProjectGraphAndEnsureProjectStructureForOpenFiles(S);
              else
                S.pendingUpdateLevel = T, this.delayUpdateProjectGraphAndEnsureProjectStructureForOpenFiles(S);
          }));
        }
        delayUpdateProjectsFromParsedConfigOnConfigFileChange(t, n) {
          const i = this.configFileExistenceInfoCache.get(t);
          if (!i?.config) return !1;
          let s = !1;
          return i.config.updateLevel = 2, i.config.cachedDirectoryStructureHost.clearCache(), i.config.projects.forEach((o, c) => {
            var _, u, g;
            const m = this.getConfiguredProjectByCanonicalConfigFilePath(c);
            if (m)
              if (s = !0, c === t) {
                if (m.initialLoadPending) return;
                m.pendingUpdateLevel = 2, m.pendingUpdateReason = n, this.delayUpdateProjectGraph(m), m.markAutoImportProviderAsDirty();
              } else {
                if (m.initialLoadPending) {
                  (u = (_ = this.configFileExistenceInfoCache.get(c)) == null ? void 0 : _.openFilesImpactedByConfigFile) == null || u.forEach((S) => {
                    var T;
                    (T = this.pendingOpenFileProjectUpdates) != null && T.has(S) || (this.pendingOpenFileProjectUpdates ?? (this.pendingOpenFileProjectUpdates = /* @__PURE__ */ new Map())).set(
                      S,
                      this.configFileForOpenFiles.get(S)
                    );
                  });
                  return;
                }
                const h = this.toPath(t);
                m.resolutionCache.removeResolutionsFromProjectReferenceRedirects(h), this.delayUpdateProjectGraph(m), this.getHostPreferences().includeCompletionsForModuleExports && Dn((g = m.getCurrentProgram()) == null ? void 0 : g.getResolvedProjectReferences(), (S) => S?.sourceFile.path === h) && m.markAutoImportProviderAsDirty();
              }
          }), s;
        }
        onConfigFileChanged(t, n, i) {
          const s = this.configFileExistenceInfoCache.get(n), o = this.getConfiguredProjectByCanonicalConfigFilePath(n), c = o?.deferredClose;
          i === 2 ? (s.exists = !1, o && (o.deferredClose = !0)) : (s.exists = !0, c && (o.deferredClose = void 0, o.markAsDirty())), this.delayUpdateProjectsFromParsedConfigOnConfigFileChange(
            n,
            "Change in config file detected"
          ), this.openFiles.forEach((_, u) => {
            var g, m;
            const h = this.configFileForOpenFiles.get(u);
            if (!((g = s.openFilesImpactedByConfigFile) != null && g.has(u))) return;
            this.configFileForOpenFiles.delete(u);
            const S = this.getScriptInfoForPath(u);
            this.getConfigFileNameForFile(
              S,
              /*findFromCacheOnly*/
              !1
            ) && ((m = this.pendingOpenFileProjectUpdates) != null && m.has(u) || (this.pendingOpenFileProjectUpdates ?? (this.pendingOpenFileProjectUpdates = /* @__PURE__ */ new Map())).set(u, h));
          }), this.delayEnsureProjectForOpenFiles();
        }
        removeProject(t) {
          switch (this.logger.info("`remove Project::"), t.print(
            /*writeProjectFileNames*/
            !0,
            /*writeFileExplaination*/
            !0,
            /*writeFileVersionAndText*/
            !1
          ), t.close(), E.shouldAssert(
            1
            /* Normal */
          ) && this.filenameToScriptInfo.forEach(
            (n) => E.assert(
              !n.isAttached(t),
              "Found script Info still attached to project",
              () => `${t.projectName}: ScriptInfos still attached: ${JSON.stringify(
                rs(
                  Sy(
                    this.filenameToScriptInfo.values(),
                    (i) => i.isAttached(t) ? {
                      fileName: i.fileName,
                      projects: i.containingProjects.map((s) => s.projectName),
                      hasMixedContent: i.hasMixedContent
                    } : void 0
                  )
                ),
                /*replacer*/
                void 0,
                " "
              )}`
            )
          ), this.pendingProjectUpdates.delete(t.getProjectName()), t.projectKind) {
            case 2:
              HT(this.externalProjects, t), this.projectToSizeMap.delete(t.getProjectName());
              break;
            case 1:
              this.configuredProjects.delete(t.canonicalConfigFilePath), this.projectToSizeMap.delete(t.canonicalConfigFilePath);
              break;
            case 0:
              HT(this.inferredProjects, t);
              break;
          }
        }
        /** @internal */
        assignOrphanScriptInfoToInferredProject(t, n) {
          E.assert(t.isOrphan());
          const i = this.getOrCreateInferredProjectForProjectRootPathIfEnabled(t, n) || this.getOrCreateSingleInferredProjectIfEnabled() || this.getOrCreateSingleInferredWithoutProjectRoot(
            t.isDynamic ? n || this.currentDirectory : Un(
              V_(t.fileName) ? t.fileName : Xi(
                t.fileName,
                n ? this.getNormalizedAbsolutePath(n) : this.currentDirectory
              )
            )
          );
          if (i.addRoot(t), t.containingProjects[0] !== i && (i4(t.containingProjects, i), t.containingProjects.unshift(i)), i.updateGraph(), !this.useSingleInferredProject && !i.projectRootPath)
            for (const s of this.inferredProjects) {
              if (s === i || s.isOrphan())
                continue;
              const o = s.getRootScriptInfos();
              E.assert(o.length === 1 || !!s.projectRootPath), o.length === 1 && ar(o[0].containingProjects, (c) => c !== o[0].containingProjects[0] && !c.isOrphan()) && s.removeFile(
                o[0],
                /*fileExists*/
                !0,
                /*detachFromProject*/
                !0
              );
            }
          return i;
        }
        assignOrphanScriptInfosToInferredProject() {
          this.openFiles.forEach((t, n) => {
            const i = this.getScriptInfoForPath(n);
            i.isOrphan() && this.assignOrphanScriptInfoToInferredProject(i, t);
          });
        }
        /**
         * Remove this file from the set of open, non-configured files.
         * @param info The file that has been closed or newly configured
         */
        closeOpenFile(t, n) {
          var i;
          const s = t.isDynamic ? !1 : this.host.fileExists(t.fileName);
          t.close(s), this.stopWatchingConfigFilesForScriptInfo(t);
          const o = this.toCanonicalFileName(t.fileName);
          this.openFilesWithNonRootedDiskPath.get(o) === t && this.openFilesWithNonRootedDiskPath.delete(o);
          let c = !1;
          for (const _ of t.containingProjects) {
            if (B0(_)) {
              t.hasMixedContent && t.registerFileUpdate();
              const u = _.openFileWatchTriggered.get(t.path);
              u !== void 0 && (_.openFileWatchTriggered.delete(t.path), _.pendingUpdateLevel < u && (_.pendingUpdateLevel = u, _.markFileAsDirty(t.path)));
            } else cE(_) && _.isRoot(t) && (_.isProjectWithSingleRoot() && (c = !0), _.removeFile(
              t,
              s,
              /*detachFromProject*/
              !0
            ));
            _.languageServiceEnabled || _.markAsDirty();
          }
          return this.openFiles.delete(t.path), this.configFileForOpenFiles.delete(t.path), (i = this.pendingOpenFileProjectUpdates) == null || i.delete(t.path), E.assert(!this.rootOfInferredProjects.has(t)), !n && c && this.assignOrphanScriptInfosToInferredProject(), s ? this.watchClosedScriptInfo(t) : this.handleDeletedFile(
            t,
            /*deferredDelete*/
            !1
          ), c;
        }
        deleteScriptInfo(t) {
          E.assert(!t.isScriptOpen()), this.filenameToScriptInfo.delete(t.path), this.filenameToScriptInfoVersion.set(t.path, t.textStorage.version), this.stopWatchingScriptInfo(t);
          const n = t.getRealpathIfDifferent();
          n && this.realpathToScriptInfos.remove(n, t), t.closeSourceMapFileWatcher();
        }
        configFileExists(t, n, i) {
          const s = this.configFileExistenceInfoCache.get(n);
          let o;
          if (this.openFiles.has(i.path) && (!EG(i) || i.isForDefaultProject) && (s ? (s.openFilesImpactedByConfigFile ?? (s.openFilesImpactedByConfigFile = /* @__PURE__ */ new Set())).add(i.path) : (o = /* @__PURE__ */ new Set()).add(i.path)), s) return s.exists;
          const c = this.host.fileExists(t);
          return this.configFileExistenceInfoCache.set(n, { exists: c, openFilesImpactedByConfigFile: o }), c;
        }
        createConfigFileWatcherForParsedConfig(t, n, i) {
          var s, o;
          const c = this.configFileExistenceInfoCache.get(n);
          (!c.watcher || c.watcher === H_e) && (c.watcher = this.watchFactory.watchFile(
            t,
            (_, u) => this.onConfigFileChanged(t, n, u),
            2e3,
            this.getWatchOptionsFromProjectWatchOptions((o = (s = c?.config) == null ? void 0 : s.parsedCommandLine) == null ? void 0 : o.watchOptions, Un(t)),
            Nl.ConfigFile,
            i
          )), this.ensureConfigFileWatcherForProject(c, i);
        }
        ensureConfigFileWatcherForProject(t, n) {
          const i = t.config.projects;
          i.set(n.canonicalConfigFilePath, i.get(n.canonicalConfigFilePath) || !1);
        }
        /** @internal */
        releaseParsedConfig(t, n) {
          var i, s, o;
          const c = this.configFileExistenceInfoCache.get(t);
          (i = c.config) != null && i.projects.delete(n.canonicalConfigFilePath) && ((s = c.config) != null && s.projects.size || (c.config = void 0, YW(t, this.sharedExtendedConfigFileWatchers), E.checkDefined(c.watcher), (o = c.openFilesImpactedByConfigFile) != null && o.size ? c.inferredProjectRoots ? vA(Un(t)) || (c.watcher.close(), c.watcher = H_e) : (c.watcher.close(), c.watcher = void 0) : (c.watcher.close(), this.configFileExistenceInfoCache.delete(t))));
        }
        /**
         * This is called on file close or when its removed from inferred project as root,
         * so that we handle the watches and inferred project root data
         * @internal
         */
        stopWatchingConfigFilesForScriptInfo(t) {
          if (this.serverMode !== 0) return;
          const n = this.rootOfInferredProjects.delete(t), i = t.isScriptOpen();
          i && !n || this.forEachConfigFileLocation(t, (s) => {
            var o, c, _;
            const u = this.configFileExistenceInfoCache.get(s);
            if (u) {
              if (i) {
                if (!((o = u?.openFilesImpactedByConfigFile) != null && o.has(t.path))) return;
              } else if (!((c = u.openFilesImpactedByConfigFile) != null && c.delete(t.path))) return;
              n && (u.inferredProjectRoots--, u.watcher && !u.config && !u.inferredProjectRoots && (u.watcher.close(), u.watcher = void 0)), !((_ = u.openFilesImpactedByConfigFile) != null && _.size) && !u.config && (E.assert(!u.watcher), this.configFileExistenceInfoCache.delete(s));
            }
          });
        }
        /**
         * This is called by inferred project whenever script info is added as a root
         *
         * @internal
         */
        startWatchingConfigFilesForInferredProjectRoot(t) {
          this.serverMode === 0 && (E.assert(t.isScriptOpen()), this.rootOfInferredProjects.add(t), this.forEachConfigFileLocation(t, (n, i) => {
            let s = this.configFileExistenceInfoCache.get(n);
            s ? s.inferredProjectRoots = (s.inferredProjectRoots ?? 0) + 1 : (s = { exists: this.host.fileExists(i), inferredProjectRoots: 1 }, this.configFileExistenceInfoCache.set(n, s)), (s.openFilesImpactedByConfigFile ?? (s.openFilesImpactedByConfigFile = /* @__PURE__ */ new Set())).add(t.path), s.watcher || (s.watcher = vA(Un(n)) ? this.watchFactory.watchFile(
              i,
              (o, c) => this.onConfigFileChanged(i, n, c),
              2e3,
              this.hostConfiguration.watchOptions,
              Nl.ConfigFileForInferredRoot
            ) : H_e);
          }));
        }
        /**
         * This function tries to search for a tsconfig.json for the given file.
         * This is different from the method the compiler uses because
         * the compiler can assume it will always start searching in the
         * current directory (the directory in which tsc was invoked).
         * The server must start searching from the directory containing
         * the newly opened file.
         */
        forEachConfigFileLocation(t, n) {
          if (this.serverMode !== 0)
            return;
          E.assert(!tPe(t) || this.openFiles.has(t.path));
          const i = this.openFiles.get(t.path);
          if (E.checkDefined(this.getScriptInfo(t.path)).isDynamic) return;
          let o = Un(t.fileName);
          const c = () => Qf(i, o, this.currentDirectory, !this.host.useCaseSensitiveFileNames), _ = !i || !c();
          let u = !0, g = !0;
          EG(t) && (No(t.fileName, "tsconfig.json") ? u = !1 : u = g = !1);
          do {
            const m = oE(o, this.currentDirectory, this.toCanonicalFileName);
            if (u) {
              const S = An(o, "tsconfig.json");
              if (n(An(m, "tsconfig.json"), S)) return S;
            }
            if (g) {
              const S = An(o, "jsconfig.json");
              if (n(An(m, "jsconfig.json"), S)) return S;
            }
            if (i7(m))
              break;
            const h = Un(o);
            if (h === o) break;
            o = h, u = g = !0;
          } while (_ || c());
        }
        /** @internal */
        findDefaultConfiguredProject(t) {
          var n;
          return (n = this.findDefaultConfiguredProjectWorker(
            t,
            1
            /* Find */
          )) == null ? void 0 : n.defaultProject;
        }
        /** @internal */
        findDefaultConfiguredProjectWorker(t, n) {
          return t.isScriptOpen() ? this.tryFindDefaultConfiguredProjectForOpenScriptInfo(
            t,
            n
          ) : void 0;
        }
        /** Get cached configFileName for scriptInfo or ancestor of open script info */
        getConfigFileNameForFileFromCache(t, n) {
          if (n) {
            const i = ePe(t, this.pendingOpenFileProjectUpdates);
            if (i !== void 0) return i;
          }
          return ePe(t, this.configFileForOpenFiles);
        }
        /** Caches the configFilename for script info or ancestor of open script info */
        setConfigFileNameForFileInCache(t, n) {
          if (!this.openFiles.has(t.path)) return;
          const i = n || !1;
          if (!EG(t))
            this.configFileForOpenFiles.set(t.path, i);
          else {
            let s = this.configFileForOpenFiles.get(t.path);
            (!s || cs(s)) && this.configFileForOpenFiles.set(
              t.path,
              s = (/* @__PURE__ */ new Map()).set(!1, s)
            ), s.set(t.fileName, i);
          }
        }
        /**
         * This function tries to search for a tsconfig.json for the given file.
         * This is different from the method the compiler uses because
         * the compiler can assume it will always start searching in the
         * current directory (the directory in which tsc was invoked).
         * The server must start searching from the directory containing
         * the newly opened file.
         * If script info is passed in, it is asserted to be open script info
         * otherwise just file name
         * when findFromCacheOnly is true only looked up in cache instead of hitting disk to figure things out
         * @internal
         */
        getConfigFileNameForFile(t, n) {
          const i = this.getConfigFileNameForFileFromCache(t, n);
          if (i !== void 0) return i || void 0;
          if (n) return;
          const s = this.forEachConfigFileLocation(t, (o, c) => this.configFileExists(c, o, t));
          return this.logger.info(`getConfigFileNameForFile:: File: ${t.fileName} ProjectRootPath: ${this.openFiles.get(t.path)}:: Result: ${s}`), this.setConfigFileNameForFileInCache(t, s), s;
        }
        printProjects() {
          this.logger.hasLevel(
            1
            /* normal */
          ) && (this.logger.startGroup(), this.externalProjects.forEach(ife), this.configuredProjects.forEach(ife), this.inferredProjects.forEach(ife), this.logger.info("Open files: "), this.openFiles.forEach((t, n) => {
            const i = this.getScriptInfoForPath(n);
            this.logger.info(`	FileName: ${i.fileName} ProjectRootPath: ${t}`), this.logger.info(`		Projects: ${i.containingProjects.map((s) => s.getProjectName())}`);
          }), this.logger.endGroup());
        }
        /** @internal */
        findConfiguredProjectByProjectName(t, n) {
          const i = this.toCanonicalFileName(t), s = this.getConfiguredProjectByCanonicalConfigFilePath(i);
          return n ? s : s?.deferredClose ? void 0 : s;
        }
        getConfiguredProjectByCanonicalConfigFilePath(t) {
          return this.configuredProjects.get(t);
        }
        findExternalProjectByProjectName(t) {
          return Kwe(t, this.externalProjects);
        }
        /** Get a filename if the language service exceeds the maximum allowed program size; otherwise returns undefined. */
        getFilenameForExceededTotalSizeLimitForNonTsFiles(t, n, i, s) {
          if (n && n.disableSizeLimit || !this.host.getFileSize)
            return;
          let o = _G;
          this.projectToSizeMap.set(t, 0), this.projectToSizeMap.forEach((_) => o -= _ || 0);
          let c = 0;
          for (const _ of i) {
            const u = s.getFileName(_);
            if (!CS(u) && (c += this.host.getFileSize(u), c > _G || c > o)) {
              const g = i.map((m) => s.getFileName(m)).filter((m) => !CS(m)).map((m) => ({ name: m, size: this.host.getFileSize(m) })).sort((m, h) => h.size - m.size).slice(0, 5);
              return this.logger.info(`Non TS file size exceeded limit (${c}). Largest files: ${g.map((m) => `${m.name}:${m.size}`).join(", ")}`), u;
            }
          }
          this.projectToSizeMap.set(t, c);
        }
        createExternalProject(t, n, i, s, o) {
          const c = RL(i), _ = P8(i, Un(Bl(t))), u = new uG(
            t,
            this,
            c,
            /*lastFileExceededProgramSize*/
            this.getFilenameForExceededTotalSizeLimitForNonTsFiles(t, c, n, CG),
            i.compileOnSave === void 0 ? !0 : i.compileOnSave,
            /*projectFilePath*/
            void 0,
            _?.watchOptions
          );
          return u.setProjectErrors(_?.errors), u.excludedFiles = o, this.addFilesToNonInferredProject(u, n, CG, s), this.externalProjects.push(u), u;
        }
        /** @internal */
        sendProjectTelemetry(t) {
          if (this.seenProjects.has(t.projectName)) {
            K_e(t);
            return;
          }
          if (this.seenProjects.set(t.projectName, !0), !this.eventHandler || !this.host.createSHA256Hash) {
            K_e(t);
            return;
          }
          const n = B0(t) ? t.projectOptions : void 0;
          K_e(t);
          const i = {
            projectId: this.host.createSHA256Hash(t.projectName),
            fileStats: C8(
              t.getScriptInfos(),
              /*includeSizes*/
              !0
            ),
            compilerOptions: jre(t.getCompilationSettings()),
            typeAcquisition: o(t.getTypeAcquisition()),
            extends: n && n.configHasExtendsProperty,
            files: n && n.configHasFilesProperty,
            include: n && n.configHasIncludeProperty,
            exclude: n && n.configHasExcludeProperty,
            compileOnSave: t.compileOnSaveEnabled,
            configFileName: s(),
            projectType: t instanceof uG ? "external" : "configured",
            languageServiceEnabled: t.languageServiceEnabled,
            version: Gf
          };
          this.eventHandler({ eventName: yG, data: i });
          function s() {
            return B0(t) && lG(t.getConfigFilePath()) || "other";
          }
          function o({ enable: c, include: _, exclude: u }) {
            return {
              enable: c,
              include: _ !== void 0 && _.length !== 0,
              exclude: u !== void 0 && u.length !== 0
            };
          }
        }
        addFilesToNonInferredProject(t, n, i, s) {
          this.updateNonInferredProjectFiles(t, n, i), t.setTypeAcquisition(s), t.markAsDirty();
        }
        /** @internal */
        createConfiguredProject(t, n) {
          var i;
          (i = rn) == null || i.instant(rn.Phase.Session, "createConfiguredProject", { configFilePath: t });
          const s = this.toCanonicalFileName(t);
          let o = this.configFileExistenceInfoCache.get(s);
          o ? o.exists = !0 : this.configFileExistenceInfoCache.set(s, o = { exists: !0 }), o.config || (o.config = {
            cachedDirectoryStructureHost: DO(this.host, this.host.getCurrentDirectory(), this.host.useCaseSensitiveFileNames),
            projects: /* @__PURE__ */ new Map(),
            updateLevel: 2
            /* Full */
          });
          const c = new z_e(
            t,
            s,
            this,
            o.config.cachedDirectoryStructureHost,
            n
          );
          return E.assert(!this.configuredProjects.has(s)), this.configuredProjects.set(s, c), this.createConfigFileWatcherForParsedConfig(t, s, c), c;
        }
        /**
         * Read the config file of the project, and update the project root file names.
         */
        loadConfiguredProject(t, n) {
          var i, s;
          (i = rn) == null || i.push(rn.Phase.Session, "loadConfiguredProject", { configFilePath: t.canonicalConfigFilePath }), this.sendProjectLoadingStartEvent(t, n);
          const o = ro(t.getConfigFilePath()), c = this.ensureParsedConfigUptoDate(
            o,
            t.canonicalConfigFilePath,
            this.configFileExistenceInfoCache.get(t.canonicalConfigFilePath),
            t
          ), _ = c.config.parsedCommandLine;
          E.assert(!!_.fileNames);
          const u = _.options;
          t.projectOptions || (t.projectOptions = {
            configHasExtendsProperty: _.raw.extends !== void 0,
            configHasFilesProperty: _.raw.files !== void 0,
            configHasIncludeProperty: _.raw.include !== void 0,
            configHasExcludeProperty: _.raw.exclude !== void 0
          }), t.parsedCommandLine = _, t.setProjectErrors(_.options.configFile.parseDiagnostics), t.updateReferences(_.projectReferences);
          const g = this.getFilenameForExceededTotalSizeLimitForNonTsFiles(t.canonicalConfigFilePath, u, _.fileNames, kG);
          g ? (t.disableLanguageService(g), this.configFileExistenceInfoCache.forEach((h, S) => this.stopWatchingWildCards(S, t))) : (t.setCompilerOptions(u), t.setWatchOptions(_.watchOptions), t.enableLanguageService(), this.watchWildcards(o, c, t)), t.enablePluginsWithOptions(u);
          const m = _.fileNames.concat(t.getExternalFiles(
            2
            /* Full */
          ));
          this.updateRootAndOptionsOfNonInferredProject(t, m, kG, u, _.typeAcquisition, _.compileOnSave, _.watchOptions), (s = rn) == null || s.pop();
        }
        /** @internal */
        ensureParsedConfigUptoDate(t, n, i, s) {
          var o, c, _;
          if (i.config && (i.config.updateLevel === 1 && this.reloadFileNamesOfParsedConfig(t, i.config), !i.config.updateLevel))
            return this.ensureConfigFileWatcherForProject(i, s), i;
          if (!i.exists && i.config)
            return i.config.updateLevel = void 0, this.ensureConfigFileWatcherForProject(i, s), i;
          const u = ((o = i.config) == null ? void 0 : o.cachedDirectoryStructureHost) || DO(this.host, this.host.getCurrentDirectory(), this.host.useCaseSensitiveFileNames), g = WD(t, (D) => this.host.readFile(D)), m = zN(t, cs(g) ? g : ""), h = m.parseDiagnostics;
          cs(g) || h.push(g);
          const S = Un(t), T = GN(
            m,
            u,
            S,
            /*existingOptions*/
            void 0,
            t,
            /*resolutionStack*/
            void 0,
            this.hostConfiguration.extraFileExtensions,
            this.extendedConfigCache
          );
          T.errors.length && h.push(...T.errors), this.logger.info(`Config: ${t} : ${JSON.stringify(
            {
              rootNames: T.fileNames,
              options: T.options,
              watchOptions: T.watchOptions,
              projectReferences: T.projectReferences
            },
            /*replacer*/
            void 0,
            " "
          )}`);
          const k = (c = i.config) == null ? void 0 : c.parsedCommandLine;
          return i.config ? (i.config.parsedCommandLine = T, i.config.watchedDirectoriesStale = !0, i.config.updateLevel = void 0) : i.config = { parsedCommandLine: T, cachedDirectoryStructureHost: u, projects: /* @__PURE__ */ new Map() }, !k && !Z5(
            // Old options
            this.getWatchOptionsFromProjectWatchOptions(
              /*projectOptions*/
              void 0,
              S
            ),
            // New options
            this.getWatchOptionsFromProjectWatchOptions(T.watchOptions, S)
          ) && ((_ = i.watcher) == null || _.close(), i.watcher = void 0), this.createConfigFileWatcherForParsedConfig(t, n, s), wO(
            n,
            T.options,
            this.sharedExtendedConfigFileWatchers,
            (D, w) => this.watchFactory.watchFile(
              D,
              () => {
                var A;
                PO(this.extendedConfigCache, w, (F) => this.toPath(F));
                let O = !1;
                (A = this.sharedExtendedConfigFileWatchers.get(w)) == null || A.projects.forEach((F) => {
                  O = this.delayUpdateProjectsFromParsedConfigOnConfigFileChange(F, `Change in extended config file ${D} detected`) || O;
                }), O && this.delayEnsureProjectForOpenFiles();
              },
              2e3,
              this.hostConfiguration.watchOptions,
              Nl.ExtendedConfigFile,
              t
            ),
            (D) => this.toPath(D)
          ), i;
        }
        /** @internal */
        watchWildcards(t, { exists: n, config: i }, s) {
          if (i.projects.set(s.canonicalConfigFilePath, !0), n) {
            if (i.watchedDirectories && !i.watchedDirectoriesStale) return;
            i.watchedDirectoriesStale = !1, _A(
              i.watchedDirectories || (i.watchedDirectories = /* @__PURE__ */ new Map()),
              i.parsedCommandLine.wildcardDirectories,
              // Create new directory watcher
              (o, c) => this.watchWildcardDirectory(o, c, t, i)
            );
          } else {
            if (i.watchedDirectoriesStale = !1, !i.watchedDirectories) return;
            D_(i.watchedDirectories, lp), i.watchedDirectories = void 0;
          }
        }
        /** @internal */
        stopWatchingWildCards(t, n) {
          const i = this.configFileExistenceInfoCache.get(t);
          !i.config || !i.config.projects.get(n.canonicalConfigFilePath) || (i.config.projects.set(n.canonicalConfigFilePath, !1), !gl(i.config.projects, mo) && (i.config.watchedDirectories && (D_(i.config.watchedDirectories, lp), i.config.watchedDirectories = void 0), i.config.watchedDirectoriesStale = void 0));
        }
        updateNonInferredProjectFiles(t, n, i) {
          var s;
          const o = t.getRootFilesMap(), c = /* @__PURE__ */ new Map();
          for (const _ of n) {
            const u = i.getFileName(_), g = ro(u), m = Jw(g);
            let h;
            if (!m && !t.fileExists(u)) {
              h = oE(g, this.currentDirectory, this.toCanonicalFileName);
              const S = o.get(h);
              S ? (((s = S.info) == null ? void 0 : s.path) === h && (t.removeFile(
                S.info,
                /*fileExists*/
                !1,
                /*detachFromProject*/
                !0
              ), S.info = void 0), S.fileName = g) : o.set(h, { fileName: g });
            } else {
              const S = i.getScriptKind(_, this.hostConfiguration.extraFileExtensions), T = i.hasMixedContent(_, this.hostConfiguration.extraFileExtensions), k = E.checkDefined(this.getOrCreateScriptInfoNotOpenedByClientForNormalizedPath(
                g,
                t.currentDirectory,
                S,
                T,
                t.directoryStructureHost,
                /*deferredDeleteOk*/
                !1
              ));
              h = k.path;
              const D = o.get(h);
              !D || D.info !== k ? (t.addRoot(k, g), k.isScriptOpen() && this.removeRootOfInferredProjectIfNowPartOfOtherProject(k)) : D.fileName = g;
            }
            c.set(h, !0);
          }
          o.size > c.size && o.forEach((_, u) => {
            c.has(u) || (_.info ? t.removeFile(
              _.info,
              t.fileExists(_.info.fileName),
              /*detachFromProject*/
              !0
            ) : o.delete(u));
          });
        }
        updateRootAndOptionsOfNonInferredProject(t, n, i, s, o, c, _) {
          t.setCompilerOptions(s), t.setWatchOptions(_), c !== void 0 && (t.compileOnSaveEnabled = c), this.addFilesToNonInferredProject(t, n, i, o);
        }
        /**
         * Reload the file names from config file specs and update the project graph
         *
         * @internal
         */
        reloadFileNamesOfConfiguredProject(t) {
          const n = this.reloadFileNamesOfParsedConfig(t.getConfigFilePath(), this.configFileExistenceInfoCache.get(t.canonicalConfigFilePath).config);
          return t.updateErrorOnNoInputFiles(n), this.updateNonInferredProjectFiles(
            t,
            n.fileNames.concat(t.getExternalFiles(
              1
              /* RootNamesAndUpdate */
            )),
            kG
          ), t.markAsDirty(), t.updateGraph();
        }
        reloadFileNamesOfParsedConfig(t, n) {
          if (n.updateLevel === void 0) return n.parsedCommandLine;
          E.assert(
            n.updateLevel === 1
            /* RootNamesAndUpdate */
          );
          const i = n.parsedCommandLine.options.configFile.configFileSpecs, s = VD(
            i,
            Un(t),
            n.parsedCommandLine.options,
            n.cachedDirectoryStructureHost,
            this.hostConfiguration.extraFileExtensions
          );
          return n.parsedCommandLine = { ...n.parsedCommandLine, fileNames: s }, n.updateLevel = void 0, n.parsedCommandLine;
        }
        /** @internal */
        setFileNamesOfAutoImportProviderOrAuxillaryProject(t, n) {
          this.updateNonInferredProjectFiles(t, n, kG);
        }
        /** @internal */
        reloadConfiguredProjectOptimized(t, n, i) {
          i.has(t) || (i.set(
            t,
            6
            /* ReloadOptimized */
          ), t.initialLoadPending || this.setProjectForReload(t, 2, n));
        }
        /** @internal */
        reloadConfiguredProjectClearingSemanticCache(t, n, i) {
          return i.get(t) === 7 ? !1 : (i.set(
            t,
            7
            /* Reload */
          ), this.clearSemanticCache(t), this.reloadConfiguredProject(t, wG(n)), !0);
        }
        setProjectForReload(t, n, i) {
          n === 2 && this.clearSemanticCache(t), t.pendingUpdateReason = i && wG(i), t.pendingUpdateLevel = n;
        }
        /**
         * Read the config file of the project again by clearing the cache and update the project graph
         *
         * @internal
         */
        reloadConfiguredProject(t, n) {
          t.initialLoadPending = !1, this.setProjectForReload(
            t,
            0
            /* Update */
          ), this.loadConfiguredProject(t, n), oPe(
            t,
            t.triggerFileForConfigFileDiag ?? t.getConfigFilePath(),
            /*isReload*/
            !0
          );
        }
        clearSemanticCache(t) {
          t.originalConfiguredProjects = void 0, t.resolutionCache.clear(), t.getLanguageService(
            /*ensureSynchronized*/
            !1
          ).cleanupSemanticCache(), t.cleanupProgram(), t.markAsDirty();
        }
        /** @internal */
        sendConfigFileDiagEvent(t, n, i) {
          if (!this.eventHandler || this.suppressDiagnosticEvents) return !1;
          const s = t.getLanguageService().getCompilerOptionsDiagnostics();
          return s.push(...t.getAllProjectErrors()), !i && s.length === (t.configDiagDiagnosticsReported ?? 0) ? !1 : (t.configDiagDiagnosticsReported = s.length, this.eventHandler(
            {
              eventName: gG,
              data: { configFileName: t.getConfigFilePath(), diagnostics: s, triggerFile: n ?? t.getConfigFilePath() }
            }
          ), !0);
        }
        getOrCreateInferredProjectForProjectRootPathIfEnabled(t, n) {
          if (!this.useInferredProjectPerProjectRoot || // Its a dynamic info opened without project root
          t.isDynamic && n === void 0)
            return;
          if (n) {
            const s = this.toCanonicalFileName(n);
            for (const o of this.inferredProjects)
              if (o.projectRootPath === s)
                return o;
            return this.createInferredProject(
              n,
              /*isSingleInferredProject*/
              !1,
              n
            );
          }
          let i;
          for (const s of this.inferredProjects)
            s.projectRootPath && Qf(s.projectRootPath, t.path, this.host.getCurrentDirectory(), !this.host.useCaseSensitiveFileNames) && (i && i.projectRootPath.length > s.projectRootPath.length || (i = s));
          return i;
        }
        getOrCreateSingleInferredProjectIfEnabled() {
          if (this.useSingleInferredProject)
            return this.inferredProjects.length > 0 && this.inferredProjects[0].projectRootPath === void 0 ? this.inferredProjects[0] : this.createInferredProject(
              this.currentDirectory,
              /*isSingleInferredProject*/
              !0,
              /*projectRootPath*/
              void 0
            );
        }
        getOrCreateSingleInferredWithoutProjectRoot(t) {
          E.assert(!this.useSingleInferredProject);
          const n = this.toCanonicalFileName(this.getNormalizedAbsolutePath(t));
          for (const i of this.inferredProjects)
            if (!i.projectRootPath && i.isOrphan() && i.canonicalCurrentDirectory === n)
              return i;
          return this.createInferredProject(
            t,
            /*isSingleInferredProject*/
            !1,
            /*projectRootPath*/
            void 0
          );
        }
        createInferredProject(t, n, i) {
          const s = i && this.compilerOptionsForInferredProjectsPerProjectRoot.get(i) || this.compilerOptionsForInferredProjects;
          let o, c;
          i && (o = this.watchOptionsForInferredProjectsPerProjectRoot.get(i), c = this.typeAcquisitionForInferredProjectsPerProjectRoot.get(i)), o === void 0 && (o = this.watchOptionsForInferredProjects), c === void 0 && (c = this.typeAcquisitionForInferredProjects), o = o || void 0;
          const _ = new R_e(
            this,
            s,
            o?.watchOptions,
            i,
            t,
            c
          );
          return _.setProjectErrors(o?.errors), n ? this.inferredProjects.unshift(_) : this.inferredProjects.push(_), _;
        }
        /** @internal */
        getOrCreateScriptInfoNotOpenedByClient(t, n, i, s) {
          return this.getOrCreateScriptInfoNotOpenedByClientForNormalizedPath(
            ro(t),
            n,
            /*scriptKind*/
            void 0,
            /*hasMixedContent*/
            void 0,
            i,
            s
          );
        }
        getScriptInfo(t) {
          return this.getScriptInfoForNormalizedPath(ro(t));
        }
        /** @internal */
        getScriptInfoOrConfig(t) {
          const n = ro(t), i = this.getScriptInfoForNormalizedPath(n);
          if (i) return i;
          const s = this.configuredProjects.get(this.toPath(t));
          return s && s.getCompilerOptions().configFile;
        }
        /** @internal */
        logErrorForScriptInfoNotFound(t) {
          const n = rs(
            Sy(
              this.filenameToScriptInfo.entries(),
              (i) => i[1].deferredDelete ? void 0 : i
            ),
            ([i, s]) => ({ path: i, fileName: s.fileName })
          );
          this.logger.msg(
            `Could not find file ${JSON.stringify(t)}.
All files are: ${JSON.stringify(n)}`,
            "Err"
            /* Err */
          );
        }
        /**
         * Returns the projects that contain script info through SymLink
         * Note that this does not return projects in info.containingProjects
         *
         * @internal
         */
        getSymlinkedProjects(t) {
          let n;
          if (this.realpathToScriptInfos) {
            const s = t.getRealpathIfDifferent();
            s && ar(this.realpathToScriptInfos.get(s), i), ar(this.realpathToScriptInfos.get(t.path), i);
          }
          return n;
          function i(s) {
            if (s !== t)
              for (const o of s.containingProjects)
                o.languageServiceEnabled && !o.isOrphan() && !o.getCompilerOptions().preserveSymlinks && !t.isAttached(o) && (n ? gl(n, (c, _) => _ === s.path ? !1 : _s(c, o)) || n.add(s.path, o) : (n = Tp(), n.add(s.path, o)));
          }
        }
        watchClosedScriptInfo(t) {
          if (E.assert(!t.fileWatcher), !t.isDynamicOrHasMixedContent() && (!this.globalCacheLocationDirectoryPath || !Wi(t.path, this.globalCacheLocationDirectoryPath))) {
            const n = t.fileName.indexOf("/node_modules/");
            !this.host.getModifiedTime || n === -1 ? t.fileWatcher = this.watchFactory.watchFile(
              t.fileName,
              (i, s) => this.onSourceFileChanged(t, s),
              500,
              this.hostConfiguration.watchOptions,
              Nl.ClosedScriptInfo
            ) : (t.mTime = this.getModifiedTime(t), t.fileWatcher = this.watchClosedScriptInfoInNodeModules(t.fileName.substring(0, n)));
          }
        }
        createNodeModulesWatcher(t, n) {
          let i = this.watchFactory.watchDirectory(
            t,
            (o) => {
              var c;
              const _ = WO(this.toPath(o));
              if (!_) return;
              const u = Qc(_);
              if ((c = s.affectedModuleSpecifierCacheProjects) != null && c.size && (u === "package.json" || u === "node_modules") && s.affectedModuleSpecifierCacheProjects.forEach((g) => {
                var m;
                (m = g.getModuleSpecifierCache()) == null || m.clear();
              }), s.refreshScriptInfoRefCount)
                if (n === _)
                  this.refreshScriptInfosInDirectory(n);
                else {
                  const g = this.filenameToScriptInfo.get(_);
                  g ? Q_e(g) && this.refreshScriptInfo(g) : xC(_) || this.refreshScriptInfosInDirectory(_);
                }
            },
            1,
            this.hostConfiguration.watchOptions,
            Nl.NodeModules
          );
          const s = {
            refreshScriptInfoRefCount: 0,
            affectedModuleSpecifierCacheProjects: void 0,
            close: () => {
              var o;
              i && !s.refreshScriptInfoRefCount && !((o = s.affectedModuleSpecifierCacheProjects) != null && o.size) && (i.close(), i = void 0, this.nodeModulesWatchers.delete(n));
            }
          };
          return this.nodeModulesWatchers.set(n, s), s;
        }
        /** @internal */
        watchPackageJsonsInNodeModules(t, n) {
          var i;
          const s = this.toPath(t), o = this.nodeModulesWatchers.get(s) || this.createNodeModulesWatcher(t, s);
          return E.assert(!((i = o.affectedModuleSpecifierCacheProjects) != null && i.has(n))), (o.affectedModuleSpecifierCacheProjects || (o.affectedModuleSpecifierCacheProjects = /* @__PURE__ */ new Set())).add(n), {
            close: () => {
              var c;
              (c = o.affectedModuleSpecifierCacheProjects) == null || c.delete(n), o.close();
            }
          };
        }
        watchClosedScriptInfoInNodeModules(t) {
          const n = t + "/node_modules", i = this.toPath(n), s = this.nodeModulesWatchers.get(i) || this.createNodeModulesWatcher(n, i);
          return s.refreshScriptInfoRefCount++, {
            close: () => {
              s.refreshScriptInfoRefCount--, s.close();
            }
          };
        }
        getModifiedTime(t) {
          return (this.host.getModifiedTime(t.fileName) || W_).getTime();
        }
        refreshScriptInfo(t) {
          const n = this.getModifiedTime(t);
          if (n !== t.mTime) {
            const i = lj(t.mTime, n);
            t.mTime = n, this.onSourceFileChanged(t, i);
          }
        }
        refreshScriptInfosInDirectory(t) {
          t = t + xo, this.filenameToScriptInfo.forEach((n) => {
            Q_e(n) && Wi(n.path, t) && this.refreshScriptInfo(n);
          });
        }
        stopWatchingScriptInfo(t) {
          t.fileWatcher && (t.fileWatcher.close(), t.fileWatcher = void 0);
        }
        getOrCreateScriptInfoNotOpenedByClientForNormalizedPath(t, n, i, s, o, c) {
          if (V_(t) || Jw(t))
            return this.getOrCreateScriptInfoWorker(
              t,
              n,
              /*openedByClient*/
              !1,
              /*fileContent*/
              void 0,
              i,
              !!s,
              o,
              c
            );
          const _ = this.openFilesWithNonRootedDiskPath.get(this.toCanonicalFileName(t));
          if (_)
            return _;
        }
        getOrCreateScriptInfoForNormalizedPath(t, n, i, s, o, c) {
          return this.getOrCreateScriptInfoWorker(
            t,
            this.currentDirectory,
            n,
            i,
            s,
            !!o,
            c,
            /*deferredDeleteOk*/
            !1
          );
        }
        getOrCreateScriptInfoWorker(t, n, i, s, o, c, _, u) {
          E.assert(s === void 0 || i, "ScriptInfo needs to be opened by client to be able to set its user defined content");
          const g = oE(t, n, this.toCanonicalFileName);
          let m = this.filenameToScriptInfo.get(g);
          if (m) {
            if (m.deferredDelete) {
              if (E.assert(!m.isDynamic), !i && !(_ || this.host).fileExists(t))
                return u ? m : void 0;
              m.deferredDelete = void 0;
            }
          } else {
            const h = Jw(t);
            if (E.assert(V_(t) || h || i, "", () => `${JSON.stringify({ fileName: t, currentDirectory: n, hostCurrentDirectory: this.currentDirectory, openKeys: rs(this.openFilesWithNonRootedDiskPath.keys()) })}
Script info with non-dynamic relative file name can only be open script info or in context of host currentDirectory`), E.assert(!V_(t) || this.currentDirectory === n || !this.openFilesWithNonRootedDiskPath.has(this.toCanonicalFileName(t)), "", () => `${JSON.stringify({ fileName: t, currentDirectory: n, hostCurrentDirectory: this.currentDirectory, openKeys: rs(this.openFilesWithNonRootedDiskPath.keys()) })}
Open script files with non rooted disk path opened with current directory context cannot have same canonical names`), E.assert(!h || this.currentDirectory === n || this.useInferredProjectPerProjectRoot, "", () => `${JSON.stringify({ fileName: t, currentDirectory: n, hostCurrentDirectory: this.currentDirectory, openKeys: rs(this.openFilesWithNonRootedDiskPath.keys()) })}
Dynamic files must always be opened with service's current directory or service should support inferred project per projectRootPath.`), !i && !h && !(_ || this.host).fileExists(t))
              return;
            m = new N_e(this.host, t, o, c, g, this.filenameToScriptInfoVersion.get(g)), this.filenameToScriptInfo.set(m.path, m), this.filenameToScriptInfoVersion.delete(m.path), i ? !V_(t) && (!h || this.currentDirectory !== n) && this.openFilesWithNonRootedDiskPath.set(this.toCanonicalFileName(t), m) : this.watchClosedScriptInfo(m);
          }
          return i && (this.stopWatchingScriptInfo(m), m.open(s), c && m.registerFileUpdate()), m;
        }
        /**
         * This gets the script info for the normalized path. If the path is not rooted disk path then the open script info with project root context is preferred
         */
        getScriptInfoForNormalizedPath(t) {
          return !V_(t) && this.openFilesWithNonRootedDiskPath.get(this.toCanonicalFileName(t)) || this.getScriptInfoForPath(oE(t, this.currentDirectory, this.toCanonicalFileName));
        }
        getScriptInfoForPath(t) {
          const n = this.filenameToScriptInfo.get(t);
          return !n || !n.deferredDelete ? n : void 0;
        }
        /** @internal */
        getDocumentPositionMapper(t, n, i) {
          const s = this.getOrCreateScriptInfoNotOpenedByClient(
            n,
            t.currentDirectory,
            this.host,
            /*deferredDeleteOk*/
            !1
          );
          if (!s) {
            i && t.addGeneratedFileWatch(n, i);
            return;
          }
          if (s.getSnapshot(), cs(s.sourceMapFilePath)) {
            const g = this.getScriptInfoForPath(s.sourceMapFilePath);
            if (g && (g.getSnapshot(), g.documentPositionMapper !== void 0))
              return g.sourceInfos = this.addSourceInfoToSourceMap(i, t, g.sourceInfos), g.documentPositionMapper ? g.documentPositionMapper : void 0;
            s.sourceMapFilePath = void 0;
          } else if (s.sourceMapFilePath) {
            s.sourceMapFilePath.sourceInfos = this.addSourceInfoToSourceMap(i, t, s.sourceMapFilePath.sourceInfos);
            return;
          } else if (s.sourceMapFilePath !== void 0)
            return;
          let o, c = (g, m) => {
            const h = this.getOrCreateScriptInfoNotOpenedByClient(
              g,
              t.currentDirectory,
              this.host,
              /*deferredDeleteOk*/
              !0
            );
            if (o = h || m, !h || h.deferredDelete) return;
            const S = h.getSnapshot();
            return h.documentPositionMapper !== void 0 ? h.documentPositionMapper : ck(S);
          };
          const _ = t.projectName, u = bq(
            { getCanonicalFileName: this.toCanonicalFileName, log: (g) => this.logger.info(g), getSourceFileLike: (g) => this.getSourceFileLike(g, _, s) },
            s.fileName,
            s.textStorage.getLineInfo(),
            c
          );
          return c = void 0, o ? cs(o) ? s.sourceMapFilePath = {
            watcher: this.addMissingSourceMapFile(
              t.currentDirectory === this.currentDirectory ? o : Xi(o, t.currentDirectory),
              s.path
            ),
            sourceInfos: this.addSourceInfoToSourceMap(i, t)
          } : (s.sourceMapFilePath = o.path, o.declarationInfoPath = s.path, o.deferredDelete || (o.documentPositionMapper = u || !1), o.sourceInfos = this.addSourceInfoToSourceMap(i, t, o.sourceInfos)) : s.sourceMapFilePath = !1, u;
        }
        addSourceInfoToSourceMap(t, n, i) {
          if (t) {
            const s = this.getOrCreateScriptInfoNotOpenedByClient(
              t,
              n.currentDirectory,
              n.directoryStructureHost,
              /*deferredDeleteOk*/
              !1
            );
            (i || (i = /* @__PURE__ */ new Set())).add(s.path);
          }
          return i;
        }
        addMissingSourceMapFile(t, n) {
          return this.watchFactory.watchFile(
            t,
            () => {
              const s = this.getScriptInfoForPath(n);
              s && s.sourceMapFilePath && !cs(s.sourceMapFilePath) && (this.delayUpdateProjectGraphs(
                s.containingProjects,
                /*clearSourceMapperCache*/
                !0
              ), this.delayUpdateSourceInfoProjects(s.sourceMapFilePath.sourceInfos), s.closeSourceMapFileWatcher());
            },
            2e3,
            this.hostConfiguration.watchOptions,
            Nl.MissingSourceMapFile
          );
        }
        /** @internal */
        getSourceFileLike(t, n, i) {
          const s = n.projectName ? n : this.findProject(n);
          if (s) {
            const c = s.toPath(t), _ = s.getSourceFile(c);
            if (_ && _.resolvedPath === c) return _;
          }
          const o = this.getOrCreateScriptInfoNotOpenedByClient(
            t,
            (s || this).currentDirectory,
            s ? s.directoryStructureHost : this.host,
            /*deferredDeleteOk*/
            !1
          );
          if (o) {
            if (i && cs(i.sourceMapFilePath) && o !== i) {
              const c = this.getScriptInfoForPath(i.sourceMapFilePath);
              c && (c.sourceInfos ?? (c.sourceInfos = /* @__PURE__ */ new Set())).add(o.path);
            }
            return o.cacheSourceFile ? o.cacheSourceFile.sourceFile : (o.sourceFileLike || (o.sourceFileLike = {
              get text() {
                return E.fail("shouldnt need text"), "";
              },
              getLineAndCharacterOfPosition: (c) => {
                const _ = o.positionToLineOffset(c);
                return { line: _.line - 1, character: _.offset - 1 };
              },
              getPositionOfLineAndCharacter: (c, _, u) => o.lineOffsetToPosition(c + 1, _ + 1, u)
            }), o.sourceFileLike);
          }
        }
        /** @internal */
        setPerformanceEventHandler(t) {
          this.performanceEventHandler = t;
        }
        setHostConfiguration(t) {
          var n;
          if (t.file) {
            const i = this.getScriptInfoForNormalizedPath(ro(t.file));
            i && (i.setOptions(lE(t.formatOptions), t.preferences), this.logger.info(`Host configuration update for file ${t.file}`));
          } else {
            if (t.hostInfo !== void 0 && (this.hostConfiguration.hostInfo = t.hostInfo, this.logger.info(`Host information ${t.hostInfo}`)), t.formatOptions && (this.hostConfiguration.formatCodeOptions = { ...this.hostConfiguration.formatCodeOptions, ...lE(t.formatOptions) }, this.logger.info("Format host information updated")), t.preferences) {
              const {
                lazyConfiguredProjectsFromExternalProject: i,
                includePackageJsonAutoImports: s,
                includeCompletionsForModuleExports: o
              } = this.hostConfiguration.preferences;
              this.hostConfiguration.preferences = { ...this.hostConfiguration.preferences, ...t.preferences }, i && !this.hostConfiguration.preferences.lazyConfiguredProjectsFromExternalProject && this.externalProjectToConfiguredProjectMap.forEach(
                (c) => c.forEach((_) => {
                  !_.deferredClose && !_.isClosed() && _.pendingUpdateLevel === 2 && !this.hasPendingProjectUpdate(_) && _.updateGraph();
                })
              ), (s !== t.preferences.includePackageJsonAutoImports || !!o != !!t.preferences.includeCompletionsForModuleExports) && this.forEachProject((c) => {
                c.onAutoImportProviderSettingsChanged();
              });
            }
            if (t.extraFileExtensions && (this.hostConfiguration.extraFileExtensions = t.extraFileExtensions, this.reloadProjects(), this.logger.info("Host file extension mappings updated")), t.watchOptions) {
              const i = (n = P8(t.watchOptions)) == null ? void 0 : n.watchOptions, s = YF(i, this.currentDirectory);
              this.hostConfiguration.watchOptions = s, this.hostConfiguration.beforeSubstitution = s === i ? void 0 : i, this.logger.info(`Host watch options changed to ${JSON.stringify(this.hostConfiguration.watchOptions)}, it will be take effect for next watches.`);
            }
          }
        }
        /** @internal */
        getWatchOptions(t) {
          return this.getWatchOptionsFromProjectWatchOptions(t.getWatchOptions(), t.getCurrentDirectory());
        }
        getWatchOptionsFromProjectWatchOptions(t, n) {
          const i = this.hostConfiguration.beforeSubstitution ? YF(
            this.hostConfiguration.beforeSubstitution,
            n
          ) : this.hostConfiguration.watchOptions;
          return t && i ? { ...i, ...t } : t || i;
        }
        closeLog() {
          this.logger.close();
        }
        sendSourceFileChange(t) {
          this.filenameToScriptInfo.forEach((n) => {
            if (this.openFiles.has(n.path) || !n.fileWatcher) return;
            const i = Au(
              () => this.host.fileExists(n.fileName) ? n.deferredDelete ? 0 : 1 : 2
              /* Deleted */
            );
            if (t) {
              if (Q_e(n) || !n.path.startsWith(t) || i() === 2 && n.deferredDelete) return;
              this.logger.info(`Invoking sourceFileChange on ${n.fileName}:: ${i()}`);
            }
            this.onSourceFileChanged(
              n,
              i()
            );
          });
        }
        /**
         * This function rebuilds the project for every file opened by the client
         * This does not reload contents of open files from disk. But we could do that if needed
         */
        reloadProjects() {
          this.logger.info("reload projects."), this.sendSourceFileChange(
            /*inPath*/
            void 0
          ), this.pendingProjectUpdates.forEach((i, s) => {
            this.throttledOperations.cancel(s), this.pendingProjectUpdates.delete(s);
          }), this.throttledOperations.cancel(Ywe), this.pendingOpenFileProjectUpdates = void 0, this.pendingEnsureProjectForOpenFiles = !1, this.configFileExistenceInfoCache.forEach((i) => {
            i.config && (i.config.updateLevel = 2, i.config.cachedDirectoryStructureHost.clearCache());
          }), this.configFileForOpenFiles.clear(), this.externalProjects.forEach((i) => {
            this.clearSemanticCache(i), i.updateGraph();
          });
          const t = /* @__PURE__ */ new Map(), n = /* @__PURE__ */ new Set();
          this.externalProjectToConfiguredProjectMap.forEach((i, s) => {
            const o = `Reloading configured project in external project: ${s}`;
            i.forEach((c) => {
              this.getHostPreferences().lazyConfiguredProjectsFromExternalProject ? this.reloadConfiguredProjectOptimized(c, o, t) : this.reloadConfiguredProjectClearingSemanticCache(
                c,
                o,
                t
              );
            });
          }), this.openFiles.forEach((i, s) => {
            const o = this.getScriptInfoForPath(s);
            Dn(o.containingProjects, E8) || this.tryFindDefaultConfiguredProjectAndLoadAncestorsForOpenScriptInfo(
              o,
              7,
              t,
              n
            );
          }), n.forEach((i) => t.set(
            i,
            7
            /* Reload */
          )), this.inferredProjects.forEach((i) => this.clearSemanticCache(i)), this.ensureProjectForOpenFiles(), this.cleanupProjectsAndScriptInfos(
            t,
            new Set(this.openFiles.keys()),
            new Set(this.externalProjectToConfiguredProjectMap.keys())
          ), this.logger.info("After reloading projects.."), this.printProjects();
        }
        /**
         * Remove the root of inferred project if script info is part of another project
         */
        removeRootOfInferredProjectIfNowPartOfOtherProject(t) {
          E.assert(t.containingProjects.length > 0);
          const n = t.containingProjects[0];
          !n.isOrphan() && cE(n) && n.isRoot(t) && ar(t.containingProjects, (i) => i !== n && !i.isOrphan()) && n.removeFile(
            t,
            /*fileExists*/
            !0,
            /*detachFromProject*/
            !0
          );
        }
        /**
         * This function is to update the project structure for every inferred project.
         * It is called on the premise that all the configured projects are
         * up to date.
         * This will go through open files and assign them to inferred project if open file is not part of any other project
         * After that all the inferred project graphs are updated
         */
        ensureProjectForOpenFiles() {
          this.logger.info("Before ensureProjectForOpenFiles:"), this.printProjects();
          const t = this.pendingOpenFileProjectUpdates;
          this.pendingOpenFileProjectUpdates = void 0, t?.forEach(
            (n, i) => this.tryFindDefaultConfiguredProjectAndLoadAncestorsForOpenScriptInfo(
              this.getScriptInfoForPath(i),
              5
              /* Create */
            )
          ), this.openFiles.forEach((n, i) => {
            const s = this.getScriptInfoForPath(i);
            s.isOrphan() ? this.assignOrphanScriptInfoToInferredProject(s, n) : this.removeRootOfInferredProjectIfNowPartOfOtherProject(s);
          }), this.pendingEnsureProjectForOpenFiles = !1, this.inferredProjects.forEach(Mp), this.logger.info("After ensureProjectForOpenFiles:"), this.printProjects();
        }
        /**
         * Open file whose contents is managed by the client
         * @param filename is absolute pathname
         * @param fileContent is a known version of the file content that is more up to date than the one on disk
         */
        openClientFile(t, n, i, s) {
          return this.openClientFileWithNormalizedPath(
            ro(t),
            n,
            i,
            /*hasMixedContent*/
            !1,
            s ? ro(s) : void 0
          );
        }
        /** @internal */
        getOriginalLocationEnsuringConfiguredProject(t, n) {
          const i = t.isSourceOfProjectReferenceRedirect(n.fileName), s = i ? n : t.getSourceMapper().tryGetSourcePosition(n);
          if (!s) return;
          const { fileName: o } = s, c = this.getScriptInfo(o);
          if (!c && !this.host.fileExists(o)) return;
          const _ = { fileName: ro(o), path: this.toPath(o) }, u = this.getConfigFileNameForFile(
            _,
            /*findFromCacheOnly*/
            !1
          );
          if (!u) return;
          let g = this.findConfiguredProjectByProjectName(u);
          if (!g) {
            if (t.getCompilerOptions().disableReferencedProjectLoad)
              return i ? n : c?.containingProjects.length ? s : n;
            g = this.createConfiguredProject(u, `Creating project for original file: ${_.fileName}${n !== s ? " for location: " + n.fileName : ""}`);
          }
          const m = this.tryFindDefaultConfiguredProjectForOpenScriptInfoOrClosedFileInfo(
            _,
            5,
            $_e(
              g,
              4
              /* CreateOptimized */
            ),
            (T) => `Creating project referenced in solution ${T.projectName} to find possible configured project for original file: ${_.fileName}${n !== s ? " for location: " + n.fileName : ""}`
          );
          if (!m.defaultProject) return;
          if (m.defaultProject === t) return s;
          S(m.defaultProject);
          const h = this.getScriptInfo(o);
          if (!h || !h.containingProjects.length) return;
          return h.containingProjects.forEach((T) => {
            B0(T) && S(T);
          }), s;
          function S(T) {
            (t.originalConfiguredProjects ?? (t.originalConfiguredProjects = /* @__PURE__ */ new Set())).add(T.canonicalConfigFilePath);
          }
        }
        /** @internal */
        fileExists(t) {
          return !!this.getScriptInfoForNormalizedPath(t) || this.host.fileExists(t);
        }
        findExternalProjectContainingOpenScriptInfo(t) {
          return Dn(this.externalProjects, (n) => (Mp(n), n.containsScriptInfo(t)));
        }
        getOrCreateOpenScriptInfo(t, n, i, s, o) {
          const c = this.getOrCreateScriptInfoWorker(
            t,
            o ? this.getNormalizedAbsolutePath(o) : this.currentDirectory,
            /*openedByClient*/
            !0,
            n,
            i,
            !!s,
            /*hostToQueryFileExistsOn*/
            void 0,
            /*deferredDeleteOk*/
            !0
          );
          return this.openFiles.set(c.path, o), c;
        }
        assignProjectToOpenedScriptInfo(t) {
          let n, i;
          const s = this.findExternalProjectContainingOpenScriptInfo(t);
          let o, c;
          if (!s && this.serverMode === 0) {
            const _ = this.tryFindDefaultConfiguredProjectAndLoadAncestorsForOpenScriptInfo(
              t,
              5
              /* Create */
            );
            _ && (o = _.seenProjects, c = _.sentConfigDiag, _.defaultProject && (n = _.defaultProject.getConfigFilePath(), i = _.defaultProject.getAllProjectErrors()));
          }
          return t.containingProjects.forEach(Mp), t.isOrphan() && (o?.forEach((_, u) => {
            _ !== 4 && !c.has(u) && this.sendConfigFileDiagEvent(
              u,
              t.fileName,
              /*force*/
              !0
            );
          }), E.assert(this.openFiles.has(t.path)), this.assignOrphanScriptInfoToInferredProject(t, this.openFiles.get(t.path))), E.assert(!t.isOrphan()), { configFileName: n, configFileErrors: i, retainProjects: o };
        }
        /**
         * Depending on kind
         * - Find the configuedProject and return it - if allowDeferredClosed is set it will find the deferredClosed project as well
         * - Create - if the project doesnt exist, it creates one as well. If not delayLoad, the project is updated (with triggerFile if passed)
         * - Reload - if the project doesnt exist, it creates one. If not delayLoad, the project is reloaded clearing semantic cache
         *  @internal
         */
        findCreateOrReloadConfiguredProject(t, n, i, s, o, c, _, u, g) {
          let m = g ?? this.findConfiguredProjectByProjectName(t, s), h = !1, S;
          switch (n) {
            case 0:
            case 1:
            case 3:
              if (!m) return;
              break;
            case 2:
              if (!m) return;
              S = kKe(m);
              break;
            case 4:
            case 5:
              m ?? (m = this.createConfiguredProject(t, i)), _ || ({ sentConfigFileDiag: h, configFileExistenceInfo: S } = $_e(
                m,
                n,
                o
              ));
              break;
            case 6:
              if (m ?? (m = this.createConfiguredProject(t, wG(i))), m.projectService.reloadConfiguredProjectOptimized(m, i, c), S = Y_e(m), S) break;
            // falls through
            case 7:
              m ?? (m = this.createConfiguredProject(t, wG(i))), h = !u && this.reloadConfiguredProjectClearingSemanticCache(m, i, c), u && !u.has(m) && !c.has(m) && (this.setProjectForReload(m, 2, i), u.add(m));
              break;
            default:
              E.assertNever(n);
          }
          return { project: m, sentConfigFileDiag: h, configFileExistenceInfo: S, reason: i };
        }
        /**
         * Finds the default configured project for given info
         * For any tsconfig found, it looks into that project, if not then all its references,
         * The search happens for all tsconfigs till projectRootPath
         */
        tryFindDefaultConfiguredProjectForOpenScriptInfo(t, n, i, s) {
          const o = this.getConfigFileNameForFile(
            t,
            n <= 3
            /* CreateReplay */
          );
          if (!o) return;
          const c = rPe(n), _ = this.findCreateOrReloadConfiguredProject(
            o,
            c,
            CKe(t),
            i,
            t.fileName,
            s
          );
          return _ && this.tryFindDefaultConfiguredProjectForOpenScriptInfoOrClosedFileInfo(
            t,
            n,
            _,
            (u) => `Creating project referenced in solution ${u.projectName} to find possible configured project for ${t.fileName} to open`,
            i,
            s
          );
        }
        isMatchedByConfig(t, n, i) {
          if (n.fileNames.some((u) => this.toPath(u) === i.path)) return !0;
          if (EJ(
            i.fileName,
            n.options,
            this.hostConfiguration.extraFileExtensions
          )) return !1;
          const { validatedFilesSpec: s, validatedIncludeSpecs: o, validatedExcludeSpecs: c } = n.options.configFile.configFileSpecs, _ = ro(Xi(Un(t), this.currentDirectory));
          return s?.some((u) => this.toPath(Xi(u, _)) === i.path) ? !0 : !o?.length || tO(
            i.fileName,
            c,
            this.host.useCaseSensitiveFileNames,
            this.currentDirectory,
            _
          ) ? !1 : o?.some((u) => {
            const g = TJ(u, _, "files");
            return !!g && k0(`(${g})$`, this.host.useCaseSensitiveFileNames).test(i.fileName);
          });
        }
        tryFindDefaultConfiguredProjectForOpenScriptInfoOrClosedFileInfo(t, n, i, s, o, c) {
          const _ = tPe(t), u = rPe(n), g = /* @__PURE__ */ new Map();
          let m;
          const h = /* @__PURE__ */ new Set();
          let S, T, k, D;
          return w(i), {
            defaultProject: S ?? T,
            tsconfigProject: k ?? D,
            sentConfigDiag: h,
            seenProjects: g,
            seenConfigs: m
          };
          function w(V) {
            return F(V, V.project) ?? j(V.project) ?? z(V.project);
          }
          function A(V, G, W, pe, K, U) {
            if (G) {
              if (g.has(G)) return;
              g.set(G, u);
            } else {
              if (m?.has(U)) return;
              (m ?? (m = /* @__PURE__ */ new Set())).add(U);
            }
            if (!K.projectService.isMatchedByConfig(
              W,
              V.config.parsedCommandLine,
              t
            )) {
              K.languageServiceEnabled && K.projectService.watchWildcards(
                W,
                V,
                K
              );
              return;
            }
            const ee = G ? $_e(
              G,
              n,
              t.fileName,
              pe,
              c
            ) : K.projectService.findCreateOrReloadConfiguredProject(
              W,
              n,
              pe,
              o,
              t.fileName,
              c
            );
            if (!ee) {
              E.assert(
                n === 3
                /* CreateReplay */
              );
              return;
            }
            return g.set(ee.project, u), ee.sentConfigFileDiag && h.add(ee.project), O(ee.project, K);
          }
          function O(V, G) {
            if (g.get(V) === n) return;
            g.set(V, n);
            const W = _ ? t : V.projectService.getScriptInfo(t.fileName), pe = W && V.containsScriptInfo(W);
            if (pe && !V.isSourceOfProjectReferenceRedirect(W.path))
              return k = G, S = V;
            !T && _ && pe && (D = G, T = V);
          }
          function F(V, G) {
            return V.sentConfigFileDiag && h.add(V.project), V.configFileExistenceInfo ? A(
              V.configFileExistenceInfo,
              V.project,
              ro(V.project.getConfigFilePath()),
              V.reason,
              V.project,
              V.project.canonicalConfigFilePath
            ) : O(V.project, G);
          }
          function j(V) {
            return V.parsedCommandLine && iPe(
              V,
              V.parsedCommandLine,
              A,
              u,
              s(V),
              o,
              c
            );
          }
          function z(V) {
            return _ ? nPe(
              // If not in referenced projects, try ancestors and its references
              t,
              V,
              w,
              u,
              `Creating possible configured project for ${t.fileName} to open`,
              o,
              c,
              /*searchOnlyPotentialSolution*/
              !1
            ) : void 0;
          }
        }
        tryFindDefaultConfiguredProjectAndLoadAncestorsForOpenScriptInfo(t, n, i, s) {
          const o = n === 1, c = this.tryFindDefaultConfiguredProjectForOpenScriptInfo(
            t,
            n,
            o,
            i
          );
          if (!c) return;
          const { defaultProject: _, tsconfigProject: u, seenProjects: g } = c;
          return _ && nPe(
            t,
            u,
            (m) => {
              g.set(m.project, n);
            },
            n,
            `Creating project possibly referencing default composite project ${_.getProjectName()} of open file ${t.fileName}`,
            o,
            i,
            /*searchOnlyPotentialSolution*/
            !0,
            s
          ), c;
        }
        /** @internal */
        loadAncestorProjectTree(t) {
          t ?? (t = new Set(
            Sy(this.configuredProjects.entries(), ([s, o]) => o.initialLoadPending ? void 0 : s)
          ));
          const n = /* @__PURE__ */ new Set(), i = rs(this.configuredProjects.values());
          for (const s of i)
            sPe(s, (o) => t.has(o)) && Mp(s), this.ensureProjectChildren(s, t, n);
        }
        ensureProjectChildren(t, n, i) {
          var s;
          if (!m0(i, t.canonicalConfigFilePath) || t.getCompilerOptions().disableReferencedProjectLoad) return;
          const o = (s = t.getCurrentProgram()) == null ? void 0 : s.getResolvedProjectReferences();
          if (o)
            for (const c of o) {
              if (!c) continue;
              const _ = UJ(c.references, (m) => n.has(m.sourceFile.path) ? m : void 0);
              if (!_) continue;
              const u = ro(c.sourceFile.fileName), g = this.findConfiguredProjectByProjectName(u) ?? this.createConfiguredProject(
                u,
                `Creating project referenced by : ${t.projectName} as it references project ${_.sourceFile.fileName}`
              );
              Mp(g), this.ensureProjectChildren(g, n, i);
            }
        }
        cleanupConfiguredProjects(t, n, i) {
          this.getOrphanConfiguredProjects(
            t,
            i,
            n
          ).forEach((s) => this.removeProject(s));
        }
        cleanupProjectsAndScriptInfos(t, n, i) {
          this.cleanupConfiguredProjects(
            t,
            i,
            n
          );
          for (const s of this.inferredProjects.slice())
            s.isOrphan() && this.removeProject(s);
          this.removeOrphanScriptInfos();
        }
        tryInvokeWildCardDirectories(t) {
          this.configFileExistenceInfoCache.forEach((n, i) => {
            var s, o;
            !((s = n.config) != null && s.parsedCommandLine) || _s(
              n.config.parsedCommandLine.fileNames,
              t.fileName,
              this.host.useCaseSensitiveFileNames ? gb : wy
            ) || (o = n.config.watchedDirectories) == null || o.forEach((c, _) => {
              Qf(_, t.fileName, !this.host.useCaseSensitiveFileNames) && (this.logger.info(`Invoking ${i}:: wildcard for open scriptInfo:: ${t.fileName}`), this.onWildCardDirectoryWatcherInvoke(
                _,
                i,
                n.config,
                c.watcher,
                t.fileName
              ));
            });
          });
        }
        openClientFileWithNormalizedPath(t, n, i, s, o) {
          const c = this.getScriptInfoForPath(oE(
            t,
            o ? this.getNormalizedAbsolutePath(o) : this.currentDirectory,
            this.toCanonicalFileName
          )), _ = this.getOrCreateOpenScriptInfo(t, n, i, s, o);
          !c && _ && !_.isDynamic && this.tryInvokeWildCardDirectories(_);
          const { retainProjects: u, ...g } = this.assignProjectToOpenedScriptInfo(_);
          return this.cleanupProjectsAndScriptInfos(
            u,
            /* @__PURE__ */ new Set([_.path]),
            /*externalProjectsRetainingConfiguredProjects*/
            void 0
          ), this.telemetryOnOpenFile(_), this.printProjects(), g;
        }
        /** @internal */
        getOrphanConfiguredProjects(t, n, i) {
          const s = new Set(this.configuredProjects.values()), o = (g) => {
            g.originalConfiguredProjects && (B0(g) || !g.isOrphan()) && g.originalConfiguredProjects.forEach(
              (m, h) => {
                const S = this.getConfiguredProjectByCanonicalConfigFilePath(h);
                return S && u(S);
              }
            );
          };
          if (t?.forEach((g, m) => u(m)), !s.size || (this.inferredProjects.forEach(o), this.externalProjects.forEach(o), this.externalProjectToConfiguredProjectMap.forEach((g, m) => {
            i?.has(m) || g.forEach(u);
          }), !s.size) || (gl(this.openFiles, (g, m) => {
            if (n?.has(m)) return;
            const h = this.getScriptInfoForPath(m);
            if (Dn(h.containingProjects, E8)) return;
            const S = this.tryFindDefaultConfiguredProjectAndLoadAncestorsForOpenScriptInfo(
              h,
              1
              /* Find */
            );
            if (S?.defaultProject && (S?.seenProjects.forEach((T, k) => u(k)), !s.size))
              return s;
          }), !s.size)) return s;
          return gl(this.configuredProjects, (g) => {
            if (s.has(g) && (_(g) || aPe(g, c)) && (u(g), !s.size))
              return s;
          }), s;
          function c(g) {
            return !s.has(g) || _(g);
          }
          function _(g) {
            var m, h;
            return (g.deferredClose || g.projectService.hasPendingProjectUpdate(g)) && !!((h = (m = g.projectService.configFileExistenceInfoCache.get(g.canonicalConfigFilePath)) == null ? void 0 : m.openFilesImpactedByConfigFile) != null && h.size);
          }
          function u(g) {
            s.delete(g) && (o(g), aPe(g, u));
          }
        }
        removeOrphanScriptInfos() {
          const t = new Map(this.filenameToScriptInfo);
          this.filenameToScriptInfo.forEach((n) => {
            if (!n.deferredDelete) {
              if (!n.isScriptOpen() && n.isOrphan() && !I_e(n) && !A_e(n)) {
                if (!n.sourceMapFilePath) return;
                let i;
                if (cs(n.sourceMapFilePath)) {
                  const s = this.filenameToScriptInfo.get(n.sourceMapFilePath);
                  i = s?.sourceInfos;
                } else
                  i = n.sourceMapFilePath.sourceInfos;
                if (!i || !Fg(i, (s) => {
                  const o = this.getScriptInfoForPath(s);
                  return !!o && (o.isScriptOpen() || !o.isOrphan());
                }))
                  return;
              }
              if (t.delete(n.path), n.sourceMapFilePath) {
                let i;
                if (cs(n.sourceMapFilePath)) {
                  const s = this.filenameToScriptInfo.get(n.sourceMapFilePath);
                  s?.deferredDelete ? n.sourceMapFilePath = {
                    watcher: this.addMissingSourceMapFile(s.fileName, n.path),
                    sourceInfos: s.sourceInfos
                  } : t.delete(n.sourceMapFilePath), i = s?.sourceInfos;
                } else
                  i = n.sourceMapFilePath.sourceInfos;
                i && i.forEach((s, o) => t.delete(o));
              }
            }
          }), t.forEach((n) => this.deleteScriptInfo(n));
        }
        telemetryOnOpenFile(t) {
          if (this.serverMode !== 0 || !this.eventHandler || !t.isJavaScript() || !Pp(this.allJsFilesForOpenFileTelemetry, t.path))
            return;
          const n = this.ensureDefaultProjectForFile(t);
          if (!n.languageServiceEnabled)
            return;
          const i = n.getSourceFile(t.path), s = !!i && !!i.checkJsDirective;
          this.eventHandler({ eventName: W_e, data: { info: { checkJs: s } } });
        }
        closeClientFile(t, n) {
          const i = this.getScriptInfoForNormalizedPath(ro(t)), s = i ? this.closeOpenFile(i, n) : !1;
          return n || this.printProjects(), s;
        }
        collectChanges(t, n, i, s) {
          for (const o of n) {
            const c = Dn(t, (_) => _.projectName === o.getProjectName());
            s.push(o.getChangesSinceVersion(c && c.version, i));
          }
        }
        /** @internal */
        synchronizeProjectList(t, n) {
          const i = [];
          return this.collectChanges(t, this.externalProjects, n, i), this.collectChanges(t, Sy(this.configuredProjects.values(), (s) => s.deferredClose ? void 0 : s), n, i), this.collectChanges(t, this.inferredProjects, n, i), i;
        }
        /** @internal */
        applyChangesInOpenFiles(t, n, i) {
          let s, o, c = !1;
          if (t)
            for (const u of t) {
              (s ?? (s = [])).push(this.getScriptInfoForPath(oE(
                ro(u.fileName),
                u.projectRootPath ? this.getNormalizedAbsolutePath(u.projectRootPath) : this.currentDirectory,
                this.toCanonicalFileName
              )));
              const g = this.getOrCreateOpenScriptInfo(
                ro(u.fileName),
                u.content,
                TG(u.scriptKind),
                u.hasMixedContent,
                u.projectRootPath ? ro(u.projectRootPath) : void 0
              );
              (o || (o = [])).push(g);
            }
          if (n)
            for (const u of n) {
              const g = this.getScriptInfo(u.fileName);
              E.assert(!!g), this.applyChangesToFile(g, u.changes);
            }
          if (i)
            for (const u of i)
              c = this.closeClientFile(
                u,
                /*skipAssignOrphanScriptInfosToInferredProject*/
                !0
              ) || c;
          let _;
          ar(
            s,
            (u, g) => !u && o[g] && !o[g].isDynamic ? this.tryInvokeWildCardDirectories(o[g]) : void 0
          ), o?.forEach(
            (u) => {
              var g;
              return (g = this.assignProjectToOpenedScriptInfo(u).retainProjects) == null ? void 0 : g.forEach(
                (m, h) => (_ ?? (_ = /* @__PURE__ */ new Map())).set(h, m)
              );
            }
          ), c && this.assignOrphanScriptInfosToInferredProject(), o ? (this.cleanupProjectsAndScriptInfos(
            _,
            new Set(o.map((u) => u.path)),
            /*externalProjectsRetainingConfiguredProjects*/
            void 0
          ), o.forEach((u) => this.telemetryOnOpenFile(u)), this.printProjects()) : Ar(i) && this.printProjects();
        }
        /** @internal */
        applyChangesToFile(t, n) {
          for (const i of n)
            t.editContent(i.span.start, i.span.start + i.span.length, i.newText);
        }
        // eslint-disable-line @typescript-eslint/unified-signatures
        closeExternalProject(t, n) {
          const i = ro(t);
          if (this.externalProjectToConfiguredProjectMap.get(i))
            this.externalProjectToConfiguredProjectMap.delete(i);
          else {
            const o = this.findExternalProjectByProjectName(t);
            o && this.removeProject(o);
          }
          n && (this.cleanupConfiguredProjects(), this.printProjects());
        }
        openExternalProjects(t) {
          const n = new Set(this.externalProjects.map((i) => i.getProjectName()));
          this.externalProjectToConfiguredProjectMap.forEach((i, s) => n.add(s));
          for (const i of t)
            this.openExternalProject(
              i,
              /*cleanupAfter*/
              !1
            ), n.delete(i.projectFileName);
          n.forEach((i) => this.closeExternalProject(
            i,
            /*cleanupAfter*/
            !1
          )), this.cleanupConfiguredProjects(), this.printProjects();
        }
        static escapeFilenameForRegex(t) {
          return t.replace(this.filenameEscapeRegexp, "\\$&");
        }
        resetSafeList() {
          this.safelist = V_e;
        }
        applySafeList(t) {
          const n = t.typeAcquisition;
          E.assert(!!n, "proj.typeAcquisition should be set by now");
          const i = this.applySafeListWorker(t, t.rootFiles, n);
          return i?.excludedFiles ?? [];
        }
        applySafeListWorker(t, n, i) {
          if (i.enable === !1 || i.disableFilenameBasedTypeAcquisition)
            return;
          const s = i.include || (i.include = []), o = [], c = n.map((h) => Bl(h.fileName));
          for (const h of Object.keys(this.safelist)) {
            const S = this.safelist[h];
            for (const T of c)
              if (S.match.test(T)) {
                if (this.logger.info(`Excluding files based on rule ${h} matching file '${T}'`), S.types)
                  for (const k of S.types)
                    s.includes(k) || s.push(k);
                if (S.exclude)
                  for (const k of S.exclude) {
                    const D = T.replace(S.match, (...w) => k.map((A) => typeof A == "number" ? cs(w[A]) ? tge.escapeFilenameForRegex(w[A]) : (this.logger.info(`Incorrect RegExp specification in safelist rule ${h} - not enough groups`), "\\*") : A).join(""));
                    o.includes(D) || o.push(D);
                  }
                else {
                  const k = tge.escapeFilenameForRegex(T);
                  o.includes(k) || o.push(k);
                }
              }
          }
          const _ = o.map((h) => new RegExp(h, "i"));
          let u, g;
          for (let h = 0; h < n.length; h++)
            if (_.some((S) => S.test(c[h])))
              m(h);
            else {
              if (i.enable) {
                const S = Qc(Ey(c[h]));
                if (Wo(S, "js")) {
                  const T = Ru(S), k = MR(T), D = this.legacySafelist.get(k);
                  if (D !== void 0) {
                    this.logger.info(`Excluded '${c[h]}' because it matched ${k} from the legacy safelist`), m(h), s.includes(D) || s.push(D);
                    continue;
                  }
                }
              }
              /^.+[.-]min\.js$/.test(c[h]) ? m(h) : u?.push(n[h]);
            }
          return g ? {
            rootFiles: u,
            excludedFiles: g
          } : void 0;
          function m(h) {
            g || (E.assert(!u), u = n.slice(0, h), g = []), g.push(c[h]);
          }
        }
        // eslint-disable-line @typescript-eslint/unified-signatures
        openExternalProject(t, n) {
          const i = this.findExternalProjectByProjectName(t.projectFileName);
          let s, o = [];
          for (const c of t.rootFiles) {
            const _ = ro(c.fileName);
            if (lG(_)) {
              if (this.serverMode === 0 && this.host.fileExists(_)) {
                let u = this.findConfiguredProjectByProjectName(_);
                u || (u = this.createConfiguredProject(_, `Creating configured project in external project: ${t.projectFileName}`), this.getHostPreferences().lazyConfiguredProjectsFromExternalProject || u.updateGraph()), (s ?? (s = /* @__PURE__ */ new Set())).add(u), E.assert(!u.isClosed());
              }
            } else
              o.push(c);
          }
          if (s)
            this.externalProjectToConfiguredProjectMap.set(t.projectFileName, s), i && this.removeProject(i);
          else {
            this.externalProjectToConfiguredProjectMap.delete(t.projectFileName);
            const c = t.typeAcquisition || {};
            c.include = c.include || [], c.exclude = c.exclude || [], c.enable === void 0 && (c.enable = L_e(o.map((g) => g.fileName)));
            const _ = this.applySafeListWorker(t, o, c), u = _?.excludedFiles ?? [];
            if (o = _?.rootFiles ?? o, i) {
              i.excludedFiles = u;
              const g = RL(t.options), m = P8(t.options, i.getCurrentDirectory()), h = this.getFilenameForExceededTotalSizeLimitForNonTsFiles(t.projectFileName, g, o, CG);
              h ? i.disableLanguageService(h) : i.enableLanguageService(), i.setProjectErrors(m?.errors), this.updateRootAndOptionsOfNonInferredProject(i, o, CG, g, c, t.options.compileOnSave, m?.watchOptions), i.updateGraph();
            } else
              this.createExternalProject(t.projectFileName, o, t.options, c, u).updateGraph();
          }
          n && (this.cleanupConfiguredProjects(
            s,
            /* @__PURE__ */ new Set([t.projectFileName])
          ), this.printProjects());
        }
        hasDeferredExtension() {
          for (const t of this.hostConfiguration.extraFileExtensions)
            if (t.scriptKind === 7)
              return !0;
          return !1;
        }
        /**
         * Performs the initial steps of enabling a plugin by finding and instantiating the module for a plugin either asynchronously or synchronously
         * @internal
         */
        requestEnablePlugin(t, n, i) {
          if (!this.host.importPlugin && !this.host.require) {
            this.logger.info("Plugins were requested but not running in environment that supports 'require'. Nothing will be loaded");
            return;
          }
          if (this.logger.info(`Enabling plugin ${n.name} from candidate paths: ${i.join(",")}`), !n.name || Cl(n.name) || /[\\/]\.\.?(?:$|[\\/])/.test(n.name)) {
            this.logger.info(`Skipped loading plugin ${n.name || JSON.stringify(n)} because only package name is allowed plugin name`);
            return;
          }
          if (this.host.importPlugin) {
            const s = Tk.importServicePluginAsync(
              n,
              i,
              this.host,
              (c) => this.logger.info(c)
            );
            this.pendingPluginEnablements ?? (this.pendingPluginEnablements = /* @__PURE__ */ new Map());
            let o = this.pendingPluginEnablements.get(t);
            o || this.pendingPluginEnablements.set(t, o = []), o.push(s);
            return;
          }
          this.endEnablePlugin(
            t,
            Tk.importServicePluginSync(
              n,
              i,
              this.host,
              (s) => this.logger.info(s)
            )
          );
        }
        /**
         * Performs the remaining steps of enabling a plugin after its module has been instantiated.
         */
        endEnablePlugin(t, { pluginConfigEntry: n, resolvedModule: i, errorLogs: s }) {
          var o;
          if (i) {
            const c = (o = this.currentPluginConfigOverrides) == null ? void 0 : o.get(n.name);
            if (c) {
              const _ = n.name;
              n = c, n.name = _;
            }
            t.enableProxy(i, n);
          } else
            ar(s, (c) => this.logger.info(c)), this.logger.info(`Couldn't find ${n.name}`);
        }
        /** @internal */
        hasNewPluginEnablementRequests() {
          return !!this.pendingPluginEnablements;
        }
        /** @internal */
        hasPendingPluginEnablements() {
          return !!this.currentPluginEnablementPromise;
        }
        /**
         * Waits for any ongoing plugin enablement requests to complete.
         *
         * @internal
         */
        async waitForPendingPlugins() {
          for (; this.currentPluginEnablementPromise; )
            await this.currentPluginEnablementPromise;
        }
        /**
         * Starts enabling any requested plugins without waiting for the result.
         *
         * @internal
         */
        enableRequestedPlugins() {
          this.pendingPluginEnablements && this.enableRequestedPluginsAsync();
        }
        async enableRequestedPluginsAsync() {
          if (this.currentPluginEnablementPromise && await this.waitForPendingPlugins(), !this.pendingPluginEnablements)
            return;
          const t = rs(this.pendingPluginEnablements.entries());
          this.pendingPluginEnablements = void 0, this.currentPluginEnablementPromise = this.enableRequestedPluginsWorker(t), await this.currentPluginEnablementPromise;
        }
        async enableRequestedPluginsWorker(t) {
          E.assert(this.currentPluginEnablementPromise === void 0);
          let n = !1;
          await Promise.all(fr(t, async ([i, s]) => {
            const o = await Promise.all(s);
            if (i.isClosed() || w8(i)) {
              this.logger.info(`Cancelling plugin enabling for ${i.getProjectName()} as it is ${i.isClosed() ? "closed" : "deferred close"}`);
              return;
            }
            n = !0;
            for (const c of o)
              this.endEnablePlugin(i, c);
            this.delayUpdateProjectGraph(i);
          })), this.currentPluginEnablementPromise = void 0, n && this.sendProjectsUpdatedInBackgroundEvent();
        }
        configurePlugin(t) {
          this.forEachEnabledProject((n) => n.onPluginConfigurationChanged(t.pluginName, t.configuration)), this.currentPluginConfigOverrides = this.currentPluginConfigOverrides || /* @__PURE__ */ new Map(), this.currentPluginConfigOverrides.set(t.pluginName, t.configuration);
        }
        /** @internal */
        getPackageJsonsVisibleToFile(t, n, i) {
          const s = this.packageJsonCache, o = i && this.toPath(i), c = [], _ = (u) => {
            switch (s.directoryHasPackageJson(u)) {
              // Sync and check same directory again
              case 3:
                return s.searchDirectoryAndAncestors(u, n), _(u);
              // Check package.json
              case -1:
                const g = An(u, "package.json");
                this.watchPackageJsonFile(g, this.toPath(g), n);
                const m = s.getInDirectory(u);
                m && c.push(m);
            }
            if (o && o === u)
              return !0;
          };
          return Km(
            n,
            Un(t),
            _
          ), c;
        }
        /** @internal */
        getNearestAncestorDirectoryWithPackageJson(t, n) {
          return Km(
            n,
            t,
            (i) => {
              switch (this.packageJsonCache.directoryHasPackageJson(i)) {
                case -1:
                  return i;
                case 0:
                  return;
                case 3:
                  return this.host.fileExists(An(i, "package.json")) ? i : void 0;
              }
            }
          );
        }
        watchPackageJsonFile(t, n, i) {
          E.assert(i !== void 0);
          let s = (this.packageJsonFilesMap ?? (this.packageJsonFilesMap = /* @__PURE__ */ new Map())).get(n);
          if (!s) {
            let o = this.watchFactory.watchFile(
              t,
              (c, _) => {
                switch (_) {
                  case 0:
                  case 1:
                    this.packageJsonCache.addOrUpdate(c, n), this.onPackageJsonChange(s);
                    break;
                  case 2:
                    this.packageJsonCache.delete(n), this.onPackageJsonChange(s), s.projects.clear(), s.close();
                }
              },
              250,
              this.hostConfiguration.watchOptions,
              Nl.PackageJson
            );
            s = {
              projects: /* @__PURE__ */ new Set(),
              close: () => {
                var c;
                s.projects.size || !o || (o.close(), o = void 0, (c = this.packageJsonFilesMap) == null || c.delete(n), this.packageJsonCache.invalidate(n));
              }
            }, this.packageJsonFilesMap.set(n, s);
          }
          s.projects.add(i), (i.packageJsonWatches ?? (i.packageJsonWatches = /* @__PURE__ */ new Set())).add(s);
        }
        onPackageJsonChange(t) {
          t.projects.forEach((n) => {
            var i;
            return (i = n.onPackageJsonChange) == null ? void 0 : i.call(n);
          });
        }
        /** @internal */
        includePackageJsonAutoImports() {
          switch (this.hostConfiguration.preferences.includePackageJsonAutoImports) {
            case "on":
              return 1;
            case "off":
              return 0;
            default:
              return 2;
          }
        }
        /** @internal */
        getIncompleteCompletionsCache() {
          return this.incompleteCompletionsCache || (this.incompleteCompletionsCache = DKe());
        }
      };
      lPe.filenameEscapeRegexp = /[-/\\^$*+?.()|[\]{}]/g;
      var rfe = lPe;
      function DKe() {
        let e;
        return {
          get() {
            return e;
          },
          set(t) {
            e = t;
          },
          clear() {
            e = void 0;
          }
        };
      }
      function nfe(e) {
        return e.kind !== void 0;
      }
      function ife(e) {
        e.print(
          /*writeProjectFileNames*/
          !1,
          /*writeFileExplaination*/
          !1,
          /*writeFileVersionAndText*/
          !1
        );
      }
      function sfe(e) {
        let t, n, i;
        const s = {
          get(u, g, m, h) {
            if (!(!n || i !== c(u, m, h)))
              return n.get(g);
          },
          set(u, g, m, h, S, T, k) {
            if (o(u, m, h).set(g, _(
              S,
              T,
              k,
              /*packageName*/
              void 0,
              /*isBlockedByPackageJsonDependencies*/
              !1
            )), k) {
              for (const D of T)
                if (D.isInNodeModules) {
                  const w = D.path.substring(0, D.path.indexOf($g) + $g.length - 1), A = e.toPath(w);
                  t?.has(A) || (t || (t = /* @__PURE__ */ new Map())).set(
                    A,
                    e.watchNodeModulesForPackageJsonChanges(w)
                  );
                }
            }
          },
          setModulePaths(u, g, m, h, S) {
            const T = o(u, m, h), k = T.get(g);
            k ? k.modulePaths = S : T.set(g, _(
              /*kind*/
              void 0,
              S,
              /*moduleSpecifiers*/
              void 0,
              /*packageName*/
              void 0,
              /*isBlockedByPackageJsonDependencies*/
              void 0
            ));
          },
          setBlockedByPackageJsonDependencies(u, g, m, h, S, T) {
            const k = o(u, m, h), D = k.get(g);
            D ? (D.isBlockedByPackageJsonDependencies = T, D.packageName = S) : k.set(g, _(
              /*kind*/
              void 0,
              /*modulePaths*/
              void 0,
              /*moduleSpecifiers*/
              void 0,
              S,
              T
            ));
          },
          clear() {
            t?.forEach($p), n?.clear(), t?.clear(), i = void 0;
          },
          count() {
            return n ? n.size : 0;
          }
        };
        return E.isDebugging && Object.defineProperty(s, "__cache", { get: () => n }), s;
        function o(u, g, m) {
          const h = c(u, g, m);
          return n && i !== h && s.clear(), i = h, n || (n = /* @__PURE__ */ new Map());
        }
        function c(u, g, m) {
          return `${u},${g.importModuleSpecifierEnding},${g.importModuleSpecifierPreference},${m.overrideImportMode}`;
        }
        function _(u, g, m, h, S) {
          return { kind: u, modulePaths: g, moduleSpecifiers: m, packageName: h, isBlockedByPackageJsonDependencies: S };
        }
      }
      function afe(e) {
        const t = /* @__PURE__ */ new Map(), n = /* @__PURE__ */ new Map();
        return {
          addOrUpdate: i,
          invalidate: s,
          delete: (c) => {
            t.delete(c), n.set(Un(c), !0);
          },
          getInDirectory: (c) => t.get(e.toPath(An(c, "package.json"))) || void 0,
          directoryHasPackageJson: (c) => o(e.toPath(c)),
          searchDirectoryAndAncestors: (c, _) => {
            Km(
              _,
              c,
              (u) => {
                const g = e.toPath(u);
                if (o(g) !== 3)
                  return !0;
                const m = An(u, "package.json");
                Cw(e, m) ? i(m, An(g, "package.json")) : n.set(g, !0);
              }
            );
          }
        };
        function i(c, _) {
          const u = E.checkDefined(rq(c, e.host));
          t.set(_, u), n.delete(Un(_));
        }
        function s(c) {
          t.delete(c), n.delete(Un(c));
        }
        function o(c) {
          return t.has(An(c, "package.json")) ? -1 : n.has(c) ? 0 : 3;
        }
      }
      var uPe = {
        isCancellationRequested: () => !1,
        setRequest: () => {
        },
        resetRequest: () => {
        }
      };
      function wKe(e) {
        const t = e[0], n = e[1];
        return (1e9 * t + n) / 1e6;
      }
      function _Pe(e, t) {
        if ((cE(e) || E8(e)) && e.isJsOnlyProject()) {
          const n = e.getScriptInfoForNormalizedPath(t);
          return n && !n.isJavaScript();
        }
        return !1;
      }
      function PKe(e) {
        return w_(e) || !!e.emitDecoratorMetadata;
      }
      function fPe(e, t, n) {
        const i = t.getScriptInfoForNormalizedPath(e);
        return {
          start: i.positionToLineOffset(n.start),
          end: i.positionToLineOffset(n.start + n.length),
          // TODO: GH#18217
          text: fm(n.messageText, `
`),
          code: n.code,
          category: rS(n),
          reportsUnnecessary: n.reportsUnnecessary,
          reportsDeprecated: n.reportsDeprecated,
          source: n.source,
          relatedInformation: fr(n.relatedInformation, PG)
        };
      }
      function PG(e) {
        return e.file ? {
          span: {
            start: uE(Js(e.file, e.start)),
            end: uE(Js(e.file, e.start + e.length)),
            // TODO: GH#18217
            file: e.file.fileName
          },
          message: fm(e.messageText, `
`),
          category: rS(e),
          code: e.code
        } : {
          message: fm(e.messageText, `
`),
          category: rS(e),
          code: e.code
        };
      }
      function uE(e) {
        return { line: e.line + 1, offset: e.character + 1 };
      }
      function N8(e, t) {
        const n = e.file && uE(Js(e.file, e.start)), i = e.file && uE(Js(e.file, e.start + e.length)), s = fm(e.messageText, `
`), { code: o, source: c } = e, _ = rS(e), u = {
          start: n,
          end: i,
          text: s,
          code: o,
          category: _,
          reportsUnnecessary: e.reportsUnnecessary,
          reportsDeprecated: e.reportsDeprecated,
          source: c,
          relatedInformation: fr(e.relatedInformation, PG)
        };
        return t ? { ...u, fileName: e.file && e.file.fileName } : u;
      }
      function NKe(e, t) {
        return e.every((n) => Ko(n.span) < t);
      }
      var pPe = w_e;
      function ofe(e, t, n, i) {
        const s = t.hasLevel(
          3
          /* verbose */
        ), o = JSON.stringify(e);
        return s && t.info(`${e.type}:${vv(e)}`), `Content-Length: ${1 + n(o, "utf8")}\r
\r
${o}${i}`;
      }
      var AKe = class {
        constructor(e) {
          this.operationHost = e;
        }
        startNew(e) {
          this.complete(), this.requestId = this.operationHost.getCurrentRequestId(), this.executeAction(e);
        }
        complete() {
          this.requestId !== void 0 && (this.operationHost.sendRequestCompletedEvent(this.requestId, this.performanceData), this.requestId = void 0), this.setTimerHandle(void 0), this.setImmediateId(void 0), this.performanceData = void 0;
        }
        immediate(e, t) {
          const n = this.requestId;
          E.assert(n === this.operationHost.getCurrentRequestId(), "immediate: incorrect request id"), this.setImmediateId(
            this.operationHost.getServerHost().setImmediate(() => {
              this.immediateId = void 0, this.operationHost.executeWithRequestId(n, () => this.executeAction(t), this.performanceData);
            }, e)
          );
        }
        delay(e, t, n) {
          const i = this.requestId;
          E.assert(i === this.operationHost.getCurrentRequestId(), "delay: incorrect request id"), this.setTimerHandle(
            this.operationHost.getServerHost().setTimeout(
              () => {
                this.timerHandle = void 0, this.operationHost.executeWithRequestId(i, () => this.executeAction(n), this.performanceData);
              },
              t,
              e
            )
          );
        }
        executeAction(e) {
          var t, n, i, s, o, c;
          let _ = !1;
          try {
            this.operationHost.isCancellationRequested() ? (_ = !0, (t = rn) == null || t.instant(rn.Phase.Session, "stepCanceled", { seq: this.requestId, early: !0 })) : ((n = rn) == null || n.push(rn.Phase.Session, "stepAction", { seq: this.requestId }), e(this), (i = rn) == null || i.pop());
          } catch (u) {
            (s = rn) == null || s.popAll(), _ = !0, u instanceof _4 ? (o = rn) == null || o.instant(rn.Phase.Session, "stepCanceled", { seq: this.requestId }) : ((c = rn) == null || c.instant(rn.Phase.Session, "stepError", { seq: this.requestId, message: u.message }), this.operationHost.logError(u, `delayed processing of request ${this.requestId}`));
          }
          this.performanceData = this.operationHost.getPerformanceData(), (_ || !this.hasPendingWork()) && this.complete();
        }
        setTimerHandle(e) {
          this.timerHandle !== void 0 && this.operationHost.getServerHost().clearTimeout(this.timerHandle), this.timerHandle = e;
        }
        setImmediateId(e) {
          this.immediateId !== void 0 && this.operationHost.getServerHost().clearImmediate(this.immediateId), this.immediateId = e;
        }
        hasPendingWork() {
          return !!this.timerHandle || !!this.immediateId;
        }
      };
      function cfe(e, t) {
        return {
          seq: 0,
          type: "event",
          event: e,
          body: t
        };
      }
      function IKe(e, t, n, i) {
        const s = t4(fs(n) ? n : n.projects, (o) => i(o, e));
        return !fs(n) && n.symLinkedProjects && n.symLinkedProjects.forEach((o, c) => {
          const _ = t(c);
          s.push(...oa(o, (u) => i(u, _)));
        }), pb(s, Dy);
      }
      function NG(e) {
        return AR(({ textSpan: t }) => t.start + 100003 * t.length, zU(e));
      }
      function FKe(e, t, n, i, s, o, c) {
        const _ = lfe(
          e,
          t,
          n,
          dPe(
            t,
            n,
            /*isForRename*/
            !0
          ),
          hPe,
          (m, h) => m.getLanguageService().findRenameLocations(h.fileName, h.pos, i, s, o),
          (m, h) => h(Ww(m))
        );
        if (fs(_))
          return _;
        const u = [], g = NG(c);
        return _.forEach((m, h) => {
          for (const S of m)
            !g.has(S) && !AG(Ww(S), h) && (u.push(S), g.add(S));
        }), u;
      }
      function dPe(e, t, n) {
        const i = e.getLanguageService().getDefinitionAtPosition(
          t.fileName,
          t.pos,
          /*searchOtherFilesOnly*/
          !1,
          /*stopAtAlias*/
          n
        ), s = i && Xc(i);
        return s && !s.isLocal ? { fileName: s.fileName, pos: s.textSpan.start } : void 0;
      }
      function OKe(e, t, n, i, s) {
        var o, c;
        const _ = lfe(
          e,
          t,
          n,
          dPe(
            t,
            n,
            /*isForRename*/
            !1
          ),
          hPe,
          (h, S) => (s.info(`Finding references to ${S.fileName} position ${S.pos} in project ${h.getProjectName()}`), h.getLanguageService().findReferences(S.fileName, S.pos)),
          (h, S) => {
            S(Ww(h.definition));
            for (const T of h.references)
              S(Ww(T));
          }
        );
        if (fs(_))
          return _;
        const u = _.get(t);
        if (((c = (o = u?.[0]) == null ? void 0 : o.references[0]) == null ? void 0 : c.isDefinition) === void 0)
          _.forEach((h) => {
            for (const S of h)
              for (const T of S.references)
                delete T.isDefinition;
          });
        else {
          const h = NG(i);
          for (const T of u)
            for (const k of T.references)
              if (k.isDefinition) {
                h.add(k);
                break;
              }
          const S = /* @__PURE__ */ new Set();
          for (; ; ) {
            let T = !1;
            if (_.forEach((k, D) => {
              if (S.has(D)) return;
              D.getLanguageService().updateIsDefinitionOfReferencedSymbols(k, h) && (S.add(D), T = !0);
            }), !T) break;
          }
          _.forEach((T, k) => {
            if (!S.has(k))
              for (const D of T)
                for (const w of D.references)
                  w.isDefinition = !1;
          });
        }
        const g = [], m = NG(i);
        return _.forEach((h, S) => {
          for (const T of h) {
            const k = AG(Ww(T.definition), S), D = k === void 0 ? T.definition : {
              ...T.definition,
              textSpan: Gl(k.pos, T.definition.textSpan.length),
              // Why would the length be the same in the original?
              fileName: k.fileName,
              contextSpan: MKe(T.definition, S)
            };
            let w = Dn(g, (A) => JU(A.definition, D, i));
            w || (w = { definition: D, references: [] }, g.push(w));
            for (const A of T.references)
              !m.has(A) && !AG(Ww(A), S) && (m.add(A), w.references.push(A));
          }
        }), g.filter((h) => h.references.length !== 0);
      }
      function mPe(e, t, n) {
        for (const i of fs(e) ? e : e.projects)
          n(i, t);
        !fs(e) && e.symLinkedProjects && e.symLinkedProjects.forEach((i, s) => {
          for (const o of i)
            n(o, s);
        });
      }
      function lfe(e, t, n, i, s, o, c) {
        const _ = /* @__PURE__ */ new Map(), u = DP();
        u.enqueue({ project: t, location: n }), mPe(e, n.fileName, (D, w) => {
          const A = { fileName: w, pos: n.pos };
          u.enqueue({ project: D, location: A });
        });
        const g = t.projectService, m = t.getCancellationToken(), h = Au(
          () => t.isSourceOfProjectReferenceRedirect(i.fileName) ? i : t.getLanguageService().getSourceMapper().tryGetGeneratedPosition(i)
        ), S = Au(
          () => t.isSourceOfProjectReferenceRedirect(i.fileName) ? i : t.getLanguageService().getSourceMapper().tryGetSourcePosition(i)
        ), T = /* @__PURE__ */ new Set();
        e:
          for (; !u.isEmpty(); ) {
            for (; !u.isEmpty(); ) {
              if (m.isCancellationRequested()) break e;
              const { project: D, location: w } = u.dequeue();
              if (_.has(D) || yPe(D, w) || (Mp(D), !D.containsFile(ro(w.fileName))))
                continue;
              const A = k(D, w);
              _.set(D, A ?? Tl), T.add(LKe(D));
            }
            i && (g.loadAncestorProjectTree(T), g.forEachEnabledProject((D) => {
              if (m.isCancellationRequested() || _.has(D)) return;
              const w = s(i, D, h, S);
              w && u.enqueue({ project: D, location: w });
            }));
          }
        if (_.size === 1)
          return ER(_.values());
        return _;
        function k(D, w) {
          const A = o(D, w);
          if (!A || !c) return A;
          for (const O of A)
            c(O, (F) => {
              const j = g.getOriginalLocationEnsuringConfiguredProject(D, F);
              if (!j) return;
              const z = g.getScriptInfo(j.fileName);
              for (const G of z.containingProjects)
                !G.isOrphan() && !_.has(G) && u.enqueue({ project: G, location: j });
              const V = g.getSymlinkedProjects(z);
              V && V.forEach((G, W) => {
                for (const pe of G)
                  !pe.isOrphan() && !_.has(pe) && u.enqueue({ project: pe, location: { fileName: W, pos: j.pos } });
              });
            });
          return A;
        }
      }
      function gPe(e, t) {
        if (t.containsFile(ro(e.fileName)) && !yPe(t, e))
          return e;
      }
      function hPe(e, t, n, i) {
        const s = gPe(e, t);
        if (s) return s;
        const o = n();
        if (o && t.containsFile(ro(o.fileName))) return o;
        const c = i();
        return c && t.containsFile(ro(c.fileName)) ? c : void 0;
      }
      function yPe(e, t) {
        if (!t) return !1;
        const n = e.getLanguageService().getProgram();
        if (!n) return !1;
        const i = n.getSourceFile(t.fileName);
        return !!i && i.resolvedPath !== i.path && i.resolvedPath !== e.toPath(t.fileName);
      }
      function LKe(e) {
        return B0(e) ? e.canonicalConfigFilePath : e.getProjectName();
      }
      function Ww({ fileName: e, textSpan: t }) {
        return { fileName: e, pos: t.start };
      }
      function AG(e, t) {
        return vw(e, t.getSourceMapper(), (n) => t.projectService.fileExists(n));
      }
      function vPe(e, t) {
        return P9(e, t.getSourceMapper(), (n) => t.projectService.fileExists(n));
      }
      function MKe(e, t) {
        return VU(e, t.getSourceMapper(), (n) => t.projectService.fileExists(n));
      }
      var bPe = [
        "openExternalProject",
        "openExternalProjects",
        "closeExternalProject",
        "synchronizeProjectList",
        "emit-output",
        "compileOnSaveAffectedFileList",
        "compileOnSaveEmitFile",
        "compilerOptionsDiagnostics-full",
        "encodedSemanticClassifications-full",
        "semanticDiagnosticsSync",
        "suggestionDiagnosticsSync",
        "geterrForProject",
        "reload",
        "reloadProjects",
        "getCodeFixes",
        "getCodeFixes-full",
        "getCombinedCodeFix",
        "getCombinedCodeFix-full",
        "applyCodeActionCommand",
        "getSupportedCodeFixes",
        "getApplicableRefactors",
        "getMoveToRefactoringFileSuggestions",
        "getEditsForRefactor",
        "getEditsForRefactor-full",
        "organizeImports",
        "organizeImports-full",
        "getEditsForFileRename",
        "getEditsForFileRename-full",
        "prepareCallHierarchy",
        "provideCallHierarchyIncomingCalls",
        "provideCallHierarchyOutgoingCalls",
        "getPasteEdits",
        "copilotRelated"
        /* CopilotRelated */
      ], RKe = [
        ...bPe,
        "definition",
        "definition-full",
        "definitionAndBoundSpan",
        "definitionAndBoundSpan-full",
        "typeDefinition",
        "implementation",
        "implementation-full",
        "references",
        "references-full",
        "rename",
        "renameLocations-full",
        "rename-full",
        "quickinfo",
        "quickinfo-full",
        "completionInfo",
        "completions",
        "completions-full",
        "completionEntryDetails",
        "completionEntryDetails-full",
        "signatureHelp",
        "signatureHelp-full",
        "navto",
        "navto-full",
        "documentHighlights",
        "documentHighlights-full",
        "preparePasteEdits"
        /* PreparePasteEdits */
      ], SPe = class BX {
        constructor(t) {
          this.changeSeq = 0, this.regionDiagLineCountThreshold = 500, this.handlers = new Map(Object.entries({
            // TODO(jakebailey): correctly type the handlers
            status: () => {
              const o = { version: Gf };
              return this.requiredResponse(o);
            },
            openExternalProject: (o) => (this.projectService.openExternalProject(
              o.arguments,
              /*cleanupAfter*/
              !0
            ), this.requiredResponse(
              /*response*/
              !0
            )),
            openExternalProjects: (o) => (this.projectService.openExternalProjects(o.arguments.projects), this.requiredResponse(
              /*response*/
              !0
            )),
            closeExternalProject: (o) => (this.projectService.closeExternalProject(
              o.arguments.projectFileName,
              /*cleanupAfter*/
              !0
            ), this.requiredResponse(
              /*response*/
              !0
            )),
            synchronizeProjectList: (o) => {
              const c = this.projectService.synchronizeProjectList(o.arguments.knownProjects, o.arguments.includeProjectReferenceRedirectInfo);
              if (!c.some((u) => u.projectErrors && u.projectErrors.length !== 0))
                return this.requiredResponse(c);
              const _ = fr(c, (u) => !u.projectErrors || u.projectErrors.length === 0 ? u : {
                info: u.info,
                changes: u.changes,
                files: u.files,
                projectErrors: this.convertToDiagnosticsWithLinePosition(
                  u.projectErrors,
                  /*scriptInfo*/
                  void 0
                )
              });
              return this.requiredResponse(_);
            },
            updateOpen: (o) => (this.changeSeq++, this.projectService.applyChangesInOpenFiles(
              o.arguments.openFiles && e4(o.arguments.openFiles, (c) => ({
                fileName: c.file,
                content: c.fileContent,
                scriptKind: c.scriptKindName,
                projectRootPath: c.projectRootPath
              })),
              o.arguments.changedFiles && e4(o.arguments.changedFiles, (c) => ({
                fileName: c.fileName,
                changes: Sy(kR(c.textChanges), (_) => {
                  const u = E.checkDefined(this.projectService.getScriptInfo(c.fileName)), g = u.lineOffsetToPosition(_.start.line, _.start.offset), m = u.lineOffsetToPosition(_.end.line, _.end.offset);
                  return g >= 0 ? { span: { start: g, length: m - g }, newText: _.newText } : void 0;
                })
              })),
              o.arguments.closedFiles
            ), this.requiredResponse(
              /*response*/
              !0
            )),
            applyChangedToOpenFiles: (o) => (this.changeSeq++, this.projectService.applyChangesInOpenFiles(
              o.arguments.openFiles,
              o.arguments.changedFiles && e4(o.arguments.changedFiles, (c) => ({
                fileName: c.fileName,
                // apply changes in reverse order
                changes: kR(c.changes)
              })),
              o.arguments.closedFiles
            ), this.requiredResponse(
              /*response*/
              !0
            )),
            exit: () => (this.exit(), this.notRequired(
              /*request*/
              void 0
            )),
            definition: (o) => this.requiredResponse(this.getDefinition(
              o.arguments,
              /*simplifiedResult*/
              !0
            )),
            "definition-full": (o) => this.requiredResponse(this.getDefinition(
              o.arguments,
              /*simplifiedResult*/
              !1
            )),
            definitionAndBoundSpan: (o) => this.requiredResponse(this.getDefinitionAndBoundSpan(
              o.arguments,
              /*simplifiedResult*/
              !0
            )),
            "definitionAndBoundSpan-full": (o) => this.requiredResponse(this.getDefinitionAndBoundSpan(
              o.arguments,
              /*simplifiedResult*/
              !1
            )),
            findSourceDefinition: (o) => this.requiredResponse(this.findSourceDefinition(o.arguments)),
            "emit-output": (o) => this.requiredResponse(this.getEmitOutput(o.arguments)),
            typeDefinition: (o) => this.requiredResponse(this.getTypeDefinition(o.arguments)),
            implementation: (o) => this.requiredResponse(this.getImplementation(
              o.arguments,
              /*simplifiedResult*/
              !0
            )),
            "implementation-full": (o) => this.requiredResponse(this.getImplementation(
              o.arguments,
              /*simplifiedResult*/
              !1
            )),
            references: (o) => this.requiredResponse(this.getReferences(
              o.arguments,
              /*simplifiedResult*/
              !0
            )),
            "references-full": (o) => this.requiredResponse(this.getReferences(
              o.arguments,
              /*simplifiedResult*/
              !1
            )),
            rename: (o) => this.requiredResponse(this.getRenameLocations(
              o.arguments,
              /*simplifiedResult*/
              !0
            )),
            "renameLocations-full": (o) => this.requiredResponse(this.getRenameLocations(
              o.arguments,
              /*simplifiedResult*/
              !1
            )),
            "rename-full": (o) => this.requiredResponse(this.getRenameInfo(o.arguments)),
            open: (o) => (this.openClientFile(
              ro(o.arguments.file),
              o.arguments.fileContent,
              xG(o.arguments.scriptKindName),
              // TODO: GH#18217
              o.arguments.projectRootPath ? ro(o.arguments.projectRootPath) : void 0
            ), this.notRequired(o)),
            quickinfo: (o) => this.requiredResponse(this.getQuickInfoWorker(
              o.arguments,
              /*simplifiedResult*/
              !0
            )),
            "quickinfo-full": (o) => this.requiredResponse(this.getQuickInfoWorker(
              o.arguments,
              /*simplifiedResult*/
              !1
            )),
            getOutliningSpans: (o) => this.requiredResponse(this.getOutliningSpans(
              o.arguments,
              /*simplifiedResult*/
              !0
            )),
            outliningSpans: (o) => this.requiredResponse(this.getOutliningSpans(
              o.arguments,
              /*simplifiedResult*/
              !1
            )),
            todoComments: (o) => this.requiredResponse(this.getTodoComments(o.arguments)),
            indentation: (o) => this.requiredResponse(this.getIndentation(o.arguments)),
            nameOrDottedNameSpan: (o) => this.requiredResponse(this.getNameOrDottedNameSpan(o.arguments)),
            breakpointStatement: (o) => this.requiredResponse(this.getBreakpointStatement(o.arguments)),
            braceCompletion: (o) => this.requiredResponse(this.isValidBraceCompletion(o.arguments)),
            docCommentTemplate: (o) => this.requiredResponse(this.getDocCommentTemplate(o.arguments)),
            getSpanOfEnclosingComment: (o) => this.requiredResponse(this.getSpanOfEnclosingComment(o.arguments)),
            fileReferences: (o) => this.requiredResponse(this.getFileReferences(
              o.arguments,
              /*simplifiedResult*/
              !0
            )),
            "fileReferences-full": (o) => this.requiredResponse(this.getFileReferences(
              o.arguments,
              /*simplifiedResult*/
              !1
            )),
            format: (o) => this.requiredResponse(this.getFormattingEditsForRange(o.arguments)),
            formatonkey: (o) => this.requiredResponse(this.getFormattingEditsAfterKeystroke(o.arguments)),
            "format-full": (o) => this.requiredResponse(this.getFormattingEditsForDocumentFull(o.arguments)),
            "formatonkey-full": (o) => this.requiredResponse(this.getFormattingEditsAfterKeystrokeFull(o.arguments)),
            "formatRange-full": (o) => this.requiredResponse(this.getFormattingEditsForRangeFull(o.arguments)),
            completionInfo: (o) => this.requiredResponse(this.getCompletions(
              o.arguments,
              "completionInfo"
              /* CompletionInfo */
            )),
            completions: (o) => this.requiredResponse(this.getCompletions(
              o.arguments,
              "completions"
              /* Completions */
            )),
            "completions-full": (o) => this.requiredResponse(this.getCompletions(
              o.arguments,
              "completions-full"
              /* CompletionsFull */
            )),
            completionEntryDetails: (o) => this.requiredResponse(this.getCompletionEntryDetails(
              o.arguments,
              /*fullResult*/
              !1
            )),
            "completionEntryDetails-full": (o) => this.requiredResponse(this.getCompletionEntryDetails(
              o.arguments,
              /*fullResult*/
              !0
            )),
            compileOnSaveAffectedFileList: (o) => this.requiredResponse(this.getCompileOnSaveAffectedFileList(o.arguments)),
            compileOnSaveEmitFile: (o) => this.requiredResponse(this.emitFile(o.arguments)),
            signatureHelp: (o) => this.requiredResponse(this.getSignatureHelpItems(
              o.arguments,
              /*simplifiedResult*/
              !0
            )),
            "signatureHelp-full": (o) => this.requiredResponse(this.getSignatureHelpItems(
              o.arguments,
              /*simplifiedResult*/
              !1
            )),
            "compilerOptionsDiagnostics-full": (o) => this.requiredResponse(this.getCompilerOptionsDiagnostics(o.arguments)),
            "encodedSyntacticClassifications-full": (o) => this.requiredResponse(this.getEncodedSyntacticClassifications(o.arguments)),
            "encodedSemanticClassifications-full": (o) => this.requiredResponse(this.getEncodedSemanticClassifications(o.arguments)),
            cleanup: () => (this.cleanup(), this.requiredResponse(
              /*response*/
              !0
            )),
            semanticDiagnosticsSync: (o) => this.requiredResponse(this.getSemanticDiagnosticsSync(o.arguments)),
            syntacticDiagnosticsSync: (o) => this.requiredResponse(this.getSyntacticDiagnosticsSync(o.arguments)),
            suggestionDiagnosticsSync: (o) => this.requiredResponse(this.getSuggestionDiagnosticsSync(o.arguments)),
            geterr: (o) => (this.errorCheck.startNew((c) => this.getDiagnostics(c, o.arguments.delay, o.arguments.files)), this.notRequired(
              /*request*/
              void 0
            )),
            geterrForProject: (o) => (this.errorCheck.startNew((c) => this.getDiagnosticsForProject(c, o.arguments.delay, o.arguments.file)), this.notRequired(
              /*request*/
              void 0
            )),
            change: (o) => (this.change(o.arguments), this.notRequired(o)),
            configure: (o) => (this.projectService.setHostConfiguration(o.arguments), this.notRequired(o)),
            reload: (o) => (this.reload(o.arguments), this.requiredResponse({ reloadFinished: !0 })),
            saveto: (o) => {
              const c = o.arguments;
              return this.saveToTmp(c.file, c.tmpfile), this.notRequired(o);
            },
            close: (o) => {
              const c = o.arguments;
              return this.closeClientFile(c.file), this.notRequired(o);
            },
            navto: (o) => this.requiredResponse(this.getNavigateToItems(
              o.arguments,
              /*simplifiedResult*/
              !0
            )),
            "navto-full": (o) => this.requiredResponse(this.getNavigateToItems(
              o.arguments,
              /*simplifiedResult*/
              !1
            )),
            brace: (o) => this.requiredResponse(this.getBraceMatching(
              o.arguments,
              /*simplifiedResult*/
              !0
            )),
            "brace-full": (o) => this.requiredResponse(this.getBraceMatching(
              o.arguments,
              /*simplifiedResult*/
              !1
            )),
            navbar: (o) => this.requiredResponse(this.getNavigationBarItems(
              o.arguments,
              /*simplifiedResult*/
              !0
            )),
            "navbar-full": (o) => this.requiredResponse(this.getNavigationBarItems(
              o.arguments,
              /*simplifiedResult*/
              !1
            )),
            navtree: (o) => this.requiredResponse(this.getNavigationTree(
              o.arguments,
              /*simplifiedResult*/
              !0
            )),
            "navtree-full": (o) => this.requiredResponse(this.getNavigationTree(
              o.arguments,
              /*simplifiedResult*/
              !1
            )),
            documentHighlights: (o) => this.requiredResponse(this.getDocumentHighlights(
              o.arguments,
              /*simplifiedResult*/
              !0
            )),
            "documentHighlights-full": (o) => this.requiredResponse(this.getDocumentHighlights(
              o.arguments,
              /*simplifiedResult*/
              !1
            )),
            compilerOptionsForInferredProjects: (o) => (this.setCompilerOptionsForInferredProjects(o.arguments), this.requiredResponse(
              /*response*/
              !0
            )),
            projectInfo: (o) => this.requiredResponse(this.getProjectInfo(o.arguments)),
            reloadProjects: (o) => (this.projectService.reloadProjects(), this.notRequired(o)),
            jsxClosingTag: (o) => this.requiredResponse(this.getJsxClosingTag(o.arguments)),
            linkedEditingRange: (o) => this.requiredResponse(this.getLinkedEditingRange(o.arguments)),
            getCodeFixes: (o) => this.requiredResponse(this.getCodeFixes(
              o.arguments,
              /*simplifiedResult*/
              !0
            )),
            "getCodeFixes-full": (o) => this.requiredResponse(this.getCodeFixes(
              o.arguments,
              /*simplifiedResult*/
              !1
            )),
            getCombinedCodeFix: (o) => this.requiredResponse(this.getCombinedCodeFix(
              o.arguments,
              /*simplifiedResult*/
              !0
            )),
            "getCombinedCodeFix-full": (o) => this.requiredResponse(this.getCombinedCodeFix(
              o.arguments,
              /*simplifiedResult*/
              !1
            )),
            applyCodeActionCommand: (o) => this.requiredResponse(this.applyCodeActionCommand(o.arguments)),
            getSupportedCodeFixes: (o) => this.requiredResponse(this.getSupportedCodeFixes(o.arguments)),
            getApplicableRefactors: (o) => this.requiredResponse(this.getApplicableRefactors(o.arguments)),
            getEditsForRefactor: (o) => this.requiredResponse(this.getEditsForRefactor(
              o.arguments,
              /*simplifiedResult*/
              !0
            )),
            getMoveToRefactoringFileSuggestions: (o) => this.requiredResponse(this.getMoveToRefactoringFileSuggestions(o.arguments)),
            preparePasteEdits: (o) => this.requiredResponse(this.preparePasteEdits(o.arguments)),
            getPasteEdits: (o) => this.requiredResponse(this.getPasteEdits(o.arguments)),
            "getEditsForRefactor-full": (o) => this.requiredResponse(this.getEditsForRefactor(
              o.arguments,
              /*simplifiedResult*/
              !1
            )),
            organizeImports: (o) => this.requiredResponse(this.organizeImports(
              o.arguments,
              /*simplifiedResult*/
              !0
            )),
            "organizeImports-full": (o) => this.requiredResponse(this.organizeImports(
              o.arguments,
              /*simplifiedResult*/
              !1
            )),
            getEditsForFileRename: (o) => this.requiredResponse(this.getEditsForFileRename(
              o.arguments,
              /*simplifiedResult*/
              !0
            )),
            "getEditsForFileRename-full": (o) => this.requiredResponse(this.getEditsForFileRename(
              o.arguments,
              /*simplifiedResult*/
              !1
            )),
            configurePlugin: (o) => (this.configurePlugin(o.arguments), this.notRequired(o)),
            selectionRange: (o) => this.requiredResponse(this.getSmartSelectionRange(
              o.arguments,
              /*simplifiedResult*/
              !0
            )),
            "selectionRange-full": (o) => this.requiredResponse(this.getSmartSelectionRange(
              o.arguments,
              /*simplifiedResult*/
              !1
            )),
            prepareCallHierarchy: (o) => this.requiredResponse(this.prepareCallHierarchy(o.arguments)),
            provideCallHierarchyIncomingCalls: (o) => this.requiredResponse(this.provideCallHierarchyIncomingCalls(o.arguments)),
            provideCallHierarchyOutgoingCalls: (o) => this.requiredResponse(this.provideCallHierarchyOutgoingCalls(o.arguments)),
            toggleLineComment: (o) => this.requiredResponse(this.toggleLineComment(
              o.arguments,
              /*simplifiedResult*/
              !0
            )),
            "toggleLineComment-full": (o) => this.requiredResponse(this.toggleLineComment(
              o.arguments,
              /*simplifiedResult*/
              !1
            )),
            toggleMultilineComment: (o) => this.requiredResponse(this.toggleMultilineComment(
              o.arguments,
              /*simplifiedResult*/
              !0
            )),
            "toggleMultilineComment-full": (o) => this.requiredResponse(this.toggleMultilineComment(
              o.arguments,
              /*simplifiedResult*/
              !1
            )),
            commentSelection: (o) => this.requiredResponse(this.commentSelection(
              o.arguments,
              /*simplifiedResult*/
              !0
            )),
            "commentSelection-full": (o) => this.requiredResponse(this.commentSelection(
              o.arguments,
              /*simplifiedResult*/
              !1
            )),
            uncommentSelection: (o) => this.requiredResponse(this.uncommentSelection(
              o.arguments,
              /*simplifiedResult*/
              !0
            )),
            "uncommentSelection-full": (o) => this.requiredResponse(this.uncommentSelection(
              o.arguments,
              /*simplifiedResult*/
              !1
            )),
            provideInlayHints: (o) => this.requiredResponse(this.provideInlayHints(o.arguments)),
            mapCode: (o) => this.requiredResponse(this.mapCode(o.arguments)),
            copilotRelated: () => this.requiredResponse(this.getCopilotRelatedInfo())
          })), this.host = t.host, this.cancellationToken = t.cancellationToken, this.typingsInstaller = t.typingsInstaller || jL, this.byteLength = t.byteLength, this.hrtime = t.hrtime, this.logger = t.logger, this.canUseEvents = t.canUseEvents, this.suppressDiagnosticEvents = t.suppressDiagnosticEvents, this.noGetErrOnBackgroundUpdate = t.noGetErrOnBackgroundUpdate;
          const { throttleWaitMilliseconds: n } = t;
          this.eventHandler = this.canUseEvents ? t.eventHandler || ((o) => this.defaultEventHandler(o)) : void 0;
          const i = {
            executeWithRequestId: (o, c, _) => this.executeWithRequestId(o, c, _),
            getCurrentRequestId: () => this.currentRequestId,
            getPerformanceData: () => this.performanceData,
            getServerHost: () => this.host,
            logError: (o, c) => this.logError(o, c),
            sendRequestCompletedEvent: (o, c) => this.sendRequestCompletedEvent(o, c),
            isCancellationRequested: () => this.cancellationToken.isCancellationRequested()
          };
          this.errorCheck = new AKe(i);
          const s = {
            host: this.host,
            logger: this.logger,
            cancellationToken: this.cancellationToken,
            useSingleInferredProject: t.useSingleInferredProject,
            useInferredProjectPerProjectRoot: t.useInferredProjectPerProjectRoot,
            typingsInstaller: this.typingsInstaller,
            throttleWaitMilliseconds: n,
            eventHandler: this.eventHandler,
            suppressDiagnosticEvents: this.suppressDiagnosticEvents,
            globalPlugins: t.globalPlugins,
            pluginProbeLocations: t.pluginProbeLocations,
            allowLocalPluginLoads: t.allowLocalPluginLoads,
            typesMapLocation: t.typesMapLocation,
            serverMode: t.serverMode,
            session: this,
            canUseWatchEvents: t.canUseWatchEvents,
            incrementalVerifier: t.incrementalVerifier
          };
          switch (this.projectService = new rfe(s), this.projectService.setPerformanceEventHandler(this.performanceEventHandler.bind(this)), this.gcTimer = new E_e(
            this.host,
            /*delay*/
            7e3,
            this.logger
          ), this.projectService.serverMode) {
            case 0:
              break;
            case 1:
              bPe.forEach(
                (o) => this.handlers.set(o, (c) => {
                  throw new Error(`Request: ${c.command} not allowed in LanguageServiceMode.PartialSemantic`);
                })
              );
              break;
            case 2:
              RKe.forEach(
                (o) => this.handlers.set(o, (c) => {
                  throw new Error(`Request: ${c.command} not allowed in LanguageServiceMode.Syntactic`);
                })
              );
              break;
            default:
              E.assertNever(this.projectService.serverMode);
          }
        }
        sendRequestCompletedEvent(t, n) {
          this.event(
            {
              request_seq: t,
              performanceData: n && TPe(n)
            },
            "requestCompleted"
          );
        }
        addPerformanceData(t, n) {
          this.performanceData || (this.performanceData = {}), this.performanceData[t] = (this.performanceData[t] ?? 0) + n;
        }
        addDiagnosticsPerformanceData(t, n, i) {
          var s, o;
          this.performanceData || (this.performanceData = {});
          let c = (s = this.performanceData.diagnosticsDuration) == null ? void 0 : s.get(t);
          c || ((o = this.performanceData).diagnosticsDuration ?? (o.diagnosticsDuration = /* @__PURE__ */ new Map())).set(t, c = {}), c[n] = i;
        }
        performanceEventHandler(t) {
          switch (t.kind) {
            case "UpdateGraph":
              this.addPerformanceData("updateGraphDurationMs", t.durationMs);
              break;
            case "CreatePackageJsonAutoImportProvider":
              this.addPerformanceData("createAutoImportProviderProgramDurationMs", t.durationMs);
              break;
          }
        }
        defaultEventHandler(t) {
          switch (t.eventName) {
            case ML:
              this.projectsUpdatedInBackgroundEvent(t.data.openFiles);
              break;
            case pG:
              this.event({
                projectName: t.data.project.getProjectName(),
                reason: t.data.reason
              }, t.eventName);
              break;
            case dG:
              this.event({
                projectName: t.data.project.getProjectName()
              }, t.eventName);
              break;
            case mG:
            case vG:
            case bG:
            case SG:
              this.event(t.data, t.eventName);
              break;
            case gG:
              this.event({
                triggerFile: t.data.triggerFile,
                configFile: t.data.configFileName,
                diagnostics: fr(t.data.diagnostics, (n) => N8(
                  n,
                  /*includeFileName*/
                  !0
                ))
              }, t.eventName);
              break;
            case hG: {
              this.event({
                projectName: t.data.project.getProjectName(),
                languageServiceEnabled: t.data.languageServiceEnabled
              }, t.eventName);
              break;
            }
            case yG: {
              this.event({
                telemetryEventName: t.eventName,
                payload: t.data
              }, "telemetry");
              break;
            }
          }
        }
        projectsUpdatedInBackgroundEvent(t) {
          this.projectService.logger.info(`got projects updated in background ${t}`), t.length && (!this.suppressDiagnosticEvents && !this.noGetErrOnBackgroundUpdate && (this.projectService.logger.info(`Queueing diagnostics update for ${t}`), this.errorCheck.startNew((n) => this.updateErrorCheck(
            n,
            t,
            100,
            /*requireOpen*/
            !0
          ))), this.event({
            openFiles: t
          }, ML));
        }
        logError(t, n) {
          this.logErrorWorker(t, n);
        }
        logErrorWorker(t, n, i) {
          let s = "Exception on executing command " + n;
          if (t.message && (s += `:
` + fw(t.message), t.stack && (s += `
` + fw(t.stack))), this.logger.hasLevel(
            3
            /* verbose */
          )) {
            if (i)
              try {
                const { file: o, project: c } = this.getFileAndProject(i), _ = c.getScriptInfoForNormalizedPath(o);
                if (_) {
                  const u = ck(_.getSnapshot());
                  s += `

File text of ${i.file}:${fw(u)}
`;
                }
              } catch {
              }
            if (t.ProgramFiles) {
              s += `

Program files: ${JSON.stringify(t.ProgramFiles)}
`, s += `

Projects::
`;
              let o = 0;
              const c = (_) => {
                s += `
Project '${_.projectName}' (${zw[_.projectKind]}) ${o}
`, s += _.filesToString(
                  /*writeProjectFileNames*/
                  !0
                ), s += `
-----------------------------------------------
`, o++;
              };
              this.projectService.externalProjects.forEach(c), this.projectService.configuredProjects.forEach(c), this.projectService.inferredProjects.forEach(c);
            }
          }
          this.logger.msg(
            s,
            "Err"
            /* Err */
          );
        }
        send(t) {
          if (t.type === "event" && !this.canUseEvents) {
            this.logger.hasLevel(
              3
              /* verbose */
            ) && this.logger.info(`Session does not support events: ignored event: ${vv(t)}`);
            return;
          }
          this.writeMessage(t);
        }
        writeMessage(t) {
          const n = ofe(t, this.logger, this.byteLength, this.host.newLine);
          this.host.write(n);
        }
        event(t, n) {
          this.send(cfe(n, t));
        }
        /** @internal */
        doOutput(t, n, i, s, o, c) {
          const _ = {
            seq: 0,
            type: "response",
            command: n,
            request_seq: i,
            success: s,
            performanceData: o && TPe(o)
          };
          if (s) {
            let u;
            if (fs(t))
              _.body = t, u = t.metadata, delete t.metadata;
            else if (typeof t == "object")
              if (t.metadata) {
                const { metadata: g, ...m } = t;
                _.body = m, u = g;
              } else
                _.body = t;
            else
              _.body = t;
            u && (_.metadata = u);
          } else
            E.assert(t === void 0);
          c && (_.message = c), this.send(_);
        }
        semanticCheck(t, n) {
          var i, s;
          const o = co();
          (i = rn) == null || i.push(rn.Phase.Session, "semanticCheck", { file: t, configFilePath: n.canonicalConfigFilePath });
          const c = _Pe(n, t) ? Tl : n.getLanguageService().getSemanticDiagnostics(t).filter((_) => !!_.file);
          this.sendDiagnosticsEvent(t, n, c, "semanticDiag", o), (s = rn) == null || s.pop();
        }
        syntacticCheck(t, n) {
          var i, s;
          const o = co();
          (i = rn) == null || i.push(rn.Phase.Session, "syntacticCheck", { file: t, configFilePath: n.canonicalConfigFilePath }), this.sendDiagnosticsEvent(t, n, n.getLanguageService().getSyntacticDiagnostics(t), "syntaxDiag", o), (s = rn) == null || s.pop();
        }
        suggestionCheck(t, n) {
          var i, s;
          const o = co();
          (i = rn) == null || i.push(rn.Phase.Session, "suggestionCheck", { file: t, configFilePath: n.canonicalConfigFilePath }), this.sendDiagnosticsEvent(t, n, n.getLanguageService().getSuggestionDiagnostics(t), "suggestionDiag", o), (s = rn) == null || s.pop();
        }
        regionSemanticCheck(t, n, i) {
          var s, o, c;
          const _ = co();
          (s = rn) == null || s.push(rn.Phase.Session, "regionSemanticCheck", { file: t, configFilePath: n.canonicalConfigFilePath });
          let u;
          if (!this.shouldDoRegionCheck(t) || !(u = n.getLanguageService().getRegionSemanticDiagnostics(t, i))) {
            (o = rn) == null || o.pop();
            return;
          }
          this.sendDiagnosticsEvent(t, n, u.diagnostics, "regionSemanticDiag", _, u.spans), (c = rn) == null || c.pop();
        }
        // We should only do the region-based semantic check if we think it would be
        // considerably faster than a whole-file semantic check.
        /** @internal */
        shouldDoRegionCheck(t) {
          var n;
          const i = (n = this.projectService.getScriptInfoForNormalizedPath(t)) == null ? void 0 : n.textStorage.getLineInfo().getLineCount();
          return !!(i && i >= this.regionDiagLineCountThreshold);
        }
        sendDiagnosticsEvent(t, n, i, s, o, c) {
          try {
            const _ = E.checkDefined(n.getScriptInfo(t)), u = co() - o, g = {
              file: t,
              diagnostics: i.map((m) => fPe(t, n, m)),
              spans: c?.map((m) => hm(m, _))
            };
            this.event(
              g,
              s
            ), this.addDiagnosticsPerformanceData(t, s, u);
          } catch (_) {
            this.logError(_, s);
          }
        }
        /** It is the caller's responsibility to verify that `!this.suppressDiagnosticEvents`. */
        updateErrorCheck(t, n, i, s = !0) {
          if (n.length === 0)
            return;
          E.assert(!this.suppressDiagnosticEvents);
          const o = this.changeSeq, c = Math.min(i, 200);
          let _ = 0;
          const u = () => {
            if (_++, n.length > _)
              return t.delay("checkOne", c, m);
          }, g = (h, S) => {
            if (this.semanticCheck(h, S), this.changeSeq === o) {
              if (this.getPreferences(h).disableSuggestions)
                return u();
              t.immediate("suggestionCheck", () => {
                this.suggestionCheck(h, S), u();
              });
            }
          }, m = () => {
            if (this.changeSeq !== o)
              return;
            let h, S = n[_];
            if (cs(S) ? S = this.toPendingErrorCheck(S) : "ranges" in S && (h = S.ranges, S = this.toPendingErrorCheck(S.file)), !S)
              return u();
            const { fileName: T, project: k } = S;
            if (Mp(k), !!k.containsFile(T, s) && (this.syntacticCheck(T, k), this.changeSeq === o)) {
              if (k.projectService.serverMode !== 0)
                return u();
              if (h)
                return t.immediate("regionSemanticCheck", () => {
                  const D = this.projectService.getScriptInfoForNormalizedPath(T);
                  D && this.regionSemanticCheck(T, k, h.map((w) => this.getRange({ file: T, ...w }, D))), this.changeSeq === o && t.immediate("semanticCheck", () => g(T, k));
                });
              t.immediate("semanticCheck", () => g(T, k));
            }
          };
          n.length > _ && this.changeSeq === o && t.delay("checkOne", i, m);
        }
        cleanProjects(t, n) {
          if (n) {
            this.logger.info(`cleaning ${t}`);
            for (const i of n)
              i.getLanguageService(
                /*ensureSynchronized*/
                !1
              ).cleanupSemanticCache(), i.cleanupProgram();
          }
        }
        cleanup() {
          this.cleanProjects("inferred projects", this.projectService.inferredProjects), this.cleanProjects("configured projects", rs(this.projectService.configuredProjects.values())), this.cleanProjects("external projects", this.projectService.externalProjects), this.host.gc && (this.logger.info("host.gc()"), this.host.gc());
        }
        getEncodedSyntacticClassifications(t) {
          const { file: n, languageService: i } = this.getFileAndLanguageServiceForSyntacticOperation(t);
          return i.getEncodedSyntacticClassifications(n, t);
        }
        getEncodedSemanticClassifications(t) {
          const { file: n, project: i } = this.getFileAndProject(t), s = t.format === "2020" ? "2020" : "original";
          return i.getLanguageService().getEncodedSemanticClassifications(n, t, s);
        }
        getProject(t) {
          return t === void 0 ? void 0 : this.projectService.findProject(t);
        }
        getConfigFileAndProject(t) {
          const n = this.getProject(t.projectFileName), i = ro(t.file);
          return {
            configFile: n && n.hasConfigFile(i) ? i : void 0,
            project: n
          };
        }
        getConfigFileDiagnostics(t, n, i) {
          const s = n.getAllProjectErrors(), o = n.getLanguageService().getCompilerOptionsDiagnostics(), c = Tn(
            Ji(s, o),
            (_) => !!_.file && _.file.fileName === t
          );
          return i ? this.convertToDiagnosticsWithLinePositionFromDiagnosticFile(c) : fr(
            c,
            (_) => N8(
              _,
              /*includeFileName*/
              !1
            )
          );
        }
        convertToDiagnosticsWithLinePositionFromDiagnosticFile(t) {
          return t.map((n) => ({
            message: fm(n.messageText, this.host.newLine),
            start: n.start,
            // TODO: GH#18217
            length: n.length,
            // TODO: GH#18217
            category: rS(n),
            code: n.code,
            source: n.source,
            startLocation: n.file && uE(Js(n.file, n.start)),
            // TODO: GH#18217
            endLocation: n.file && uE(Js(n.file, n.start + n.length)),
            // TODO: GH#18217
            reportsUnnecessary: n.reportsUnnecessary,
            reportsDeprecated: n.reportsDeprecated,
            relatedInformation: fr(n.relatedInformation, PG)
          }));
        }
        getCompilerOptionsDiagnostics(t) {
          const n = this.getProject(t.projectFileName);
          return this.convertToDiagnosticsWithLinePosition(
            Tn(
              n.getLanguageService().getCompilerOptionsDiagnostics(),
              (i) => !i.file
            ),
            /*scriptInfo*/
            void 0
          );
        }
        convertToDiagnosticsWithLinePosition(t, n) {
          return t.map(
            (i) => ({
              message: fm(i.messageText, this.host.newLine),
              start: i.start,
              length: i.length,
              category: rS(i),
              code: i.code,
              source: i.source,
              startLocation: n && n.positionToLineOffset(i.start),
              // TODO: GH#18217
              endLocation: n && n.positionToLineOffset(i.start + i.length),
              reportsUnnecessary: i.reportsUnnecessary,
              reportsDeprecated: i.reportsDeprecated,
              relatedInformation: fr(i.relatedInformation, PG)
            })
          );
        }
        getDiagnosticsWorker(t, n, i, s) {
          const { project: o, file: c } = this.getFileAndProject(t);
          if (n && _Pe(o, c))
            return Tl;
          const _ = o.getScriptInfoForNormalizedPath(c), u = i(o, c);
          return s ? this.convertToDiagnosticsWithLinePosition(u, _) : u.map((g) => fPe(c, o, g));
        }
        getDefinition(t, n) {
          const { file: i, project: s } = this.getFileAndProject(t), o = this.getPositionInFile(t, i), c = this.mapDefinitionInfoLocations(s.getLanguageService().getDefinitionAtPosition(i, o) || Tl, s);
          return n ? this.mapDefinitionInfo(c, s) : c.map(BX.mapToOriginalLocation);
        }
        mapDefinitionInfoLocations(t, n) {
          return t.map((i) => {
            const s = vPe(i, n);
            return s ? {
              ...s,
              containerKind: i.containerKind,
              containerName: i.containerName,
              kind: i.kind,
              name: i.name,
              failedAliasResolution: i.failedAliasResolution,
              ...i.unverified && { unverified: i.unverified }
            } : i;
          });
        }
        getDefinitionAndBoundSpan(t, n) {
          const { file: i, project: s } = this.getFileAndProject(t), o = this.getPositionInFile(t, i), c = E.checkDefined(s.getScriptInfo(i)), _ = s.getLanguageService().getDefinitionAndBoundSpan(i, o);
          if (!_ || !_.definitions)
            return {
              definitions: Tl,
              textSpan: void 0
              // TODO: GH#18217
            };
          const u = this.mapDefinitionInfoLocations(_.definitions, s), { textSpan: g } = _;
          return n ? {
            definitions: this.mapDefinitionInfo(u, s),
            textSpan: hm(g, c)
          } : {
            definitions: u.map(BX.mapToOriginalLocation),
            textSpan: g
          };
        }
        findSourceDefinition(t) {
          var n;
          const { file: i, project: s } = this.getFileAndProject(t), o = this.getPositionInFile(t, i), c = s.getLanguageService().getDefinitionAtPosition(i, o);
          let _ = this.mapDefinitionInfoLocations(c || Tl, s).slice();
          if (this.projectService.serverMode === 0 && (!at(_, (T) => ro(T.fileName) !== i && !T.isAmbient) || at(_, (T) => !!T.failedAliasResolution))) {
            const T = AR(
              (A) => A.textSpan.start,
              zU(this.host.useCaseSensitiveFileNames)
            );
            _?.forEach((A) => T.add(A));
            const k = s.getNoDtsResolutionProject(i), D = k.getLanguageService(), w = (n = D.getDefinitionAtPosition(
              i,
              o,
              /*searchOtherFilesOnly*/
              !0,
              /*stopAtAlias*/
              !1
            )) == null ? void 0 : n.filter((A) => ro(A.fileName) !== i);
            if (at(w))
              for (const A of w) {
                if (A.unverified) {
                  const O = h(A, s.getLanguageService().getProgram(), D.getProgram());
                  if (at(O)) {
                    for (const F of O)
                      T.add(F);
                    continue;
                  }
                }
                T.add(A);
              }
            else {
              const A = _.filter((O) => ro(O.fileName) !== i && O.isAmbient);
              for (const O of at(A) ? A : m()) {
                const F = g(O.fileName, i, k);
                if (!F) continue;
                const j = this.projectService.getOrCreateScriptInfoNotOpenedByClient(
                  F,
                  k.currentDirectory,
                  k.directoryStructureHost,
                  /*deferredDeleteOk*/
                  !1
                );
                if (!j) continue;
                k.containsScriptInfo(j) || (k.addRoot(j), k.updateGraph());
                const z = D.getProgram(), V = E.checkDefined(z.getSourceFile(F));
                for (const G of S(O.name, V, z))
                  T.add(G);
              }
            }
            _ = rs(T.values());
          }
          return _ = _.filter((T) => !T.isAmbient && !T.failedAliasResolution), this.mapDefinitionInfo(_, s);
          function g(T, k, D) {
            var w, A, O;
            const F = rF(T);
            if (F && T.lastIndexOf($g) === F.topLevelNodeModulesIndex) {
              const j = T.substring(0, F.packageRootIndex), z = (w = s.getModuleResolutionCache()) == null ? void 0 : w.getPackageJsonInfoCache(), V = s.getCompilationSettings(), G = $D(Xi(j, s.getCurrentDirectory()), GD(z, s, V));
              if (!G) return;
              const W = lW(
                G,
                {
                  moduleResolution: 2
                  /* Node10 */
                },
                s,
                s.getModuleResolutionCache()
              ), pe = T.substring(
                F.topLevelPackageNameIndex + 1,
                F.packageRootIndex
              ), K = XD(KN(pe)), U = s.toPath(T);
              if (W && at(W, (ee) => s.toPath(ee) === U))
                return (A = D.resolutionCache.resolveSingleModuleNameWithoutWatching(K, k).resolvedModule) == null ? void 0 : A.resolvedFileName;
              {
                const ee = T.substring(F.packageRootIndex + 1), te = `${K}/${Ru(ee)}`;
                return (O = D.resolutionCache.resolveSingleModuleNameWithoutWatching(te, k).resolvedModule) == null ? void 0 : O.resolvedFileName;
              }
            }
          }
          function m() {
            const T = s.getLanguageService(), k = T.getProgram(), D = h_(k.getSourceFile(i), o);
            return (Ba(D) || Fe(D)) && ko(D.parent) && oee(D, (w) => {
              var A;
              if (w === D) return;
              const O = (A = T.getDefinitionAtPosition(
                i,
                w.getStart(),
                /*searchOtherFilesOnly*/
                !0,
                /*stopAtAlias*/
                !1
              )) == null ? void 0 : A.filter((F) => ro(F.fileName) !== i && F.isAmbient).map((F) => ({
                fileName: F.fileName,
                name: ep(D)
              }));
              if (at(O))
                return O;
            }) || Tl;
          }
          function h(T, k, D) {
            var w;
            const A = D.getSourceFile(T.fileName);
            if (!A)
              return;
            const O = h_(k.getSourceFile(i), o), F = k.getTypeChecker().getSymbolAtLocation(O), j = F && jo(
              F,
              276
              /* ImportSpecifier */
            );
            if (!j) return;
            const z = ((w = j.propertyName) == null ? void 0 : w.text) || j.name.text;
            return S(z, A, D);
          }
          function S(T, k, D) {
            const w = Eo.Core.getTopMostDeclarationNamesInFile(T, k);
            return Oi(w, (A) => {
              const O = D.getTypeChecker().getSymbolAtLocation(A), F = q4(A);
              if (O && F)
                return sE.createDefinitionInfo(
                  F,
                  D.getTypeChecker(),
                  O,
                  F,
                  /*unverified*/
                  !0
                );
            });
          }
        }
        getEmitOutput(t) {
          const { file: n, project: i } = this.getFileAndProject(t);
          if (!i.shouldEmitFile(i.getScriptInfo(n)))
            return { emitSkipped: !0, outputFiles: [], diagnostics: [] };
          const s = i.getLanguageService().getEmitOutput(n);
          return t.richResponse ? {
            ...s,
            diagnostics: t.includeLinePosition ? this.convertToDiagnosticsWithLinePositionFromDiagnosticFile(s.diagnostics) : s.diagnostics.map((o) => N8(
              o,
              /*includeFileName*/
              !0
            ))
          } : s;
        }
        mapJSDocTagInfo(t, n, i) {
          return t ? t.map((s) => {
            var o;
            return {
              ...s,
              text: i ? this.mapDisplayParts(s.text, n) : (o = s.text) == null ? void 0 : o.map((c) => c.text).join("")
            };
          }) : [];
        }
        mapDisplayParts(t, n) {
          return t ? t.map(
            (i) => i.kind !== "linkName" ? i : {
              ...i,
              target: this.toFileSpan(i.target.fileName, i.target.textSpan, n)
            }
          ) : [];
        }
        mapSignatureHelpItems(t, n, i) {
          return t.map((s) => ({
            ...s,
            documentation: this.mapDisplayParts(s.documentation, n),
            parameters: s.parameters.map((o) => ({ ...o, documentation: this.mapDisplayParts(o.documentation, n) })),
            tags: this.mapJSDocTagInfo(s.tags, n, i)
          }));
        }
        mapDefinitionInfo(t, n) {
          return t.map((i) => ({ ...this.toFileSpanWithContext(i.fileName, i.textSpan, i.contextSpan, n), ...i.unverified && { unverified: i.unverified } }));
        }
        /*
         * When we map a .d.ts location to .ts, Visual Studio gets confused because there's no associated Roslyn Document in
         * the same project which corresponds to the file. VS Code has no problem with this, and luckily we have two protocols.
         * This retains the existing behavior for the "simplified" (VS Code) protocol but stores the .d.ts location in a
         * set of additional fields, and does the reverse for VS (store the .d.ts location where
         * it used to be and stores the .ts location in the additional fields).
         */
        static mapToOriginalLocation(t) {
          return t.originalFileName ? (E.assert(t.originalTextSpan !== void 0, "originalTextSpan should be present if originalFileName is"), {
            ...t,
            fileName: t.originalFileName,
            textSpan: t.originalTextSpan,
            targetFileName: t.fileName,
            targetTextSpan: t.textSpan,
            contextSpan: t.originalContextSpan,
            targetContextSpan: t.contextSpan
          }) : t;
        }
        toFileSpan(t, n, i) {
          const s = i.getLanguageService(), o = s.toLineColumnOffset(t, n.start), c = s.toLineColumnOffset(t, Ko(n));
          return {
            file: t,
            start: { line: o.line + 1, offset: o.character + 1 },
            end: { line: c.line + 1, offset: c.character + 1 }
          };
        }
        toFileSpanWithContext(t, n, i, s) {
          const o = this.toFileSpan(t, n, s), c = i && this.toFileSpan(t, i, s);
          return c ? { ...o, contextStart: c.start, contextEnd: c.end } : o;
        }
        getTypeDefinition(t) {
          const { file: n, project: i } = this.getFileAndProject(t), s = this.getPositionInFile(t, n), o = this.mapDefinitionInfoLocations(i.getLanguageService().getTypeDefinitionAtPosition(n, s) || Tl, i);
          return this.mapDefinitionInfo(o, i);
        }
        mapImplementationLocations(t, n) {
          return t.map((i) => {
            const s = vPe(i, n);
            return s ? {
              ...s,
              kind: i.kind,
              displayParts: i.displayParts
            } : i;
          });
        }
        getImplementation(t, n) {
          const { file: i, project: s } = this.getFileAndProject(t), o = this.getPositionInFile(t, i), c = this.mapImplementationLocations(s.getLanguageService().getImplementationAtPosition(i, o) || Tl, s);
          return n ? c.map(({ fileName: _, textSpan: u, contextSpan: g }) => this.toFileSpanWithContext(_, u, g, s)) : c.map(BX.mapToOriginalLocation);
        }
        getSyntacticDiagnosticsSync(t) {
          const { configFile: n } = this.getConfigFileAndProject(t);
          return n ? Tl : this.getDiagnosticsWorker(
            t,
            /*isSemantic*/
            !1,
            (i, s) => i.getLanguageService().getSyntacticDiagnostics(s),
            !!t.includeLinePosition
          );
        }
        getSemanticDiagnosticsSync(t) {
          const { configFile: n, project: i } = this.getConfigFileAndProject(t);
          return n ? this.getConfigFileDiagnostics(n, i, !!t.includeLinePosition) : this.getDiagnosticsWorker(
            t,
            /*isSemantic*/
            !0,
            (s, o) => s.getLanguageService().getSemanticDiagnostics(o).filter((c) => !!c.file),
            !!t.includeLinePosition
          );
        }
        getSuggestionDiagnosticsSync(t) {
          const { configFile: n } = this.getConfigFileAndProject(t);
          return n ? Tl : this.getDiagnosticsWorker(
            t,
            /*isSemantic*/
            !0,
            (i, s) => i.getLanguageService().getSuggestionDiagnostics(s),
            !!t.includeLinePosition
          );
        }
        getJsxClosingTag(t) {
          const { file: n, languageService: i } = this.getFileAndLanguageServiceForSyntacticOperation(t), s = this.getPositionInFile(t, n), o = i.getJsxClosingTagAtPosition(n, s);
          return o === void 0 ? void 0 : { newText: o.newText, caretOffset: 0 };
        }
        getLinkedEditingRange(t) {
          const { file: n, languageService: i } = this.getFileAndLanguageServiceForSyntacticOperation(t), s = this.getPositionInFile(t, n), o = i.getLinkedEditingRangeAtPosition(n, s), c = this.projectService.getScriptInfoForNormalizedPath(n);
          if (!(c === void 0 || o === void 0))
            return BKe(o, c);
        }
        getDocumentHighlights(t, n) {
          const { file: i, project: s } = this.getFileAndProject(t), o = this.getPositionInFile(t, i), c = s.getLanguageService().getDocumentHighlights(i, o, t.filesToSearch);
          return c ? n ? c.map(({ fileName: _, highlightSpans: u }) => {
            const g = s.getScriptInfo(_);
            return {
              file: _,
              highlightSpans: u.map(({ textSpan: m, kind: h, contextSpan: S }) => ({
                ...ufe(m, S, g),
                kind: h
              }))
            };
          }) : c : Tl;
        }
        provideInlayHints(t) {
          const { file: n, project: i } = this.getFileAndProject(t), s = this.projectService.getScriptInfoForNormalizedPath(n);
          return i.getLanguageService().provideInlayHints(n, t, this.getPreferences(n)).map((c) => {
            const { position: _, displayParts: u } = c;
            return {
              ...c,
              position: s.positionToLineOffset(_),
              displayParts: u?.map(({ text: g, span: m, file: h }) => {
                if (m) {
                  E.assertIsDefined(h, "Target file should be defined together with its span.");
                  const S = this.projectService.getScriptInfo(h);
                  return {
                    text: g,
                    span: {
                      start: S.positionToLineOffset(m.start),
                      end: S.positionToLineOffset(m.start + m.length),
                      file: h
                    }
                  };
                } else
                  return { text: g };
              })
            };
          });
        }
        mapCode(t) {
          var n;
          const i = this.getHostFormatOptions(), s = this.getHostPreferences(), { file: o, languageService: c } = this.getFileAndLanguageServiceForSyntacticOperation(t), _ = this.projectService.getScriptInfoForNormalizedPath(o), u = (n = t.mapping.focusLocations) == null ? void 0 : n.map((m) => m.map((h) => {
            const S = _.lineOffsetToPosition(h.start.line, h.start.offset), T = _.lineOffsetToPosition(h.end.line, h.end.offset);
            return {
              start: S,
              length: T - S
            };
          })), g = c.mapCode(o, t.mapping.contents, u, i, s);
          return this.mapTextChangesToCodeEdits(g);
        }
        getCopilotRelatedInfo() {
          return {
            relatedFiles: []
          };
        }
        setCompilerOptionsForInferredProjects(t) {
          this.projectService.setCompilerOptionsForInferredProjects(t.options, t.projectRootPath);
        }
        getProjectInfo(t) {
          return this.getProjectInfoWorker(
            t.file,
            t.projectFileName,
            t.needFileNameList,
            t.needDefaultConfiguredProjectInfo,
            /*excludeConfigFiles*/
            !1
          );
        }
        getProjectInfoWorker(t, n, i, s, o) {
          const { project: c } = this.getFileAndProjectWorker(t, n);
          return Mp(c), {
            configFileName: c.getProjectName(),
            languageServiceDisabled: !c.languageServiceEnabled,
            fileNames: i ? c.getFileNames(
              /*excludeFilesFromExternalLibraries*/
              !1,
              o
            ) : void 0,
            configuredProjectInfo: s ? this.getDefaultConfiguredProjectInfo(t) : void 0
          };
        }
        getDefaultConfiguredProjectInfo(t) {
          var n;
          const i = this.projectService.getScriptInfo(t);
          if (!i) return;
          const s = this.projectService.findDefaultConfiguredProjectWorker(
            i,
            3
            /* CreateReplay */
          );
          if (!s) return;
          let o, c;
          return s.seenProjects.forEach((_, u) => {
            u !== s.defaultProject && (_ !== 3 ? (o ?? (o = [])).push(ro(u.getConfigFilePath())) : (c ?? (c = [])).push(ro(u.getConfigFilePath())));
          }), (n = s.seenConfigs) == null || n.forEach((_) => (o ?? (o = [])).push(_)), {
            notMatchedByConfig: o,
            notInProject: c,
            defaultProject: s.defaultProject && ro(s.defaultProject.getConfigFilePath())
          };
        }
        getRenameInfo(t) {
          const { file: n, project: i } = this.getFileAndProject(t), s = this.getPositionInFile(t, n), o = this.getPreferences(n);
          return i.getLanguageService().getRenameInfo(n, s, o);
        }
        getProjects(t, n, i) {
          let s, o;
          if (t.projectFileName) {
            const c = this.getProject(t.projectFileName);
            c && (s = [c]);
          } else {
            const c = n ? this.projectService.getScriptInfoEnsuringProjectsUptoDate(t.file) : this.projectService.getScriptInfo(t.file);
            if (c)
              n || this.projectService.ensureDefaultProjectForFile(c);
            else return i ? Tl : (this.projectService.logErrorForScriptInfoNotFound(t.file), Uh.ThrowNoProject());
            s = c.containingProjects, o = this.projectService.getSymlinkedProjects(c);
          }
          return s = Tn(s, (c) => c.languageServiceEnabled && !c.isOrphan()), !i && (!s || !s.length) && !o ? (this.projectService.logErrorForScriptInfoNotFound(t.file ?? t.projectFileName), Uh.ThrowNoProject()) : o ? { projects: s, symLinkedProjects: o } : s;
        }
        getDefaultProject(t) {
          if (t.projectFileName) {
            const i = this.getProject(t.projectFileName);
            if (i)
              return i;
            if (!t.file)
              return Uh.ThrowNoProject();
          }
          return this.projectService.getScriptInfo(t.file).getDefaultProject();
        }
        getRenameLocations(t, n) {
          const i = ro(t.file), s = this.getPositionInFile(t, i), o = this.getProjects(t), c = this.getDefaultProject(t), _ = this.getPreferences(i), u = this.mapRenameInfo(
            c.getLanguageService().getRenameInfo(i, s, _),
            E.checkDefined(this.projectService.getScriptInfo(i))
          );
          if (!u.canRename) return n ? { info: u, locs: [] } : [];
          const g = FKe(
            o,
            c,
            { fileName: t.file, pos: s },
            !!t.findInStrings,
            !!t.findInComments,
            _,
            this.host.useCaseSensitiveFileNames
          );
          return n ? { info: u, locs: this.toSpanGroups(g) } : g;
        }
        mapRenameInfo(t, n) {
          if (t.canRename) {
            const { canRename: i, fileToRename: s, displayName: o, fullDisplayName: c, kind: _, kindModifiers: u, triggerSpan: g } = t;
            return { canRename: i, fileToRename: s, displayName: o, fullDisplayName: c, kind: _, kindModifiers: u, triggerSpan: hm(g, n) };
          } else
            return t;
        }
        toSpanGroups(t) {
          const n = /* @__PURE__ */ new Map();
          for (const { fileName: i, textSpan: s, contextSpan: o, originalContextSpan: c, originalTextSpan: _, originalFileName: u, ...g } of t) {
            let m = n.get(i);
            m || n.set(i, m = { file: i, locs: [] });
            const h = E.checkDefined(this.projectService.getScriptInfo(i));
            m.locs.push({ ...ufe(s, o, h), ...g });
          }
          return rs(n.values());
        }
        getReferences(t, n) {
          const i = ro(t.file), s = this.getProjects(t), o = this.getPositionInFile(t, i), c = OKe(
            s,
            this.getDefaultProject(t),
            { fileName: t.file, pos: o },
            this.host.useCaseSensitiveFileNames,
            this.logger
          );
          if (!n) return c;
          const _ = this.getPreferences(i), u = this.getDefaultProject(t), g = u.getScriptInfoForNormalizedPath(i), m = u.getLanguageService().getQuickInfoAtPosition(i, o), h = m ? e8(m.displayParts) : "", S = m && m.textSpan, T = S ? g.positionToLineOffset(S.start).offset : 0, k = S ? g.getSnapshot().getText(S.start, Ko(S)) : "";
          return { refs: oa(c, (w) => w.references.map((A) => kPe(this.projectService, A, _))), symbolName: k, symbolStartOffset: T, symbolDisplayString: h };
        }
        getFileReferences(t, n) {
          const i = this.getProjects(t), s = ro(t.file), o = this.getPreferences(s), c = { fileName: s, pos: 0 }, _ = lfe(
            i,
            this.getDefaultProject(t),
            c,
            c,
            gPe,
            (m) => (this.logger.info(`Finding references to file ${s} in project ${m.getProjectName()}`), m.getLanguageService().getFileReferences(s))
          );
          let u;
          if (fs(_))
            u = _;
          else {
            u = [];
            const m = NG(this.host.useCaseSensitiveFileNames);
            _.forEach((h) => {
              for (const S of h)
                m.has(S) || (u.push(S), m.add(S));
            });
          }
          return n ? {
            refs: u.map((m) => kPe(this.projectService, m, o)),
            symbolName: `"${t.file}"`
          } : u;
        }
        /**
         * @param fileName is the name of the file to be opened
         * @param fileContent is a version of the file content that is known to be more up to date than the one on disk
         */
        openClientFile(t, n, i, s) {
          this.projectService.openClientFileWithNormalizedPath(
            t,
            n,
            i,
            /*hasMixedContent*/
            !1,
            s
          );
        }
        getPosition(t, n) {
          return t.position !== void 0 ? t.position : n.lineOffsetToPosition(t.line, t.offset);
        }
        getPositionInFile(t, n) {
          const i = this.projectService.getScriptInfoForNormalizedPath(n);
          return this.getPosition(t, i);
        }
        getFileAndProject(t) {
          return this.getFileAndProjectWorker(t.file, t.projectFileName);
        }
        getFileAndLanguageServiceForSyntacticOperation(t) {
          const { file: n, project: i } = this.getFileAndProject(t);
          return {
            file: n,
            languageService: i.getLanguageService(
              /*ensureSynchronized*/
              !1
            )
          };
        }
        getFileAndProjectWorker(t, n) {
          const i = ro(t), s = this.getProject(n) || this.projectService.ensureDefaultProjectForFile(i);
          return { file: i, project: s };
        }
        getOutliningSpans(t, n) {
          const { file: i, languageService: s } = this.getFileAndLanguageServiceForSyntacticOperation(t), o = s.getOutliningSpans(i);
          if (n) {
            const c = this.projectService.getScriptInfoForNormalizedPath(i);
            return o.map((_) => ({
              textSpan: hm(_.textSpan, c),
              hintSpan: hm(_.hintSpan, c),
              bannerText: _.bannerText,
              autoCollapse: _.autoCollapse,
              kind: _.kind
            }));
          } else
            return o;
        }
        getTodoComments(t) {
          const { file: n, project: i } = this.getFileAndProject(t);
          return i.getLanguageService().getTodoComments(n, t.descriptors);
        }
        getDocCommentTemplate(t) {
          const { file: n, languageService: i } = this.getFileAndLanguageServiceForSyntacticOperation(t), s = this.getPositionInFile(t, n);
          return i.getDocCommentTemplateAtPosition(n, s, this.getPreferences(n), this.getFormatOptions(n));
        }
        getSpanOfEnclosingComment(t) {
          const { file: n, languageService: i } = this.getFileAndLanguageServiceForSyntacticOperation(t), s = t.onlyMultiLine, o = this.getPositionInFile(t, n);
          return i.getSpanOfEnclosingComment(n, o, s);
        }
        getIndentation(t) {
          const { file: n, languageService: i } = this.getFileAndLanguageServiceForSyntacticOperation(t), s = this.getPositionInFile(t, n), o = t.options ? lE(t.options) : this.getFormatOptions(n), c = i.getIndentationAtPosition(n, s, o);
          return { position: s, indentation: c };
        }
        getBreakpointStatement(t) {
          const { file: n, languageService: i } = this.getFileAndLanguageServiceForSyntacticOperation(t), s = this.getPositionInFile(t, n);
          return i.getBreakpointStatementAtPosition(n, s);
        }
        getNameOrDottedNameSpan(t) {
          const { file: n, languageService: i } = this.getFileAndLanguageServiceForSyntacticOperation(t), s = this.getPositionInFile(t, n);
          return i.getNameOrDottedNameSpan(n, s, s);
        }
        isValidBraceCompletion(t) {
          const { file: n, languageService: i } = this.getFileAndLanguageServiceForSyntacticOperation(t), s = this.getPositionInFile(t, n);
          return i.isValidBraceCompletionAtPosition(n, s, t.openingBrace.charCodeAt(0));
        }
        getQuickInfoWorker(t, n) {
          const { file: i, project: s } = this.getFileAndProject(t), o = this.projectService.getScriptInfoForNormalizedPath(i), c = s.getLanguageService().getQuickInfoAtPosition(i, this.getPosition(t, o));
          if (!c)
            return;
          const _ = !!this.getPreferences(i).displayPartsForJSDoc;
          if (n) {
            const u = e8(c.displayParts);
            return {
              kind: c.kind,
              kindModifiers: c.kindModifiers,
              start: o.positionToLineOffset(c.textSpan.start),
              end: o.positionToLineOffset(Ko(c.textSpan)),
              displayString: u,
              documentation: _ ? this.mapDisplayParts(c.documentation, s) : e8(c.documentation),
              tags: this.mapJSDocTagInfo(c.tags, s, _)
            };
          } else
            return _ ? c : {
              ...c,
              tags: this.mapJSDocTagInfo(
                c.tags,
                s,
                /*richResponse*/
                !1
              )
            };
        }
        getFormattingEditsForRange(t) {
          const { file: n, languageService: i } = this.getFileAndLanguageServiceForSyntacticOperation(t), s = this.projectService.getScriptInfoForNormalizedPath(n), o = s.lineOffsetToPosition(t.line, t.offset), c = s.lineOffsetToPosition(t.endLine, t.endOffset), _ = i.getFormattingEditsForRange(n, o, c, this.getFormatOptions(n));
          if (_)
            return _.map((u) => this.convertTextChangeToCodeEdit(u, s));
        }
        getFormattingEditsForRangeFull(t) {
          const { file: n, languageService: i } = this.getFileAndLanguageServiceForSyntacticOperation(t), s = t.options ? lE(t.options) : this.getFormatOptions(n);
          return i.getFormattingEditsForRange(n, t.position, t.endPosition, s);
        }
        getFormattingEditsForDocumentFull(t) {
          const { file: n, languageService: i } = this.getFileAndLanguageServiceForSyntacticOperation(t), s = t.options ? lE(t.options) : this.getFormatOptions(n);
          return i.getFormattingEditsForDocument(n, s);
        }
        getFormattingEditsAfterKeystrokeFull(t) {
          const { file: n, languageService: i } = this.getFileAndLanguageServiceForSyntacticOperation(t), s = t.options ? lE(t.options) : this.getFormatOptions(n);
          return i.getFormattingEditsAfterKeystroke(n, t.position, t.key, s);
        }
        getFormattingEditsAfterKeystroke(t) {
          const { file: n, languageService: i } = this.getFileAndLanguageServiceForSyntacticOperation(t), s = this.projectService.getScriptInfoForNormalizedPath(n), o = s.lineOffsetToPosition(t.line, t.offset), c = this.getFormatOptions(n), _ = i.getFormattingEditsAfterKeystroke(n, o, t.key, c);
          if (t.key === `
` && (!_ || _.length === 0 || NKe(_, o))) {
            const { lineText: u, absolutePosition: g } = s.textStorage.getAbsolutePositionAndLineText(t.line);
            if (u && u.search("\\S") < 0) {
              const m = i.getIndentationAtPosition(n, o, c);
              let h = 0, S, T;
              for (S = 0, T = u.length; S < T; S++)
                if (u.charAt(S) === " ")
                  h++;
                else if (u.charAt(S) === "	")
                  h += c.tabSize;
                else
                  break;
              if (m !== h) {
                const k = g + S;
                _.push({
                  span: wc(g, k),
                  newText: rl.getIndentationString(m, c)
                });
              }
            }
          }
          if (_)
            return _.map((u) => ({
              start: s.positionToLineOffset(u.span.start),
              end: s.positionToLineOffset(Ko(u.span)),
              newText: u.newText ? u.newText : ""
            }));
        }
        getCompletions(t, n) {
          const { file: i, project: s } = this.getFileAndProject(t), o = this.projectService.getScriptInfoForNormalizedPath(i), c = this.getPosition(t, o), _ = s.getLanguageService().getCompletionsAtPosition(
            i,
            c,
            {
              ...q_e(this.getPreferences(i)),
              triggerCharacter: t.triggerCharacter,
              triggerKind: t.triggerKind,
              includeExternalModuleExports: t.includeExternalModuleExports,
              includeInsertTextCompletions: t.includeInsertTextCompletions
            },
            s.projectService.getFormatCodeOptions(i)
          );
          if (_ === void 0) return;
          if (n === "completions-full") return _;
          const u = t.prefix || "", g = Oi(_.entries, (h) => {
            if (_.isMemberCompletion || Wi(h.name.toLowerCase(), u.toLowerCase())) {
              const S = h.replacementSpan ? hm(h.replacementSpan, o) : void 0;
              return {
                ...h,
                replacementSpan: S,
                hasAction: h.hasAction || void 0,
                symbol: void 0
              };
            }
          });
          return n === "completions" ? (_.metadata && (g.metadata = _.metadata), g) : {
            ..._,
            optionalReplacementSpan: _.optionalReplacementSpan && hm(_.optionalReplacementSpan, o),
            entries: g
          };
        }
        getCompletionEntryDetails(t, n) {
          const { file: i, project: s } = this.getFileAndProject(t), o = this.projectService.getScriptInfoForNormalizedPath(i), c = this.getPosition(t, o), _ = s.projectService.getFormatCodeOptions(i), u = !!this.getPreferences(i).displayPartsForJSDoc, g = Oi(t.entryNames, (m) => {
            const { name: h, source: S, data: T } = typeof m == "string" ? { name: m, source: void 0, data: void 0 } : m;
            return s.getLanguageService().getCompletionEntryDetails(i, c, h, _, S, this.getPreferences(i), T ? Us(T, UKe) : void 0);
          });
          return n ? u ? g : g.map((m) => ({ ...m, tags: this.mapJSDocTagInfo(
            m.tags,
            s,
            /*richResponse*/
            !1
          ) })) : g.map((m) => ({
            ...m,
            codeActions: fr(m.codeActions, (h) => this.mapCodeAction(h)),
            documentation: this.mapDisplayParts(m.documentation, s),
            tags: this.mapJSDocTagInfo(m.tags, s, u)
          }));
        }
        getCompileOnSaveAffectedFileList(t) {
          const n = this.getProjects(
            t,
            /*getScriptInfoEnsuringProjectsUptoDate*/
            !0,
            /*ignoreNoProjectError*/
            !0
          ), i = this.projectService.getScriptInfo(t.file);
          return i ? IKe(
            i,
            (s) => this.projectService.getScriptInfoForPath(s),
            n,
            (s, o) => {
              if (!s.compileOnSaveEnabled || !s.languageServiceEnabled || s.isOrphan())
                return;
              const c = s.getCompilationSettings();
              if (!(c.noEmit || Sl(o.fileName) && !PKe(c)))
                return {
                  projectFileName: s.getProjectName(),
                  fileNames: s.getCompileOnSaveAffectedFileList(o),
                  projectUsesOutFile: !!c.outFile
                };
            }
          ) : Tl;
        }
        emitFile(t) {
          const { file: n, project: i } = this.getFileAndProject(t);
          if (i || Uh.ThrowNoProject(), !i.languageServiceEnabled)
            return t.richResponse ? { emitSkipped: !0, diagnostics: [] } : !1;
          const s = i.getScriptInfo(n), { emitSkipped: o, diagnostics: c } = i.emitFile(s, (_, u, g) => this.host.writeFile(_, u, g));
          return t.richResponse ? {
            emitSkipped: o,
            diagnostics: t.includeLinePosition ? this.convertToDiagnosticsWithLinePositionFromDiagnosticFile(c) : c.map((_) => N8(
              _,
              /*includeFileName*/
              !0
            ))
          } : !o;
        }
        getSignatureHelpItems(t, n) {
          const { file: i, project: s } = this.getFileAndProject(t), o = this.projectService.getScriptInfoForNormalizedPath(i), c = this.getPosition(t, o), _ = s.getLanguageService().getSignatureHelpItems(i, c, t), u = !!this.getPreferences(i).displayPartsForJSDoc;
          if (_ && n) {
            const g = _.applicableSpan;
            return {
              ..._,
              applicableSpan: {
                start: o.positionToLineOffset(g.start),
                end: o.positionToLineOffset(g.start + g.length)
              },
              items: this.mapSignatureHelpItems(_.items, s, u)
            };
          } else return u || !_ ? _ : {
            ..._,
            items: _.items.map((g) => ({ ...g, tags: this.mapJSDocTagInfo(
              g.tags,
              s,
              /*richResponse*/
              !1
            ) }))
          };
        }
        toPendingErrorCheck(t) {
          const n = ro(t), i = this.projectService.tryGetDefaultProjectForFile(n);
          return i && { fileName: n, project: i };
        }
        getDiagnostics(t, n, i) {
          this.suppressDiagnosticEvents || i.length > 0 && this.updateErrorCheck(t, i, n);
        }
        change(t) {
          const n = this.projectService.getScriptInfo(t.file);
          E.assert(!!n), n.textStorage.switchToScriptVersionCache();
          const i = n.lineOffsetToPosition(t.line, t.offset), s = n.lineOffsetToPosition(t.endLine, t.endOffset);
          i >= 0 && (this.changeSeq++, this.projectService.applyChangesToFile(
            n,
            qX({
              span: { start: i, length: s - i },
              newText: t.insertString
              // TODO: GH#18217
            })
          ));
        }
        reload(t) {
          const n = ro(t.file), i = t.tmpfile === void 0 ? void 0 : ro(t.tmpfile), s = this.projectService.getScriptInfoForNormalizedPath(n);
          s && (this.changeSeq++, s.reloadFromFile(i));
        }
        saveToTmp(t, n) {
          const i = this.projectService.getScriptInfo(t);
          i && i.saveTo(n);
        }
        closeClientFile(t) {
          if (!t)
            return;
          const n = Gs(t);
          this.projectService.closeClientFile(n);
        }
        mapLocationNavigationBarItems(t, n) {
          return fr(t, (i) => ({
            text: i.text,
            kind: i.kind,
            kindModifiers: i.kindModifiers,
            spans: i.spans.map((s) => hm(s, n)),
            childItems: this.mapLocationNavigationBarItems(i.childItems, n),
            indent: i.indent
          }));
        }
        getNavigationBarItems(t, n) {
          const { file: i, languageService: s } = this.getFileAndLanguageServiceForSyntacticOperation(t), o = s.getNavigationBarItems(i);
          return o ? n ? this.mapLocationNavigationBarItems(o, this.projectService.getScriptInfoForNormalizedPath(i)) : o : void 0;
        }
        toLocationNavigationTree(t, n) {
          return {
            text: t.text,
            kind: t.kind,
            kindModifiers: t.kindModifiers,
            spans: t.spans.map((i) => hm(i, n)),
            nameSpan: t.nameSpan && hm(t.nameSpan, n),
            childItems: fr(t.childItems, (i) => this.toLocationNavigationTree(i, n))
          };
        }
        getNavigationTree(t, n) {
          const { file: i, languageService: s } = this.getFileAndLanguageServiceForSyntacticOperation(t), o = s.getNavigationTree(i);
          return o ? n ? this.toLocationNavigationTree(o, this.projectService.getScriptInfoForNormalizedPath(i)) : o : void 0;
        }
        getNavigateToItems(t, n) {
          const i = this.getFullNavigateToItems(t);
          return n ? oa(
            i,
            ({ project: s, navigateToItems: o }) => o.map((c) => {
              const _ = s.getScriptInfo(c.fileName), u = {
                name: c.name,
                kind: c.kind,
                kindModifiers: c.kindModifiers,
                isCaseSensitive: c.isCaseSensitive,
                matchKind: c.matchKind,
                file: c.fileName,
                start: _.positionToLineOffset(c.textSpan.start),
                end: _.positionToLineOffset(Ko(c.textSpan))
              };
              return c.kindModifiers && c.kindModifiers !== "" && (u.kindModifiers = c.kindModifiers), c.containerName && c.containerName.length > 0 && (u.containerName = c.containerName), c.containerKind && c.containerKind.length > 0 && (u.containerKind = c.containerKind), u;
            })
          ) : oa(i, ({ navigateToItems: s }) => s);
        }
        getFullNavigateToItems(t) {
          const { currentFileOnly: n, searchValue: i, maxResultCount: s, projectFileName: o } = t;
          if (n) {
            E.assertIsDefined(t.file);
            const { file: S, project: T } = this.getFileAndProject(t);
            return [{ project: T, navigateToItems: T.getLanguageService().getNavigateToItems(i, s, S) }];
          }
          const c = this.getHostPreferences(), _ = [], u = /* @__PURE__ */ new Map();
          if (!t.file && !o)
            this.projectService.loadAncestorProjectTree(), this.projectService.forEachEnabledProject((S) => g(S));
          else {
            const S = this.getProjects(t);
            mPe(
              S,
              /*path*/
              void 0,
              (T) => g(T)
            );
          }
          return _;
          function g(S) {
            const T = S.getLanguageService().getNavigateToItems(
              i,
              s,
              /*fileName*/
              void 0,
              /*excludeDts*/
              S.isNonTsProject(),
              /*excludeLibFiles*/
              c.excludeLibrarySymbolsInNavTo
            ), k = Tn(T, (D) => m(D) && !AG(Ww(D), S));
            k.length && _.push({ project: S, navigateToItems: k });
          }
          function m(S) {
            const T = S.name;
            if (!u.has(T))
              return u.set(T, [S]), !0;
            const k = u.get(T);
            for (const D of k)
              if (h(D, S))
                return !1;
            return k.push(S), !0;
          }
          function h(S, T) {
            return S === T ? !0 : !S || !T ? !1 : S.containerKind === T.containerKind && S.containerName === T.containerName && S.fileName === T.fileName && S.isCaseSensitive === T.isCaseSensitive && S.kind === T.kind && S.kindModifiers === T.kindModifiers && S.matchKind === T.matchKind && S.name === T.name && S.textSpan.start === T.textSpan.start && S.textSpan.length === T.textSpan.length;
          }
        }
        getSupportedCodeFixes(t) {
          if (!t) return $q();
          if (t.file) {
            const { file: i, project: s } = this.getFileAndProject(t);
            return s.getLanguageService().getSupportedCodeFixes(i);
          }
          const n = this.getProject(t.projectFileName);
          return n || Uh.ThrowNoProject(), n.getLanguageService().getSupportedCodeFixes();
        }
        isLocation(t) {
          return t.line !== void 0;
        }
        extractPositionOrRange(t, n) {
          let i, s;
          return this.isLocation(t) ? i = o(t) : s = this.getRange(t, n), E.checkDefined(i === void 0 ? s : i);
          function o(c) {
            return c.position !== void 0 ? c.position : n.lineOffsetToPosition(c.line, c.offset);
          }
        }
        getRange(t, n) {
          const { startPosition: i, endPosition: s } = this.getStartAndEndPosition(t, n);
          return { pos: i, end: s };
        }
        getApplicableRefactors(t) {
          const { file: n, project: i } = this.getFileAndProject(t), s = i.getScriptInfoForNormalizedPath(n);
          return i.getLanguageService().getApplicableRefactors(n, this.extractPositionOrRange(t, s), this.getPreferences(n), t.triggerReason, t.kind, t.includeInteractiveActions).map((c) => ({ ...c, actions: c.actions.map((_) => ({ ..._, range: _.range ? { start: uE({ line: _.range.start.line, character: _.range.start.offset }), end: uE({ line: _.range.end.line, character: _.range.end.offset }) } : void 0 })) }));
        }
        getEditsForRefactor(t, n) {
          const { file: i, project: s } = this.getFileAndProject(t), o = s.getScriptInfoForNormalizedPath(i), c = s.getLanguageService().getEditsForRefactor(
            i,
            this.getFormatOptions(i),
            this.extractPositionOrRange(t, o),
            t.refactor,
            t.action,
            this.getPreferences(i),
            t.interactiveRefactorArguments
          );
          if (c === void 0)
            return {
              edits: []
            };
          if (n) {
            const { renameFilename: _, renameLocation: u, edits: g } = c;
            let m;
            if (_ !== void 0 && u !== void 0) {
              const h = s.getScriptInfoForNormalizedPath(ro(_));
              m = _fe(ck(h.getSnapshot()), _, u, g);
            }
            return {
              renameLocation: m,
              renameFilename: _,
              edits: this.mapTextChangesToCodeEdits(g),
              notApplicableReason: c.notApplicableReason
            };
          }
          return c;
        }
        getMoveToRefactoringFileSuggestions(t) {
          const { file: n, project: i } = this.getFileAndProject(t), s = i.getScriptInfoForNormalizedPath(n);
          return i.getLanguageService().getMoveToRefactoringFileSuggestions(n, this.extractPositionOrRange(t, s), this.getPreferences(n));
        }
        preparePasteEdits(t) {
          const { file: n, project: i } = this.getFileAndProject(t);
          return i.getLanguageService().preparePasteEditsForFile(n, t.copiedTextSpan.map((s) => this.getRange({ file: n, startLine: s.start.line, startOffset: s.start.offset, endLine: s.end.line, endOffset: s.end.offset }, this.projectService.getScriptInfoForNormalizedPath(n))));
        }
        getPasteEdits(t) {
          const { file: n, project: i } = this.getFileAndProject(t);
          if (Jw(n)) return;
          const s = t.copiedFrom ? { file: t.copiedFrom.file, range: t.copiedFrom.spans.map((c) => this.getRange({ file: t.copiedFrom.file, startLine: c.start.line, startOffset: c.start.offset, endLine: c.end.line, endOffset: c.end.offset }, i.getScriptInfoForNormalizedPath(ro(t.copiedFrom.file)))) } : void 0, o = i.getLanguageService().getPasteEdits(
            {
              targetFile: n,
              pastedText: t.pastedText,
              pasteLocations: t.pasteLocations.map((c) => this.getRange({ file: n, startLine: c.start.line, startOffset: c.start.offset, endLine: c.end.line, endOffset: c.end.offset }, i.getScriptInfoForNormalizedPath(n))),
              copiedFrom: s,
              preferences: this.getPreferences(n)
            },
            this.getFormatOptions(n)
          );
          return o && this.mapPasteEditsAction(o);
        }
        organizeImports(t, n) {
          E.assert(t.scope.type === "file");
          const { file: i, project: s } = this.getFileAndProject(t.scope.args), o = s.getLanguageService().organizeImports(
            {
              fileName: i,
              mode: t.mode ?? (t.skipDestructiveCodeActions ? "SortAndCombine" : void 0),
              type: "file"
            },
            this.getFormatOptions(i),
            this.getPreferences(i)
          );
          return n ? this.mapTextChangesToCodeEdits(o) : o;
        }
        getEditsForFileRename(t, n) {
          const i = ro(t.oldFilePath), s = ro(t.newFilePath), o = this.getHostFormatOptions(), c = this.getHostPreferences(), _ = /* @__PURE__ */ new Set(), u = [];
          return this.projectService.loadAncestorProjectTree(), this.projectService.forEachEnabledProject((g) => {
            const m = g.getLanguageService().getEditsForFileRename(i, s, o, c), h = [];
            for (const S of m)
              _.has(S.fileName) || (u.push(S), h.push(S.fileName));
            for (const S of h)
              _.add(S);
          }), n ? u.map((g) => this.mapTextChangeToCodeEdit(g)) : u;
        }
        getCodeFixes(t, n) {
          const { file: i, project: s } = this.getFileAndProject(t), o = s.getScriptInfoForNormalizedPath(i), { startPosition: c, endPosition: _ } = this.getStartAndEndPosition(t, o);
          let u;
          try {
            u = s.getLanguageService().getCodeFixesAtPosition(i, c, _, t.errorCodes, this.getFormatOptions(i), this.getPreferences(i));
          } catch (g) {
            const m = g instanceof Error ? g : new Error(g), h = s.getLanguageService(), S = [
              ...h.getSyntacticDiagnostics(i),
              ...h.getSemanticDiagnostics(i),
              ...h.getSuggestionDiagnostics(i)
            ].filter((k) => WP(c, _ - c, k.start, k.length)).map((k) => k.code), T = t.errorCodes.find((k) => !S.includes(k));
            throw T !== void 0 && (m.message += `
Additional information: BADCLIENT: Bad error code, ${T} not found in range ${c}..${_} (found: ${S.join(", ")})`), m;
          }
          return n ? u.map((g) => this.mapCodeFixAction(g)) : u;
        }
        getCombinedCodeFix({ scope: t, fixId: n }, i) {
          E.assert(t.type === "file");
          const { file: s, project: o } = this.getFileAndProject(t.args), c = o.getLanguageService().getCombinedCodeFix({ type: "file", fileName: s }, n, this.getFormatOptions(s), this.getPreferences(s));
          return i ? { changes: this.mapTextChangesToCodeEdits(c.changes), commands: c.commands } : c;
        }
        applyCodeActionCommand(t) {
          const n = t.command;
          for (const i of qT(n)) {
            const { file: s, project: o } = this.getFileAndProject(i);
            o.getLanguageService().applyCodeActionCommand(i, this.getFormatOptions(s)).then(
              (c) => {
              },
              (c) => {
              }
            );
          }
          return {};
        }
        getStartAndEndPosition(t, n) {
          let i, s;
          return t.startPosition !== void 0 ? i = t.startPosition : (i = n.lineOffsetToPosition(t.startLine, t.startOffset), t.startPosition = i), t.endPosition !== void 0 ? s = t.endPosition : (s = n.lineOffsetToPosition(t.endLine, t.endOffset), t.endPosition = s), { startPosition: i, endPosition: s };
        }
        mapCodeAction({ description: t, changes: n, commands: i }) {
          return { description: t, changes: this.mapTextChangesToCodeEdits(n), commands: i };
        }
        mapCodeFixAction({ fixName: t, description: n, changes: i, commands: s, fixId: o, fixAllDescription: c }) {
          return { fixName: t, description: n, changes: this.mapTextChangesToCodeEdits(i), commands: s, fixId: o, fixAllDescription: c };
        }
        mapPasteEditsAction({ edits: t, fixId: n }) {
          return { edits: this.mapTextChangesToCodeEdits(t), fixId: n };
        }
        mapTextChangesToCodeEdits(t) {
          return t.map((n) => this.mapTextChangeToCodeEdit(n));
        }
        mapTextChangeToCodeEdit(t) {
          const n = this.projectService.getScriptInfoOrConfig(t.fileName);
          return !!t.isNewFile == !!n && (n || this.projectService.logErrorForScriptInfoNotFound(t.fileName), E.fail("Expected isNewFile for (only) new files. " + JSON.stringify({ isNewFile: !!t.isNewFile, hasScriptInfo: !!n }))), n ? { fileName: t.fileName, textChanges: t.textChanges.map((i) => jKe(i, n)) } : zKe(t);
        }
        convertTextChangeToCodeEdit(t, n) {
          return {
            start: n.positionToLineOffset(t.span.start),
            end: n.positionToLineOffset(t.span.start + t.span.length),
            newText: t.newText ? t.newText : ""
          };
        }
        getBraceMatching(t, n) {
          const { file: i, languageService: s } = this.getFileAndLanguageServiceForSyntacticOperation(t), o = this.projectService.getScriptInfoForNormalizedPath(i), c = this.getPosition(t, o), _ = s.getBraceMatchingAtPosition(i, c);
          return _ ? n ? _.map((u) => hm(u, o)) : _ : void 0;
        }
        getDiagnosticsForProject(t, n, i) {
          if (this.suppressDiagnosticEvents)
            return;
          const { fileNames: s, languageServiceDisabled: o } = this.getProjectInfoWorker(
            i,
            /*projectFileName*/
            void 0,
            /*needFileNameList*/
            !0,
            /*needDefaultConfiguredProjectInfo*/
            void 0,
            /*excludeConfigFiles*/
            !0
          );
          if (o) return;
          const c = s.filter((D) => !D.includes("lib.d.ts"));
          if (c.length === 0) return;
          const _ = [], u = [], g = [], m = [], h = ro(i), S = this.projectService.ensureDefaultProjectForFile(h);
          for (const D of c)
            this.getCanonicalFileName(D) === this.getCanonicalFileName(i) ? _.push(D) : this.projectService.getScriptInfo(D).isScriptOpen() ? u.push(D) : Sl(D) ? m.push(D) : g.push(D);
          const k = [..._, ...u, ...g, ...m].map((D) => ({ fileName: D, project: S }));
          this.updateErrorCheck(
            t,
            k,
            n,
            /*requireOpen*/
            !1
          );
        }
        configurePlugin(t) {
          this.projectService.configurePlugin(t);
        }
        getSmartSelectionRange(t, n) {
          const { locations: i } = t, { file: s, languageService: o } = this.getFileAndLanguageServiceForSyntacticOperation(t), c = E.checkDefined(this.projectService.getScriptInfo(s));
          return fr(i, (_) => {
            const u = this.getPosition(_, c), g = o.getSmartSelectionRange(s, u);
            return n ? this.mapSelectionRange(g, c) : g;
          });
        }
        toggleLineComment(t, n) {
          const { file: i, languageService: s } = this.getFileAndLanguageServiceForSyntacticOperation(t), o = this.projectService.getScriptInfo(i), c = this.getRange(t, o), _ = s.toggleLineComment(i, c);
          if (n) {
            const u = this.projectService.getScriptInfoForNormalizedPath(i);
            return _.map((g) => this.convertTextChangeToCodeEdit(g, u));
          }
          return _;
        }
        toggleMultilineComment(t, n) {
          const { file: i, languageService: s } = this.getFileAndLanguageServiceForSyntacticOperation(t), o = this.projectService.getScriptInfoForNormalizedPath(i), c = this.getRange(t, o), _ = s.toggleMultilineComment(i, c);
          if (n) {
            const u = this.projectService.getScriptInfoForNormalizedPath(i);
            return _.map((g) => this.convertTextChangeToCodeEdit(g, u));
          }
          return _;
        }
        commentSelection(t, n) {
          const { file: i, languageService: s } = this.getFileAndLanguageServiceForSyntacticOperation(t), o = this.projectService.getScriptInfoForNormalizedPath(i), c = this.getRange(t, o), _ = s.commentSelection(i, c);
          if (n) {
            const u = this.projectService.getScriptInfoForNormalizedPath(i);
            return _.map((g) => this.convertTextChangeToCodeEdit(g, u));
          }
          return _;
        }
        uncommentSelection(t, n) {
          const { file: i, languageService: s } = this.getFileAndLanguageServiceForSyntacticOperation(t), o = this.projectService.getScriptInfoForNormalizedPath(i), c = this.getRange(t, o), _ = s.uncommentSelection(i, c);
          if (n) {
            const u = this.projectService.getScriptInfoForNormalizedPath(i);
            return _.map((g) => this.convertTextChangeToCodeEdit(g, u));
          }
          return _;
        }
        mapSelectionRange(t, n) {
          const i = {
            textSpan: hm(t.textSpan, n)
          };
          return t.parent && (i.parent = this.mapSelectionRange(t.parent, n)), i;
        }
        getScriptInfoFromProjectService(t) {
          const n = ro(t), i = this.projectService.getScriptInfoForNormalizedPath(n);
          return i || (this.projectService.logErrorForScriptInfoNotFound(n), Uh.ThrowNoProject());
        }
        toProtocolCallHierarchyItem(t) {
          const n = this.getScriptInfoFromProjectService(t.file);
          return {
            name: t.name,
            kind: t.kind,
            kindModifiers: t.kindModifiers,
            file: t.file,
            containerName: t.containerName,
            span: hm(t.span, n),
            selectionSpan: hm(t.selectionSpan, n)
          };
        }
        toProtocolCallHierarchyIncomingCall(t) {
          const n = this.getScriptInfoFromProjectService(t.from.file);
          return {
            from: this.toProtocolCallHierarchyItem(t.from),
            fromSpans: t.fromSpans.map((i) => hm(i, n))
          };
        }
        toProtocolCallHierarchyOutgoingCall(t, n) {
          return {
            to: this.toProtocolCallHierarchyItem(t.to),
            fromSpans: t.fromSpans.map((i) => hm(i, n))
          };
        }
        prepareCallHierarchy(t) {
          const { file: n, project: i } = this.getFileAndProject(t), s = this.projectService.getScriptInfoForNormalizedPath(n);
          if (s) {
            const o = this.getPosition(t, s), c = i.getLanguageService().prepareCallHierarchy(n, o);
            return c && iq(c, (_) => this.toProtocolCallHierarchyItem(_));
          }
        }
        provideCallHierarchyIncomingCalls(t) {
          const { file: n, project: i } = this.getFileAndProject(t), s = this.getScriptInfoFromProjectService(n);
          return i.getLanguageService().provideCallHierarchyIncomingCalls(n, this.getPosition(t, s)).map((c) => this.toProtocolCallHierarchyIncomingCall(c));
        }
        provideCallHierarchyOutgoingCalls(t) {
          const { file: n, project: i } = this.getFileAndProject(t), s = this.getScriptInfoFromProjectService(n);
          return i.getLanguageService().provideCallHierarchyOutgoingCalls(n, this.getPosition(t, s)).map((c) => this.toProtocolCallHierarchyOutgoingCall(c, s));
        }
        getCanonicalFileName(t) {
          const n = this.host.useCaseSensitiveFileNames ? t : Ey(t);
          return Gs(n);
        }
        exit() {
        }
        notRequired(t) {
          return t && this.doOutput(
            /*info*/
            void 0,
            t.command,
            t.seq,
            /*success*/
            !0,
            this.performanceData
          ), { responseRequired: !1, performanceData: this.performanceData };
        }
        requiredResponse(t) {
          return { response: t, responseRequired: !0, performanceData: this.performanceData };
        }
        addProtocolHandler(t, n) {
          if (this.handlers.has(t))
            throw new Error(`Protocol handler already exists for command "${t}"`);
          this.handlers.set(t, n);
        }
        setCurrentRequest(t) {
          E.assert(this.currentRequestId === void 0), this.currentRequestId = t, this.cancellationToken.setRequest(t);
        }
        resetCurrentRequest(t) {
          E.assert(this.currentRequestId === t), this.currentRequestId = void 0, this.cancellationToken.resetRequest(t);
        }
        // eslint-disable-line @typescript-eslint/unified-signatures
        executeWithRequestId(t, n, i) {
          const s = this.performanceData;
          try {
            return this.performanceData = i, this.setCurrentRequest(t), n();
          } finally {
            this.resetCurrentRequest(t), this.performanceData = s;
          }
        }
        executeCommand(t) {
          const n = this.handlers.get(t.command);
          if (n) {
            const i = this.executeWithRequestId(
              t.seq,
              () => n(t),
              /*perfomanceData*/
              void 0
            );
            return this.projectService.enableRequestedPlugins(), i;
          } else
            return this.logger.msg(
              `Unrecognized JSON command:${vv(t)}`,
              "Err"
              /* Err */
            ), this.doOutput(
              /*info*/
              void 0,
              "unknown",
              t.seq,
              /*success*/
              !1,
              /*performanceData*/
              void 0,
              `Unrecognized JSON command: ${t.command}`
            ), { responseRequired: !1 };
        }
        onMessage(t) {
          var n, i, s, o, c, _, u;
          this.gcTimer.scheduleCollect();
          let g;
          const m = this.performanceData;
          this.logger.hasLevel(
            2
            /* requestTime */
          ) && (g = this.hrtime(), this.logger.hasLevel(
            3
            /* verbose */
          ) && this.logger.info(`request:${fw(this.toStringMessage(t))}`));
          let h, S;
          try {
            h = this.parseMessage(t), S = h.arguments && h.arguments.file ? h.arguments : void 0, (n = rn) == null || n.instant(rn.Phase.Session, "request", { seq: h.seq, command: h.command }), (i = rn) == null || i.push(
              rn.Phase.Session,
              "executeCommand",
              { seq: h.seq, command: h.command },
              /*separateBeginAndEnd*/
              !0
            );
            const { response: T, responseRequired: k, performanceData: D } = this.executeCommand(h);
            if ((s = rn) == null || s.pop(), this.logger.hasLevel(
              2
              /* requestTime */
            )) {
              const w = wKe(this.hrtime(g)).toFixed(4);
              k ? this.logger.perftrc(`${h.seq}::${h.command}: elapsed time (in milliseconds) ${w}`) : this.logger.perftrc(`${h.seq}::${h.command}: async elapsed time (in milliseconds) ${w}`);
            }
            (o = rn) == null || o.instant(rn.Phase.Session, "response", { seq: h.seq, command: h.command, success: !!T }), T ? this.doOutput(
              T,
              h.command,
              h.seq,
              /*success*/
              !0,
              D
            ) : k && this.doOutput(
              /*info*/
              void 0,
              h.command,
              h.seq,
              /*success*/
              !1,
              D,
              "No content available."
            );
          } catch (T) {
            if ((c = rn) == null || c.popAll(), T instanceof _4) {
              (_ = rn) == null || _.instant(rn.Phase.Session, "commandCanceled", { seq: h?.seq, command: h?.command }), this.doOutput(
                { canceled: !0 },
                h.command,
                h.seq,
                /*success*/
                !0,
                this.performanceData
              );
              return;
            }
            this.logErrorWorker(T, this.toStringMessage(t), S), (u = rn) == null || u.instant(rn.Phase.Session, "commandError", { seq: h?.seq, command: h?.command, message: T.message }), this.doOutput(
              /*info*/
              void 0,
              h ? h.command : "unknown",
              h ? h.seq : 0,
              /*success*/
              !1,
              this.performanceData,
              "Error processing request. " + T.message + `
` + T.stack
            );
          } finally {
            this.performanceData = m;
          }
        }
        parseMessage(t) {
          return JSON.parse(t);
        }
        toStringMessage(t) {
          return t;
        }
        getFormatOptions(t) {
          return this.projectService.getFormatCodeOptions(t);
        }
        getPreferences(t) {
          return this.projectService.getPreferences(t);
        }
        getHostFormatOptions() {
          return this.projectService.getHostFormatCodeOptions();
        }
        getHostPreferences() {
          return this.projectService.getHostPreferences();
        }
      };
      function TPe(e) {
        const t = e.diagnosticsDuration && rs(e.diagnosticsDuration, ([n, i]) => ({ ...i, file: n }));
        return { ...e, diagnosticsDuration: t };
      }
      function hm(e, t) {
        return {
          start: t.positionToLineOffset(e.start),
          end: t.positionToLineOffset(Ko(e))
        };
      }
      function ufe(e, t, n) {
        const i = hm(e, n), s = t && hm(t, n);
        return s ? { ...i, contextStart: s.start, contextEnd: s.end } : i;
      }
      function jKe(e, t) {
        return { start: xPe(t, e.span.start), end: xPe(t, Ko(e.span)), newText: e.newText };
      }
      function xPe(e, t) {
        return nfe(e) ? JKe(e.getLineAndCharacterOfPosition(t)) : e.positionToLineOffset(t);
      }
      function BKe(e, t) {
        const n = e.ranges.map(
          (i) => ({
            start: t.positionToLineOffset(i.start),
            end: t.positionToLineOffset(i.start + i.length)
          })
        );
        return e.wordPattern ? { ranges: n, wordPattern: e.wordPattern } : { ranges: n };
      }
      function JKe(e) {
        return { line: e.line + 1, offset: e.character + 1 };
      }
      function zKe(e) {
        E.assert(e.textChanges.length === 1);
        const t = xa(e.textChanges);
        return E.assert(t.span.start === 0 && t.span.length === 0), { fileName: e.fileName, textChanges: [{ start: { line: 0, offset: 0 }, end: { line: 0, offset: 0 }, newText: t.newText }] };
      }
      function _fe(e, t, n, i) {
        const s = WKe(e, t, i), { line: o, character: c } = CC(ZT(s), n);
        return { line: o + 1, offset: c + 1 };
      }
      function WKe(e, t, n) {
        for (const { fileName: i, textChanges: s } of n)
          if (i === t)
            for (let o = s.length - 1; o >= 0; o--) {
              const { newText: c, span: { start: _, length: u } } = s[o];
              e = e.slice(0, _) + c + e.slice(_ + u);
            }
        return e;
      }
      function kPe(e, { fileName: t, textSpan: n, contextSpan: i, isWriteAccess: s, isDefinition: o }, { disableLineTextInReferences: c }) {
        const _ = E.checkDefined(e.getScriptInfo(t)), u = ufe(n, i, _), g = c ? void 0 : VKe(_, u);
        return {
          file: t,
          ...u,
          lineText: g,
          isWriteAccess: s,
          isDefinition: o
        };
      }
      function VKe(e, t) {
        const n = e.lineToTextSpan(t.start.line - 1);
        return e.getSnapshot().getText(n.start, Ko(n)).replace(/\r|\n/g, "");
      }
      function UKe(e) {
        return e === void 0 || e && typeof e == "object" && typeof e.exportName == "string" && (e.fileName === void 0 || typeof e.fileName == "string") && (e.ambientModuleName === void 0 || typeof e.ambientModuleName == "string" && (e.isPackageJsonImport === void 0 || typeof e.isPackageJsonImport == "boolean"));
      }
      var _E = 4, ffe = /* @__PURE__ */ ((e) => (e[e.PreStart = 0] = "PreStart", e[e.Start = 1] = "Start", e[e.Entire = 2] = "Entire", e[e.Mid = 3] = "Mid", e[e.End = 4] = "End", e[e.PostEnd = 5] = "PostEnd", e))(ffe || {}), qKe = class {
        constructor() {
          this.goSubtree = !0, this.lineIndex = new A8(), this.endBranch = [], this.state = 2, this.initialText = "", this.trailingText = "", this.lineIndex.root = new fE(), this.startPath = [this.lineIndex.root], this.stack = [this.lineIndex.root];
        }
        get done() {
          return !1;
        }
        insertLines(e, t) {
          t && (this.trailingText = ""), e ? e = this.initialText + e + this.trailingText : e = this.initialText + this.trailingText;
          const i = A8.linesFromText(e).lines;
          i.length > 1 && i[i.length - 1] === "" && i.pop();
          let s, o;
          for (let _ = this.endBranch.length - 1; _ >= 0; _--)
            this.endBranch[_].updateCounts(), this.endBranch[_].charCount() === 0 && (o = this.endBranch[_], _ > 0 ? s = this.endBranch[_ - 1] : s = this.branchNode);
          o && s.remove(o);
          const c = this.startPath[this.startPath.length - 1];
          if (i.length > 0)
            if (c.text = i[0], i.length > 1) {
              let _ = new Array(i.length - 1), u = c;
              for (let h = 1; h < i.length; h++)
                _[h - 1] = new BL(i[h]);
              let g = this.startPath.length - 2;
              for (; g >= 0; ) {
                const h = this.startPath[g];
                _ = h.insertAt(u, _), g--, u = h;
              }
              let m = _.length;
              for (; m > 0; ) {
                const h = new fE();
                h.add(this.lineIndex.root), _ = h.insertAt(this.lineIndex.root, _), m = _.length, this.lineIndex.root = h;
              }
              this.lineIndex.root.updateCounts();
            } else
              for (let _ = this.startPath.length - 2; _ >= 0; _--)
                this.startPath[_].updateCounts();
          else {
            this.startPath[this.startPath.length - 2].remove(c);
            for (let u = this.startPath.length - 2; u >= 0; u--)
              this.startPath[u].updateCounts();
          }
          return this.lineIndex;
        }
        post(e, t, n) {
          n === this.lineCollectionAtBranch && (this.state = 4), this.stack.pop();
        }
        pre(e, t, n, i, s) {
          const o = this.stack[this.stack.length - 1];
          this.state === 2 && s === 1 && (this.state = 1, this.branchNode = o, this.lineCollectionAtBranch = n);
          let c;
          function _(u) {
            return u.isLeaf() ? new BL("") : new fE();
          }
          switch (s) {
            case 0:
              this.goSubtree = !1, this.state !== 4 && o.add(n);
              break;
            case 1:
              this.state === 4 ? this.goSubtree = !1 : (c = _(n), o.add(c), this.startPath.push(c));
              break;
            case 2:
              this.state !== 4 ? (c = _(n), o.add(c), this.startPath.push(c)) : n.isLeaf() || (c = _(n), o.add(c), this.endBranch.push(c));
              break;
            case 3:
              this.goSubtree = !1;
              break;
            case 4:
              this.state !== 4 ? this.goSubtree = !1 : n.isLeaf() || (c = _(n), o.add(c), this.endBranch.push(c));
              break;
            case 5:
              this.goSubtree = !1, this.state !== 1 && o.add(n);
              break;
          }
          this.goSubtree && this.stack.push(c);
        }
        // just gather text from the leaves
        leaf(e, t, n) {
          this.state === 1 ? this.initialText = n.text.substring(0, e) : this.state === 2 ? (this.initialText = n.text.substring(0, e), this.trailingText = n.text.substring(e + t)) : this.trailingText = n.text.substring(e + t);
        }
      }, HKe = class {
        constructor(e, t, n) {
          this.pos = e, this.deleteLen = t, this.insertedText = n;
        }
        getTextChangeRange() {
          return VP(Gl(this.pos, this.deleteLen), this.insertedText ? this.insertedText.length : 0);
        }
      }, IG = class zT {
        constructor() {
          this.changes = [], this.versions = new Array(zT.maxVersions), this.minVersion = 0, this.currentVersion = 0;
        }
        versionToIndex(t) {
          if (!(t < this.minVersion || t > this.currentVersion))
            return t % zT.maxVersions;
        }
        currentVersionToIndex() {
          return this.currentVersion % zT.maxVersions;
        }
        // REVIEW: can optimize by coalescing simple edits
        edit(t, n, i) {
          this.changes.push(new HKe(t, n, i)), (this.changes.length > zT.changeNumberThreshold || n > zT.changeLengthThreshold || i && i.length > zT.changeLengthThreshold) && this.getSnapshot();
        }
        getSnapshot() {
          return this._getSnapshot();
        }
        _getSnapshot() {
          let t = this.versions[this.currentVersionToIndex()];
          if (this.changes.length > 0) {
            let n = t.index;
            for (const i of this.changes)
              n = n.edit(i.pos, i.deleteLen, i.insertedText);
            t = new CPe(this.currentVersion + 1, this, n, this.changes), this.currentVersion = t.version, this.versions[this.currentVersionToIndex()] = t, this.changes = [], this.currentVersion - this.minVersion >= zT.maxVersions && (this.minVersion = this.currentVersion - zT.maxVersions + 1);
          }
          return t;
        }
        getSnapshotVersion() {
          return this._getSnapshot().version;
        }
        getAbsolutePositionAndLineText(t) {
          return this._getSnapshot().index.lineNumberToInfo(t);
        }
        lineOffsetToPosition(t, n) {
          return this._getSnapshot().index.absolutePositionOfStartOfLine(t) + (n - 1);
        }
        positionToLineOffset(t) {
          return this._getSnapshot().index.positionToLineOffset(t);
        }
        lineToTextSpan(t) {
          const n = this._getSnapshot().index, { lineText: i, absolutePosition: s } = n.lineNumberToInfo(t + 1), o = i !== void 0 ? i.length : n.absolutePositionOfStartOfLine(t + 2) - s;
          return Gl(s, o);
        }
        getTextChangesBetweenVersions(t, n) {
          if (t < n)
            if (t >= this.minVersion) {
              const i = [];
              for (let s = t + 1; s <= n; s++) {
                const o = this.versions[this.versionToIndex(s)];
                for (const c of o.changesSincePreviousVersion)
                  i.push(c.getTextChangeRange());
              }
              return qY(i);
            } else
              return;
          else
            return l7;
        }
        getLineCount() {
          return this._getSnapshot().index.getLineCount();
        }
        static fromString(t) {
          const n = new zT(), i = new CPe(0, n, new A8());
          n.versions[n.currentVersion] = i;
          const s = A8.linesFromText(t);
          return i.index.load(s.lines), n;
        }
      };
      IG.changeNumberThreshold = 8, IG.changeLengthThreshold = 256, IG.maxVersions = 8;
      var FG = IG, CPe = class w5e {
        constructor(t, n, i, s = Tl) {
          this.version = t, this.cache = n, this.index = i, this.changesSincePreviousVersion = s;
        }
        getText(t, n) {
          return this.index.getText(t, n - t);
        }
        getLength() {
          return this.index.getLength();
        }
        getChangeRange(t) {
          if (t instanceof w5e && this.cache === t.cache)
            return this.version <= t.version ? l7 : this.cache.getTextChangesBetweenVersions(t.version, this.version);
        }
      }, A8 = class rge {
        constructor() {
          this.checkEdits = !1;
        }
        absolutePositionOfStartOfLine(t) {
          return this.lineNumberToInfo(t).absolutePosition;
        }
        positionToLineOffset(t) {
          const { oneBasedLine: n, zeroBasedColumn: i } = this.root.charOffsetToLineInfo(1, t);
          return { line: n, offset: i + 1 };
        }
        positionToColumnAndLineText(t) {
          return this.root.charOffsetToLineInfo(1, t);
        }
        getLineCount() {
          return this.root.lineCount();
        }
        lineNumberToInfo(t) {
          const n = this.getLineCount();
          if (t <= n) {
            const { position: i, leaf: s } = this.root.lineNumberToInfo(t, 0);
            return { absolutePosition: i, lineText: s && s.text };
          } else
            return { absolutePosition: this.root.charCount(), lineText: void 0 };
        }
        load(t) {
          if (t.length > 0) {
            const n = [];
            for (let i = 0; i < t.length; i++)
              n[i] = new BL(t[i]);
            this.root = rge.buildTreeFromBottom(n);
          } else
            this.root = new fE();
        }
        walk(t, n, i) {
          this.root.walk(t, n, i);
        }
        getText(t, n) {
          let i = "";
          return n > 0 && t < this.root.charCount() && this.walk(t, n, {
            goSubtree: !0,
            done: !1,
            leaf: (s, o, c) => {
              i = i.concat(c.text.substring(s, s + o));
            }
          }), i;
        }
        getLength() {
          return this.root.charCount();
        }
        every(t, n, i) {
          i || (i = this.root.charCount());
          const s = {
            goSubtree: !0,
            done: !1,
            leaf(o, c, _) {
              t(_, o, c) || (this.done = !0);
            }
          };
          return this.walk(n, i - n, s), !s.done;
        }
        edit(t, n, i) {
          if (this.root.charCount() === 0)
            return E.assert(n === 0), i !== void 0 ? (this.load(rge.linesFromText(i).lines), this) : void 0;
          {
            let s;
            if (this.checkEdits) {
              const _ = this.getText(0, this.root.charCount());
              s = _.slice(0, t) + i + _.slice(t + n);
            }
            const o = new qKe();
            let c = !1;
            if (t >= this.root.charCount()) {
              t = this.root.charCount() - 1;
              const _ = this.getText(t, 1);
              i ? i = _ + i : i = _, n = 0, c = !0;
            } else if (n > 0) {
              const _ = t + n, { zeroBasedColumn: u, lineText: g } = this.positionToColumnAndLineText(_);
              u === 0 && (n += g.length, i = i ? i + g : g);
            }
            if (this.root.walk(t, n, o), o.insertLines(i, c), this.checkEdits) {
              const _ = o.lineIndex.getText(0, o.lineIndex.getLength());
              E.assert(s === _, "buffer edit mismatch");
            }
            return o.lineIndex;
          }
        }
        static buildTreeFromBottom(t) {
          if (t.length < _E)
            return new fE(t);
          const n = new Array(Math.ceil(t.length / _E));
          let i = 0;
          for (let s = 0; s < n.length; s++) {
            const o = Math.min(i + _E, t.length);
            n[s] = new fE(t.slice(i, o)), i = o;
          }
          return this.buildTreeFromBottom(n);
        }
        static linesFromText(t) {
          const n = ZT(t);
          if (n.length === 0)
            return { lines: [], lineMap: n };
          const i = new Array(n.length), s = n.length - 1;
          for (let c = 0; c < s; c++)
            i[c] = t.substring(n[c], n[c + 1]);
          const o = t.substring(n[s]);
          return o.length > 0 ? i[s] = o : i.pop(), { lines: i, lineMap: n };
        }
      }, fE = class nge {
        constructor(t = []) {
          this.children = t, this.totalChars = 0, this.totalLines = 0, t.length && this.updateCounts();
        }
        isLeaf() {
          return !1;
        }
        updateCounts() {
          this.totalChars = 0, this.totalLines = 0;
          for (const t of this.children)
            this.totalChars += t.charCount(), this.totalLines += t.lineCount();
        }
        execWalk(t, n, i, s, o) {
          return i.pre && i.pre(t, n, this.children[s], this, o), i.goSubtree ? (this.children[s].walk(t, n, i), i.post && i.post(t, n, this.children[s], this, o)) : i.goSubtree = !0, i.done;
        }
        skipChild(t, n, i, s, o) {
          s.pre && !s.done && (s.pre(t, n, this.children[i], this, o), s.goSubtree = !0);
        }
        walk(t, n, i) {
          if (this.children.length === 0) return;
          let s = 0, o = this.children[s].charCount(), c = t;
          for (; c >= o; )
            this.skipChild(
              c,
              n,
              s,
              i,
              0
              /* PreStart */
            ), c -= o, s++, o = this.children[s].charCount();
          if (c + n <= o) {
            if (this.execWalk(
              c,
              n,
              i,
              s,
              2
              /* Entire */
            ))
              return;
          } else {
            if (this.execWalk(
              c,
              o - c,
              i,
              s,
              1
              /* Start */
            ))
              return;
            let _ = n - (o - c);
            for (s++, o = this.children[s].charCount(); _ > o; ) {
              if (this.execWalk(
                0,
                o,
                i,
                s,
                3
                /* Mid */
              ))
                return;
              _ -= o, s++, o = this.children[s].charCount();
            }
            if (_ > 0 && this.execWalk(
              0,
              _,
              i,
              s,
              4
              /* End */
            ))
              return;
          }
          if (i.pre) {
            const _ = this.children.length;
            if (s < _ - 1)
              for (let u = s + 1; u < _; u++)
                this.skipChild(
                  0,
                  0,
                  u,
                  i,
                  5
                  /* PostEnd */
                );
          }
        }
        // Input position is relative to the start of this node.
        // Output line number is absolute.
        charOffsetToLineInfo(t, n) {
          if (this.children.length === 0)
            return { oneBasedLine: t, zeroBasedColumn: n, lineText: void 0 };
          for (const o of this.children) {
            if (o.charCount() > n)
              return o.isLeaf() ? { oneBasedLine: t, zeroBasedColumn: n, lineText: o.text } : o.charOffsetToLineInfo(t, n);
            n -= o.charCount(), t += o.lineCount();
          }
          const i = this.lineCount();
          if (i === 0)
            return { oneBasedLine: 1, zeroBasedColumn: 0, lineText: void 0 };
          const s = E.checkDefined(this.lineNumberToInfo(i, 0).leaf);
          return { oneBasedLine: i, zeroBasedColumn: s.charCount(), lineText: void 0 };
        }
        /**
         * Input line number is relative to the start of this node.
         * Output line number is relative to the child.
         * positionAccumulator will be an absolute position once relativeLineNumber reaches 0.
         */
        lineNumberToInfo(t, n) {
          for (const i of this.children) {
            const s = i.lineCount();
            if (s >= t)
              return i.isLeaf() ? { position: n, leaf: i } : i.lineNumberToInfo(t, n);
            t -= s, n += i.charCount();
          }
          return { position: n, leaf: void 0 };
        }
        splitAfter(t) {
          let n;
          const i = this.children.length;
          t++;
          const s = t;
          if (t < i) {
            for (n = new nge(); t < i; )
              n.add(this.children[t]), t++;
            n.updateCounts();
          }
          return this.children.length = s, n;
        }
        remove(t) {
          const n = this.findChildIndex(t), i = this.children.length;
          if (n < i - 1)
            for (let s = n; s < i - 1; s++)
              this.children[s] = this.children[s + 1];
          this.children.pop();
        }
        findChildIndex(t) {
          const n = this.children.indexOf(t);
          return E.assert(n !== -1), n;
        }
        insertAt(t, n) {
          let i = this.findChildIndex(t);
          const s = this.children.length, o = n.length;
          if (s < _E && i === s - 1 && o === 1)
            return this.add(n[0]), this.updateCounts(), [];
          {
            const c = this.splitAfter(i);
            let _ = 0;
            for (i++; i < _E && _ < o; )
              this.children[i] = n[_], i++, _++;
            let u = [], g = 0;
            if (_ < o) {
              g = Math.ceil((o - _) / _E), u = new Array(g);
              let m = 0;
              for (let S = 0; S < g; S++)
                u[S] = new nge();
              let h = u[0];
              for (; _ < o; )
                h.add(n[_]), _++, h.children.length === _E && (m++, h = u[m]);
              for (let S = u.length - 1; S >= 0; S--)
                u[S].children.length === 0 && u.pop();
            }
            c && u.push(c), this.updateCounts();
            for (let m = 0; m < g; m++)
              u[m].updateCounts();
            return u;
          }
        }
        // assume there is room for the item; return true if more room
        add(t) {
          this.children.push(t), E.assert(this.children.length <= _E);
        }
        charCount() {
          return this.totalChars;
        }
        lineCount() {
          return this.totalLines;
        }
      }, BL = class {
        constructor(e) {
          this.text = e;
        }
        isLeaf() {
          return !0;
        }
        walk(e, t, n) {
          n.leaf(e, t, this);
        }
        charCount() {
          return this.text.length;
        }
        lineCount() {
          return 1;
        }
      }, EPe = class P5e {
        constructor(t, n, i, s, o, c) {
          this.telemetryEnabled = t, this.logger = n, this.host = i, this.globalTypingsCacheLocation = s, this.event = o, this.maxActiveRequestCount = c, this.activeRequestCount = 0, this.requestQueue = DP(), this.requestMap = /* @__PURE__ */ new Map(), this.requestedRegistry = !1, this.packageInstallId = 0;
        }
        isKnownTypesPackageName(t) {
          var n;
          return f1.validatePackageName(t) !== f1.NameValidationResult.Ok ? !1 : (this.requestedRegistry || (this.requestedRegistry = !0, this.installer.send({ kind: "typesRegistry" })), !!((n = this.typesRegistryCache) != null && n.has(t)));
        }
        installPackage(t) {
          this.packageInstallId++;
          const n = { kind: "installPackage", ...t, id: this.packageInstallId }, i = new Promise((s, o) => {
            (this.packageInstalledPromise ?? (this.packageInstalledPromise = /* @__PURE__ */ new Map())).set(this.packageInstallId, { resolve: s, reject: o });
          });
          return this.installer.send(n), i;
        }
        attach(t) {
          this.projectService = t, this.installer = this.createInstallerProcess();
        }
        onProjectClosed(t) {
          this.installer.send({ projectName: t.getProjectName(), kind: "closeProject" });
        }
        enqueueInstallTypingsRequest(t, n, i) {
          const s = v_e(t, n, i);
          this.logger.hasLevel(
            3
            /* verbose */
          ) && this.logger.info(`TIAdapter:: Scheduling throttled operation:${vv(s)}`), this.activeRequestCount < this.maxActiveRequestCount ? this.scheduleRequest(s) : (this.logger.hasLevel(
            3
            /* verbose */
          ) && this.logger.info(`TIAdapter:: Deferring request for: ${s.projectName}`), this.requestQueue.enqueue(s), this.requestMap.set(s.projectName, s));
        }
        handleMessage(t) {
          var n, i;
          switch (this.logger.hasLevel(
            3
            /* verbose */
          ) && this.logger.info(`TIAdapter:: Received response:${vv(t)}`), t.kind) {
            case tU:
              this.typesRegistryCache = new Map(Object.entries(t.typesRegistry));
              break;
            case i9: {
              const s = (n = this.packageInstalledPromise) == null ? void 0 : n.get(t.id);
              E.assertIsDefined(s, "Should find the promise for package install"), (i = this.packageInstalledPromise) == null || i.delete(t.id), t.success ? s.resolve({ successMessage: t.message }) : s.reject(t.message), this.projectService.updateTypingsForProject(t), this.event(t, "setTypings");
              break;
            }
            case Tse: {
              const s = {
                message: t.message
              };
              this.event(s, "typesInstallerInitializationFailed");
              break;
            }
            case rU: {
              const s = {
                eventId: t.eventId,
                packages: t.packagesToInstall
              };
              this.event(s, "beginInstallTypes");
              break;
            }
            case nU: {
              if (this.telemetryEnabled) {
                const c = {
                  telemetryEventName: "typingsInstalled",
                  payload: {
                    installedPackages: t.packagesToInstall.join(","),
                    installSuccess: t.installSuccess,
                    typingsInstallerVersion: t.typingsInstallerVersion
                  }
                };
                this.event(c, "telemetry");
              }
              const s = {
                eventId: t.eventId,
                packages: t.packagesToInstall,
                success: t.installSuccess
              };
              this.event(s, "endInstallTypes");
              break;
            }
            case n9: {
              this.projectService.updateTypingsForProject(t);
              break;
            }
            case r9: {
              for (this.activeRequestCount > 0 ? this.activeRequestCount-- : E.fail("TIAdapter:: Received too many responses"); !this.requestQueue.isEmpty(); ) {
                const s = this.requestQueue.dequeue();
                if (this.requestMap.get(s.projectName) === s) {
                  this.requestMap.delete(s.projectName), this.scheduleRequest(s);
                  break;
                }
                this.logger.hasLevel(
                  3
                  /* verbose */
                ) && this.logger.info(`TIAdapter:: Skipping defunct request for: ${s.projectName}`);
              }
              this.projectService.updateTypingsForProject(t), this.event(t, "setTypings");
              break;
            }
            case CA:
              this.projectService.watchTypingLocations(t);
              break;
          }
        }
        scheduleRequest(t) {
          this.logger.hasLevel(
            3
            /* verbose */
          ) && this.logger.info(`TIAdapter:: Scheduling request for: ${t.projectName}`), this.activeRequestCount++, this.host.setTimeout(
            () => {
              this.logger.hasLevel(
                3
                /* verbose */
              ) && this.logger.info(`TIAdapter:: Sending request:${vv(t)}`), this.installer.send(t);
            },
            P5e.requestDelayMillis,
            `${t.projectName}::${t.kind}`
          );
        }
      };
      EPe.requestDelayMillis = 100;
      var DPe = EPe, wPe = {};
      Ta(wPe, {
        ActionInvalidate: () => n9,
        ActionPackageInstalled: () => i9,
        ActionSet: () => r9,
        ActionWatchTypingLocations: () => CA,
        Arguments: () => iU,
        AutoImportProviderProject: () => J_e,
        AuxiliaryProject: () => j_e,
        CharRangeSection: () => ffe,
        CloseFileWatcherEvent: () => SG,
        CommandNames: () => pPe,
        ConfigFileDiagEvent: () => gG,
        ConfiguredProject: () => z_e,
        ConfiguredProjectLoadKind: () => G_e,
        CreateDirectoryWatcherEvent: () => bG,
        CreateFileWatcherEvent: () => vG,
        Errors: () => Uh,
        EventBeginInstallTypes: () => rU,
        EventEndInstallTypes: () => nU,
        EventInitializationFailed: () => Tse,
        EventTypesRegistry: () => tU,
        ExternalProject: () => uG,
        GcTimer: () => E_e,
        InferredProject: () => R_e,
        LargeFileReferencedEvent: () => mG,
        LineIndex: () => A8,
        LineLeaf: () => BL,
        LineNode: () => fE,
        LogLevel: () => h_e,
        Msg: () => y_e,
        OpenFileInfoTelemetryEvent: () => W_e,
        Project: () => Tk,
        ProjectInfoTelemetryEvent: () => yG,
        ProjectKind: () => zw,
        ProjectLanguageServiceStateEvent: () => hG,
        ProjectLoadingFinishEvent: () => dG,
        ProjectLoadingStartEvent: () => pG,
        ProjectService: () => rfe,
        ProjectsUpdatedInBackgroundEvent: () => ML,
        ScriptInfo: () => N_e,
        ScriptVersionCache: () => FG,
        Session: () => SPe,
        TextStorage: () => P_e,
        ThrottledOperations: () => C_e,
        TypingsInstallerAdapter: () => DPe,
        allFilesAreJsOrDts: () => O_e,
        allRootFilesAreJsOrDts: () => F_e,
        asNormalizedPath: () => Bwe,
        convertCompilerOptions: () => RL,
        convertFormatOptions: () => lE,
        convertScriptKindName: () => xG,
        convertTypeAcquisition: () => U_e,
        convertUserPreferences: () => q_e,
        convertWatchOptions: () => P8,
        countEachFileTypes: () => C8,
        createInstallTypingsRequest: () => v_e,
        createModuleSpecifierCache: () => sfe,
        createNormalizedPathMap: () => Jwe,
        createPackageJsonCache: () => afe,
        createSortedArray: () => k_e,
        emptyArray: () => Tl,
        findArgument: () => Bbe,
        formatDiagnosticToProtocol: () => N8,
        formatMessage: () => ofe,
        getBaseConfigFileName: () => lG,
        getDetailWatchInfo: () => DG,
        getLocationInNewDocument: () => _fe,
        hasArgument: () => jbe,
        hasNoTypeScriptSource: () => L_e,
        indent: () => fw,
        isBackgroundProject: () => D8,
        isConfigFile: () => nfe,
        isConfiguredProject: () => B0,
        isDynamicFileName: () => Jw,
        isExternalProject: () => E8,
        isInferredProject: () => cE,
        isInferredProjectName: () => b_e,
        isProjectDeferredClose: () => w8,
        makeAutoImportProviderProjectName: () => T_e,
        makeAuxiliaryProjectName: () => x_e,
        makeInferredProjectName: () => S_e,
        maxFileSize: () => fG,
        maxProgramSizeForNonTsFiles: () => _G,
        normalizedPathToPath: () => oE,
        nowString: () => Jbe,
        nullCancellationToken: () => uPe,
        nullTypingsInstaller: () => jL,
        protocol: () => D_e,
        scriptInfoIsContainedByBackgroundProject: () => A_e,
        scriptInfoIsContainedByDeferredClosedProject: () => I_e,
        stringifyIndented: () => vv,
        toEvent: () => cfe,
        toNormalizedPath: () => ro,
        tryConvertScriptKindName: () => TG,
        typingsInstaller: () => g_e,
        updateProjectIfDirty: () => Mp
      }), typeof console < "u" && (E.loggingHost = {
        log(e, t) {
          switch (e) {
            case 1:
              return console.error(t);
            case 2:
              return console.warn(t);
            case 3:
              return console.log(t);
            case 4:
              return console.log(t);
          }
        }
      });
    })({ get exports() {
      return ns;
    }, set exports(eo) {
      ns = eo, pl.exports && (pl.exports = eo);
    } });
  }(Zme)), Zme.exports;
}
var qft = Uft();
const Hft = /* @__PURE__ */ wft(qft);
function jX(pl, ns) {
  Gft(pl) ? (h5e("show-in-ide", { attach: ns ?? !1, goToCustomComponentFile: !0 }), Xme(`${Qme}show-in-ide`, {
    javaClassName: pl.className,
    fileName: pl.absoluteFilePath
  })) : Nft(pl) ? (h5e("show-in-ide", { attach: ns ?? !1 }), Xme(`${Qme}show-in-ide`, { ...Aft(pl), attach: ns ?? !1 })) : (Ift("show-in-ide"), Xme(`${Qme}show-in-ide`, pl));
}
ige.on("show-in-ide", (pl) => {
  const ns = pl.detail.node;
  if (pl.detail.source) {
    jX(pl.detail.source);
    return;
  }
  if (pl.detail.javaSource) {
    jX(pl.detail.javaSource);
    return;
  }
  if (!ns)
    return;
  if (ns.isFlowComponent) {
    jX(ns.node, pl.detail.attach);
    return;
  }
  const eo = N5e(ns);
  eo && jX(eo);
});
function Gft(pl) {
  return pl === void 0 ? !1 : pl.className !== void 0 ? !0 : pl.absoluteFilePath !== void 0;
}
function N5e(pl) {
  if (!pl.isReactComponent)
    return;
  const ns = g5e(pl.node);
  if (ns)
    return ns;
  const eo = Pft(pl.node);
  if (eo)
    return eo;
  const ac = pl.children.sort((Ta, Jm) => Ta.siblingIndex - Jm.siblingIndex).find((Ta) => Ta.isReactComponent && N5e(Ta) !== void 0);
  if (!ac)
    throw new Error(`Could not find the source of ${pl.nameAndIdentifier}`);
  return g5e(ac.node);
}
function $ft(pl) {
  Yme.active || Yme.setActive(!0), Fft("copilot-init-app", { framework: pl }, async (ns) => {
    if (ns.data.success)
      document.body.innerHTML = `<div style="padding:2em"><h3>The files have been created</h3>
    <p>You need to restart the server for the changes to have effect.</p>`;
    else {
      const eo = ns.data.reason;
      Oft(eo);
    }
  }), Yme.setActive(!1);
}
class Xft {
  constructor(ns) {
    this._currentTree = ns;
  }
  get root() {
    return this.currentTree.root;
  }
  get allNodesFlat() {
    return this.currentTree.allNodesFlat;
  }
  getNodeOfElement(ns) {
    return this.currentTree.getNodeOfElement(ns);
  }
  getChildren(ns) {
    return this.currentTree.getChildren(ns);
  }
  hasFlowComponents() {
    return this.currentTree.hasFlowComponents();
  }
  findNodeByUuid(ns) {
    return this.currentTree.findNodeByUuid(ns);
  }
  getElementByNodeUuid(ns) {
    return this.currentTree.getElementByNodeUuid(ns);
  }
  findByTreePath(ns) {
    return this.currentTree.findByTreePath(ns);
  }
  get currentTree() {
    return this._currentTree;
  }
  set currentTree(ns) {
    this._currentTree = ns, ige.emit("copilot-tree-created", {});
  }
}
ige.on("navigate", (pl) => {
  const ns = window.history.state?.idx, eo = {};
  ns !== void 0 && (eo.idx = ns + 1), window.history.pushState(eo, "", pl.detail.path), window.dispatchEvent(new PopStateEvent("popstate"));
});
function Qft(pl) {
  const ns = window.Vaadin.copilot.tree;
  return pl.map((eo) => {
    let ac = null;
    const { nodeUuid: Ta, treePath: Jm, childIndex: by } = eo;
    if (Ta) {
      const K2 = ns.findNodeByUuid(Ta);
      K2 && (ac = K2);
    }
    return ac || (ac = ns.findByTreePath(Jm) ?? null), ac && by !== void 0 && ac.children.length > by ? ac.children[by] : ac;
  }).filter((eo) => eo !== null);
}
class Yft {
  constructor() {
    this.drillDownComponentStack = [], this.dragDropApiRequest = void 0, Lft(this, {
      drillDownComponentStack: y5e.shallow,
      dragDropApiRequest: y5e.shallow
    });
  }
  getCustomComponentIcon(ns) {
    const eo = this.getIconTag(ns);
    return eo === void 0 ? Mft : zft[eo];
  }
  getIconTag(ns) {
    const ac = this.getCustomComponentInfo(ns)?.type;
    if (ac === "IN_PROJECT")
      return "square45";
    if (ac === "EXTERNAL")
      return "cube";
  }
  getCustomComponentInfo(ns) {
    if (ns.customComponentData && this.isCustomComponentInstanceInfo(ns.customComponentData))
      return ns.customComponentData;
  }
  isCustomComponent(ns) {
    return this.getCustomComponentInfo(ns) !== void 0;
  }
  isVisibleAndSelectable(ns) {
    if (!ns.customComponentData || this.getActiveDrillDownContext()?.uuid === ns.uuid)
      return !0;
    const eo = this.getActiveDrillDownData(), ac = ns.customComponentData, Ta = eo?.filePath;
    return Ta ? ac.createLocationPath === Ta : ac ? !ac.childOfCustomComponent : !0;
  }
  pushDrillDownContext(ns) {
    this.drillDownComponentStack.push(ns), this.persistIntoStorage(), v5e(ns);
  }
  isDrillDownContext(ns) {
    return this.getActiveDrillDownContext()?.uuid === ns.uuid;
  }
  getActiveDrillDownContext() {
    if (this.drillDownComponentStack.length !== 0)
      return this.drillDownComponentStack[this.drillDownComponentStack.length - 1];
  }
  clearDrillDownContext() {
    this.drillDownComponentStack = [], this.persistIntoStorage();
  }
  popDrillDownContext() {
    this.drillDownComponentStack.pop(), this.persistIntoStorage();
  }
  isChildInDrillContext(ns) {
    const eo = ns.customComponentData;
    if (!eo)
      return !0;
    const ac = this.getActiveDrillDownData();
    return ac ? ac.filePath === eo.createLocationPath : !1;
  }
  getDropApiRequest() {
    return this.dragDropApiRequest;
  }
  clearDropApiRequest() {
    this.dragDropApiRequest = void 0;
  }
  getActiveDrillDownData() {
    const ns = this.getActiveDrillDownContext();
    if (ns === void 0)
      return;
    const eo = this.getCustomComponentInfo(ns);
    if (!eo?.javaClassName)
      return;
    const ac = ns.node;
    return {
      className: eo.javaClassName,
      nodeId: ac.nodeId,
      uiId: ac.uiId,
      filePath: eo.customComponentFilePath ?? void 0
    };
  }
  persistIntoStorage() {
    const ns = this.drillDownComponentStack.map((eo) => ({
      treePath: eo.path,
      nodeUuid: eo.uuid
    }));
    b5e.saveDrillDownContextReference(ns);
  }
  restoreDrillDownFromStorage() {
    const ns = b5e.getDrillDownContextReference();
    let eo = [];
    if (ns === void 0) {
      const Ta = this.getTree().allNodesFlat.find((Jm) => Jm.customComponentData?.routeView);
      Ta?.customComponentData && this.isCustomComponentInstanceInfo(Ta.customComponentData) && (eo = [Ta]);
    } else
      eo = Qft(ns);
    eo.forEach((Ta) => {
      const Jm = this.drillDownComponentStack.findIndex((by) => by.uuid === Ta.uuid);
      Jm !== -1 && this.drillDownComponentStack.splice(Jm, 1), this.drillDownComponentStack.push(Ta);
    });
    const ac = this.getActiveDrillDownContext();
    ac && v5e(ac);
  }
  displayMethodSelectionPopupIfNeededAndGetSelectedMethod(ns, eo, ac, Ta) {
    if (ns && this.isCustomComponent(ns) && this.getActiveDrillDownContext()?.uuid !== ns.uuid) {
      if (ns.customComponentData?.routeView) {
        Rft({
          type: jft.WARNING,
          message: `Double-click ${ns.nameAndIdentifier} to modify`
        });
        return;
      }
      this.dragDropApiRequest = {
        container: ns,
        onOk: (Jm, by) => {
          eo({ methodName: Jm, action: by });
        },
        dragDropEventData: ac,
        dragSourceNode: Ta
      };
    } else
      eo();
  }
  areInternalsVisible(ns) {
    if (!this.getCustomComponentInfo(ns))
      return !0;
    const ac = this.getActiveDrillDownData();
    let Ta;
    return ac && ac.filePath && (Ta = ac.filePath), Ta ? this.checkChildrenCreateLocationToDisplayInternals(ns.children, Ta) : !1;
  }
  checkChildrenCreateLocationToDisplayInternals(ns, eo) {
    for (const ac of ns) {
      const Ta = ac.customComponentData;
      if (Ta && Ta.createLocationPath === eo || this.checkChildrenCreateLocationToDisplayInternals(ac.children, eo))
        return !0;
    }
    return !1;
  }
  getDescendantsCreatedInActiveDrillDownContextFlatten(ns) {
    if (ns.customComponentData && this.isCustomComponentInstanceInfo(ns.customComponentData)) {
      const eo = this.getActiveDrillDownData();
      let ac;
      if (eo && eo.filePath ? ac = eo.filePath : this.getRouteViewPath() && (ac = this.getRouteViewPath()), ac)
        return this.getChildrenInPathFlattenRecursively(ns, ac);
    }
    return [];
  }
  getChildrenInPathFlattenRecursively(ns, eo) {
    const ac = ns.children, Ta = [];
    for (const Jm of ac) {
      const by = Jm.customComponentData;
      by && by.createLocationPath === eo && Ta.push(Jm), Ta.push(...this.getChildrenInPathFlattenRecursively(Jm, eo));
    }
    return Ta;
  }
  /**
   * Accessed to copilot tree through window object to avoid circular dependency or initialization issues.
   * @private
   */
  getTree() {
    return window.Vaadin.copilot.tree;
  }
  getRouteViewPath() {
    const ns = this.getTree().allNodesFlat.find((eo) => eo.customComponentData?.routeView === !0);
    if (ns)
      return ns.customComponentData?.createLocationPath ?? void 0;
  }
  isCustomComponentInstanceInfo(ns) {
    return "type" in ns && "activeLevel" in ns;
  }
}
window.Vaadin.copilot.comm = Bft;
window.Vaadin.copilot.ts = Hft;
const Zft = new Jft();
window.Vaadin.copilot.tree = new Xft(Zft);
window.Vaadin.copilot.customComponentHandler = new Yft();
window.Vaadin.copilot.initEmptyApp = $ft;
